This file is indexed.

/usr/share/perl5/Bio/Roary/CommandLine/RoaryReorderSpreadsheet.pm is in roary 3.8.0+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
undef $VERSION;
package Bio::Roary::CommandLine::RoaryReorderSpreadsheet;
$Bio::Roary::CommandLine::RoaryReorderSpreadsheet::VERSION = '3.8.0';
# ABSTRACT: Take in a tree and a spreadsheet and output a reordered spreadsheet


use Moose;
use Getopt::Long qw(GetOptionsFromArray);
use Bio::Roary::ReorderSpreadsheet;
extends 'Bio::Roary::CommandLine::Common';

has 'args'        => ( is => 'ro', isa => 'ArrayRef', required => 1 );
has 'script_name' => ( is => 'ro', isa => 'Str',      required => 1 );
has 'help'        => ( is => 'rw', isa => 'Bool',     default  => 0 );

has 'tree_file'            => ( is => 'rw', isa => 'Str' );
has 'spreadsheet_filename' => ( is => 'rw', isa => 'Str', default => 'gene_presence_absence.csv' );
has 'output_filename'      => ( is => 'rw', isa => 'Str', default => 'reordered_spreadsheet.csv' );
has 'tree_format'          => ( is => 'rw', isa => 'Str', default => 'newick' );
has 'search_strategy'      => ( is => 'rw', isa => 'Str', default => 'depth' );
has 'sortby'               => ( is => 'rw', isa => 'Str', default => 'height');
has 'verbose'              => ( is => 'rw', isa => 'Bool', default => 0 );


sub BUILD {
    my ($self) = @_;

    my ( $output_filename, $tree_file,$search_strategy, $sortby, $tree_format, $spreadsheet_filename,$verbose,  $help );

    GetOptionsFromArray(
        $self->args,
        'o|output_filename=s'      => \$output_filename,
        't|tree_file=s'            => \$tree_file,
        'f|tree_format=s'          => \$tree_format,
        's|spreadsheet_filename=s' => \$spreadsheet_filename,
        'a|search_strategy=s'      => \$search_strategy,
        'b|sortby=s'               => \$sortby,
		'v|verbose'                => \$verbose,
        'h|help'                   => \$help,
    );

    if ( defined($verbose) ) {
        $self->verbose($verbose);
        $self->logger->level(10000);
    }
    $self->help($help) if(defined($help));
    $self->output_filename($output_filename)           if ( defined($output_filename) );
    $self->tree_file($tree_file)                       if ( defined($tree_file) );
    $self->tree_format($tree_format)                   if ( defined($tree_format) );
    $self->spreadsheet_filename($spreadsheet_filename) if ( defined($spreadsheet_filename) );
    $self->sortby($sortby)                             if ( defined($sortby) );
    $self->search_strategy($search_strategy)           if ( defined($search_strategy) );
}

sub run {
    my ($self) = @_;
    ( defined($self->spreadsheet_filename) && defined($self->tree_file) && ( -e $self->spreadsheet_filename ) && ( -e $self->tree_file ) && ( !$self->help ) ) or die $self->usage_text;

    ($self->sortby eq "height" || $self->sortby eq "creation" || $self->sortby eq "alpha" || $self->sortby eq "revalpha") or die $self->usage_text;
    ($self->search_strategy eq "breadth" || $self->search_strategy eq "depth") or die $self->usage_text;

    my $obj = Bio::Roary::ReorderSpreadsheet->new(
        tree_file       => $self->tree_file,
        spreadsheet     => $self->spreadsheet_filename,
        output_filename => $self->output_filename,
        sortby          => $self->sortby,
        search_strategy => $self->search_strategy
    );
    $obj->reorder_spreadsheet();

}

sub usage_text {
    my ($self) = @_;

    return <<USAGE;
Usage: pan_genome_reorder_spreadsheet [options] -t tree.newick
Reorder the columns in the gene presence and absence spreadsheet against a phylogenetic tree.

Options: -t STR tree filename []
         -o STR output filename [reordered_spreadsheet.csv]
         -f STR tree format (newick/nexus/nhx/svggraph/tabtree/lintree) [newick]
         -s STR input gene presence and absence spreadsheet [gene_presence_absence.csv]
         -a STR search strategy (depth/breadth) [depth]
         -b STR sorting method (height/creation/alpha/revalpha) [height]
         -v     verbose output to STDOUT
         -h     this help message

For further info see: http://sanger-pathogens.github.io/Roary/
USAGE
}

__PACKAGE__->meta->make_immutable;
no Moose;
1;

__END__

=pod

=encoding UTF-8

=head1 NAME

Bio::Roary::CommandLine::RoaryReorderSpreadsheet - Take in a tree and a spreadsheet and output a reordered spreadsheet

=head1 VERSION

version 3.8.0

=head1 SYNOPSIS

Take in a tree and a spreadsheet and output a reordered spreadsheet

=head1 AUTHOR

Andrew J. Page <ap13@sanger.ac.uk>

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute.

This is free software, licensed under:

  The GNU General Public License, Version 3, June 2007

=cut