Takanori, This is a very clever script -- well done! There are some pitfalls, but in general this should work well.
Cheers, -- Jason On Tue, Jan 31, 2012 at 6:01 PM, Takanori Nakane <t.nak...@mail.mfour.med.kyoto-u.ac.jp> wrote: > Hi Abhinav and Jason, > >> The underlying C-object for a measurement does not support >> iterate/alter. This is rather silly; PyMOL should be able to tell you >> what's in the object. > > As an ad-hoc hack, I wrote a Python script to access internal C-object > of distance representation and convert it to atom name. > > Save the script to somewhere and > > run script_name.py > list_dist > > will do the job. > > Takanori Nakane > > === Script start === > > from pymol import cmd > > def parseDistObj(obj): > if (obj[5][0][3][10] != 1): # 'show dashed' flag > return "" > points = obj[5][2][0][1] > ret = [] > for i in range(len(points) / 6): > ret.append([(points[i * 6], points[i * 6 + 1], points[i * 6 + 2]), > (points[i * 6 + 3], points[i * 6 + 4], points[i * 6 > + 5])]) > return ret > > def list_dist(): > names = cmd.get_session()['names'] > > dist_pairs = [] > for obj in names: > if (obj == None): > continue > if (obj[1] == 0 and obj[4] == 4): > dist_pairs += parseDistObj(obj) > > namespace = {'dict': {}, 'a': 1} > dict = {} > cmd.iterate_state(1, 'all', 'dict[x,y,z] = > chain+"/"+resn+resi+"/"+name' , space=namespace) > > dict = namespace['dict'] > for pair in dist_pairs: > print dict.get(pair[0], '?') + " - " + dict.get(pair[1], '?') > > cmd.extend('list_dist', list_dist) > > ------------------------------------------------------------------------------ > Keep Your Developer Skills Current with LearnDevNow! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-d2d > _______________________________________________ > 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 ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ 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