Bio-MUST-Core
view release on metacpan or search on metacpan
bin/mask-ali.pl view on Meta::CPAN
#!/usr/bin/env perl
# PODNAME: mask-ali.pl
# ABSTRACT: Mask an ALI file according to BLOCKS file(s)
use Modern::Perl '2011';
use autodie;
use File::Basename;
use Getopt::Euclid qw(:vars);
use Smart::Comments;
use Bio::MUST::Core;
use Bio::MUST::Core::Utils qw(insert_suffix);
use aliased 'Bio::MUST::Core::Ali';
use aliased 'Bio::MUST::Core::SeqMask';
### Sequences taken from: $ARGV_alifile
my $ali = Ali->load($ARGV_alifile);
for my $infile (@ARGV_infiles) {
### Processing: $infile
my $mask = SeqMask->load_blocks($infile);
my $masked = $mask->filtered_ali($ali);
# create suffix named after filename
my ($filename) = fileparse($infile, qr{\.[^.]*}xms);
my $outfile = insert_suffix($ARGV_alifile, "-$filename");
### Output alignment in: $outfile
$masked->store($outfile);
}
__END__
=pod
=head1 NAME
mask-ali.pl - Mask an ALI file according to BLOCKS file(s)
=head1 VERSION
version 0.252040
=head1 USAGE
mask-ali.pl <infiles> --alifile=<file> [optional arguments]
=head1 REQUIRED ARGUMENTS
=over
=item <infiles>
Path to input BLOCKS files [repeatable argument].
=for Euclid: infiles.type: readable
repeatable
=item --alifile=<file>
Path to the ALI file containing the sequence alignment.
=for Euclid: file.type: readable
( run in 0.545 second using v1.01-cache-2.11-cpan-5a3173703d6 )