Hi Anasuya, As you choose your zones just check for overlaps in selections. It might look something like this:
# good zones good_zones = set() # some sampler you choose, just returns an array of atom selections zones = get_zones() for x in range(len(zones)): for y in range(x+1,len(zones)): if cmd.count_atoms("%s and %s" % y, x) != 0: print "Msg: Ignoring zone %s as it overlaps with zone %s" % (y,z) else: good_zones.add(y) print "Good zones for this protein: " print good_zones Cheers, -- Jason P.S. I bet Tsjerk has a few cool ideas on this. On Tue, May 1, 2012 at 4:29 AM, Anasuya Dighe <anas...@mbu.iisc.ernet.in> wrote: > Hi, > I have around 18000 ligand-bound PDB's. I have as of now, extracted zones of > amino acid residues (say ZONE-1) which are within a radius of 4.5A from the > ligand, for each of the (18000) ligand-bound PDBs with me. > How do I now go about generating, similar RANDOM zones of amino acid residues > occurring over a radius 4.5A, across the protein structure, such that they > don't > overlap with each other and ALSO the original ZONE-1 corresponding to that > PDBID? > Lets say, for each of the 18000 PDBIDs that I have, I want to create 5 such > distinct 'dummy' zones of radius 4.5A, with the condition that they dont > overlap > with each other and also with my earlier ZONE1. > > In simpler terms: > (Original PDB ID)1abc.pdb, > (Zone1 corresponding to 1abc.pdb) 1abc_ZONE1.pdb, > (Five dummy zone1's extracted for the same pdb such that they are not > overlapping with my earlier Zone1 AND WITH EACH OTHER) 1abc_z1_dummy1.pdb, > 1abc_z1_dummy2.pdb, 1abc_z1_dummy3.pdb, 1abc_z1_dummy4.pdb, 1abc_z1_dummy5.pdb > > How do I modify this existing python script, so that I can generate these > dummy > zone1 pdb's? > { Given I have file_1.txt containing a list of PDBid's, LIgand name, its chain > ID and resi number. } > > from pymol import cmd > def process_line(x): > pdbid,res,chain,num = x.split() > cmd.load(pdbid) > cmd.select("zone1","byres all within 4.5 of (chain %s and resn %s and resi %s > and not resn HOH)"%(chain,res,num)) > cmd.save("%s-%s-%s-%s-zone1.pdb"%(pdbid,res,chain,num),"zone1") > cmd.delete(pdbid) > > def process_all(filename): > for line in open(filename): > process_line(line) > > process_all("file_1.txt") > > Thanks. > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > 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 Schrödinger, LLC (e) jason.vertr...@schrodinger.com (o) +1 (603) 374-7120 ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ 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