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 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#!/usr/bin/env perl
use strict;
use warnings;
use Fasta_retriever;
use List::Util qw(shuffle);
my $usage = "usage: $0 file.fasta\n\n";
my $file = $ARGV[0] or die $usage;
main: {
my @accs;
open (my $fh, $file) or die $!;
while (<$fh>) {
if (/^>(\S+)/) {
my $acc = $1;
push (@accs, $acc);
}
}
close $fh;
@accs = shuffle @accs;
my $fasta_retriever = new Fasta_retriever($file);
foreach my $acc (@accs) {
my $seq = $fasta_retriever->get_seq($acc);
print "$acc\t$seq\n";
}
exit(0);
}
|