bacterial-annotator 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/bacterial-annotator +2 -4
- data/lib/bacterial-annotator/sequence-synteny.rb +2 -2
- data/lib/bacterial-annotator.rb +32 -12
- data/lib/bacterial-comparator.rb +96 -60
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc9bbbe5d2c03c4019290cf077f7ac21c6b0d687
|
4
|
+
data.tar.gz: 746d312f4891d7a561d00b1c6299cb57750daa7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1dbde919ea570e01223a48ec6f357d77d88ce62502ad0d09a9ba465a5bc4becb11a4caa5f6e8accf721e5c21780118f46c427b99abe1512bfce8e2a27c329a59
|
7
|
+
data.tar.gz: 708a2a03d84dcc46f10a921deaca1705fdd0091b00cd096971bf5436d443d244d31740d5012caf916a045b56b7c35ad73c45abefdee6a59d29abc9f7a8664c1d
|
data/bin/bacterial-annotator
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
require 'bacterial-annotator'
|
12
12
|
require 'bacterial-comparator'
|
13
13
|
|
14
|
-
VERSION = "0.6.
|
14
|
+
VERSION = "0.6.2"
|
15
15
|
|
16
16
|
def print_version
|
17
17
|
version = "Bacterial Annotator - Version #{VERSION}\n\n"
|
@@ -61,7 +61,7 @@ annotate [OPTIONS]
|
|
61
61
|
--input/-i <fasta_file> Provide the fasta file to annotate
|
62
62
|
--outdir/-o <outdir> Output directory [default=BAnnotation]
|
63
63
|
--force/-f Force to overwrite the output directory
|
64
|
-
--name/-n
|
64
|
+
--name/-n <name> Sample name
|
65
65
|
|
66
66
|
// MERGEM-based Annotation (Recommended)
|
67
67
|
--db/-d <directory> MERGEM database directory
|
@@ -249,8 +249,6 @@ if ARGV.size >= 1
|
|
249
249
|
puts "You didn't provide a reference genome or a database for the annotation !"
|
250
250
|
elsif ! options.has_key? :input
|
251
251
|
puts "You didn't provide a fasta file to annotate !"
|
252
|
-
elsif
|
253
|
-
puts ""
|
254
252
|
end
|
255
253
|
|
256
254
|
bannot = BacterialAnnotator.new(options, ROOT)
|
@@ -38,7 +38,7 @@ class SequenceSynteny
|
|
38
38
|
properties = s.definition.chomp.split(";")
|
39
39
|
partial = false
|
40
40
|
if properties.length >= 2 and properties[1].include? "partial"
|
41
|
-
partial = (properties[1].gsub("partial=","")
|
41
|
+
partial = (properties[1].gsub("partial=","").include? '1')
|
42
42
|
end
|
43
43
|
sequences[s_name][:partial] = partial
|
44
44
|
sequences[s_name][:length] = s.seq.length
|
@@ -52,7 +52,7 @@ class SequenceSynteny
|
|
52
52
|
|
53
53
|
# run blat on proteins
|
54
54
|
def run_blat root, outdir
|
55
|
-
base_cmd = "#{root}/blat.linux -out=blast8 -minIdentity=#{@pidentity}"
|
55
|
+
base_cmd = "#{root}/blat.linux -out=blast8 -minIdentity=#{@pidentity} > /dev/null 2>&1"
|
56
56
|
if @type == "prot"
|
57
57
|
system("#{base_cmd} -prot #{@subject_file} #{@query_file} #{outdir}/#{@name}.blat8.tsv")
|
58
58
|
else
|
data/lib/bacterial-annotator.rb
CHANGED
@@ -12,7 +12,7 @@ require 'fileutils'
|
|
12
12
|
require 'bacterial-annotator/sequence-fasta'
|
13
13
|
require 'bacterial-annotator/sequence-annotation'
|
14
14
|
require 'bacterial-annotator/sequence-synteny'
|
15
|
-
|
15
|
+
require 'helper'
|
16
16
|
|
17
17
|
class BacterialAnnotator
|
18
18
|
|
@@ -79,13 +79,16 @@ class BacterialAnnotator
|
|
79
79
|
# Prepare files for the annotation
|
80
80
|
# Will run prodigal on the query and prepare reference genome files
|
81
81
|
def prepare_files_for_annotation
|
82
|
-
|
82
|
+
print "# Running Prodigal on your genome.."
|
83
|
+
start_time = Time.now
|
83
84
|
@query_fasta.run_prodigal @root, @options[:outdir]
|
84
|
-
|
85
|
+
end_time = Time.now
|
86
|
+
c_time = Helper.sec2str(end_time - start_time)
|
87
|
+
print "done (#{c_time})\n"
|
85
88
|
if @with_refence_genome
|
86
89
|
@ref_genome.write_cds_to_file @options[:outdir]
|
87
90
|
@ref_genome.write_rna_to_file @options[:outdir]
|
88
|
-
puts "Successfully loaded #{@ref_genome.gbk.definition}"
|
91
|
+
# puts "Successfully loaded #{@ref_genome.gbk.definition}"
|
89
92
|
end
|
90
93
|
end # end of method
|
91
94
|
|
@@ -95,7 +98,12 @@ class BacterialAnnotator
|
|
95
98
|
ref_synteny_prot = SequenceSynteny.new(@query_fasta.annotation_files[:proteins], @ref_genome.cds_file,
|
96
99
|
"Prot-Ref", @options[:pidentity], @options[:pcoverage], "prot")
|
97
100
|
|
101
|
+
print "# Running alignment with Reference Genome CDS (blat).."
|
102
|
+
start_time = Time.now
|
98
103
|
ref_synteny_prot.run_blat @root, @options[:outdir]
|
104
|
+
end_time = Time.now
|
105
|
+
c_time = Helper.sec2str(end_time - start_time)
|
106
|
+
print "done (#{c_time})\n"
|
99
107
|
|
100
108
|
ref_synteny_prot.extract_hits :refgenome
|
101
109
|
|
@@ -145,10 +153,14 @@ class BacterialAnnotator
|
|
145
153
|
dump_ref_synteny_to_file
|
146
154
|
|
147
155
|
# run RNA annotation
|
148
|
-
puts "\nRunning BLAT alignment with Reference Genome RNA.."
|
149
156
|
@rna_synteny = SequenceSynteny.new(@query_fasta.fasta_file, @ref_genome.rna_file,
|
150
157
|
"RNA-Ref", @options[:pidentity], @options[:pcoverage], "dna")
|
158
|
+
print "# Running alignment with Reference Genome RNA (blat).."
|
159
|
+
start_time = Time.now
|
151
160
|
@rna_synteny.run_blat @root, @options[:outdir]
|
161
|
+
end_time = Time.now
|
162
|
+
c_time = Helper.sec2str(end_time-start_time)
|
163
|
+
print "done (#{c_time})\n"
|
152
164
|
@rna_synteny.extract_hits_dna :rna
|
153
165
|
@contig_annotations_rna = {}
|
154
166
|
@query_fasta.annotation_files[:contigs].each_with_index do |contig, contig_index|
|
@@ -168,9 +180,9 @@ class BacterialAnnotator
|
|
168
180
|
# Parse annotations to genbank files
|
169
181
|
parse_genbank_files
|
170
182
|
|
171
|
-
|
183
|
+
print "# Printing Statistics.."
|
172
184
|
print_stats "#{@options[:outdir]}"
|
173
|
-
|
185
|
+
print "done\n"
|
174
186
|
|
175
187
|
end # end of method
|
176
188
|
|
@@ -188,7 +200,7 @@ class BacterialAnnotator
|
|
188
200
|
"Prot-ExternalDB", @options[:pidentity],
|
189
201
|
@options[:pcoverage], "prot")
|
190
202
|
|
191
|
-
puts "
|
203
|
+
puts "# Running BLAT alignment with External Database.."
|
192
204
|
@externaldb_synteny.run_blat @root, @options[:outdir]
|
193
205
|
@externaldb_synteny.extract_hits :externaldb
|
194
206
|
|
@@ -237,7 +249,8 @@ class BacterialAnnotator
|
|
237
249
|
# parse all genbank files
|
238
250
|
def parse_genbank_files
|
239
251
|
|
240
|
-
|
252
|
+
print "# Parsing annotation into genbank files.."
|
253
|
+
start_time = Time.now
|
241
254
|
@contig_annotations_cds.each do |contig, contig_prots|
|
242
255
|
|
243
256
|
gbk_path = @query_fasta.annotation_files[:gbk_path]
|
@@ -265,7 +278,9 @@ class BacterialAnnotator
|
|
265
278
|
gbk_to_annotate.save_genbank_to_file gbk_path
|
266
279
|
|
267
280
|
end
|
268
|
-
|
281
|
+
end_time = Time.now
|
282
|
+
c_time = Helper.sec2str(end_time-start_time)
|
283
|
+
print "done (#{c_time})\n"
|
269
284
|
end # end of method
|
270
285
|
|
271
286
|
|
@@ -505,18 +520,21 @@ class BacterialAnnotator
|
|
505
520
|
|
506
521
|
# Iterate over each Ref protein and print syntheny
|
507
522
|
synteny_file = File.open("#{@options[:outdir]}/Prot-Synteny.tsv","w")
|
508
|
-
synteny_file.write("RefLocusTag\tRefProtID\tRefLength\tRefCoverage\tIdentity\tQueryGene\tQueryLength\tQueryCoverage\n")
|
523
|
+
synteny_file.write("RefLocusTag\tRefProtID\tRefLength\tRefCoverage\tIdentity\tQueryGene\tQueryLength\tQueryCoverage\tQueryPartial\n")
|
509
524
|
ref_annotated = {}
|
510
525
|
|
511
526
|
@prot_synteny_refgenome.query_sequences.each do |prot, syn_val|
|
512
527
|
next if ! syn_val.has_key? :homology
|
528
|
+
next if syn_val[:homology][:assert_cutoff].inject(:+) < 3
|
529
|
+
next if ref_annotated.has_key? syn_val[:homology][:hits][0] and ref_annotated[syn_val[:homology][:hits][0]][:partial] == 0
|
513
530
|
ref_annotated[syn_val[:homology][:hits][0]] = {
|
514
531
|
key: prot,
|
515
532
|
pId: syn_val[:homology][:pId],
|
516
533
|
cov_query: syn_val[:homology][:cov_query],
|
517
534
|
cov_subject: syn_val[:homology][:cov_subject],
|
518
535
|
assert_cutoff: syn_val[:homology][:assert_cutoff],
|
519
|
-
length: syn_val[:homology][:length][0]
|
536
|
+
length: syn_val[:homology][:length][0],
|
537
|
+
partial: (syn_val[:partial] ? 1 : 0)
|
520
538
|
}
|
521
539
|
end
|
522
540
|
|
@@ -539,6 +557,7 @@ class BacterialAnnotator
|
|
539
557
|
query_length = @query_fasta.annotation_files[:prot_ids_length][gene]
|
540
558
|
coverage_query = ref_annotated[ref_v[:protId]][:cov_query]
|
541
559
|
pId = ref_annotated[ref_v[:protId]][:pId]
|
560
|
+
partial = ref_annotated[ref_v[:protId]][:partial]
|
542
561
|
end
|
543
562
|
|
544
563
|
synteny_file.write(ref_v[:protId])
|
@@ -549,6 +568,7 @@ class BacterialAnnotator
|
|
549
568
|
synteny_file.write("\t"+gene)
|
550
569
|
synteny_file.write("\t"+query_length.to_s)
|
551
570
|
synteny_file.write("\t"+coverage_query.to_s)
|
571
|
+
synteny_file.write("\t"+partial.to_s)
|
552
572
|
synteny_file.write("\n")
|
553
573
|
|
554
574
|
end
|
data/lib/bacterial-comparator.rb
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
require 'bio'
|
10
10
|
require 'fileutils'
|
11
11
|
require 'parallel'
|
12
|
+
require 'helper'
|
12
13
|
|
13
14
|
class BacterialComparator
|
14
15
|
|
@@ -40,15 +41,16 @@ class BacterialComparator
|
|
40
41
|
end
|
41
42
|
|
42
43
|
def read_prot_synteny
|
43
|
-
|
44
|
+
|
45
|
+
print "# Reading genome synteny files - from genome annotations.."
|
46
|
+
start_time = Time.now
|
44
47
|
synteny = {}
|
45
48
|
@genomes_list.each do |g|
|
46
|
-
puts " #{g}/Prot-Synteny.tsv"
|
47
49
|
genome_synteny = []
|
48
50
|
file = File.open("#{g}/Prot-Synteny.tsv", "r")
|
49
51
|
l = file.gets # skip header
|
50
52
|
while l = file.gets
|
51
|
-
# AAK98805.1 spr0001 453 1.0 100.0 ABAC01000005_14 453 1.0
|
53
|
+
# AAK98805.1 spr0001 453 1.0 100.0 ABAC01000005_14 453 1.0 1|0
|
52
54
|
lA = l.chomp.split("\t")
|
53
55
|
synteny[lA[0]] = [] if ! synteny.has_key? lA[0]
|
54
56
|
synteny[lA[0]] << {ref_cov: lA[3].to_f, pId: lA[4].to_f, query_prot: lA[5], query_cov: lA[7].to_f}
|
@@ -61,7 +63,12 @@ class BacterialComparator
|
|
61
63
|
end
|
62
64
|
file.close
|
63
65
|
end
|
66
|
+
end_time = Time.now
|
67
|
+
c_time = Helper.sec2str(end_time-start_time)
|
68
|
+
print "done (#{c_time})\n"
|
69
|
+
|
64
70
|
synteny
|
71
|
+
|
65
72
|
end
|
66
73
|
|
67
74
|
def get_ref_prot
|
@@ -76,62 +83,72 @@ class BacterialComparator
|
|
76
83
|
end
|
77
84
|
|
78
85
|
|
79
|
-
|
86
|
+
# load all id => sequences from multifasta
|
87
|
+
def load_genome_cds file
|
80
88
|
|
81
|
-
|
89
|
+
proteins = {}
|
90
|
+
flatfile = Bio::FlatFile.auto(file)
|
82
91
|
flatfile.each_entry do |entry|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
92
|
+
name = entry.definition.split(" ")[0]
|
93
|
+
bioseq = Bio::Sequence.auto(entry.seq)
|
94
|
+
out = bioseq.output_fasta("#{name}",60)
|
95
|
+
proteins[name] = out
|
87
96
|
end
|
88
|
-
|
97
|
+
|
98
|
+
proteins
|
89
99
|
|
90
100
|
end
|
91
101
|
|
92
102
|
|
93
|
-
def build_multifasta
|
103
|
+
def build_multifasta synteny_list
|
94
104
|
|
95
105
|
pep_out_dir = "./#{@outdir}/align-genes-pep"
|
96
|
-
dna_out_dir = "./#{@outdir}/align-genes-dna"
|
97
106
|
|
98
|
-
|
99
|
-
|
100
|
-
pep_out = File.open(pep_out_dir+"/#{
|
101
|
-
|
102
|
-
flatfile = Bio::FlatFile.auto("#{pep_file[0]}")
|
103
|
-
pep_out.write(get_sequence_from_flatfile flatfile, ref_prot)
|
104
|
-
flatfile.close
|
105
|
-
@genomes_list.each_with_index do |g,i|
|
106
|
-
flatfile = Bio::FlatFile.auto("#{g}/Proteins.fa")
|
107
|
-
pep_out.write(get_sequence_from_flatfile flatfile, synteny[i][:query_prot])
|
108
|
-
flatfile.close
|
109
|
-
end
|
107
|
+
ref_proteins = load_genome_cds(Dir["#{@genomes_list[0]}/*.pep"][0])
|
108
|
+
synteny_list.each do |k,v|
|
109
|
+
pep_out = File.open(pep_out_dir+"/#{k}.pep", "w")
|
110
|
+
pep_out.write(ref_proteins[k])
|
110
111
|
pep_out.close
|
111
112
|
end
|
112
113
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
flatfile.close
|
121
|
-
@genomes_list.each_with_index do |g,i|
|
122
|
-
flatfile = Bio::FlatFile.auto("#{g}/Genes.fa")
|
123
|
-
dna_out.write(get_sequence_from_flatfile flatfile, synteny[i][:query_prot])
|
124
|
-
flatfile.close
|
114
|
+
@genomes_list.each_with_index do |g,i|
|
115
|
+
|
116
|
+
genome_proteins = load_genome_cds("#{g}/Proteins.fa")
|
117
|
+
synteny_list.each do |k,v|
|
118
|
+
pep_out = File.open(pep_out_dir+"/#{k}.pep", "a")
|
119
|
+
pep_out.write(genome_proteins[v[i][:query_prot]])
|
120
|
+
pep_out.close
|
125
121
|
end
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
dna_out_dir = "./#{@outdir}/align-genes-dna"
|
126
|
+
ref_genes = load_genome_cds(Dir["#{@genomes_list[0]}/*.dna"][0])
|
127
|
+
synteny_list.each do |k,v|
|
128
|
+
dna_out = File.open(dna_out_dir+"/#{k}.dna", "w")
|
129
|
+
dna_out.write(ref_genes[k])
|
126
130
|
dna_out.close
|
127
131
|
end
|
128
132
|
|
129
|
-
|
133
|
+
@genomes_list.each_with_index do |g,i|
|
134
|
+
|
135
|
+
genome_genes = load_genome_cds("#{g}/Genes.fa")
|
136
|
+
synteny_list.each do |k,v|
|
137
|
+
dna_out = File.open(dna_out_dir+"/#{k}.dna", "a")
|
138
|
+
dna_out.write(genome_genes[v[i][:query_prot]])
|
139
|
+
dna_out.close
|
140
|
+
end
|
141
|
+
|
142
|
+
end
|
130
143
|
|
144
|
+
end
|
131
145
|
|
146
|
+
# extract and dump multifasta for syntenic genes and proteins
|
132
147
|
def extract_syntenic_fasta min_cov, min_pid
|
133
148
|
|
134
|
-
|
149
|
+
print "# Extracting Proteins and Genes multifasta.."
|
150
|
+
start_time = Time.now
|
151
|
+
|
135
152
|
nb_of_syntenic = 0
|
136
153
|
stats = {}
|
137
154
|
stats[:syntenic] = []
|
@@ -141,6 +158,7 @@ class BacterialComparator
|
|
141
158
|
to_build_multifasta = []
|
142
159
|
|
143
160
|
@synteny.each do |k,v|
|
161
|
+
|
144
162
|
is_syntenic = 1
|
145
163
|
v.each do |v_|
|
146
164
|
if v_[:query_cov] == "-"
|
@@ -186,12 +204,18 @@ class BacterialComparator
|
|
186
204
|
Dir.mkdir(pep_out_dir) if ! Dir.exists? pep_out_dir
|
187
205
|
Dir.mkdir(dna_out_dir) if ! Dir.exists? dna_out_dir
|
188
206
|
|
189
|
-
|
190
|
-
|
207
|
+
synteny_list = to_build_multifasta.each_slice((to_build_multifasta.length/@proc)+1).to_a
|
208
|
+
|
209
|
+
Parallel.map(synteny_list, in_processes: @proc) { |list|
|
210
|
+
build_multifasta list
|
191
211
|
}
|
192
212
|
|
213
|
+
end_time = Time.now
|
214
|
+
c_time = Helper.sec2str(end_time-start_time)
|
215
|
+
print "done (#{c_time})\n"
|
216
|
+
|
193
217
|
stats[:nb_of_syntenic] = nb_of_syntenic
|
194
|
-
puts "Syntenic genes : " + nb_of_syntenic.to_s + " / " + @ref_prot.length.to_s
|
218
|
+
#puts " Syntenic genes : " + nb_of_syntenic.to_s + " / " + @ref_prot.length.to_s
|
195
219
|
|
196
220
|
end
|
197
221
|
|
@@ -224,7 +248,9 @@ class BacterialComparator
|
|
224
248
|
|
225
249
|
def mafft_align_all_pep
|
226
250
|
|
227
|
-
|
251
|
+
print "# Sequence alignments - conserved single proteins a.a. (MAFFT).."
|
252
|
+
start_time = Time.now
|
253
|
+
|
228
254
|
ori_dir = Dir.pwd
|
229
255
|
Dir.chdir("#{@outdir}/align-genes-pep/")
|
230
256
|
|
@@ -243,10 +269,12 @@ class BacterialComparator
|
|
243
269
|
Parallel.map(Dir["*.pep"], in_processes: @proc) { |f|
|
244
270
|
mafft_align f
|
245
271
|
}
|
246
|
-
else
|
247
|
-
puts "..Prot alignment files already exists, skipping."
|
248
272
|
end
|
249
273
|
|
274
|
+
end_time = Time.now
|
275
|
+
c_time = Helper.sec2str(end_time-start_time)
|
276
|
+
print "done (#{c_time})\n"
|
277
|
+
|
250
278
|
# FIXME ugly hack to find out the reference genome
|
251
279
|
ref_id = Dir["#{ori_dir}/#{@genomes_list[0]}/*.pep"][0].split('/')[-1].gsub(".pep","")
|
252
280
|
|
@@ -257,7 +285,10 @@ class BacterialComparator
|
|
257
285
|
end
|
258
286
|
|
259
287
|
def mafft_align_all_dna
|
260
|
-
|
288
|
+
|
289
|
+
print "# Sequence alignments - conserved single genes dna (MAFFT).."
|
290
|
+
start_time = Time.now
|
291
|
+
|
261
292
|
ori_dir = Dir.pwd
|
262
293
|
Dir.chdir("#{@outdir}/align-genes-dna/")
|
263
294
|
|
@@ -276,13 +307,15 @@ class BacterialComparator
|
|
276
307
|
Parallel.map(Dir["*.dna"], in_processes: @proc) { |f|
|
277
308
|
mafft_align f
|
278
309
|
}
|
279
|
-
else
|
280
|
-
puts "..Gene alignment files already exists, skipping."
|
281
310
|
end
|
282
311
|
|
283
312
|
# ugly hack to find out the reference genome
|
284
313
|
ref_id = Dir["#{ori_dir}/#{@genomes_list[0]}/*.pep"][0].split('/')[-1].gsub(".pep","")
|
285
314
|
|
315
|
+
end_time = Time.now
|
316
|
+
c_time = Helper.sec2str(end_time-start_time)
|
317
|
+
print "done (#{c_time})\n"
|
318
|
+
|
286
319
|
concat_alignments "align-genes-dna.all.fasta", ref_id
|
287
320
|
|
288
321
|
Dir.chdir(ori_dir)
|
@@ -355,36 +388,39 @@ class BacterialComparator
|
|
355
388
|
|
356
389
|
|
357
390
|
def raxml_tree_dna bt
|
358
|
-
|
359
|
-
|
360
|
-
puts "# RAXML DNA tree creation.. "
|
391
|
+
print "# Genes DNA tree creation (RAXML).."
|
392
|
+
start_time = Time.now
|
361
393
|
ori_dir = Dir.pwd
|
362
394
|
Dir.chdir(@outdir)
|
363
395
|
Dir.mkdir("tree-genes-dna") if ! Dir.exists?("tree-genes-dna")
|
364
396
|
current_dir = Dir.pwd
|
365
397
|
tree_dir = "#{current_dir}/tree-genes-dna"
|
366
|
-
cmd = system("#{@root}/raxml.linux -T #{@proc} -f d -N #{bt} -s align-genes-dna.all.fasta -m GTRGAMMA -p 123454321 -n DnaTree -w #{tree_dir}")
|
398
|
+
cmd = system("#{@root}/raxml.linux -T #{@proc} -f d -N #{bt} -s align-genes-dna.all.fasta -m GTRGAMMA -p 123454321 -n DnaTree -w #{tree_dir} > /dev/null 2>&1")
|
367
399
|
cmd = system("cat #{tree_dir}/RAxML_result.DnaTree.RUN.* >> #{tree_dir}/RAxML_result.BS")
|
368
|
-
cmd = system("#{@root}/raxml.linux -T #{@proc} -f b -z #{tree_dir}/RAxML_result.BS -t #{tree_dir}/RAxML_bestTree.DnaTree -m GTRGAMMA -n DNA_BS_TREE -w #{tree_dir}")
|
369
|
-
cmd = system("ln -s #{tree_dir}/RAxML_bipartitionsBranchLabels.DNA_BS_TREE #{tree_dir}/../")
|
400
|
+
cmd = system("#{@root}/raxml.linux -T #{@proc} -f b -z #{tree_dir}/RAxML_result.BS -t #{tree_dir}/RAxML_bestTree.DnaTree -m GTRGAMMA -n DNA_BS_TREE -w #{tree_dir} > /dev/null 2>&1")
|
401
|
+
cmd = system("ln -s #{tree_dir}/RAxML_bipartitionsBranchLabels.DNA_BS_TREE #{tree_dir}/../tree-genes-dna.nwk")
|
370
402
|
Dir.chdir(ori_dir)
|
403
|
+
end_time = Time.now
|
404
|
+
c_time = Helper.sec2str(end_time-start_time)
|
405
|
+
print "done (#{c_time})\n"
|
371
406
|
end
|
372
407
|
|
373
408
|
def raxml_tree_pep bt
|
374
|
-
|
375
|
-
|
376
|
-
puts "# RAXML Protein tree creation.. "
|
409
|
+
print "# Proteins AA tree creation (RAXML).."
|
410
|
+
start_time = Time.now
|
377
411
|
ori_dir = Dir.pwd
|
378
412
|
Dir.chdir(@outdir)
|
379
413
|
Dir.mkdir("tree-genes-pep") if ! Dir.exists?("tree-genes-pep")
|
380
414
|
current_dir = Dir.pwd
|
381
415
|
tree_dir = "#{current_dir}/tree-genes-pep"
|
382
|
-
cmd = system("#{@root}/raxml.linux -T #{@proc} -f d -N #{bt} -s align-genes-pep.all.fasta -m PROTGAMMAAUTO -p 123454321 -n PepTree -w #{tree_dir}")
|
416
|
+
cmd = system("#{@root}/raxml.linux -T #{@proc} -f d -N #{bt} -s align-genes-pep.all.fasta -m PROTGAMMAAUTO -p 123454321 -n PepTree -w #{tree_dir} > /dev/null 2>&1")
|
383
417
|
cmd = system("cat #{tree_dir}/RAxML_result.PepTree.RUN.* >> #{tree_dir}/RAxML_result.BS")
|
384
|
-
cmd = system("#{@root}/raxml.linux -T #{@proc} -f b -z #{tree_dir}/RAxML_result.BS -t #{tree_dir}/RAxML_bestTree.PepTree -m PROTGAMMAAUTO -n PEP_BS_TREE -w #{tree_dir}")
|
385
|
-
cmd = system("ln -s #{tree_dir}/RAxML_bipartitionsBranchLabels.PEP_BS_TREE #{tree_dir}/../")
|
418
|
+
cmd = system("#{@root}/raxml.linux -T #{@proc} -f b -z #{tree_dir}/RAxML_result.BS -t #{tree_dir}/RAxML_bestTree.PepTree -m PROTGAMMAAUTO -n PEP_BS_TREE -w #{tree_dir} > /dev/null 2>&1")
|
419
|
+
cmd = system("ln -s #{tree_dir}/RAxML_bipartitionsBranchLabels.PEP_BS_TREE #{tree_dir}/../tree-proteins-aa.nwk")
|
386
420
|
Dir.chdir(ori_dir)
|
387
|
-
|
421
|
+
end_time = Time.now
|
422
|
+
c_time = Helper.sec2str(end_time-start_time)
|
423
|
+
print "done (#{c_time})\n"
|
388
424
|
end
|
389
425
|
|
390
426
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bacterial-annotator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxime Deraspe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bio
|