/usr/bin/bp_run_neighbor.pl is in bioperl-run 1.6.9-1.
This file is owned by root:root, with mode 0o755.
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 | #!/usr/bin/perl -w
use strict;
=head1 NAME
run_neighbor - run Phylip's 'neighbor' program through Bioperl
=head1 SYNOPSIS
run_neighbor [-i inputfile] [-o outfilename]
=head1 DESCRIPTION
Provide an matrix file to run neighbor on. File should be named of
the forma file.matrix or file.protdist (the ending doesn't matter, but
the program expects a file in the form of (\S+)\.(\S+).
This will run the application 'neighbor' to build a
Neighbor-Joining tree from a protein distance matrix.
=head1 AUTHOR
Jason Stajich, jason-AT-open-bio-DOT-org
=cut
use Bio::TreeIO;
use Bio::Tools::Run::Phylo::Phylip::Neighbor;
use Getopt::Long;
my @params = ('type'=>'NJ', 'quiet' => 1);
my $matrixfile;
my $out;
GetOptions(
'i|input:s' => \$matrixfile,
'o|out:s' => \$out,
'h|help' => sub { exec('perldoc',$0); exit(0) }
);
($matrixfile) ||= shift @ARGV;
my ($stem,$ext) = ($matrixfile =~ /(\S+)\.(\S+)$/) ;
$stem ||= $matrixfile;
my $outfh;
if( $out ) {
open($outfh, ">$out") || die($!);
} else {
open($outfh, ">$stem.tree") || die($!);
}
my $tree_factory = Bio::Tools::Run::Phylo::Phylip::Neighbor->new(@params);
my (@trees) = $tree_factory->create_tree($matrixfile);
my $outtree = new Bio::TreeIO(-fh => $outfh);
foreach my $tree ( @trees ){
$outtree->write_tree($tree);
}
|