$CLIPSeqTools::App::all::VERSION
=
'0.1.0'
;
option
'rname_sizes'
=> (
is
=>
'rw'
,
isa
=>
'Str'
,
required
=> 1,
documentation
=>
'file with sizes for reference alignment sequences (rnames). Must be tab delimited (chromosome\tsize) with one line per rname.'
,
);
with
"CLIPSeqTools::Role::Option::Library"
=> {
-alias
=> {
validate_args
=>
'_validate_args_for_library'
},
-excludes
=>
'validate_args'
,
},
"CLIPSeqTools::Role::Option::Genes"
=> {
-alias
=> {
validate_args
=>
'_validate_args_for_genes'
},
-excludes
=>
'validate_args'
,
},
"CLIPSeqTools::Role::Option::Plot"
=> {
-alias
=> {
validate_args
=>
'_validate_args_for_plot'
},
-excludes
=>
'validate_args'
,
},
"CLIPSeqTools::Role::Option::OutputPrefix"
=> {
-alias
=> {
validate_args
=>
'_validate_args_for_output_prefix'
},
-excludes
=>
'validate_args'
,
};
sub
validate_args {
my
(
$self
) =
@_
;
$self
->_validate_args_for_library;
$self
->_validate_args_for_genes;
$self
->_validate_args_for_plot;
$self
->_validate_args_for_output_prefix;
}
sub
run {
my
(
$self
) =
@_
;
my
%options
;
$options
{
'driver'
} =
$self
->driver
if
defined
$self
->driver;
$options
{
'database'
} =
$self
->database
if
defined
$self
->database;
$options
{
'table'
} =
$self
->table
if
defined
$self
->table;
$options
{
'host'
} =
$self
->host
if
defined
$self
->host;
$options
{
'user'
} =
$self
->user
if
defined
$self
->user;
$options
{
'password'
} =
$self
->password
if
defined
$self
->password;
$options
{
'records_class'
} =
$self
->records_class
if
defined
$self
->records_class;
$options
{
'filter'
} =
$self
->filter
if
defined
$self
->filter;
$options
{
'o_prefix'
} =
$self
->o_prefix
if
defined
$self
->o_prefix;
$options
{
'gtf'
} =
$self
->gtf
if
defined
$self
->gtf;
$options
{
'rname_sizes'
} =
$self
->rname_sizes
if
defined
$self
->rname_sizes;
$options
{
'plot'
} =
$self
->plot
if
defined
$self
->plot;
$options
{
'verbose'
} =
$self
->verbose
if
defined
$self
->verbose;
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::cluster_size_and_score_distribution'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::count_reads_on_genic_elements'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::distribution_on_genic_elements'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::distribution_on_introns_exons'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::genome_coverage'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::genomic_distribution'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::nmer_enrichment_over_shuffled'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::nucleotide_composition'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::reads_long_gaps_size_distribution'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::size_distribution'
,
%options
)->run();
CLIPSeqTools::App->initialize_command_class(
'CLIPSeqTools::App::conservation_distribution'
,
%options
)->run();
}
1;