Re: [PyMOL] Problems with FindSeq.py script
Troels, Commonly I run pymol scripts by means of run script.py or @ script.py from PyMol shell! then I use script_command ( e.g findSeq ) and further script syntax for my tasks e.g findSeq s.g 1f88 works perfect but the above command for the ensemmble of pdbs give me error. James 2012/1/16 Troels Emtekær Linnet tlin...@gmail.com It depends on, if you run or import the script. The namespace will be different. What do you do? This is no error. This is basic Python knowledge. Troels Emtekær Linnet Slotsvej 2 4300 Holbæk Mobil: +45 60210234 2012/1/16 James Starlight jmsstarli...@gmail.com Hi Troels! I've tried to use for x in cmd.get_names(): findSeq.findSeq(QTG, x, sele_+x, firstOnly=1) but I obtained error NameError: name 'findSeq' is not defined At the same time just findSeq QTG, 3sn6 wokrs perfect 2012/1/14 Troels Emtekær Linnet tlin...@gmail.com Hi James. I moved the script under the git repository yesterday, and took care of the bug. The script look a little different now. So try the new one again from: http://www.pymolwiki.org/index.php/findseqhttp://www.pymolwiki.org/index.php/Findseq The follow the guide on the page. # Find the regular expression:# ..H[TA]LVWH# in the few proteins loaded.# I then showed them as sticks and colored them to highlight matched AAsfor x in cmd.get_names(): findseq.findseq(..H[TA]LVWH, x, sele_+x, firstOnly=1) 2012/1/14 James Starlight jmsstarli...@gmail.com Jason, hello! Also I've found possible fix for that bug by lpacing this line in the 47 line of the script if type(selName)!=(types.StringType) and type(selName)!=(types.NoneType): By the way I've found another bug when I've tried to find the same motifs in the several homolugues structures. E.g I have 5 structures wich all have motiv S.G where . is the random amino acid. When I've tried findseq S.G, all the script find that motifs only for last fetched structure. How I could solve it? Thanks again, James 2012/1/13 Jason Vertrees jason.vertr...@schrodinger.com James, First, there's a bug in the script. It's not dealing with selName correctly. To get around this just provide something to selName: findSeq S.G, 1a3h, selName=found_seq If findSeq finds the sequence, it'll return the selected atoms in found_seq. Next, SYG is not in that protein. If you search for S.G you find SNG. You can double check this by: fStr = cmd.get_fastastr(1a3h) print SYG in fStr which return false. Cheers, -- Jason On Fri, Jan 13, 2012 at 1:25 PM, James Starlight jmsstarli...@gmail.com wrote: Dear PyMol Users, I need to search defined sequence motifs in my structures. For that purpose I've used http://www.pymolwiki.org/index.php/FindSeq script but when I've try to use it I've got error PyMOLfindSeq SYG, 1a3h Error: selName was not a string. There was an error with a parameter. Please see the above error message for how to fix it. What I've done wrong? The seqyence Ser Tyr Gly is indeed present in my structure! By the way is there any others way to search for pre-defined sequence motifs via PyMol? Thanks for help, James -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 ___ 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 -- Jason Vertrees, PhD PyMOL Product Manager Schrodinger, LLC (e) jason.vertr...@schrodinger.com (o) +1 (603) 374-7120 -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 ___ 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 -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2___ 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] Problems with FindSeq.py script
Dear James. That is because there are different ways, how to get functions available in Python. Either you can import a script.py or you can execute it. If you execute the script. In Python, you would do: *execfile(script.py)* In PyMOL, a shortcut to this is: *run script.py OR execfile(script.py)* Then the functions in the script file will be directly available with the function names. functionname(inp1=A, inp2=B) If you import the script in Python/Pymol, it will be handled as a module. *import script* That means, that you have access to functions like this script.functionname(inp1=A, inp2=B) For small scripts, the name of the functions in the file is probably similar to the filename of the script. Thats why, you would see: findseq.findseq(inp1=A, inp2=B) Then comes the export feature in PyMOL. The line: cmd.extend(findseq, findseq ) That means, that PyMOL extends the function name findseq to be directly accessible in pymol. So the functions can be access directly. But you have still both options. import findseq findseq.findseq(inp1=A, inp2=B) findseq inp1=A, inp2=B Notice, that the extend make it possible to call the function directly, and making input with spaces. This is a little more human readable. But a problem occurs, if you want to parse a variable to the extended method. Say you write. import propka fetch 4ins, async=0 proteinname=4ins (Your variable) propka proteinname (will not work) propka 4ins(will work) propka.propka(proteinname) (will work) I hope this clarify a little. Read more about namespaces here: http://www.pymolwiki.org/index.php/Running_Scripts http://docs.python.org/tutorial/modules.html Best Troels 2012/1/16 James Starlight jmsstarli...@gmail.com Troels, Commonly I run pymol scripts by means of run script.py or @ script.py from PyMol shell! then I use script_command ( e.g findSeq ) and further script syntax for my tasks e.g findSeq s.g 1f88 works perfect but the above command for the ensemmble of pdbs give me error. James 2012/1/16 Troels Emtekær Linnet tlin...@gmail.com It depends on, if you run or import the script. The namespace will be different. What do you do? This is no error. This is basic Python knowledge. Troels Emtekær Linnet Slotsvej 2 4300 Holbæk Mobil: +45 60210234 2012/1/16 James Starlight jmsstarli...@gmail.com Hi Troels! I've tried to use for x in cmd.get_names(): findSeq.findSeq(QTG, x, sele_+x, firstOnly=1) but I obtained error NameError: name 'findSeq' is not defined At the same time just findSeq QTG, 3sn6 wokrs perfect 2012/1/14 Troels Emtekær Linnet tlin...@gmail.com Hi James. I moved the script under the git repository yesterday, and took care of the bug. The script look a little different now. So try the new one again from: http://www.pymolwiki.org/index.php/findseqhttp://www.pymolwiki.org/index.php/Findseq The follow the guide on the page. # Find the regular expression:# ..H[TA]LVWH# in the few proteins loaded.# I then showed them as sticks and colored them to highlight matched AAsfor x in cmd.get_names(): findseq.findseq(..H[TA]LVWH, x, sele_+x, firstOnly=1) 2012/1/14 James Starlight jmsstarli...@gmail.com Jason, hello! Also I've found possible fix for that bug by lpacing this line in the 47 line of the script if type(selName)!=(types.StringType) and type(selName)!=(types.NoneType): By the way I've found another bug when I've tried to find the same motifs in the several homolugues structures. E.g I have 5 structures wich all have motiv S.G where . is the random amino acid. When I've tried findseq S.G, all the script find that motifs only for last fetched structure. How I could solve it? Thanks again, James 2012/1/13 Jason Vertrees jason.vertr...@schrodinger.com James, First, there's a bug in the script. It's not dealing with selName correctly. To get around this just provide something to selName: findSeq S.G, 1a3h, selName=found_seq If findSeq finds the sequence, it'll return the selected atoms in found_seq. Next, SYG is not in that protein. If you search for S.G you find SNG. You can double check this by: fStr = cmd.get_fastastr(1a3h) print SYG in fStr which return false. Cheers, -- Jason On Fri, Jan 13, 2012 at 1:25 PM, James Starlight jmsstarli...@gmail.com wrote: Dear PyMol Users, I need to search defined sequence motifs in my structures. For that purpose I've used http://www.pymolwiki.org/index.php/FindSeq script but when I've try to use it I've got error PyMOLfindSeq SYG, 1a3h Error: selName was not a string. There was an error with a parameter. Please see the above error message for how to fix it. What I've done wrong? The seqyence Ser Tyr Gly is indeed present in my structure! By the way is there any others way to search for pre-defined sequence motifs via PyMol? Thanks for help, James
Re: [PyMOL] Problems with FindSeq.py script
Troels, thanks again for so detailed explanation Firstly I've tried to use IMPORT SCRIPT and all of the above commands works now :) Now I'd like to understand the main sytnax of the findseq script in more detailes. E.g I have the set of homologues protein from wich I'd like to find triplet motifs wich consist of Ser or Thr in the first place Tyr or His or Trp in the second Gly in the third place For that purpose I've used the below command for x in cmd.get_names(): findseq.findseq([ST][YHW]G, x, supertest_+x, firstOnly=0) As the result only ONE motiv ( commonly Thr-Tyr-Gly ) was found in each of my proteins bu as I know that set contains more than this combination of the choosen amino acids ( e.g motifs Ser-Tyr-Gly or Thr-Trp-Gly ) also present in my dataset. Where I've done mistake? Finally what is the 'firstOnly=0' and where I can obtain information about syntax of regular expressins used in PyMol? Thanks again James 2012/1/16 Troels Emtekær Linnet tlin...@gmail.com Dear James. That is because there are different ways, how to get functions available in Python. Either you can import a script.py or you can execute it. If you execute the script. In Python, you would do: *execfile(script.py)* In PyMOL, a shortcut to this is: *run script.py OR execfile(script.py)* Then the functions in the script file will be directly available with the function names. functionname(inp1=A, inp2=B) If you import the script in Python/Pymol, it will be handled as a module. *import script* That means, that you have access to functions like this script.functionname(inp1=A, inp2=B) For small scripts, the name of the functions in the file is probably similar to the filename of the script. Thats why, you would see: findseq.findseq(inp1=A, inp2=B) Then comes the export feature in PyMOL. The line: cmd.extend(findseq, findseq ) That means, that PyMOL extends the function name findseq to be directly accessible in pymol. So the functions can be access directly. But you have still both options. import findseq findseq.findseq(inp1=A, inp2=B) findseq inp1=A, inp2=B Notice, that the extend make it possible to call the function directly, and making input with spaces. This is a little more human readable. But a problem occurs, if you want to parse a variable to the extended method. Say you write. import propka fetch 4ins, async=0 proteinname=4ins (Your variable) propka proteinname (will not work) propka 4ins(will work) propka.propka(proteinname) (will work) I hope this clarify a little. Read more about namespaces here: http://www.pymolwiki.org/index.php/Running_Scripts http://docs.python.org/tutorial/modules.html Best Troels 2012/1/16 James Starlight jmsstarli...@gmail.com Troels, Commonly I run pymol scripts by means of run script.py or @ script.py from PyMol shell! then I use script_command ( e.g findSeq ) and further script syntax for my tasks e.g findSeq s.g 1f88 works perfect but the above command for the ensemmble of pdbs give me error. James 2012/1/16 Troels Emtekær Linnet tlin...@gmail.com It depends on, if you run or import the script. The namespace will be different. What do you do? This is no error. This is basic Python knowledge. Troels Emtekær Linnet Slotsvej 2 4300 Holbæk Mobil: +45 60210234 2012/1/16 James Starlight jmsstarli...@gmail.com Hi Troels! I've tried to use for x in cmd.get_names(): findSeq.findSeq(QTG, x, sele_+x, firstOnly=1) but I obtained error NameError: name 'findSeq' is not defined At the same time just findSeq QTG, 3sn6 wokrs perfect 2012/1/14 Troels Emtekær Linnet tlin...@gmail.com Hi James. I moved the script under the git repository yesterday, and took care of the bug. The script look a little different now. So try the new one again from: http://www.pymolwiki.org/index.php/findseqhttp://www.pymolwiki.org/index.php/Findseq The follow the guide on the page. # Find the regular expression:# ..H[TA]LVWH# in the few proteins loaded.# I then showed them as sticks and colored them to highlight matched AAsfor x in cmd.get_names(): findseq.findseq(..H[TA]LVWH, x, sele_+x, firstOnly=1) 2012/1/14 James Starlight jmsstarli...@gmail.com Jason, hello! Also I've found possible fix for that bug by lpacing this line in the 47 line of the script if type(selName)!=(types.StringType) and type(selName)!=(types.NoneType): By the way I've found another bug when I've tried to find the same motifs in the several homolugues structures. E.g I have 5 structures wich all have motiv S.G where . is the random amino acid. When I've tried findseq S.G, all the script find that motifs only for last fetched structure. How I could solve it? Thanks again, James 2012/1/13 Jason Vertrees jason.vertr...@schrodinger.com James, First, there's a bug in the script. It's not dealing with selName correctly. To get around this just provide
Re: [PyMOL] Problems with FindSeq.py script
Hi James. I moved the script under the git repository yesterday, and took care of the bug. The script look a little different now. So try the new one again from: http://www.pymolwiki.org/index.php/findseqhttp://www.pymolwiki.org/index.php/Findseq The follow the guide on the page. # Find the regular expression:# ..H[TA]LVWH# in the few proteins loaded.# I then showed them as sticks and colored them to highlight matched AAsfor x in cmd.get_names(): findseq.findseq(..H[TA]LVWH, x, sele_+x, firstOnly=1) 2012/1/14 James Starlight jmsstarli...@gmail.com Jason, hello! Also I've found possible fix for that bug by lpacing this line in the 47 line of the script if type(selName)!=(types.StringType) and type(selName)!=(types.NoneType): By the way I've found another bug when I've tried to find the same motifs in the several homolugues structures. E.g I have 5 structures wich all have motiv S.G where . is the random amino acid. When I've tried findseq S.G, all the script find that motifs only for last fetched structure. How I could solve it? Thanks again, James 2012/1/13 Jason Vertrees jason.vertr...@schrodinger.com James, First, there's a bug in the script. It's not dealing with selName correctly. To get around this just provide something to selName: findSeq S.G, 1a3h, selName=found_seq If findSeq finds the sequence, it'll return the selected atoms in found_seq. Next, SYG is not in that protein. If you search for S.G you find SNG. You can double check this by: fStr = cmd.get_fastastr(1a3h) print SYG in fStr which return false. Cheers, -- Jason On Fri, Jan 13, 2012 at 1:25 PM, James Starlight jmsstarli...@gmail.com wrote: Dear PyMol Users, I need to search defined sequence motifs in my structures. For that purpose I've used http://www.pymolwiki.org/index.php/FindSeq script but when I've try to use it I've got error PyMOLfindSeq SYG, 1a3h Error: selName was not a string. There was an error with a parameter. Please see the above error message for how to fix it. What I've done wrong? The seqyence Ser Tyr Gly is indeed present in my structure! By the way is there any others way to search for pre-defined sequence motifs via PyMol? Thanks for help, James -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 ___ 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 -- Jason Vertrees, PhD PyMOL Product Manager Schrodinger, LLC (e) jason.vertr...@schrodinger.com (o) +1 (603) 374-7120 -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 ___ 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 -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2___ 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
[PyMOL] Problems with FindSeq.py script
Dear PyMol Users, I need to search defined sequence motifs in my structures. For that purpose I've used http://www.pymolwiki.org/index.php/FindSeq script but when I've try to use it I've got error PyMOLfindSeq SYG, 1a3h Error: selName was not a string. There was an error with a parameter. Please see the above error message for how to fix it. What I've done wrong? The seqyence Ser Tyr Gly is indeed present in my structure! By the way is there any others way to search for pre-defined sequence motifs via PyMol? Thanks for help, James -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2___ 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] Problems with FindSeq.py script
James, First, there's a bug in the script. It's not dealing with selName correctly. To get around this just provide something to selName: findSeq S.G, 1a3h, selName=found_seq If findSeq finds the sequence, it'll return the selected atoms in found_seq. Next, SYG is not in that protein. If you search for S.G you find SNG. You can double check this by: fStr = cmd.get_fastastr(1a3h) print SYG in fStr which return false. Cheers, -- Jason On Fri, Jan 13, 2012 at 1:25 PM, James Starlight jmsstarli...@gmail.com wrote: Dear PyMol Users, I need to search defined sequence motifs in my structures. For that purpose I've used http://www.pymolwiki.org/index.php/FindSeq script but when I've try to use it I've got error PyMOLfindSeq SYG, 1a3h Error: selName was not a string. There was an error with a parameter. Please see the above error message for how to fix it. What I've done wrong? The seqyence Ser Tyr Gly is indeed present in my structure! By the way is there any others way to search for pre-defined sequence motifs via PyMol? Thanks for help, James -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 ___ 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 -- Jason Vertrees, PhD PyMOL Product Manager Schrodinger, LLC (e) jason.vertr...@schrodinger.com (o) +1 (603) 374-7120 -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 ___ 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] Problems with FindSeq.py script
Jason, hello! Also I've found possible fix for that bug by lpacing this line in the 47 line of the script if type(selName)!=(types.StringType) and type(selName)!=(types.NoneType): By the way I've found another bug when I've tried to find the same motifs in the several homolugues structures. E.g I have 5 structures wich all have motiv S.G where . is the random amino acid. When I've tried findseq S.G, all the script find that motifs only for last fetched structure. How I could solve it? Thanks again, James 2012/1/13 Jason Vertrees jason.vertr...@schrodinger.com James, First, there's a bug in the script. It's not dealing with selName correctly. To get around this just provide something to selName: findSeq S.G, 1a3h, selName=found_seq If findSeq finds the sequence, it'll return the selected atoms in found_seq. Next, SYG is not in that protein. If you search for S.G you find SNG. You can double check this by: fStr = cmd.get_fastastr(1a3h) print SYG in fStr which return false. Cheers, -- Jason On Fri, Jan 13, 2012 at 1:25 PM, James Starlight jmsstarli...@gmail.com wrote: Dear PyMol Users, I need to search defined sequence motifs in my structures. For that purpose I've used http://www.pymolwiki.org/index.php/FindSeq script but when I've try to use it I've got error PyMOLfindSeq SYG, 1a3h Error: selName was not a string. There was an error with a parameter. Please see the above error message for how to fix it. What I've done wrong? The seqyence Ser Tyr Gly is indeed present in my structure! By the way is there any others way to search for pre-defined sequence motifs via PyMol? Thanks for help, James -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 ___ 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 -- Jason Vertrees, PhD PyMOL Product Manager Schrodinger, LLC (e) jason.vertr...@schrodinger.com (o) +1 (603) 374-7120 -- RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2___ 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