On Mon, Dec 13, 2010 at 7:34 PM, Cun Zhang <apzc2...@gmail.com> wrote:

> Get it. Thank you!
>
> Cheers,
>
> Cun Zhang
>
>
> On Mon, Dec 13, 2010 at 7:17 PM, Tsjerk Wassenaar <tsje...@gmail.com>wrote:
>
>> Hi Cun Zhang,
>>
>> The problem there is in turning the list of IDs into a selection. In
>> version 1.2 there's a command listed as 'in development'
>> (cmd.select_list), that seems to help out:
>>
>> ids = cselect('all',lambda (x,y,z): True)
>> cmd.select_list('test',"->object_name<-",ids)
>> show sticks, test
>>
>> Do mind to fill in the proper object name in cmd.select_list. It takes
>> a list of IDs specific to the object given and turns that in to a
>> selection object.
>>
>> Maybe Jason can comment on the status of the cmd.select_list or
>> suggest an alternative route to create selections from ChemPy models?
>>
>> Cheers,
>>
>> Tsjerk
>>
>> On Mon, Dec 13, 2010 at 11:50 AM, Cun Zhang <apzc2...@gmail.com> wrote:
>> > Tsjerk, 你好 (ni hao)
>> > Thank you for your reply. Nice work! So cute codes. I like it.
>> >
>> > But when the selection by "id %s"%",".join([str(i) for i in ids]) too
>> long,
>> > it returns "Segmentation fault" error,and quit. Is it a bug?
>> >
>> > I use pymol 1.2r2 under Debian Sid.
>> >
>> > The error it returns:
>> >
>> > PyMOL>run mathexpr.py
>> > Selector-Error: Word too long. Truncated:
>> > Selector-Error: 17,19,.....(long list,about 400 numbers)
>> > Segmentation fault
>> >
>> >
>> > On Mon, Dec 13, 2010 at 6:00 PM, Tsjerk Wassenaar <tsje...@gmail.com>
>> wrote:
>> >>
>> >> Ni Hao Cun Zhang
>> >>
>> >> The real 'problem' is that Pymol does not allow selection based on
>> >> coordinates. Probably this should be on the wish list (and easy to
>> >> implement). Expressions are allowed, for instance selecting based on
>> >> b-factor or occupancy.
>> >>
>> >> In your script, you can use some shortcuts. Maybe something like:
>> >>
>> >> def cselect(selection="all",expression=lambda (x,y,z): True):
>> >>    return [i.id for i in cmd.get_model(selection).atom if
>> >> expression(i.coord)]
>> >>
>> >> The expression can be a predefined function, or a lambda function,
>> >> like here. You could then say:
>> >>
>> >> ids = cselect("n. ca",lambda (x,y,z): x<10 and y>5)
>> >> cmd.show("spheres","id %s"%",".join([str(i) for i in ids]))
>> >>
>> >> Hope it helps :)
>> >>
>> >> Cheers,
>> >>
>> >> Tsjerk
>> >>
>> >>
>> >>
>> >> On Mon, Dec 13, 2010 at 9:44 AM, Cun Zhang <apzc2...@gmail.com> wrote:
>> >> > Hi,all
>> >> >
>> >> > I haven't found any pymol script supports using math expression to
>> >> > select
>> >> > atoms,
>> >> > so I spend several hours to write one function to do it.
>> >> >
>> >> > I write a script(mathexpr.py) containing this function, then run
>> >> > mathexpr.py,
>> >> > function 'Select' now can be called. Can anybody tell me how to
>> combine
>> >> > this
>> >> > function into pymol,
>> >> > or 'select' command,  so it can be called like 'select x>5'.
>> >> > Hope it useful for you.
>> >> >
>> >> > Thank you!
>> >> >
>> >> > Yours,
>> >> > Cun Zhang
>> >> >
>> >> >
>> >> > def Select(expr='x>5',sel='all'):
>> >> >    """
>> >> >   A function which supports selection by math expressions.
>> >> >    example:
>> >> >          x=Select('x>5 and y<2','name C')
>> >> >    """
>> >> >     ATOMS=cmd.get_model(sel)
>> >> >     vec,index=ATOMS.get_coord_list(),cmd.identify(sel)
>> >> >     command='[index[vec.index([x,y,z])] for x,y,z in vec if
>> '+expr+']'
>> >> >     ID=eval(command) #list type
>> >> >     return ID
>> >> >
>> >> > --
>> >> > ========================================
>> >> > Cun Zhang
>> >> > Ph.D. Candidate
>> >> > LNM,Institute of Mechanics
>> >> > Chinese Academy of Sciences
>> >> > Beijing, 100190, China
>> >> > Tel:86-10-82544204
>> >> > http://www.edwardpku.com/cun
>> >> > ========================================
>> >> >
>> >> >
>> >> >
>> ------------------------------------------------------------------------------
>> >> > Oracle to DB2 Conversion Guide: Learn learn about native support for
>> >> > PL/SQL,
>> >> > new data types, scalar functions, improved concurrency, built-in
>> >> > packages,
>> >> > OCI, SQL*Plus, data movement tools, best practices and more.
>> >> > http://p.sf.net/sfu/oracle-sfdev2dev
>> >> > _______________________________________________
>> >> > 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
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Tsjerk A. Wassenaar, Ph.D.
>> >>
>> >> post-doctoral researcher
>> >> Molecular Dynamics Group
>> >> * Groningen Institute for Biomolecular Research and Biotechnology
>> >> * Zernike Institute for Advanced Materials
>> >> University of Groningen
>> >> The Netherlands
>> >
>> >
>> >
>> > --
>> > ========================================
>> > Cun Zhang
>> > Ph.D. Candidate
>> > LNM,Institute of Mechanics
>> > Chinese Academy of Sciences
>> > Beijing, 100190, China
>> > Tel:86-10-82544204
>> > http://www.edwardpku.com/cun
>> > ========================================
>> >
>>
>>
>>
>> --
>> Tsjerk A. Wassenaar, Ph.D.
>>
>> post-doctoral researcher
>> Molecular Dynamics Group
>> * Groningen Institute for Biomolecular Research and Biotechnology
>> * Zernike Institute for Advanced Materials
>> University of Groningen
>> The Netherlands
>>
>
>
>
> --
> ========================================
> Cun Zhang
> Ph.D. Candidate
> LNM,Institute of Mechanics
> Chinese Academy of Sciences
> Beijing, 100190, China
> Tel:86-10-82544204
> http://www.edwardpku.com/cun
> ========================================
>



-- 
========================================
Cun Zhang
Ph.D. Candidate
LNM,Institute of Mechanics
Chinese Academy of Sciences
Beijing, 100190, China
Tel:86-10-82544204
http://www.edwardpku.com/cun
========================================
------------------------------------------------------------------------------
Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL,
new data types, scalar functions, improved concurrency, built-in packages, 
OCI, SQL*Plus, data movement tools, best practices and more.
http://p.sf.net/sfu/oracle-sfdev2dev 
_______________________________________________
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