def main(): parser=argparse.ArgumentParser() parser.add_argument('-path', action='store', required=True, dest='pathfile', help='pathfile is a textfile of name of pdb') inputs=parser.parse_args() pathfile=inputs.pathfile file_pathfile=open(pathfile) loop=0 complexddg=[] for line in file_pathfile: # caculate the value of ddg before mutation line=line.strip('\n') print "caulate of %s ddg" % line #removeantibody1(line,loop) os.system('./removebody.sh '+line+' '+str(loop)) removeTER(line) os.system('./interface.sh '+line) dirname=os.getcwd() dirname+='/interface_analyzer/'+line+'.sc' theline=linecache.getline(dirname,3) theline=theline.strip('\n') thelinesplit=theline.split(' ',1000) for i in thelinesplit: if i=='': thelinesplit.remove(i) dirname=os.getcwd()+'/interface_analyzer/'+line.split('.')[0]+'_sc.txt' f_file=open(dirname,'w') f_file.write(line+':'+thelinesplit[5]+'\n') complexddg.append(thelinesplit[5]) f_file.close() loop+=1 file_pathfile.close() loop=0 file_pathfile=open(pathfile) for line in file_pathfile: line=line.strip('\n') pdbfileselect=line.split('.') #removeantibody1(line) pdbantigenfile=pdbfileselect[0]+'_antigen.pdb' caculateasa(line,0) caculateasa(pdbantigenfile,1) file1=caculatecomplexandantigen(line,pdbantigenfile) shutil.move('./interface_analyzer/pdbdata/'+pdbantigenfile,'./interface_analyzer/pdbdata/file/'+pdbantigenfile) print "*************the asa caculation have done****************" file2=caculatedistance(line) print "*******the distance of 4.0 caculation have done*********" mutatelistfile=getmutatelist(file2,file1,line) print"*************************%sbegin mutate************" % line f_mutate=open(mutatelistfile) for linemutate in f_mutate: linemutate=linemutate.strip('\n') linemutatesplit=linemutate.split(':') print "mutate chain %s %s" % (linemutatesplit[0],linemutatesplit[1]) beginmutate(pdbfileselect[0],linemutatesplit[1],linemutatesplit[0]) aftermutatefile=pdbfileselect[0]+'ALA'+linemutatesplit[0]+linemutatesplit[1]+'.pdb' caculatemethod1(aftermutatefile,line,complexddg[loop]) shutil.move('./interface_analyzer/pdbdata/'+aftermutatefile,'./interface_analyzer/pdbdata/file/'+aftermutatefile) f_mutate.close() loop+=1 file_pathfile.close() print "the program caculate over"
def main(): parser=argparse.ArgumentParser() parser.add_argument('-path', action='store', required=True, dest='pathfile', help='pathfile is a textfile of name of pdb') #parser.add_argument('-c1', action='store', required=True, dest='chain_a', # help='pathfile is a textfile of name of pdb') #parser.add_argument('-c2', action='store', required=True, dest='chain_b', #help='pathfile is a textfile of name of pdb') inputs=parser.parse_args() pathfile=inputs.pathfile file_pathfile=open(pathfile) loop=0 complexddg=[] scorecomplex=[] for line1 in file_pathfile: # caculate the value of ddg before mutation line1=line1.strip('\n') fixedchains='' line=line1.split(':',2) os.system('./removefile.sh '+line[0].split('.')[0]) print "caulate of %s ddg" % line[0] #removeantibody1(line,loop) os.system('./removebody.sh '+line[0]+' '+str(loop)+' '+line[1]+' '+line[2]) removeTER(line[0]) if '+' in line[2]: line3=line[2].split('+',100) #fixedchains=' -fixedchains ' for i in xrange(len(line3)): fixedchains=fixedchains+line3[i]+':' print'%s'%fixedchains os.system('./interface1.sh '+line[0]+' '+fixedchains) else: os.system('./interface.sh '+line[0]) os.system('./score.sh '+line[0]) dirname=os.getcwd() dirname+='/interface_analyzer/'+line[0]+'.sc' theline=linecache.getline(dirname,3) theline=theline.strip('\n') thelinesplit=theline.split(' ',1000) for i in thelinesplit: if i=='': thelinesplit.remove(i) dirname+='ore' theline=linecache.getline(dirname,2) theline=theline.strip('\n') thelinesplit1=theline.split(' ') for i in thelinesplit1: if i=='': thelinesplit1.remove(i) dirname=os.getcwd()+'/interface_analyzer/'+line[0].split('.')[0]+'_sc.txt' f_file=open(dirname,'w') f_file.write(line[0]+':'+thelinesplit[5]+':'+thelinesplit1[1]+'\n') complexddg.append(thelinesplit[5]) scorecomplex.append(thelinesplit1[1]) f_file.close() loop+=1 file_pathfile.close() loop=0 file_pathfile=open(pathfile) for line1 in file_pathfile: line1=line1.strip('\n') line=line1.split(':',2) pdbfileselect=line[0].split('.') #removeantibody1(line) pdbantigenfile=pdbfileselect[0]+'_antigen.pdb' caculateasa(line[0],0) caculateasa(pdbantigenfile,1) file1=caculatecomplexandantigen(line[0],pdbantigenfile) shutil.move('./interface_analyzer/pdbdata/'+pdbantigenfile,'./interface_analyzer/pdbdata/file/'+pdbantigenfile) print "*************the asa caculation have done****************" file2=caculatedistance(line[0],line[1],line[2]) print "*******the distance of 4.0 caculation have done*********" mutatelistfile=getmutatelist(file2,file1,line[0]) print"*************************%sbegin mutate************" % line f_mutate=open(mutatelistfile) for linemutate in f_mutate: linemutate=linemutate.strip('\n') linemutatesplit=linemutate.split(':') print "mutate chain %s %s" % (linemutatesplit[0],linemutatesplit[1]) beginmutate(pdbfileselect[0],linemutatesplit[1],linemutatesplit[0]) aftermutatefile=pdbfileselect[0]+'ALA'+linemutatesplit[0]+linemutatesplit[1] #print "begin idealstructure" #os.system('./ideal.sh '+aftermutatefile) #print "structure is get ideal" aftermutatefile1=pdbfileselect[0]+'ALA'+linemutatesplit[0]+linemutatesplit[1]+'.pdb' caculatemethod1(aftermutatefile1,line[0],line[2],complexddg[loop],scorecomplex[loop]) shutil.move('./interface_analyzer/pdbdata/'+aftermutatefile1,'./interface_analyzer/pdbdata/file/'+aftermutatefile1) f_mutate.close() loop+=1 file_pathfile.close() print "the program caculate over"