Hi guys, I am trying to make a script to automatize a procedure. I have got a file where I can pick up the structure of protein-ligand complexes cluster The script below read the number of the cluster and then visualize them align with a protein reference. Everything is fine except I'd like write on a file the distances between some residues of each structure with the ligand but I cannot figure out how do it. I read different post but it seems that I missing something.
thanks a lot Regards, andrea ##### CUT HERE ##### from pymol import cmd import string, sys, os def read_cluster(number): cmd.reinitialize() cmd.load('/home/pippo/ref.pdb','ref') cmd.select('Refactive','resi 17+20+23+25+26+43+44 in ref') HoL = {} FileToOpen = 'Dist' + number DistOutput = open(FileToOpen,'w') DistOutput.write("ATOM_PROTEIN ATOM_LIGAND DISTANCE\n") out = open('cluster.out','r') pro_atoms = cmd.get_model("ref") # read cluster file for i in out.readlines(): i=string.strip(i) tmp = string.split(i," ") index, elems = tmp[1], tmp[3:len(tmp)] HoL[index] = elems # visualize the structures of cluster number for eachElem in HoL[number]: newElem = eachElem + '.pdb' cmd.load(newElem.strip(),eachElem) cmd.select('active','resi 17+20+23+25+26+43+44') cmd.select('lig','resn CBO') cmd.select('ligDon','(elem n,o and (neighbor hydro) in lig)') cmd.select('ligAcc','(elem o or (elem n and not (neighbor hydro)) in lig)') Don = cmd.select('don','(elem n,o and (neighbor hydro))') Acc = cmd.select('acc','(elem o or (elem n and not (neighbor hydro)))') # atoms_Don = cmd.index('don') # atoms_Acc = cmd.index('acc') HBA = cmd.distance('(lig and acc)','(active and don)',3.2) HBD = cmd.distance('(lig and don)','(active and acc)',3.2) cmd.align('ref',eachElem) DistOutput.write(" %14s %14s %8.3f\n"%(Don,Acc,HBA)) DistOutput.close() cmd.extend('read_cluster',read_cluster) ########## CUT HERE ################