Bug: nma.pdbs() got error when input pdbs have blank chain id

Issue #41 resolved
Xinqiu Yao created an issue

Following pdbs were obtained from MD setup, which all contain blank chain id

f <- c("gdp_ca.pdb", "gtp_ca.pdb", "open_ca.pdb")
pdbs <- pdbaln(f)
gdp <- read.pdb(f[1])

# nma() is okay
modes <- nma(gdp)
# Building Hessian...       Done in 0.308 seconds.
# Diagonalizing Hessian...  Done in 1.566 seconds.

#nma.pdbs() errors
modes <- nma.pdbs(pdbs)

# Building Hessian...       Done in 0.358 seconds.
# Diagonalizing Hessian...Error in eigen(H, symmetric = TRUE) : infinite or missing #values in 'x'
#In addition: Warning message:
#In read.pdb(fname) : NAs introduced by coercion

Possible reason is read.pdb() and write.pdb(), in which blank chain id are recognized as NA

Comments (2)

  1. Lars Skjærven

    thanks for noting this. it has been fixed in the recent update.

    However, the way I make a PDB object in nma.pdbs might not be best. i.e. I use write.pdb and read.pdb. might be a better solution for making a PDB object, but it was easy (and secure)

  2. Log in to comment