


start.split <- function(files, path) {

  names <- c()
  for ( j in 1:length(files) ) {
    n <- split.pdb.dimer(files[j], path)
    names=c(names, n)
  }
  return(names)
}
 


split.pdb.dimer <- function(file, path) {
  
  pdb <- read.pdb(file, maxlines=99999)
  chains <- unique(pdb$atom[, "chain"])
  names <- c()

  for ( j in 1:6 ) {
    chain.inds <- c(j, j+1)
    new.chains <- chains[chain.inds]
    sel <- atom.select(pdb, chain=new.chains)
    new.pdb <- trim.pdb(pdb, sel)
    new.name <- paste(substr(basename(files[i]), 
                             1, 4), "_", paste(new.chains, collapse=""), ".pdb", sep = "")
    new.name <- file.path(path, new.name)
    write.pdb(new.pdb, file = new.name)
    names <- c(names, new.name)
    }

  if ( "H" %in% chains ) {
    for ( j in 8:13 ) {
      chain.inds <- c(j, j+1)
      new.chains <- chains[chain.inds]
      sel <- atom.select(pdb, chain=new.chains)
      new.pdb <- trim.pdb(pdb, sel)
      new.name <- paste(substr(basename(files[i]), 
                               1, 4), "_", paste(new.chains, collapse=""), ".pdb", sep = "")
      new.name <- file.path(path, new.name)
      write.pdb(new.pdb, file = new.name)
      names <- c(names, new.name)
    }
  }
  return(names)
}


concat.pdb <- function(a,b) {

  new <- a
  new$atom <- rbind(a$atom, b$atom)
  new$xyz <- rbind(a$xyz, b$xyz)

  new$atom[,"eleno"] <- seq(1, nrow(new$atom))

  ##print(new$atom[,"eleno"])
  print(nrow(a$atom))
  print(nrow(b$atom))
  print(nrow(new$atom))

  out <- list(new.pdb = new,
              eleno = new$atom[,"eleno"])

  return(out)

}
