Attempt2: aanma on selected model from NMR ensemble

Issue #774 new
Former user created an issue

I created the issue "aanma on selected model from NMR ensemble" but the format looks very strange, and it makes the index of the lists un-readable.

So, here goes my message again, hopefully with no format issues:

Goal of the calculation:To perform all-atom normal mode analysis on selected models from a number of NMR ensembles deposited in the protein data bank. For example, in the NMR ensemble pdb file of my protein 1 there are 20 models, I want to perform all-atom normal mode analysis only on models 1,3, and 19 of my protein 1. And, repeat for all NMR ensembles I want to study.

My issue: How to get aanma.pdb to read the model that I want to analyze.

Attempts so far:

Read input file, works well:

pdbs_all[[1]] = read.pdb("my.protein1.pdb", multi = TRUE)

I think the following line performs aanma on model 1 only:

aanma.modes <- aanma.pdb(pdbs_all[[1]], outmodes = "calpha", mass = TRUE, rtb = TRUE)

I wish I could do something like the following line if I want to run aanma on model 3 But, I know that the following line does not work (because the indexes access the list of residue names):

aanma.modes <- aanma.pdb(pdbs_all13, outmodes = "calpha", mass = TRUE, rtb = TRUE)

Error message:

Error in aanma.pdb(pdbs_all81, outmodes = "calpha", mass = TRUE, : please provide a 'pdb' object as obtained from 'read.pdb()'.

I have also tried:

aanma.modes <- aanma.pdbs(pdbs_all[[1]]$xyz[3,], outmodes = "calpha", mass = TRUE, rtb = TRUE)

But, of course, I get the following message:

Error in aanma.pdb(pdbs_all1$xyz[3, ], outmodes = "calpha", mass = TRUE, : please provide a 'pdb' object as obtained from 'read.pdb()'.

I have tried aanm.pdbs but it does not work either. And, I do not think I have to go through the route of aligning because all models belong to the same NMR ensemble.

Any suggestion will be greatly appreciated!

sessionInfo() R version 4.0.2 (2020-06-22) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19041)

bio3d_2.4-1

Comments (2)

  1. Xinqiu Yao

    Hi,

    A quick (but probably “dirty”) way is to create a temporary PDB with the ‘xyz’ taken from the specific row of the original ‘xyz’. For example,

    tmppdb <- pdbs_all[[1]]
    tmppdb$xyz <- pdbs_all[[1]]$xyz[3, ] # use model 3
    aanma.modes <- aanma.pdb(tmppdb, outmodes = "calpha", mass = TRUE, rtb = TRUE)
    

  2. Log in to comment