Thank you, it was really what I asked!


Em seg, 5 de ago de 2019 15:50, Christian "Cole" French <
christian.fre...@schrodinger.com> escreveu:

> select_with_filter allows you to make a selection as you would with the
> select command, so it supports all selection algebra including byres,
> chain, organic, etc. Here's a modified example from the wiki:
>
> # Select all residues within 5 Ang. of any organic small molecules whose
> x-coordinate is at least 50
> select_with_filter sele, br. all within 5 of (organic and flag 8), lambda
> s: cmd.get_extent(s)[0][0] >= 50
>
> Best,
> Cole
>
> On Mon, Aug 5, 2019 at 1:06 PM Pedro Lacerda <pslace...@gmail.com> wrote:
>
>> Yes, one more question.
>>
>> How to use all other "functions", like byres, "chain A" or "organic"?
>>
>> Em seg, 5 de ago de 2019 12:36, Christian "Cole" French <
>> christian.fre...@schrodinger.com> escreveu:
>>
>>> I see now. I updated the code at the link in my previous email to
>>> provide behavior which should allow you to do what you want. Here are your
>>> examples written using the command:
>>>
>>> select_with_filter sele, flag 8, lambda s: len(cmd.get_chains(s)) < 2
>>> select_with_filter sele, flag 8, lambda s: cmd.get_fastastr(s) < 2
>>> select_with_filter sele, flag 8 and chain A, lambda s: peplength(s) < 15
>>>
>>> If you want to write and use your own multi-line function, you can write
>>> a script and cmd.extend('your_function', your_function), then use
>>> your_function in select_with_filter.
>>>
>>> Please let me know if you have any further questions.
>>>
>>> Best,
>>> Cole
>>>
>>> On Mon, Aug 5, 2019 at 8:30 AM Pedro Lacerda <pslace...@gmail.com>
>>> wrote:
>>>
>>>> I expressed myself wrong, I'm looking something like:
>>>>
>>>>    select peplength < 15 and chain A
>>>>
>>>> Where peplength is an user defined function like:
>>>>
>>>> def peplength(atom):
>>>>     return compute_peplength(atom)
>>>>
>>>> I'm looking for the availability of user defined functions on selection
>>>> expressions. How to?
>>>>
>>>> Em sex, 2 de ago de 2019 às 15:44, Christian "Cole" French <
>>>> christian.fre...@schrodinger.com> escreveu:
>>>>
>>>>> Edit: remove the cmd. part when running select_with_filter. (Since
>>>>> it's a custom command, it doesn't belong to the cmd module.)
>>>>>
>>>>> On Fri, Aug 2, 2019 at 2:41 PM Christian "Cole" French <
>>>>> christian.fre...@schrodinger.com> wrote:
>>>>>
>>>>>> Hi Pedro Lacerda,
>>>>>>
>>>>>> Here is a link to a script I wrote which adds a command which does
>>>>>> what you ask:
>>>>>> https://gist.github.com/ColeFrench/6f68fa5f04a67bb6234f10c25debb865.
>>>>>> To use it, download the file to the directory where you run PyMOL from,
>>>>>> then open PyMOL and run run select_with_filter.py.
>>>>>>
>>>>>> For your examples, the commands would be 
>>>>>> cmd.select_with_filter(predicate=lambda
>>>>>> s: len(cmd.get_chains(s)) < 2) and 
>>>>>> cmd.select_with_filter(predicate=lambda
>>>>>> s: cmd.get_fastastr(s) < 2).
>>>>>>
>>>>>> Commands which can be simply run are a convenience which allows you
>>>>>> to type less (e.g., select chain A instead of cmd.select('chain A')).
>>>>>> Some commands require different arguments and can only be run the longer
>>>>>> way, such as the one I wrote which takes a function as an argument.
>>>>>>
>>>>>> Hope this helps,
>>>>>> Cole
>>>>>>
>>>>>> On Fri, Aug 2, 2019 at 11:45 AM Pedro Lacerda <pslace...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi PyMOL users,
>>>>>>>
>>>>>>> It there any way to enhance the selecion algebra with functions? For
>>>>>>> instance:
>>>>>>>
>>>>>>> select len(get_chains(*)) < 2
>>>>>>>>
>>>>>>>
>>>>>>> Or even:
>>>>>>>
>>>>>>> select cmd.get_fastastr(*) < 2
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> By the way, why some commands we can simply run (like get_chains)
>>>>>>> and others are different (like cmd.get_fastastr())?
>>>>>>>
>>>>>>> --
>>>>>>> Pedro Sousa Lacerda
>>>>>>>
>>>>>>>
>>>>>>> *Laboratório de Bioinformática e Modelagem Molecular*
>>>>>>> *Faculdade de Farmácia / UFBA*
>>>>>>>
>>>>>>> *@pslacerda*
>>>>>>>
>>>>>>> *+55 71 9 9981-1856*
>>>>>>> _______________________________________________
>>>>>>> PyMOL-users mailing list
>>>>>>> Archives:
>>>>>>> http://www.mail-archive.com/pymol-users@lists.sourceforge.net
>>>>>>> Unsubscribe:
>>>>>>> https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe
>>>>>>
>>>>>>
>>>>
>>>> --
>>>> Pedro Sousa Lacerda
>>>>
>>>>
>>>> *Laboratório de Bioinformática e Modelagem Molecular*
>>>> *Faculdade de Farmácia / UFBA*
>>>>
>>>> *@pslacerda*
>>>>
>>>> *+55 71 9 9981-1856*
>>>>
>>> _______________________________________________
>> PyMOL-users mailing list
>> Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
>> Unsubscribe:
>> https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe
>
>
_______________________________________________
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Reply via email to