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