按照Contig切割GenBank文件
发表于:2021-10-09 | 分类: 生物信息
字数统计: 369 | 阅读时长: 1分钟 | 阅读量:

当一个基因组含有多个Contigs/Scaffolds的时候,在GenBank文件中也会产生多个LOCUS。某些软件会将GenBank文件作为输入,但仅支持一个GenBank文件中只包含一条Contig/Scaffold,如基因岛预测软件islandpath。这个时候就需要我们将GenBank文件进行切割。手动切是体力活,也不像钓鱼那样有成就感,因此提供一个脚本”split_GenBank.pl”来完成。

敬告:使用该脚本请引用本文网址,请尊重本人的劳动成果,谢谢!

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

my @gbk = glob("*.gbk");# 批处理所有后缀为.gbk的文件
foreach (@gbk) {
$_=~/(.+).gbk/;
my $str = $1;
open IN, "$_" || die;
local $/ = "LOCUS";
<IN>;
while (<IN>) {
chomp;
$_=~/\s+(\S+)/;
my $scaf = $1;
my $out = $str . "_" . $scaf . ".gb";
my $assession = $str . "_" . $scaf;
$_=~s/ACCESSION.+/ACCESSION $assession/g;# 添加ACCESSION number
open OUT, ">$out" || die;
print OUT "LOCUS$_";
close OUT;
}
close IN;
}

将脚本与后缀名为“.gbk”的GenBank文件放在同一目录下,运行如下代码:

1
perl split_GenBank.pl

得到的后缀名为“.gb”的文件即为切割后的GenBank文件。

脚本获取

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

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

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

上一篇:
从GenBank文件中提取Features
下一篇:
原核生物基因岛预测