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/findseq<http://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
>>>>>> >
>>>>>> > PyMOL>findSeq 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
>
------------------------------------------------------------------------------
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

Reply via email to