提取染色体序列
新建一个 chr.list 把想要提取的染色体放到里面
perl get_chr_fa.pl genome.fa chr.list > chr.fa
#!usr/bin/perl -w
use strict;
open IN,$ARGV[0] or die $!;
my %hash;
$/=">";<IN>;
while (<IN>){
chomp;
my ($id,$seq) = split /\n/,$_,2;
my @a = split /\s/,$id;
$hash{$a[0]} = $seq;
}
close IN;
open IN2,$ARGV[1] or die $!;
$/="\n";
while (<IN2>){
chomp;
my @a = split /\t/,$_;
if (exists $hash{$a[0]}){
print ">$a[0]\n$hash{$a[0]}";
}else{
print "ERROR\t$a[0]\n";
}
}
close IN2;
网友评论