Talk:ListSelection2
Jump to navigation
Jump to search
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)