Hi Troels, Thanks for the response. This is the correct way of setting the molecule names when multiple molecules are present. The error Stefano sees needs to nevertheless be caught and changed. Once the bug report is created, I will create a system test where the PDB file is loaded and only one molecule name is given. The idea would be to produce an error message such as:
RelaxError: As a total of 3 molecules have been detected in the PDB file, 3 separate molecule names must be given when setting the molecule names. We would simply count the total molecules detected and have an 'if' statement when the set_mol_name argument is given to check that the value of that argument is compatible. This would catch the case of too many molecule names being given as well. Then we raise the RelaxError. One goal of relax is to catch all conceivable user input and to give RelaxError or RelaxWarning messages explaining the problem and solution as clearly and simply as possible in one short sentence. The zinc labelled as chain C will be problematic as this is a clear PDB format violation! If the zinc is coordinated with chain A, it should be assigned to chain A. However it is between A and B. Chain IDs are for polymer chains and everything associated with that chain, according to the PDB itself (http://www.wwpdb.org/procedure.html#toc_4): """ Definition of chain ID The chain ID is a unique identifier for each macromolecular polymer and all chemical groups (including waters) associated with it. """ One zinc atom between two chains does not fit this description! The PDB states the following to resolve this: """ How are chain IDs assigned to chemical groups and waters? All chemical groups and waters within 5 Ångstroms of any atom of a polymeric chain will be considered to be associated with that chain and will be assigned the same chain ID as that polymer. If a particular chemical group/water is equidistant from more than one chain, then the chain ID is randomly assigned to be that of any one of these polymers. """ So this zinc should either have the chain ID of A or B, but not C! However in relax we have to handle corrupted PDB files as these are everywhere. But from the user perspective this PDB file will be confusing as relax will detect (or should detect) 3 separate molecules, whereas it is logically only 2. I don't have a solution yet to aid the user when such a condition arises. Cheers, Edward On 8 February 2014 18:27, Troels Emtekær Linnet <[email protected]> wrote: > Dear Stefano. > > From the PDB file, I see that there is an A+B (protein) and C chain (ZN). > The A and B chain is two molecules I guess. > > This helped me solve it in the relax prompt: > > help(pipe.create) > pipe.create('new','relax_disp') > > help(structure.read_pdb) > > # The smallest possible info > structure.read_pdb(file='BpUreE_apo_model_full.pdb') > > # Defining molecule 1 > structure.read_pdb(file='BpUreE_apo_model_full.pdb', dir=None, read_mol=1, > set_mol_name='SpUreE_SC', read_model=None, set_model_num=None, alt_loc=None, > merge=False) > > # Defining names for the two molecules > structure.read_pdb(file='BpUreE_apo_model_full.pdb', dir=None, > set_mol_name=['SpUreE_SC_1','SpUreE_SC_2']) > structure.read_pdb(file='BpUreE_apo_model_full.pdb', dir=None, > read_mol=None, set_mol_name=['SpUreE_SC_1','SpUreE_SC_2'], read_model=None, > set_model_num=None, alt_loc=None, merge=False) > > I hope it helps :-) > > Best > Troels > > > > > 2014-02-08 11:41 GMT+01:00 stefano ciurli > <[email protected]>: > >> URL: >> <http://gna.org/support/?3112> >> >> Summary: unable to upload PDB >> Project: relax >> Submitted by: stefanociurli >> Submitted on: Sat 08 Feb 2014 10:41:02 AM UTC >> Category: None >> Priority: 5 - Normal >> Severity: 3 - Normal >> Status: None >> Privacy: Private >> Assigned to: None >> Originator Email: >> Open/Closed: Open >> Discussion Lock: Any >> Operating System: Mac OS >> >> _______________________________________________________ >> >> Details: >> >> Hello, >> following my previous email, this is the log message I get. >> Please help! >> SC >> >> >> relax> >> >> structure.read_pdb(file='/Users/stefano/Desktop/13-BpUreE-NMR/Manuscript/Figure >> 7 - Dynamics/relax/BpUreE_apo_model_full.pdb', dir=None, read_mol=None, >> set_mol_name='SpUreE_SC', read_model=None, set_model_num=None, >> alt_loc=None, >> merge=False) >> >> Internal relax PDB parser. >> Opening the file '/Users/stefano/Desktop/13-BpUreE-NMR/Manuscript/Figure 7 >> - >> Dynamics/relax/BpUreE_apo_model_full.pdb' for reading. >> Traceback (most recent call last): >> File "gui/interpreter.pyc", line 303, in run >> File "pipe_control/structure/main.pyc", line 722, in read_pdb >> File "lib/structure/internal/object.pyc", line 1840, in load_pdb >> IndexError: list index out of range >> >> >> >> >> _______________________________________________________ >> >> Reply to this item at: >> >> <http://gna.org/support/?3112> >> >> _______________________________________________ >> Message sent via/by Gna! >> http://gna.org/ >> >> >> _______________________________________________ >> relax (http://www.nmr-relax.com) >> >> This is the relax-devel mailing list >> [email protected] >> >> To unsubscribe from this list, get a password >> reminder, or change your subscription options, >> visit the list information page at >> https://mail.gna.org/listinfo/relax-devel > > > > _______________________________________________ > relax (http://www.nmr-relax.com) > > This is the relax-devel mailing list > [email protected] > > To unsubscribe from this list, get a password > reminder, or change your subscription options, > visit the list information page at > https://mail.gna.org/listinfo/relax-devel > _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel

