Bio-Palantir
view release on metacpan or search on metacpan
bin/generate_bgc_report.pl view on Meta::CPAN
#!/usr/bin/env perl
# PODNAME: generate_bgc_report.pl
# ABSTRACT: Generates PDF/Word reports from antiSMASH results
# CONTRIBUTOR: Denis BAURAIN <denis.baurain@uliege.be>
use Modern::Perl '2011';
use autodie;
use Smart::Comments;
use Carp;
use Const::Fast;
use File::Basename qw(fileparse);
use File::ShareDir qw(dist_dir);
use File::Temp;
use Getopt::Euclid qw(:vars);
use Path::Class qw(dir file);
use Template;
use aliased 'Bio::Palantir::Parser';
const my $DATA_PATH => dist_dir('Bio-Palantir') . '/';
# check BGC type
if (@ARGV_types) {
Parser->is_cluster_type_ok(@ARGV_types);
}
my $infile = $ARGV_report_file;
#TODO use abbr seqids in genomes to get taxonomic informations
my ($base, $path) = fileparse($infile);
croak 'Does not work with regions.js reports (antiSMASH 5),'
. 'an implementation might come soon!'
if $base eq 'regions.js'
;
$path = dir($path)->absolute;
my $defline = ( split '/', $path )[-1];
$defline =~ s/_/ /g;
my $report = Parser->new( file => $infile );
my $root = $report->root;
my %vars_for = (
name => $defline,
path => $path,
clusters_count => $root->count_clusters,
domains_count => $root->count_domains,
);
# get genecluster informations
my $i = 0;
for my $cluster ($root->all_clusters) {
if (@ARGV_types) {
next unless
grep { $cluster->type =~ m/$_/xmsi } @ARGV_types;
}
my $cluster_rank = $cluster->rank;
my $type = lc $cluster->type;
( run in 0.787 second using v1.01-cache-2.11-cpan-b16cb0d3907 )