Hi,

I realise it is difficult.  For now it would be best to state that.
Maybe the description of using 2 file can be put into the user
function documentation (in the prompt package).  This design can
change in the future, if there is a need.

Regards,

Edward


On 20 June 2011 11:39, Han Sun <[email protected]> wrote:
> It is really hard to determine the correct connectivities for the chemical
> compounds. If the two molecules are very close to each other, then it is
> very probably to determine them wrong. Because unlike the protein and DNA,
> in which you can only have the sp3 and sp2 hybridization, you can have here
> from sp to sp3d2 hybridization. Therefore the angles as criteria for
> determining the connectivities can not be used. In my opinion, the only
> criteria is then the bond length. But it will not be valid any more, if the
> two molecules are close to each other. Therefore I think the easiest
> solution will be to separate different molecules into different xyz files,
> if the users can accept this.
>
> Best
> Han
>
> On Jun 20, 2011, at 11:27 AM, Edward d'Auvergne wrote:
>
>> That might be something we have to look at after implementing this.
>> We can see how the current algorithm works.  And we need to work out
>> how useful it would be for organic chemists to be able to separate out
>> two molecules in an XYZ file (i.e. should we implement it, or wait
>> until a user asks for it).
>>
>> Cheers,
>>
>> Edward
>>
>>
>>
>> On 20 June 2011 11:26, Han Sun <[email protected]> wrote:
>>>
>>> Hi,
>>>
>>> I think the viewers determine the connectivities from the bond length.
>>> But I
>>> am not sure.
>>>
>>> Han
>>>
>>> On Jun 20, 2011, at 10:57 AM, Edward d'Auvergne wrote:
>>>
>>>> Hi,
>>>>
>>>> Do you know how organic molecule viewers determine this?  Do they try
>>>> to work out the connectivity in the molecules?  The internal reader
>>>> has a very, very basic algorithm for connectivity.  See
>>>> __find_bonded_atoms() in generic_fns/structure/internal.py.  This
>>>> might have to be improved for organic molecules, as my assumptions are
>>>> ok for standard biomolecules, but maybe do not hold for all organic
>>>> molecules.  So in reality, so we need to be able to determine 2
>>>> molecules within one file using connectivities, or a lack of, between
>>>> two group of atoms?
>>>>
>>>> Regards,
>>>>
>>>> Edward
>>>>
>>>>
>>>> On 20 June 2011 10:48, Han Sun <[email protected]> wrote:
>>>>>
>>>>> Hi Edward,
>>>>>
>>>>> That is the problem. In the xyz file you can probably have several
>>>>> molecules, but you can not recognized that. There is no parameter to
>>>>> define
>>>>> the molecule or the residue like in the pdb file.
>>>>>
>>>>> Best,
>>>>> Han
>>>>>
>>>>> On Jun 20, 2011, at 10:41 AM, Edward d'Auvergne wrote:
>>>>>
>>>>>> Hi Han,
>>>>>>
>>>>>> It's now working, your ssh access :)  I was just wondering why you had
>>>>>> the statement:
>>>>>>
>>>>>> if mol_index==0:
>>>>>>
>>>>>> This could be problematic if you have multiple molecules in the XYZ
>>>>>> file.  Is it possible to have more than one in the format?
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Edward
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 20 June 2011 10:07,  <[email protected]> wrote:
>>>>>>>
>>>>>>> Author: han87
>>>>>>> Date: Mon Jun 20 10:07:35 2011
>>>>>>> New Revision: 13121
>>>>>>>
>>>>>>> URL: http://svn.gna.org/viewcvs/relax?rev=13121&view=rev
>>>>>>> Log:
>>>>>>> Debugging the user functions load_xyz() and
>>>>>>> test_read_xyz_internal2().
>>>>>>>
>>>>>>> The user functions load_xyz() in 'generic_fns/structure/internal.py'
>>>>>>> and
>>>>>>> test_read_xyz_internal2() in 'test_suite/system_tests/structure.py'
>>>>>>> have
>>>>>>> been changed so that the molecule name can be read properly.
>>>>>>>
>>>>>>> Modified:
>>>>>>>  branches/xyz/generic_fns/structure/internal.py
>>>>>>>  branches/xyz/test_suite/system_tests/structure.py
>>>>>>>
>>>>>>> Modified: branches/xyz/generic_fns/structure/internal.py
>>>>>>> URL:
>>>>>>>
>>>>>>>
>>>>>>> http://svn.gna.org/viewcvs/relax/branches/xyz/generic_fns/structure/internal.py?rev=13121&r1=13120&r2=13121&view=diff
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- branches/xyz/generic_fns/structure/internal.py (original)
>>>>>>> +++ branches/xyz/generic_fns/structure/internal.py Mon Jun 20
>>>>>>> 10:07:35
>>>>>>> 2011
>>>>>>> @@ -853,8 +853,9 @@
>>>>>>>          if set_mol_name:
>>>>>>>              new_mol_name.append(set_mol_name[mol_index])
>>>>>>>          else:
>>>>>>> -                # Set the name to the file name plus the structure
>>>>>>> number.
>>>>>>> -                new_mol_name.append(file_root(file) + '_mol' +
>>>>>>> repr(mol_index))
>>>>>>> +                if mol_index==0:
>>>>>>> +                   #Set the name to the file name plus the structure
>>>>>>> number.
>>>>>>> +                   new_mol_name.append(file_root(file) + '_mol' +
>>>>>>> repr(mol_index+1))
>>>>>>>
>>>>>>>          # Store the original mol number.
>>>>>>>          orig_mol_num.append(mol_index)
>>>>>>> @@ -874,7 +875,8 @@
>>>>>>>
>>>>>>>          # Increment the model index.
>>>>>>>          model_index = model_index + 1
>>>>>>> -
>>>>>>> +
>>>>>>> +        orig_mol_num=[0]
>>>>>>>      # Create the structural data data structures.
>>>>>>>      self.pack_structs(mol_conts, orig_model_num=orig_model_num,
>>>>>>> set_model_num=set_model_num, orig_mol_num=orig_mol_num,
>>>>>>> set_mol_name=new_mol_name, file_name=file, file_path=path)
>>>>>>>
>>>>>>>
>>>>>>> Modified: branches/xyz/test_suite/system_tests/structure.py
>>>>>>> URL:
>>>>>>>
>>>>>>>
>>>>>>> http://svn.gna.org/viewcvs/relax/branches/xyz/test_suite/system_tests/structure.py?rev=13121&r1=13120&r2=13121&view=diff
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- branches/xyz/test_suite/system_tests/structure.py (original)
>>>>>>> +++ branches/xyz/test_suite/system_tests/structure.py Mon Jun 20
>>>>>>> 10:07:35
>>>>>>> 2011
>>>>>>> @@ -659,10 +659,10 @@
>>>>>>>
>>>>>>>
>>>>>>>  self.interpreter.structure.read_xyz(file='SSS-cluster4-new-test.xyz',
>>>>>>> dir=path)
>>>>>>>
>>>>>>>      # Test the molecule name.
>>>>>>> -
>>>>>>>  self.assertEqual(cdp.structure.structural_data[0].mol[0].mol_name,
>>>>>>> 'SSS-cluster4-new-test')
>>>>>>> +
>>>>>>>  self.assertEqual(cdp.structure.structural_data[0].mol[0].mol_name,
>>>>>>> 'SSS-cluster4-new-test_mol1')
>>>>>>>
>>>>>>>      # Load a single atom and test it.
>>>>>>> -
>>>>>>>  self.interpreter.structure.load_spins('SSS-cluster4-new-test:3@C')
>>>>>>> +
>>>>>>>
>>>>>>>  self.interpreter.structure.load_spins('SSS-cluster4-new-test_mol1:@C')
>>>>>>>      self.assertEqual(count_spins(), 1)
>>>>>>>
>>>>>>>      # Try loading a few protons.
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> relax (http://nmr-relax.com)
>>>>>>>
>>>>>>> This is the relax-commits 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-commits
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> relax (http://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://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

Reply via email to