From: Anasuya D. <an...@mb...> - 2012-05-01 08:39:47
|
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. |