Put atoms of target molecule in same order as reference

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Put atoms of target molecule in same order as reference

CodyA
Hi all,

I'm looking at carbon bonded to benzene. The carbon can bond at all the equivalent carbon in the benzene, as well as several other places in my simulation.

I am trying to compare structures by their RMSD, to determine the unique bonding structures. However, when I use OpenBabel the RMSD values I get are large for visually identical structures.

This is because "When aligning molecules, the atoms of the two molecules must be in the same order"

In my case, the carbon-carbon bond is between Carbon 1 and carbon 13, Carbon 2 and carbon 13, etc. all of which are different order but result in the same visually identical structure.

Is there any way to programmatically put the atoms of the target in the same order as reference?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Put atoms of target molecule in same order as reference

Noel O'Boyle
Administrator
I should probably add this feature. In the meanwhile, one way would be to generate canonical labels and then shuffle the atoms of both into that order. Alternatively, if there's a way to get the mapping between two molecules, you would just need to shuffle the atoms of one of them.

(on my phone so hard to provide details)
- Noel


On 22 Jul 2017 3:48 p.m., "CodyA" <[hidden email]> wrote:
Hi all,

I'm looking at carbon bonded to benzene. The carbon can bond at all the
equivalent carbon in the benzene, as well as several other places in my
simulation.

I am trying to compare structures by their RMSD, to determine the unique
bonding structures. However, when I use OpenBabel the RMSD values I get are
large for visually identical structures.

This is because "When aligning molecules, the atoms of the two molecules
must be in the same order"

In my case, the carbon-carbon bond is between Carbon 1 and carbon 13, Carbon
2 and carbon 13, etc. all of which are different order but result in the
same visually identical structure.

Is there any way to programmatically put the atoms of the target in the same
order as reference?





--
View this message in context: http://forums.openbabel.org/Put-atoms-of-target-molecule-in-same-order-as-reference-tp4660120.html
Sent from the General discussion mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: Put atoms of target molecule in same order as reference

CodyA

Thanks for the quick reply.

 

This feature would be extremely useful. I think it is a graph isomorphism problem.

 

I’m not following the first method that you proposed. But the second method you mentioned definitely works. In my case, I need to shuffle the atoms of the benzene such that they rotate 60 degrees (360/6) around the ring. Perhaps, I’ll try all 5 permutations and take the lowest RMSD as the correct RMSD .

 

 

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Saturday, July 22, 2017 11:57 AM
To: [hidden email]
Subject: Re: Put atoms of target molecule in same order as reference

 

I should probably add this feature. In the meanwhile, one way would be to generate canonical labels and then shuffle the atoms of both into that order. Alternatively, if there's a way to get the mapping between two molecules, you would just need to shuffle the atoms of one of them.

 

(on my phone so hard to provide details)

- Noel

 

 

On 22 Jul 2017 3:48 p.m., "CodyA" <[hidden email]> wrote:

Hi all,

I'm looking at carbon bonded to benzene. The carbon can bond at all the
equivalent carbon in the benzene, as well as several other places in my
simulation.

I am trying to compare structures by their RMSD, to determine the unique
bonding structures. However, when I use OpenBabel the RMSD values I get are
large for visually identical structures.

This is because "When aligning molecules, the atoms of the two molecules
must be in the same order"

In my case, the carbon-carbon bond is between Carbon 1 and carbon 13, Carbon
2 and carbon 13, etc. all of which are different order but result in the
same visually identical structure.

Is there any way to programmatically put the atoms of the target in the same
order as reference?





--
View this message in context: http://forums.openbabel.org/Put-atoms-of-target-molecule-in-same-order-as-reference-tp4660120.html
Sent from the General discussion mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

If you reply to this email, your message will be added to the discussion below:

http://forums.openbabel.org/Put-atoms-of-target-molecule-in-same-order-as-reference-tp4660120p4660123.html

To unsubscribe from Put atoms of target molecule in same order as reference, click here.
NAML

 

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Put atoms of target molecule in same order as reference

Geoff Hutchison
In reply to this post by Noel O'Boyle
> I should probably add this feature. In the meanwhile, one way would be to generate canonical labels and then shuffle the atoms of both into that order.

Considering this seems to be a common problem, perhaps a Pybel example script is in order (e.g., read in two molecule files, assign the canonical labels and then calculate the RMSD)?

If you don’t have time today, I might take a pass at this on Wednesday, since I need it for a project.

-Geoff
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
Loading...