zoukankan      html  css  js  c++  java
  • 蛋白添加ACE,NME

    #python3
    #ruichaomao,2022.1.4,处理经过tleap加氢的蛋白体系,为第二次tleap增加ACE+NME做准备
    pro_list = ['ALA','ARG','ASN','ASP','GLN','GLU','GLY','HIE','HID','HIP','ILE','LEU','LYS','MET','PHE','PRO','SER','THR','TRP','TYR','VAL','CYS']
    lines = open('WT+h.pdb','r').readlines()
    #first_num = 0
    new_lines = []
    len_files = len(lines)
    #for i in range(0,len_files):
    i = 0
    while i < len_files:
        print (i)
        if lines[i].startswith('TER') or i==0:
            try:
                lines[i+3]
            except:
                new_lines.append(lines[i])
                i+=1
            else:
                if lines[i+1].split()[3] in pro_list:
                    print (lines[i])
                    aa=lines[i+3].split()
                    aa[2]='C '
                    aa[3]='ACE'
                    newline = aa[0]+'{:>7}'.format(aa[1])+'{:>5}'.format(aa[2])+'{:>4}'.format(aa[3])+'{:>6}'.format(aa[4])+'{:>12}'.format(aa[5])+'{:>8}'.format(aa[6])+'{:>8}'.format(aa[7])+'{:>6}'.format(aa[8])+'{:>6}'.format(aa[9])+'\n'
                    if i == 0:
                        ace_trans=[newline,lines[i+1]]
                    else:
                        ace_trans=['TER\n',newline,lines[i+1]]
                    for s in ace_trans:
                        new_lines.append(s)
                    i = i+5
                else:
                    new_lines.append(lines[i])
                    i+=1
        elif lines[i].startswith('ATOM'):
            if lines[i].split()[2]=='OXT':
                aa = lines[i].split()
                aa[2] = 'N  '
                aa[3] = 'NME'
                newline = aa[0]+'{:>7}'.format(aa[1])+'{:>5}'.format(aa[2])+'{:>4}'.format(aa[3])+'{:>6}'.format(aa[4])+'{:>12}'.format(aa[5])+'{:>8}'.format(aa[6])+'{:>8}'.format(aa[7])+'{:>6}'.format(aa[8])+'{:>6}'.format(aa[9])+'\n'
                new_lines.append(newline)
                i+=1
            else:
                new_lines.append(lines[i])
                i+=1
        else:
            i+=1
    #print (new_lines)
    new_file = open('WT+h-acenme.pdb','w')
    for i in new_lines:
        print (type(i))
        new_file.write(i)
    new_file.close()

  • 相关阅读:
    前端页面适配的rem换算
    Win10远程桌面 出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法
    ES5, ES6, ES2016, ES.Next: What's going on with JavaScript versioning?
    国内的Android SDK镜像
    虚拟串口VSPD破解版 亲测win10 64可用
    Mybatis : "less than" issue in Select annotations
    如何在MyBatis中优雅的使用枚举
    Adding a custom jar as a maven dependency
    Error: Invalid or corrupt jarfile
    使用Json让Java和C#沟通的方法
  • 原文地址:https://www.cnblogs.com/jszd/p/15765028.html
Copyright © 2011-2022 走看看