Exemplo n.º 1
0
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"
Exemplo n.º 2
0
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"