请教如何从FASTA文件中批量查找序列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教如何从FASTA文件中批量查找序列相关的知识,希望对你有一定的参考价值。

参考技术A 你是想把蛋白的序列提取出来是吗,可以用perl写个脚本,先一个一个的打开pdb文件,然后读出以SEQRES开头的行,并写入到一个新的文件中。

Perl生信日常编程-从fa文件批量根据id列表提取序列

示例文件

从一个fasta文件中根据多个id列表批量提取对应的序列存为独立的fasta文件。

ID列表如下图所示,格式是“No:空格ID空格ID”; 要求根据每行的ID提取一次,并且输出为No.fa文件

代码记录

#! /usr/bin/perl -w
use strict;
my($lines,@lines,$line_nums,@b,$j);

open(ID,"count_all");
@lines = <ID>;
$line_nums = @lines;
foreach $_(@lines){
   chomp;
   @b=split/\s/;
   $b[0]=~s/://;
   #print "$b[0]\n";
   open(FW,">$b[0].txt");
   for ($j=1;$j<@b ;$j++) {
           print FW "$b[$j]\n";
   # 调用了爪爪的seqkit,因为懒得把以前写的代码加进来,这个方法更快嘛
   system("~/software/seqkit grep -f $b[0].txt ../total.faa >$b[0].fa")
   }
   close(FW);
}


~ 爪爪的工具很棒的哦 ~

以上是关于请教如何从FASTA文件中批量查找序列的主要内容,如果未能解决你的问题,请参考以下文章

如何从大fasta文件中找出自己想要的序列

Perl生信日常编程-从fa文件批量根据id列表提取序列

perl处理fasta文件

samtools建立fasta索引

从文件中提取特定范围的 fasta 序列

python根据序列长度筛选序列,查找序列中指定碱基序列