error.in.pymol(modes)

Issue #671 resolved
Karol K created an issue

Hi,

I am running nma on my structure.

When I invoke pymol I get this error:

Error in if (tmp.len > 1) tmp.len <- 1 : 
  missing value where TRUE/FALSE needed
Calls: pymol -> pymol.nma -> pymol.modes
Execution halted

Code below:

library(bio3d)

pdb <- read.pdb("X.pdb")

modes.ca    <- nma(pdb, mass=TRUE, ff="calpha", temp = 300.0)

pymol(modes.ca, mode=7,file="mode_Py.ca7.py")

I assume that it might have something to do with my PDB, but not sure what. In VMD and chimera pdb looks fine.

Update:

I just looked at my trajecory files (mktrj()) and with the exception of first model (snapshot) the xyz contain:

ATOM  10078  CA  ALA C10076        -Inf    -Inf     Inf  1.00  0.00

I am not sure, but maybe error in the calculations?

thanks

Comments (9)

  1. Karol K reporter
    • edited description

    Hi,

    I am running nma on my structure.

    When I invoke pymol I get this error:

    Error in if (tmp.len > 1) tmp.len <- 1 : 
      missing value where TRUE/FALSE needed
    Calls: pymol -> pymol.nma -> pymol.modes
    Execution halted
    

    Code below:

    library(bio3d)
    
    pdb <- read.pdb("X.pdb")
    
    modes.ca    <- nma(pdb, mass=TRUE, ff="calpha", temp = 300.0)
    
    pymol(modes.ca, mode=7,file="mode_Py.ca7.py")
    

    I assume that it might have something to do with my PDB, but not sure what. In VMD and chimera pdb looks fine.

    thanks

  2. Xinqiu Yao

    Yes, there are errors in the calculation. Please make sure your pdb does not contain over 9999 residues (it is a limitation of PDB format, but you may get rid of it using other format such as mmCIF).

  3. Karol K reporter

    You mean a whole PDB or per chain? I have a pdb file with 21k atoms for which nma proceeded without any problems.

  4. Xinqiu Yao

    It is per chain. The residue number columns allow only 4 digits, which means a maximum of 9,999 residues per chain (for multiple chains, you may need to renumber each chain to avoid over-numbering).

    I mentioned this because I saw your output above,

    ATOM 10078 CA ALA C10076 -Inf -Inf Inf 1.00 0.00

    where C10076 indicates you have more than 10,000 residues.

  5. Karol K reporter

    Hi,

    I think that I found out what was the problem.

    It was not about number of residues per chain as I have system, which mktrj() writes as more then 9999 res per chain and everything works fine.

    My calculations most likely crashed due to the fact that some parts of it do not show any connectivity. By no connectivity I mean there are some domains, which are separated by large distance and thats way it was crashing.

    I could notice that CA-FField tends to perform better for systems with weak connectivity. Any other FFields, which would suit these kind of systems?

    Finally, mktrj() does not preserve original numbering and chain labeling. Was it designed like this?

    thanks

  6. Xinqiu Yao

    Hi,

    Most force fields will predict a high flexibility around terminii/disconnected regions. This is the nature of elastic network models. Not sure which one works better than others, but you can easily test them by yourselves (it might be system dependent).

    mktrj() can preserve those properties as long as you provide a pdb to it (http://thegrantlab.org/bio3d/html/mktrj.html). Note that we have very limited time and effort to answer questions. Please make sure you have read the manual carefully before asking questions here.

  7. Karol K reporter

    Hi Xinqiu,

    Thank you for your reply. I can assure you that before asking I spend a substantial amount of time on investigating problem by my own, but the problem was quite confusing as I could not find any problems with my PDB.

    Your input here is really appreciated as it can save weeks of testing, what I am, nevertheless doing as well.

    You can close this ticket.

    thanks

  8. Log in to comment