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

Reply via email to