• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > 数据预处理-PDB文件,数据预处理-pdb

数据预处理-PDB文件,数据预处理-pdb

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含数据预处理的手段,数据预处理,数据预处理方法,数据预处理步骤,modis数据预处理等服务器相关知识,网友希望可以进行参考

数据预处理-PDB文件,数据预处理-pdb


以下代码为个人原创,python实现,是处理PDB文件的部分常用代码,仅供参考!

1.下载PDB文件

下面是一个下载PDB文件的函数,传入的参数是一个写有pdb名字的namefile文件,函数的核心部分是三个系统命令,先通过wget下载,然后解压,最后替换名字。

def downloadpdb(namefile):
    inputfile = open(namefile, 'r')
    for eachline in inputfile:
        pdbname = eachline.lower().strip()
        os.system("wget http://ftp.wwpdb.org/pub/pdb/data/structures/all/pdb/pdb" + pdbname + ".ent.gz")
        os.system("gzip -d pdb" + pdbname + '.ent.gz')
        os.system("mv pdb" + pdbname + ".ent " + pdbname.upper() + '.pdb')

测试用例

os.chdir('/ifs/home/liudiwei/datasets/RPdatas')
downloadpdb('protein.name')

2.PDB转DSSP

将下载的PDB文件转成DSSP文件

# 处理一行dssp数据
def formatdsspline(dsspline):
    eachline  = dsspline
    col = '\t' + eachline[0:5]
    col += '\t' + eachline[5:10]
    col += '\t' + eachline[10:12]
    col += '\t' + eachline[12:15]
    col += '\t' + eachline[15:25]
    col += '\t' + eachline[25:39]
    col += '\t' + eachline[29:34]
    col += '\t' + eachline[34:38]
    col += '\t' + eachline[38:50]
    col += '\t' + eachline[50:61]
    col += '\t' + eachline[61:72]
    col += '\t' + eachline[72:83]
    col += '\t' + eachline[83:92]
    col += '\t' + eachline[92:97]
    col += '\t' + eachline[97:103]
    col += '\t' + eachline[103:109]
    col += '\t' + eachline[109:115]
    col += '\t' + eachline[115:122]
    col += '\t' + eachline[122:129]
    col += '\t' + eachline[129:136]
    return col

PDB转DSSP格式,需要DSSP软件

参数:

  • pdbdir: pdb文件目录

  • dsspdir: 生成的dssp文件目录(需创建)

def pdbToDSSP(pdbnamefile,pdbdir, dsspdir):    
    pdbfiles = os.listdir(pdbdir)
    #对于每个pdb文件,生成对应的dssp文件,并保存在dssp目录下
    for pdb_file in pdbfiles:
        pdb_name = pdb_file.split('.')[0].upper()
        command = 'DSSPCMBI.EXE -x ' + pdbdir +'/'+ pdb_file + '  '+ dsspdir +"/"+ pdb_name +'.dssp'
        os.system(command) 

    dsspfiles = os.listdir(dsspdir)

    if os.path.exists(dsspdir + "/DSSP"):      #判断DSSP文件是否存在,存在则删除
        dsspfiles.remove("DSSP")
    output=open(dsspdir + '/DSSP','w')
    #循环读取dssp文件,将其合并成一个整的DSSP
    with open(pdbnamefile, 'r') as namefile:
        for eachline in namefile:
            pdb_name = eachline.strip() 
            dssp_file = pdb_name + '.dssp'
        #for dssp_file in dsspfiles:
            #pdb_name = dssp_file.split('.')[0]
            with open(dsspdir + '/' + dssp_file,"r") as f:
                if not os.path.isdir(dsspdir + '/format'):
                    os.mkdir(dsspdir + '/format')
                with open(dsspdir + '/format/' + pdb_name + '.dssp.format','w') as singleOut:
                    count = 0; preRes=[]
                    sets = set('');content=''   
                    for eachline in f.readlines():
                        list1=[];oneline=[]
                        count+=1
                        list1.append(pdb_name)                             
                        if count >= 29:
                            eachline = formatdsspline(eachline)
                            oneline = e
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 数据预处理-PDB文件,数据预处理-pdb

相关文章

  • solr实战-(一),solr实战
  • 玩转OpenStack网络Neutron(3)--配置多种不同类型网络,openstackneutron
  • centos7 安装配置openstack-dashboard (官网openstack-juno版),centos7openstack
  • openstack-glance API 镜像管理的部分实现和例子,openstackglance
  • MemStore刷写线程—MemStoreFlusher源代码分析,hbasememstore
  • 学习札记:CISCO云计算,札记cisco云计算
  • Apache Pig的前世今生,apachepig前世今生
  • 现代数学的引路人,现代数学引路人
  • Spark jar包找不到解决方法,sparkjar
  • 微软小冰、小娜不久相会在中国,微软相会在中国

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 机器学习--k-近邻(kNN)算法案例,--k-knn
    • ElasticSearch的分布式安装
    • Hadoop常见重要命令行操作及命令作用,hadoop命令行命令
    • Neutron数据库同步错误 NotImplementedError: No support for ALTER of constraints in SQLite dialect,sqlitealtertable
    • spark资料下载,spark下载
    • 云主机跟VPS哪个比较好?哪个稳定安全?,主机vps
    • 一个spark receiver 或多个spark receiver 接收 多个flume agent,receiverflume
    • CDH集群集成kafka,cdh集群kafka
    • HDFS命令行接口详解,hdfs命令行详解
    • The server has either erred or is incapable of performing the requested operation. (HTTP 500),erredincapable

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有