我有一个很大的文本文件(分隔的),就像下面这个小例子:>ENST00000511961.1|ENSG00000013561.13|OTTHUMG00000129660.5|OTTHUMT00000370661.3|RNF14-003|RNF14|278

MSSEDREAQEDELLALASIYDGDEFRKAESVQGGETRIYLDLPQNFKIFVSGNSNECLQNSGFEYTICFLPPLVLNFELPPDYPSSSPPSFTLSGKWLSPTQLSALCKHLDNLWEEHRGSVVLFAWMQFLKEETLAYLNIVSPFELKIGSQKKVQRRTAQASPNTELDFGGAAGSDVDQEEIVDERAVQDVESLSNLIQEILDFDQAQQIKCFNSKLFLCSICFCEKLGSECMYFLECRHVYCKACLKDYFEIQIRDGQVQCLNCPEPKCPSVATPGQ

>ENST00000506822.1|ENSG00000013561.13|OTTHUMG00000129660.5|OTTHUMT00000370662.1|RNF14-004|RNF14|132

MSSEDREAQEDELLALASIYDGDEFRKAESVQGGETRIYLDLPQNFKIFVSGNSNECLQNSGFEYTICFLPPLVLNFELPPDYPSSSPPSFTLSGKWLSPTQLSALCKHLDNLWEEHRGSVVLFAWMQFLKE

>ENST00000513019.1|ENSG00000013561.13|OTTHUMG00000129660.5|OTTHUMT00000370663.1|HAS-0|HAS|99

MSSEDREAQEDELLALASIYDGDEFRKAESVQGGETRIYLDLPQNFKIFVSGNSNECLQNSGFEYTICFLPPLVLNFELPPDYPSSSPPSFTLSGKWLS

>ENST00000356143.1|ENSG00000013561.13|OTTHUMG00000129660.5|-|HAS-202|HAS|474

MSSEDREAQEDELLALASIYDGDEFRKAESVQGGETRIYLDLPQNFKIFVSGNSNECLQNSGFEYTICFLPPLVLNFELPPDYPSSSPPSFTLSGKWLSPTQLSALCKHLDNLWEEHRGSVVLFAWMQFLKEETLAYLNIVSPFELKIGSQKKVQRRTAQASPNTELDFGGAAGSDVDQEEIVDERAVQDVESLSNLIQEILDFDQAQQIKCFNSKLFLCSICFCEKLGSECMYFLECRHVYCKACLKDYFEIQIRDGQVQCLNCPEPKCPSVATPGQVKELVEAELFARYDRLLLQSSLDLMADVVYCPRPCCQLPVMQEPGCTMGICSSCNFAFCTLCRLTYHGVSPCKVTAEKLMDLRNEYLQADEANKRLLDQRYGKRVIQKAL>ENST00000511961.1|ENSG00000013561.13|OTTHUMG00000129660.5|OTTHUMT00000370661.3|RNF14-003|RNF14|278

MSSEDREAQEDELLALASIYDGDEFRKAESVQGGETRIYLDLPQNFKIFVSGNSNECLQNSGFEYTICFLPPLVLNFELPPDYPSSSPPSFTLSGKWLSPTQLSALCKHLDNLWEEHRGSVVLFAWMQFLKEETLAYLNIVSPFELKIGSQKKVQRRTAQASPNTELDFGGAAGSDVDQEEIVDERAVQDVESLSNLIQEILDFDQAQQIKCFNSKLFLCSICFCEKLGSECMYFLECRHVYCKACLKDYFEIQIRDGQVQCLNCPEPKCPSVATPGQ

>ENST00000356143.1|ENSG00000013561.13|OTTHUMG00000129660.5|-|HAS-202|HAS|474

MSSEDREAQEDELLALASIYDGDEFRKAESVQGGETRIYLDLPQNFKIFVSGNSNECLQNSGFEYTICFLPPLVLNFELPPDYPSSSPPSFTLSGKWLSPTQLSALCKHLDNLWEEHRGSVVLFAWMQFLKEETLAYLNIVSPFELKIGSQKKVQRRTAQASPNTELDFGGAAGSDVDQEEIVDERAVQDVESLSNLIQEILDFDQAQQIKCFNSKLFLCSICFCEKLGSECMYFLECRHVYCKACLKDYFEIQIRDGQVQCLNCPEPKCPSVATPGQVKELVEAELFARYDRLLLQSSLDLMADVVYCPRPCCQLPVMQEPGCTMGICSSCNFAFCTLCRLTYHGVSPCKVTAEKLMDLRNEYLQADEANKRLLDQRYGKRVIQKAL

如何修复它吗?from __future__ import print_function

import sys

def parse_fasta(data):

name, seq = None, []

for line in data:

line = line.rstrip()

if line.startswith('>'):

if name:

yield (name, ''.join(seq))

name, seq = line, []

else:

seq.append(line)

if name:

yield (name, ''.join(seq))

isoforms = dict()

for defline, sequence in parse_fasta(sys.stdin):

geneid = '.'.join(defline[1:].split('.')[:-1])

if geneid in isoforms:

otherdefline, othersequence = isoforms[geneid]

if len(sequence) > len(othersequence):

isoforms[geneid] = (defline, sequence)

else:

isoforms[geneid] = (defline, sequence)

for defline, sequence in isoforms.values():

print(defline, sequence, sep=' ')

python创建新文件-如何在python中编辑文件并创建一个新的文件?相关推荐

  1. 如何用java创建超链接_Java如何在PPT中的幻灯片上创建超链接?

    在Java编程中,如何在PPT中的幻灯片上创建超链接? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新 ...

  2. 如何在Leangoo中,为企业创建项目

    Leangoo(中文名:领歌)是一款基于看板的项目协作工具. 我们可以使用 Leangoo 可视化地进行项目需求.任务.问题和文档的管理和协作,随时随地跟踪团队工作进展.Leangoo 工具的设计融入 ...

  3. 【童晶老师《Python游戏趣味编程》在PyCharm中编辑】

    童晶老师<Python游戏趣味编程>在PyCharm中编辑 不想再 海归编辑器 里编辑,想在PyCharm 中编辑要安装什么库 安装库三个库 安装完成,开始运行 不想再 海归编辑器 里编辑 ...

  4. 如何在Mercurial中编辑错误的提交消息? [重复]

    本文翻译自:How to edit incorrect commit message in Mercurial? [duplicate] This question already has answe ...

  5. html按钮怎么修改大小设置吗,如何在HTML中编辑按钮大小?

    如何在HTML中编辑按钮大小?使用HTML设计按钮之类的东西不是首选的方式.(1999年我开始建网站的时候,我们就是这么做的,但是现在有更好的方法了.) 我假定您不熟悉CSS以及如何将CSS文件导入到 ...

  6. 如何在PowerPoint中编辑页眉和页脚

    Headers and footers in PowerPoint are ideal for displaying descriptive content, such as slide number ...

  7. [算法] 求排列组合: 从n个数中任选m个数组成一个新数

    #include <iostream> #include <vector>using namespace std;// 求排列组合算法: C(n, m): 从n个数中任选m个数 ...

  8. 使用layui 做后台管理界面,在Tab中的链接点击后添加一个新TAB的解决方法

    使用layui 做后台管理界面,在Tab中的链接点击后添加一个新TAB的解决方法 参考文章: (1)使用layui 做后台管理界面,在Tab中的链接点击后添加一个新TAB的解决方法 (2)https: ...

  9. vue 中遍历数组对象 存到一个新数组里

    vue 中遍历数组对象 存到一个新数组里(亲测可行!!!) 参考文档 : MDN-解构赋值 方法一 : For of 迭代和解构 var people = [{name: 'Mike Smith',f ...

  10. c语言两个线性表la lb,有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合...

    <有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合>由会员分享,可在线阅读,更多相关<有两个集合用两个线性表LA和LB表示即线性表中的数据元 ...

最新文章

  1. SpringBoot+ElementUI实现多选设置一月中指定几天的属性,SpringBoot中通过反射实现
  2. 如何做一场高质量的分享?
  3. 阿加莎·克莉丝蒂与我们
  4. npm run dev 在本地调试出现跨域问题解决方法
  5. oracle11g创建闪回分区多大,Oracle闪回区大小预估
  6. 将数组项复制到另一个数组中
  7. 怎样做好一个项目经理
  8. oracle创建默认序列号,PLS-00103:为序列号oracle创建触发器(PLS-00103: Create trigger for sequence number oracle)...
  9. Python使用jieba库实现分词统计词频
  10. 10 个最佳 GIS 软件应用程序
  11. 《互联网大厂晋升指南》读书笔记-上
  12. 算法的稳定性matlab,基于MATLAB地震反应谱数值算法的稳定性和精度分析
  13. [附源码]计算机毕业设计JAVA房屋中介管理系统
  14. 高通SDX55平台:Modem Loopback测试指导
  15. 计算机键盘重复,win10系统电脑键盘打字时总是出现重复字符的还原方法
  16. 【数据库02】==== 表的增删改查(基础)
  17. Ubuntu20.04+Linux5.8.8 添加系统调用实现进程隐藏
  18. jquery中的事件
  19. DLL 导入的两种方式
  20. 用matlab解出冲激响应的表达式,Matlab实验指导书

热门文章

  1. ArcGIS提高地图浏览效率
  2. 11.6 如何使用内嵌资源类(ResourceRetriever)?
  3. JavaScript面向对象的支持(7)
  4. 博客园Markdown模式的MATLAB代码高亮方案
  5. 11-机器学习开发流程--初识
  6. Python学习---Django路由系统【all】
  7. src或者href值为base64编码代码
  8. 40)类与类之间的关系(has use is)
  9. python里的类与一切事物都是对象
  10. Struts2 - Check Login Interceptor