Talk:ListSelection2
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
I modified this script so it runs with python3 and it also works when your selection only contains one residue.
I did not test it extensively, so I paste it here insted of modifying the original one
from pymol import cmd, stored def listselection (selection, output="S", HOH="Y"): """ usage: listselection selection, [output=N/S/P, [HOH=Y/N ]] More information at: PymolWiki: http://http://pymolwiki.org/index.php/ListSelection2 AUTHOR: Pietro Gatti-Lafranconi, 2013 Please inform me if you use/improve/like/dislike/publish with this script. CC BY-NC-SA """ printedselection="" extra="" counter=0 sel=selection objs=cmd.get_object_list(sel) if HOH=="N": sel=selection+" and not resn HOH" extra=", without HOH" for a in range(len(objs)): m1=cmd.get_model(sel+" and "+objs[a]) printedselection+="%s/%s/%s/%s\n" % (objs[a], m1.atom[0].chain, m1.atom[0].resn, m1.atom[0].resi) counter+=1 for x in range(1,len(m1.atom),1): if m1.atom[x-1].resi!=m1.atom[x].resi: printedselection+="%s/%s/%s/%s\n" % (objs[a], m1.atom[x].chain, m1.atom[x].resn, m1.atom[x].resi) counter+=1 print("Residues in '%s%s': %s" % (selection, extra, counter)) if output=="S": print(printedselection) if output=="P": f=open('listselection_'+selection+'.txt','w') f.write("Residues in '%s%s': %s\n" % (selection, extra, counter)) f.write(printedselection) f.close() print("Results saved in listselection_%s.txt" % selection) cmd.extend('listselection',listselection)