生物信息脚本练习(1) 找出fasta文件中大于500的序列

该博客介绍了作者进行生物信息脚本练习的过程,具体任务是找出fasta文件中长度超过500的序列并将其重定向到新文件。文中分享了两种解决方案,一种是通过匹配序列长度并逐行输出,另一种是将序列整合为字符串后整体输出。博主强调Python解决问题的多样性,并期待更多高效的方法。
摘要由CSDN通过智能技术生成

最近做了一些生物信息的脚本练习。
这是第一个例子。
找出一个fasta文件中大于500的序列,并重定向到另一个新的文件中。
这个文件每条序列是如下的样子。

c100027.graph_c0|orf3 type=complete len=150nt loc=c100027.graph_c0:123-272:-
ATGAGGATCTTTACGCCAAATGAGGGCCTTGTTGTTGATCTTTTCAGTAAGAGACGTTGC
GGAAATATTGGCGAAAATTTAAGAAACCTAGTTAGTTTTAGCAGCCACATAGTTGGCAAG
AATTATACTATTCAAGCCATGTGGCACTGA

这是我一开始的解法:
思路是用正则匹配第一行中len的数值。找到他们之后,根据这数字算出这条序列有多少行,然后把这么些行的信息输出。

import re
output = open('data.txt', 'w')
seq = []
element = []
row = []
with open ("d:/Zanthoxylum_Bungeanum_Maxim.Unigene.cds.fa","r") as f:
    for l in f:
        seq.append(l)
for i in seq:
    if re.match(">.*len=[5-9][0-9][0-9]nt.*",i) or re.match(">.*len=[0-9][0-9][0-9][0-9]nt.*",i):
        element_number = 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值