求用perl或者python提取fasta格式中每个序列从一个位置到另一个位置的序列(每个序列位置都不一样)

2025-01-03 17:26:07
推荐回答(1个)
回答1:

这个其实很简单,只是逻辑要通顺。
我给你perl的解决思路:

首先,你要确定你的fasta文件的内容的规律性。比如每段序列的开始是不是都会有一些特殊的标志。那么可以用next函数,将这些不是序列的内容跳过。

然后开始读取每一行,将每一行的内容串联起来,直到读取到下一段序列开始的标记
(该处使用if判断,如果读到标记就停止记录,可以有个好办法,你前期使用一个$num,前面读取的每行都串联给$seq,然后当你判断到标记符号出现以后,让$num++,并把$array[$num]=$seq,此处要注意一下,这里还要记得让$seq为空一下否则会出大问题的 ,然后就可以记录此条序列并进入下一条序列的读取了)

如此反复判断读取,最终可以将每个序列都读取出。

只要发现规律,有了思路,读取序列简直是分分钟的事情,思路以及发现规律性最为重要。