#!/usr/bin/env perl

use warnings;
use strict;

use Data::Dumper;
use Carp;

use 5.010;

use Bio::Gonzales::Seq::IO qw/faslurp/;
use Bio::Gonzales::Util qw/bigslice/;
use File::Slurp qw/slurp/;
use FindBin;

my ( $idlist, @files ) = @ARGV;

confess "usage: $FindBin::Script <FILE_WITH_ONE_ID_PER_LINE> <FASTA_FILE_1> ... <FASTA_FILE_N>"
    unless ( $idlist && @files && @files > 0 );

my @ids = map { s/\r\n/\n/; chomp; $_ } ( slurp $idlist);

for my $f (@files) {
    my $seq = faslurp $f;
    map { print "$_" } values %{ bigslice( $seq, @ids ) };
}
