Bio-MUST-Apps-HmmCleaner

 view release on metacpan or  search on metacpan

bin/HmmCleaner.pl  view on Meta::CPAN

#!/usr/bin/env perl
# PODNAME: HmmCleaner.pl
# ABSTRACT: Removing low similarity segments from your MSA
# CONTRIBUTOR: Denis BAURAIN <denis.baurain@uliege.be>

use Modern::Perl;
use Getopt::Euclid;

## no critic (RequireLocalizedPunctuationVars)
BEGIN{
    $ENV{Smart_Comments} = $ARGV{-v}
        ? join q{ }, map { '#' x (2 + $_) } 1..$ARGV{-v}
        : q{}
    ;
}
## use critic
use Smart::Comments -ENV;

use Bio::MUST::Apps::HmmCleaner;
use aliased 'Bio::MUST::Apps::HmmCleaner';

### Lauching script...

###### %ARGV

my %costs_values = (
    'default'       => [-0.15, -0.08, 0.15, 0.45],
    'large'         => [-0.175, -0.04, 0.15, 0.4],
    'specificity'   => [-0.125, -0.07, 0.175, 0.4],
    'large_specificity'   => [-0.125, -0.03, 0.15, 0.4],
);

my $costs = $costs_values{'default'};
$costs = $costs_values{'large'} if ($ARGV{'--large'});
$costs = $costs_values{'specificity'} if ($ARGV{'--specificity'});
$costs = $costs_values{'large_specificity'} if ( $ARGV{'--large'} && $ARGV{'--specificity'});
$costs = [$ARGV{'-costs'}{'c1'}, $ARGV{'-costs'}{'c2'}, $ARGV{'-costs'}{'c3'}, $ARGV{'-costs'}{'c4'}] if ($ARGV{'-costs'});

#### $costs

for my $file ( @{$ARGV{'<infiles>'}} ) {
    my $args = {
        ali             => $file,
        ali_model       => $file,
        threshold       => 1,
        changeID        => $ARGV{'--changeID'},
        #~ delchar         => $ARGV{'-delchar'},
        costs           => $costs,
        consider_X      => ($ARGV{'--noX'}) ? 0 : 1,
        perseq_profile  => ($ARGV{'-profile'} eq 'leave-one-out') ? 1 : 0,
        outfile_type    => ($ARGV{'--ali'}) ? 1 : 0,
        debug_mode      => ($ARGV{'-v'}>5) ? 1 : 0,
        symfrac         => $ARGV{'-symfrac'},
    };

    ### Creating object for file : $file
    my $cleaner = HmmCleaner->new($args);

    ($ARGV{'--log_only'}) ? $cleaner->store_log : $cleaner->store_all;

}

### End of script...

__END__



( run in 0.887 second using v1.01-cache-2.11-cpan-437f7b0c052 )