#python#生物信息学 提取文本某列信息 #提取氨基酸序列并且提取氨基酸结构序列与之对应
我们有一下文本:dssp1a45.dssp
要求提取出文本中氨基酸序列的名称和结构,并是他们整行相互对应,其中结构序列中的空格 用'_'代替。
输出格式为两行信息:GKITFYEDRGFQGRHYECSSDHSNLQPYFSRCNSIRVDSGCWMLYEQPNFQGPQYF...
_EEEEEEETTTEEEEEEE_S_BS__TTT_S__SEEEEEESEEEEESSGGG...
拿到文本文件.dssp(类似于.txt)
我们发现我们的目的信息在文本文件中的红色区域的蓝色框中,其余信息全部都是不需要的,我们要把其余区域清除掉,提取出这两列信息,并且对应输出,这便是思路!
第一步:
file = open('dssp1a45.dssp','r') #以读取方式打开文件 str = ''.join(file.readlines()[28:]) # 删除检索内容以外的首部 file2 = open('new.txt','w') #将删除后的文件写入new.txt file2.write(str) f = open("new.txt",'r')
我们这时候把红色区域上面的多余部分就排除掉了。
其中file.readlines()[28:]表示读取文件28行以下的内容 即为红色区域。
str=''.join() 表示把括号内的列表强制转换成字符串str,并且元素间不加任何分隔符。
之后再创建一个file2:new.txt。
将str写入new.txt.并用接收可读来打开他
第二步:
我们得到的new.txt文件如下,自动保存在我们的相同目录内。
一会儿用完再删除,卸磨杀驴!
所以接下来我们提取这里面的三/四两列信息出来就欧克了
注意这个是字符串文本,表面上看是3/4两列,其实不是,中间有空格,好好数数应该是第14列和第17列,迭代提取出来!
a = f.readlines() #对文本f进行列表迭代 acid = 13 stucture = 16 #找到氨基酸和结构所在列数 aa ="" #预定义两个空字符串空间来存放氨基酸序列和结构序列 stc="" i = 0 for line in a: #迭代每个行列表,并提取氨基酸和结构所对应的列元素aa += a[i][acid]stc += a[i][stucture]for b in stc: # 迭代结构序列new_name = stc.replace(" ", '_') # 将结构序列中的空格改成下划线i+=1 final = aa+ '\n' +new_name #计算结果 print(final) #打印结果
注释非常明确。
值得注意的是,其实在python中处理字符串就相当于是在C中对数组进行处理,这里面类似二维数组的一个处理方式我们的a[i]表示的是每一整行。
a[i][j]表示的是第i行第j个元素,通过数元素我们发现氨基酸和对应结构的j的值是14和17,
对应的j应该是13和16,
所以我们迭代出每行的氨基酸和对应结构就很容易了。
然后我们把读取到的氨基酸和结构序列分别存放到一个空的字符串aa和stc里面。
修改空格成为'_' :我们引入了第二个for循环,目的是把stc里面读到的空格修改,所以对stc进行迭代,用replace函数进行修改以后,将新的修改好的字符串存入new_name字符串中,所以我们最后的修改好的结构序列和氨基酸序列进行final的运算(如代码框内所示),就可以得到如下结果了:
第三步:
收尾工作要做好
file3=open('dssp1a45.ss','w') file3.write(final) #将最后的结果写入file3并保存为dssp1a45.ss file3.close() #注意关闭使用过的所有文件! f.close() file2.close() file.close() #import os 调用os # os.remove('new.txt') #所有文件关闭后,删除辅助操作用的文件
我们可以把我们得到的结果这样写入一个文件中,最后关闭掉我们中途使用过的文件,并且把过度文件new.txt删除,我们的目录就会非常干净了!
#python#生物信息学 提取文本某列信息 #提取氨基酸序列并且提取氨基酸结构序列与之对应相关推荐
- 知识图谱——用Python代码从文本中挖掘信息的强大数据科学技术
什么是知识图谱? 如何在图谱中表示知识? 依靠文本数据构建知识图谱 什么是知识图谱? 先明确一个概念:在本文中经常出现的术语"图谱",并不是指柱状图.饼状图或线状图,而是相互关联的 ...
- matlab如何提取某一列的数据_MATLAB如何提取某一矩阵的某一列的部分数据?
展开全部 使用2113a(M,N)可以提取矩阵a中符合5261M,4102N要求的部分 最简单1653是M,N都是标量,就是一回个数例如:答 a(1,1) a(2,3)分别返回a矩阵1行1列的单元 和 ...
- linux命令中提取某一列,怎么用Linux命令提取表格文本中的某列
如何用Linux命令提取表格文本中的某列 文本文件x.txt内容如下: kaa a:\dkdkdk 123 dfdfdf b:\xxxxxxxxx 3234 j你好x c:\fdfdfv 打开 我现在 ...
- 使用Palette类提取图片的颜色信息
原文出处:http://qichaochen.github.io/2014/11/16/105-Android-5.0-Palette-01/ 在Material Design设计中很重要的一部分内容 ...
- Python数据类型(二)文本类型-str
Python中处理文本数据使用由Unicode编码构成的不可变序列字符串-str对象.字符串表达形式如下: .单引号 'This article describes information about ...
- Python easyOCR图像文本提取 初识
博物馆一日游,拍照片无数.分类整理,希望图片中的文字进行识别,加上各展馆.各展品的说明. 手工一张张的整理,慢,累,要老命...... 还好,模块化.低代码时代,效率.性能.界面.易用 ...
- python中文文本分词_SnowNLP:?中文分词?词性标准?提取文本摘要,?提取文本关键词,?转换成拼音?繁体转简体的 处理中文文本的Python3 类库...
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...
- python提取高频词_cygwin下用Python+jieba给文本分词并提取高频词
本文信息本文由方法SEO顾问发表于2015-05-3023:05:55,共 2000 字,转载请注明:cygwin下用Python+jieba给文本分词并提取高频词_[方法SEO顾问],如果我网站的文 ...
- python表格多列合并_python 合并excel表格数据-如何用python从excel中同时提取两个列的数据,并生成dict(用xlrd)...
用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet 可以采用一些操作Excel块去实现,比如xlrd.xlwt.openpyxl.x ...
- python中文文本分析和提取_python str(使用python对txt文本进行分析和提取)
python 文本文件数据处理 #/usr/bin/env python3 # -*- coding: utf-8 -*- def zhidao_560604345(infile, outfile): ...
最新文章
- monorepo_Monorepo开发的要点
- linux装oracle11g启动失败,Oracle11GSELinux原因启动失败的解决办法
- 学习方法之01高效学习方程式,你的学习到底是哪里出了问题
- spring data jpa update
- html没有插件怎么办,html网页包插件没有插入options.title
- centos7的网络配置
- Reflexer Labs将于4月15日进行首次FLX代币分配
- 鏖战九载,Google 是否会因 Oracle 而弃用 Java?
- 这个华人程序员是如何 6 个月狂赚 125 亿的?
- 如何解决代码嵌套太深问题
- 使用Configuration Manager部署及管理软件更新(1)
- R语言批量生成CaseWhen的解决方案
- win7右键没有新建文本文档怎么办
- svn如何提取文件更新列表
- html跳转按钮谷歌浏览器点击没反应,在各个浏览器点击按钮都没有反应
- atom 编辑器html,Atom编辑器配置
- 计算机读不出相机磁盘,相机存储卡读不出来怎么办?相机存储卡无法读取
- Unity3D WASD和方向键控制多个角色
- MIT博士研发绘画机器人Utensil,精通绘画和激光切割
- 指针<小罗爱c语言>
热门文章
- oracle 富文本类型,将BLOB类型值在富文本显示和将富文本内容以BLOB类型存储到数据库...
- 开关电源Buck电路CCM和DCM工作模式
- html中header怎么设置,HTML中的header标签怎么用?
- 旭凤锦覓虐心 恋只愿共赴鸿蒙,【香蜜同人】所爱隔山海(旭凤X锦觅X润玉)
- vue中的混入mix
- 什么是王道?什么是王道中的王道?
- 区块链学习笔记12——BTC思考
- word页眉前后不一致怎么设置_如何设置页眉部分内容前后不同,页脚部分内容也前后不同的WORD文档?...
- 日活两亿的快手,如何用AI理解视频、做好分发
- 为什么java数值型的负数比正数多一位