CLIPSeqTools
view release on metacpan or search on metacpan
lib/CLIPSeqTools/PlotApp/scatterplot.pm view on Meta::CPAN
=head1 NAME
CLIPSeqTools::PlotApp::scatterplot - Create scatterplot for two tables.
=head1 SYNOPSIS
clipseqtools-plot scatterplot [options/parameters]
=head1 DESCRIPTION
Create scatterplot for the given column for two tables.
=head1 OPTIONS
Input.
--table1 <Str> first input table file.
--table2 <Str> second input table file.
--key_col <Str> name for the column/columns to use as a key. It
must be unique for each table row. Use option
multiple times to specify multiple columns.
--val_col <Str> name of column with values to be plotted.
The logarithm of the values is used.
Output
--name1 <Str> name to be used in plot for first table
--name2 <Str> name to be used in plot for second table
--o_prefix <Str> output path prefix. Script will create and add
extension to path. Default: ./
-v --verbose print progress lines and extra information.
-h -? --usage --help print help message
=cut
package CLIPSeqTools::PlotApp::scatterplot;
$CLIPSeqTools::PlotApp::scatterplot::VERSION = '1.0.0';
# Make it an app command
use MooseX::App::Command;
extends 'CLIPSeqTools::PlotApp';
#######################################################################
####################### Load External modules #####################
#######################################################################
use Modern::Perl;
use autodie;
use namespace::autoclean;
use Statistics::R;
#######################################################################
####################### Command line options ######################
#######################################################################
option 'table1' => (
is => 'rw',
isa => 'Str',
required => 1,
documentation => 'first input table file.'
);
option 'table2' => (
is => 'rw',
isa => 'Str',
required => 1,
documentation => 'second input table file.'
);
option 'key_col' => (
is => 'rw',
isa => 'ArrayRef[Str]',
required => 1,
documentation => 'name for the column/columns to use as a key. It must '.
'be unique for each table row. Use option multiple '.
'times to specify multiple columns.',
);
option 'val_col' => (
is => 'rw',
isa => 'Str',
required => 1,
documentation => 'name of column with values to be normalized.',
);
option 'name1' => (
is => 'rw',
isa => 'Str',
default => 'table1',
documentation => 'name to be used in plot for first table.'
);
option 'name2' => (
is => 'rw',
isa => 'Str',
default => 'table2',
documentation => 'name to be used in plot for second table.'
);
#######################################################################
########################## Consume Roles ##########################
#######################################################################
with
"CLIPSeqTools::Role::Option::OutputPrefix" => {
-alias => { validate_args => '_validate_args_for_output_prefix' },
-excludes => 'validate_args',
};
( run in 0.582 second using v1.01-cache-2.11-cpan-39bf76dae61 )