[gmx-users] What is best way to get multiple chains?

Mark Abraham Mark.Abraham at anu.edu.au
Wed Oct 14 14:15:04 CEST 2009

ms wrote:
> Mark Abraham ha scritto:
>> ms wrote:
>>> Hi,
>>> I am a gmx newbie, so please don't bite too much! :)
>>> Learning gmx, I am experimenting with simulations with multiple
>>> identical small chains. What I did was:
>>> - I generated the peptides with pymol
>>> - Generated a .gro with pdb2gmx
>> This step is "generating a molecular topology". You don't need a .gro -
>> it's just a regularized coordinate file produced as a side-effect.
> Very much right. Thanks.
>>> - Used editconf to create translated copies
>> Try genconf to do the replication. That should remove much of the manual
>> labour. You would still probably need to edit in the chain IDs yourself,
>> but that's easy work with a script or good editor.
> Thanks!
>>> - Stitching them together and creating the complete file, adjusting
>>> numbers etc. manually
>>> It worked well, but the chains are not recognized as *different* chains
>>> -which could be useful. Documentation says I should use another format
>>> like the pdb, but it is a bit sparse on the subject. I think I can use
>>> pdb instead of gro if needed, but does this also work when creating
>>> boxes etc.? Isn't there a way to get chain identifiers in a gro file?
>>> What is best practice?
>> What do you want the chain identifiers for? I'm not aware of a
>> post-pdb2gmx purpose that they might serve.
> This is where my naivety probably enters in: Analysis programs work on
> groups. If several chains are defined, can each of these count as a
> group? Indeed, chapter 8 doesn't explicitly say so, but... My intention
> is to get analysis for each chain in my system. What is best practice
> for that / where should I look in the docs?

make_ndx is the tool for generating such groups. If you read make_ndx -h 
you'll see it does indeed let you create groups based around chain IDs, 
but that'd (at least) require supplying it with a coordinate file that 
has chain IDs. You could do that, but doing the house-keeping to assign 
those IDs is tricky, and with PDB you're probably limited by 26 letters. 
make_ndx will also let you create a group according to a range of atomic 
numbers "a 1-10" or residue numbers "r 1-10". This avoids needing to 
preserve/create chain IDs. Since you only need to create index groups 
once for a given coordinate file, that's not too onerous. If you will 
have lots of simulations with different numbers of such groups then you 
might write a script to automate that... see 

>> If your system is N identical peptides in a solvent, then best practice
>> for generating a complete .top is to generate one for a single peptide
>> in solvent (e.g. pdb2gmx - editconf - genbox). Then generate a
>> coordinate file which contains the N peptides' coordinates followed by
>> all the solvent (e.g. genconf - genbox). Then edit the [ molecules ]
>> section of the original .top to match. Other solutions are possible, but
>> require more involved use of pdb2gmx, and might indeed want chain IDs.
> Uh, thanks. Not sure to have understood all of it, but I will do my
> homework before coming back :)

Sure. Doing some "irrelevant" tutorial material can be useful 
introductions to the workflows. Regard;ess, the learning curve can be 
steep for all computational chemistry software. Unfortunately no 
beginner these days seems to want to come in and just do 
protein-in-water :-) That makes their life hard.


More information about the gromacs.org_gmx-users mailing list