File: install.pl

package info (click to toggle)
radiant 2.7%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,048 kB
  • sloc: perl: 5,393; sh: 323; makefile: 35
file content (137 lines) | stat: -rwxr-xr-x 2,316 bytes parent folder | download
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
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/env perl

# Copyright © 2011, Battelle National Biodefense Institute (BNBI);
# all rights reserved. Authored by: Brian Ondov, Nicholas Bergman, and
# Adam Phillippy
#
# See the LICENSE.txt file included with this software for license information.

use strict;

use Cwd 'abs_path';
use Getopt::Long;

my $path = '/usr/local';
my $taxonomyDir;
my $scriptPath;
my $help;

GetOptions(
	'prefix=s'   => \$path,
	'taxonomy=s' => \$taxonomyDir,
	'scriptpath=s' => \$scriptPath,
	'help' => \$help
	);

if ( $help )
{
	print "./install.pl [-prefix /path/to/install] [-taxonomy /path/to/taxonomy] [-scriptpath /path/to/sripts]\n";
	exit;
}

$path = abs_path($path);

if ( defined $taxonomyDir )
{
	$taxonomyDir = abs_path($taxonomyDir);
}

if ( ! defined $scriptPath )
{
    $scriptPath = abs_path('scripts');
}

createDir($path);
createDir("$path/bin");

print "Creating links...\n";

foreach my $script
(qw(
	ClassifyBLAST
	GetContigMagnitudes
	GetLCA
	GetLibPath
	GetTaxIDFromAcc
	GetTaxInfo
	ImportBLAST
	ImportDiskUsage
	ImportEC
	ImportFCP
	ImportGalaxy
	ImportKrona
	ImportMETAREP-blast
	ImportMETAREP-EC
	ImportMGRAST
	ImportPhymmBL
	ImportRDP
	ImportRDPComparison
	ImportTaxonomy
	ImportText
	ImportXML
))
{
	if ( system('ln', '-sf', "$scriptPath/$script.pl", "$path/bin/kt$script") )
	{
		linkFail("$path/bin");
	}
}

if ( defined $taxonomyDir )
{
	if ( ! -e $taxonomyDir )
	{
		ktDie("$taxonomyDir does not exist.");
	}
	
	if ( -e 'taxonomy')
	{
		system('rm -r taxonomy');
	}
	
	print "Linking taxonomy to $taxonomyDir...\n";
	system('ln -s -f -F ' . $taxonomyDir . ' taxonomy');
}

print '
Installation complete.

Run ./updateTaxonomy.sh to use scripts that rely on NCBI taxonomy:
   ktClassifyBLAST
   ktGetLCA
   ktGetTaxInfo
   ktImportBLAST
   ktImportTaxonomy
   ktImportMETAREP-BLAST

Run ./updateAccessions.sh to use scripts that get taxonomy IDs from accessions:
   ktClassifyBLAST
   ktGetTaxIDFromAcc
   ktImportBLAST
';

sub createDir
{
	my ($dir) = @_;
	
	if ( ! -e $dir )
	{
		mkdir $dir or ktDie("$dir does not exist and couldn't create");
	}
}

sub ktDie
{
	my ($error) = @_;
	
	print "\nERROR: $error\n\n";
	exit 1;
}

sub linkFail
{
	my ($path) = @_;
	
	ktDie("Couldn't link files to $path.  Do you have permission?\n(Use \"--prefix <path>\" to change install location)");
	exit 1;
}