On 06/19/2014 05:25 PM, Andreas Truszkowski wrote: > Hi, > > hiding protein chains with display *:chain or *:chain\modelnr is no > problem. But how can I hide a specific chain within a bilogical > assembly? The problem is that in biological assemblies the unit cell > (assymetric unit) is transformed n-times as described in the PDB REMARK > 350 section i.e. if I take the protein 4ins with two chains in the > assymetric unit and I apply the filter BIOMOLECULE 5 to it, the > resulting hexamere consists of three times chain A and B. Using > something like display *:Aleads to that every chain A is hidden. > > Is there a way to only show or hide a specific chain e.g. chain A in the > second unit cell? > I don't know about any simple way to achieve this (but I might be wrong).
Unfortunately the BIOMOLECULE filter of Jmol was implemented different than what the PDB does with the biological unit files they provide. In these files each copy is placed into a new model so selecting each chain individually is rather easy. So maybe switching to use these biological unit files might be the easiest way to solve your problem. If that is not an option you might be able to solve the problem by using the 'atomindex' property (see http://jena3d.fli-leibniz.de/doc/jmol_scripting/index.htm#atomproperties) in combination with the atom selector function 'within(POLYMER, atomindex=n' (see http://jena3d.fli-leibniz.de/doc/jmol_scripting/index.htm#atomexpressions). If you would only need to do this for a small set of predefined PDB entries you might collect the necessary data rather easily. If you would need it for any PDB structure it might require quite some Jmol script programming. The general idea is like this: 1) Each atom has an individual index number assigned, starting with zero. It can be used for atom selection by using for example 'atomindex=0'. 2) You should be able to select all atoms belonging to the same chain by using the atom expression 'within(POLYMER, atomindex=0)'. 3) Identify the atomindex for the first atom of each chain (manually or programmatically) and build the proper atom expression from 2). I don't know if 2) will work in all cases. I just tried it for PDB entry 4INS and it worked. The order of the chains you will get by 'atomindex' might not be the same as you might expect. It will depend on the way how the atoms for the copies are created. To solve this programmatically might be difficult. One way to achieve 3) might be to go like this: a) Use atomindex=0 to identify the atoms of the first chain. b) Select the first chain and determine the maximum atomindex. c) Add one to the maximum atomindex and use it in a) to find the next chain. d) Repeat this until the maximum atomindex of the whole structure is reached. This will of course not work, if the atomindex numbers within each chain are not sequential. You would have to check this first. Good luck, Rolf -- Rolf Huehne Postdoc Leibniz Institute for Age Research - Fritz Lipmann Institute (FLI) Beutenbergstrasse 11 07745 Jena, Germany Phone: +49 3641 65 6205 Fax: +49 3641 65 6210 E-Mail: [email protected] Website: http://www.fli-leibniz.de Scientific Director: Prof. Dr. K. Lenhard Rudolph Head of Administration: Dr. Daniele Barthel Chairman of Board of Trustees: Dennys Klein VAT No: DE 153 925 464 Register of Associations: No. 230296, Amtsgericht Jena Tax Number: 162/141/08228 ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Jmol-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jmol-users

