最近需要在NCBI中下载所有Xanthomonas属菌株对应的gbk文件,由于NCBI前台gbk数据已经改版,故打算从后台ftp.ncbi.nlm.nih.gov下载。写了个Perl脚本用于批量下载NCBI后台数据,有这方面需求的同仁们可以参考。另外,多进程暂时未成功,后期再更改。
#!/usr/bin/perl
##################################################################################################
# NCBI_ftp_batch_fetch.pl
# 黄良博 huanglb0805@163.com
# 2015-3-25
# 用途:可用于在NCBI的后台ftp.ncbi.nlm.nih.gov/genomes/Bacteria中下载某一个属对应的文件(gbk,fna,gbs,ptt等均可)。
# 下载Xanthomonas属中所有菌株的gbk文件和fna文件:
# perl $0 -g Xanthomonas -s gbk -s fna
# 注意:多进程暂时不能使用
##################################################################################################
use v5.16;
use warnings;
use Net::FTP;
use Cwd;
use Getopt::Long;
use Parallel::ForkManager;
my($genus,@suffix,$thread,$help);
GetOptions(
"genus:s" =>\$genus,
"suffix:s" =>\@suffix,
#"thread:i" =>\$thread,
"help" =>\$help,
);
#如果命令行上有多余参数,则报错并退出
if (@ARGV!=0){
say 'Please check your parameters, maybe you forgot to add "" or _ to genus';
exit;
}