在FASTA文件中搜索完全匹配的短序列
发表于:2021-10-20 | 分类: 生物信息
字数统计: 347 | 阅读时长: 1分钟 | 阅读量:

有时候需要在FASTA格式的文件中搜索短的保守序列,这个时候采用查找法比使用blast等序列比对更加人性化。但是要注意避坑,即FASTA文档中的序列一般是被打断为许多行的,如果要查找的目标序列恰好在断行处,是没有办法直接揪出它的,所以在查找前需要将序列中间的换行符去掉,将其变为一行。

该任务可以通过Perl脚本search_short_seqs.pl实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl
use strict;
use warnings;
# Author: Liu Hualin
# Date: Oct 20, 2021

local $/ = ">";
open IN, "$ARGV[0]" || die;
open OUT, ">Target_seqs.fa" || die;
my $str = $ARGV[1];
<IN>;
while (<IN>) {
chomp;
my ($id, $seq) = split ("\n", $_, 2);
$seq=~s/[\r\n]+//g;
if ($seq=~/$str/i) {
print OUT ">$id\n$seq\n";
}
}
close IN;
close OUT;

运行方法:将search_short_seqs.pl与输入文件(FASTA文件)放在同一目录中,在终端里运行如下命令

1
perl search_short_seqs.pl FASTA文件 要查找的序列

带有搜索序列的序列将输出到文件Target_seqs.fa中。

脚本获取

关注公众号“生信之巅”,聊天窗口回复“6a93”获取下载链接。

生信之巅微信公众号 生信之巅小程序码

敬告:使用文中脚本请引用本文网址,请尊重本人的劳动成果,谢谢!Notice: When you use the scripts in this article, please cite the link of this webpage. Thank you!

上一篇:
命令模式下配置Linux网络
下一篇:
hexo-theme-sakuraplus表格边框及滚动条调教