bacterial-annotator 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bacterial-comparator.rb +85 -7
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f99eb1d0af75deeebcee365dfa2158a1ef43748
4
- data.tar.gz: f92b43bef4468dac030709fb69ef66b35cfc3cf5
3
+ metadata.gz: 6a97539de7b1dff0da1ac8edaef6e0e10949c74e
4
+ data.tar.gz: 09fa573de375d54339adf3a8800318a49c059ba5
5
5
  SHA512:
6
- metadata.gz: 481a9091d8b9140b44d6631ee6fc8a51383d607590f6ed8dc298786423155c0512e0b7512573c28620edaaf1f2482b3b2ff519441c7bf99a86a46fa38dd75dad
7
- data.tar.gz: 19dcde7f8065abb211920c2039b810987f9d965abd9cbf97f2bf44ecb20c78823c13b8f9dacf845fb3e9c089d61563926618dd7562919b12ab15efbdabb1b5f2
6
+ metadata.gz: 608daa4501f95457e6d412fdc43d0672e74acd4ecf91186ea57da00614033e569688ca2d6a82f89f4266bc62da2ca20d7703a9ace0d04f131de57025c93a7685
7
+ data.tar.gz: 6ac5946ce49c23bfeb0d32dbc38c41516df960ab73af5f6a1a99689a08f7076ecffb2e361cf4f087d11dd1dcb74858ab35c84aaac687d9a8b28112eee765c05e
@@ -23,6 +23,7 @@ class BacterialComparator
23
23
  Dir.mkdir(@outdir) if ! Dir.exists? @outdir
24
24
  @genomes_list = options[:genomes_list]
25
25
  @proc = options[:proc].to_i
26
+ @phylo_nb_genes = options[:phylo_nb_genes]
26
27
 
27
28
  min_cov = options[:min_cov].to_f
28
29
  min_pid = options[:pidentity].to_f
@@ -199,25 +200,102 @@ class BacterialComparator
199
200
 
200
201
  end
201
202
 
203
+
202
204
  def mafft_align_all_pep
203
205
  puts "# MAFFT multialign all protein sequences.."
204
206
  Dir.chdir("#{@outdir}/genes-align-pep/")
205
- Parallel.map(Dir["*.pep"], in_processes: @proc) { |f|
206
- mafft_align f
207
- }
207
+
208
+ is_done = 1
209
+ if Dir["*.pep"].length == Dir["*.aln"].length
210
+ Dir["*.aln"].each do |a|
211
+ if File.size(a) == 0
212
+ is_done = 0
213
+ end
214
+ end
215
+ else
216
+ is_done = 0
217
+ end
218
+
219
+ if is_done==0
220
+ Parallel.map(Dir["*.pep"], in_processes: @proc) { |f|
221
+ mafft_align f
222
+ }
223
+ end
224
+
225
+ concat_alignments "genes-align-pep.concat.fasta"
208
226
  Dir.chdir("../../")
227
+
209
228
  end
210
229
 
211
230
  def mafft_align_all_dna
212
231
  puts "# MAFFT multialign all gene sequences.."
213
- puts "# MAFFT multialign all protein sequences.."
214
232
  Dir.chdir("#{@outdir}/genes-align-dna/")
215
- Parallel.map(Dir["*.dna"], in_processes: @proc) { |f|
216
- mafft_align f
217
- }
233
+
234
+ is_done = 1
235
+ if Dir["*.dna"].length == Dir["*.aln"].length
236
+ Dir["*.aln"].each do |a|
237
+ if File.size(a) == 0
238
+ is_done = 0
239
+ end
240
+ end
241
+ else
242
+ is_done = 0
243
+ end
244
+
245
+ if is_done == 0
246
+ Parallel.map(Dir["*.dna"], in_processes: @proc) { |f|
247
+ mafft_align f
248
+ }
249
+ end
250
+
251
+ concat_alignments "genes-align-dna.concat.fasta"
218
252
  Dir.chdir("../../")
253
+
219
254
  end
220
255
 
221
256
 
257
+ def concat_alignments outfile
258
+
259
+ fout = File.open("../#{outfile}", "w")
260
+
261
+ ref_id = Dir["../../#{@genomes_list[0]}/*.pep"][0].gsub(/.*\//,"").gsub(".pep","")
262
+
263
+ seq = ""
264
+ Dir["*.aln"].each do |f|
265
+ flat = Bio::FlatFile.auto(f)
266
+ ref_seq = flat.entries[0]
267
+ seq += ref_seq.seq
268
+ end
269
+
270
+ bioseq = Bio::Sequence.auto(seq)
271
+ out = bioseq.output_fasta("#{ref_id}",60)
272
+ fout.write(out)
273
+
274
+ for i in 1..@genomes_list.length
275
+ seq = ""
276
+ Dir["*.aln"].each do |f|
277
+ flat = Bio::FlatFile.auto(f)
278
+ j=0
279
+ flat.each_entry do |entry|
280
+ if j<i
281
+ j+=1
282
+ next
283
+ elsif i == j
284
+ seq += entry.seq
285
+ j+=1
286
+ else
287
+ break
288
+ end
289
+ end
290
+ end
291
+ bioseq = Bio::Sequence.auto(seq)
292
+ out = bioseq.output_fasta("#{@genomes_list[i-1]}",60)
293
+ fout.write(out)
294
+ end
295
+
296
+ fout.close
297
+
298
+ end
299
+
222
300
 
223
301
  end # end of Class
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.3.2
4
+ version: 0.3.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: 2016-10-01 00:00:00.000000000 Z
11
+ date: 2016-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bio