#!/opt/anaconda1anaconda2anaconda3/bin/perl 

eval 'exec /opt/anaconda1anaconda2anaconda3/bin/perl  -S $0 ${1+"$@"}'
    if 0; # not running under some shell

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);
}

