请教如何从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文件中批量查找序列的主要内容,如果未能解决你的问题,请参考以下文章