[PyMOL] Remember, PyMOL is for visualization, not analysis.
Dear PyMOL-Users: Today's questions regarding alignment RMS values suggest to me that I should re-emphasize what PyMOL is and is not good for: Please everyone keep in mind that PyMOL is intended to be just a "molecular graphics" program, to be used for displaying, comparing, and manipulating molecular structure in various visual and interactive ways. PyMOL is a figure maker, a movie maker, a presentation tool -- a molecular communications platform, if you will. PyMOL is not intended to be, nor should it be used as, a molecular analysis tool. It wasn't built with that goal in mind, and most of the algorithms inside the program have not been rigorously validated. As a general rule, if the "numbers" matter, then you should be using other more rigorous software for those tasks, and then loading only the final output into PyMOL (for rendering, etc.). Thank you all for keeping this in mind as you continue to apply PyMOL in your work. Cheers, Warren -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Re: [PyMOL] how to get RMSD from align command
Warren, before I write something incorrect into Methods section, do you think the overall RMSD returned by align command is a valid criterion to select which structure of the family is most similar? Tom > Tom, > > Apologies for the confusion, but there really isn't any way to > measure overall structural similarity in PyMOL other than pair_fit, > but you have to do the work of explicitly stating which pairs are to > be aligned. > > The pair_fit selections don't have to be identical, but they do have > to correspond in a pairwise fashion. In other words, you can > compare any number of C-alpha positions so long as the same number > of atomic positions are specified in each structure. > > Cheers, > Warren > > -Original Message- > From: Thomas Evangelidis [mailto:te8...@mbg.duth.gr] > Sent: Thu 10/29/2009 5:24 AM > To: Warren DeLano > Cc: pymol-users@lists.sourceforge.net > Subject: Re: [PyMOL] how to get RMSD from align command > > Hi Warren, > > Now I am more confused. I used align command to measure the overall > RMSD between homologous structures. Apparently align is not > appropriate if not sufficient sequence similarity is present. I later > came across CEalign plugin, which does structure-based > superimposition. This command also returns an RMSD value, which > happens to be higher for the set of homologous structures I analysed. > Based on this I concluded that align command is more appropriate to > measure measure structural similarity, but I'm not sure now. > > My objective is to select between a small set of homologous structures > (co-crystallized with ligands), the one with the highest structural > similarity and use it to place a dummy ligand into one where it's > missing. I.e. "1ebh" lacks a ligand, so I compared it with "1ebg", > "1els", "1one", "2one", "5enl", "6enl", "7enl" which have > co-crystallized ligands. According to both align and cealign, 5ENL is > the most similar with overall RMSD 0.246 and 0.420907 respectively. > The question is which command produces the best superimposition > provided that these proteins belong to the enolase family and thus > have high sequence and structural similarity? Based on the RMSD > values, align does, but as you said this value pertains to only a > subset of atoms after refinement. > > Apparently pair_fit command cannot be used for my purpose as it > requires identical selections. > > Tom > > >> Tom, >> >> The complication with cmd.align() is that it is doing a whole lot >> more than a simple alignment. The first number is in fact the RMS, >> but it covers only the subset of the input atoms remaining after >> refinement is completed. The count of aligned atoms is the second >> field. >> >> If you're looking for exact RMS fit values over a well-defined set >> of atoms, try using cmd.pair_fit(sele1, sele2) instead, for example: >> >> load $TUT/1hpv.pdb >> >> create loopA, A/46-55/ >> >> create loopB, B/46-55/ >> >> show sticks, loop* >> >> print cmd.pair_fit("loopACA", "loopBCA") >> >> Cheers, >> Warren >> >> -Original Message- >> From: Thomas Evangelidis [mailto:te8...@mbg.duth.gr] >> Sent: Wed 10/28/2009 8:09 PM >> To: pymol-users@lists.sourceforge.net >> Subject: [PyMOL] how to get RMSD from align command >> >> Simple question, it must have been answered before but couldn't find >> it so far: >> >> how can I get the RMSD value from the align command in a python >> script? cmd.align() returnes a tuple of 8 numbers and none of them is >> the actual RMSD value I get when I align these 2 structures manually. >> >> thanks,Tom >> >> >> -- >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart your >> developing skills, take BlackBerry mobile applications to market and stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> ___ >> PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) >> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users >> Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net >> >> >> >> >> >> >> > > > - End message from war...@delsci.com - > > > > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > ___ > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pymol-users@l
Re: [PyMOL] how to get RMSD from align command
Tom, Apologies for the confusion, but there really isn't any way to measure overall structural similarity in PyMOL other than pair_fit, but you have to do the work of explicitly stating which pairs are to be aligned. The pair_fit selections don't have to be identical, but they do have to correspond in a pairwise fashion. In other words, you can compare any number of C-alpha positions so long as the same number of atomic positions are specified in each structure. Cheers, Warren -Original Message- From: Thomas Evangelidis [mailto:te8...@mbg.duth.gr] Sent: Thu 10/29/2009 5:24 AM To: Warren DeLano Cc: pymol-users@lists.sourceforge.net Subject: Re: [PyMOL] how to get RMSD from align command Hi Warren, Now I am more confused. I used align command to measure the overall RMSD between homologous structures. Apparently align is not appropriate if not sufficient sequence similarity is present. I later came across CEalign plugin, which does structure-based superimposition. This command also returns an RMSD value, which happens to be higher for the set of homologous structures I analysed. Based on this I concluded that align command is more appropriate to measure measure structural similarity, but I'm not sure now. My objective is to select between a small set of homologous structures (co-crystallized with ligands), the one with the highest structural similarity and use it to place a dummy ligand into one where it's missing. I.e. "1ebh" lacks a ligand, so I compared it with "1ebg", "1els", "1one", "2one", "5enl", "6enl", "7enl" which have co-crystallized ligands. According to both align and cealign, 5ENL is the most similar with overall RMSD 0.246 and 0.420907 respectively. The question is which command produces the best superimposition provided that these proteins belong to the enolase family and thus have high sequence and structural similarity? Based on the RMSD values, align does, but as you said this value pertains to only a subset of atoms after refinement. Apparently pair_fit command cannot be used for my purpose as it requires identical selections. Tom > Tom, > > The complication with cmd.align() is that it is doing a whole lot > more than a simple alignment. The first number is in fact the RMS, > but it covers only the subset of the input atoms remaining after > refinement is completed. The count of aligned atoms is the second > field. > > If you're looking for exact RMS fit values over a well-defined set > of atoms, try using cmd.pair_fit(sele1, sele2) instead, for example: > > load $TUT/1hpv.pdb > > create loopA, A/46-55/ > > create loopB, B/46-55/ > > show sticks, loop* > > print cmd.pair_fit("loopACA", "loopBCA") > > Cheers, > Warren > > -Original Message- > From: Thomas Evangelidis [mailto:te8...@mbg.duth.gr] > Sent: Wed 10/28/2009 8:09 PM > To: pymol-users@lists.sourceforge.net > Subject: [PyMOL] how to get RMSD from align command > > Simple question, it must have been answered before but couldn't find > it so far: > > how can I get the RMSD value from the align command in a python > script? cmd.align() returnes a tuple of 8 numbers and none of them is > the actual RMSD value I get when I align these 2 structures manually. > > thanks,Tom > > > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > ___ > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net > > > > > > > - End message from war...@delsci.com - -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve
Re: [PyMOL] how to get RMSD from align command
Hi Warren, Now I am more confused. I used align command to measure the overall RMSD between homologous structures. Apparently align is not appropriate if not sufficient sequence similarity is present. I later came across CEalign plugin, which does structure-based superimposition. This command also returns an RMSD value, which happens to be higher for the set of homologous structures I analysed. Based on this I concluded that align command is more appropriate to measure measure structural similarity, but I'm not sure now. My objective is to select between a small set of homologous structures (co-crystallized with ligands), the one with the highest structural similarity and use it to place a dummy ligand into one where it's missing. I.e. "1ebh" lacks a ligand, so I compared it with "1ebg", "1els", "1one", "2one", "5enl", "6enl", "7enl" which have co-crystallized ligands. According to both align and cealign, 5ENL is the most similar with overall RMSD 0.246 and 0.420907 respectively. The question is which command produces the best superimposition provided that these proteins belong to the enolase family and thus have high sequence and structural similarity? Based on the RMSD values, align does, but as you said this value pertains to only a subset of atoms after refinement. Apparently pair_fit command cannot be used for my purpose as it requires identical selections. Tom > Tom, > > The complication with cmd.align() is that it is doing a whole lot > more than a simple alignment. The first number is in fact the RMS, > but it covers only the subset of the input atoms remaining after > refinement is completed. The count of aligned atoms is the second > field. > > If you're looking for exact RMS fit values over a well-defined set > of atoms, try using cmd.pair_fit(sele1, sele2) instead, for example: > > load $TUT/1hpv.pdb > > create loopA, A/46-55/ > > create loopB, B/46-55/ > > show sticks, loop* > > print cmd.pair_fit("loopACA", "loopBCA") > > Cheers, > Warren > > -Original Message- > From: Thomas Evangelidis [mailto:te8...@mbg.duth.gr] > Sent: Wed 10/28/2009 8:09 PM > To: pymol-users@lists.sourceforge.net > Subject: [PyMOL] how to get RMSD from align command > > Simple question, it must have been answered before but couldn't find > it so far: > > how can I get the RMSD value from the align command in a python > script? cmd.align() returnes a tuple of 8 numbers and none of them is > the actual RMSD value I get when I align these 2 structures manually. > > thanks,Tom > > > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > ___ > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net > > > > > > > - End message from war...@delsci.com - -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Re: [PyMOL] how to get RMSD from CEalign command
Thank you Adnreas. I'm straggling with cealign now. When I run it in batch mode I get "Selector-Error: Invalid selection name" for certain structures, which in fact are very close homologs, whereas the number of RMSD values I get varies (sometimes 3, 5, etc). Here's the code: query_template_chains = { "1ebh" : ["1ebg", "1els", "1one", "2one", "5enl", "6enl", "7enl"] } for query in query_template_chains.keys(): for template in query_template_chains[query]: cmd.fetch(query) cmd.fetch(template) print "Superimposing ", query, " onto ", template cmd.do("cealign "+query+" and c. A, "+template+" and c. A") cmd.delete(query) cmd.delete(template) Do you know what's wrong? Thomas > Hey Thomas, > > if you want to use align anyway, make sure to use the quite=0 option. > The "quiet" option (if present) is set to zero by default for parsed > PyMOL commands, but is not set for Python API calls. > > align > is nearly equal to > cmd.align(quiet=0) > > Thus, if you want to get rmsd output, include quiet=0 and run your > script with output redirection. > > > Andreas > > > > On Thu, Oct 29, 2009 at 2:48 AM, Thomas Evangelidis > wrote: >> Simple question, it must have been answered before but couldn't find >> it so far: >> >> how can I get the RMSD value from the align command in a python >> script? cmd.align() returnes a tuple of 8 numbers and none of them is >> the actual RMSD value I get when I align these 2 structures manually. >> >> thanks,Tom >> >> >> -- >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart your >> developing skills, take BlackBerry mobile applications to market and stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> ___ >> PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) >> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users >> Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net >> > - End message from docandr...@gmail.com - -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Re: [PyMOL] how to get RMSD from align command
Hey Thomas, if you want to use align anyway, make sure to use the quite=0 option. The "quiet" option (if present) is set to zero by default for parsed PyMOL commands, but is not set for Python API calls. align is nearly equal to cmd.align(quiet=0) Thus, if you want to get rmsd output, include quiet=0 and run your script with output redirection. Andreas On Thu, Oct 29, 2009 at 2:48 AM, Thomas Evangelidis wrote: > Simple question, it must have been answered before but couldn't find > it so far: > > how can I get the RMSD value from the align command in a python > script? cmd.align() returnes a tuple of 8 numbers and none of them is > the actual RMSD value I get when I align these 2 structures manually. > > thanks,Tom > > > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > ___ > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net > -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net