On Nov 1, 2009, at 11:03 PM, Javier Ángel Velázquez Muriel wrote:
Hi. I'm testing IMP with a PDB file that has 3 models inside, and is
quite big: ~900 kDa, 60 chains. I was expecting problems with
reading more than one model, but I'm also getting this:
ERROR: Can only allocate 150000 particles. Yell at Daniel.
As it says, there is currently a limit on the total number of
particles. I can increase it if needed as, apparently, is needed.
1) Can IMP read multi-model PDBs now ? The code seems that it can.
It has a flag to read one or all models, but I'm not sure that the
reading all option is very useful.
2) How are the models treated? One IMP model per PDB model ? I would
like to have all the PDB models into the IMP model in this case.
Everything always goes into the same model (since the read_pdb
function only takes one model as an argument). It currently just
produces a atom.Hierachy node with all chains and molecules from all
models as children, making sorting things out a bit annoying (as was
discussed in the meeting on pdb reading).
3) How does IMP identify chains internally? How can I access chain
54, for example, given that it's name is repeated in the PDB file?
(The PDB has 3 models, 20 chains each, repeated name).
They will just be repeated in the model. Not necessarily very useful.
It is probably worth producing a separate "read_all_models_from_pdb"
which produces a more structured output (say a vector of Hierarchies,
one per model). That would be quite easy. If we do that, we should
remove the read all models flag from the existing read_pdb.