viral_seq 1.2.5 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -1
  3. data/bin/tcs +56 -60
  4. data/lib/viral_seq/version.rb +2 -2
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5fef5f765c741aa14885673a2f980726956ae341a39926929d10ac0c7b4a6ece
4
- data.tar.gz: d1e0cb4b691d4aff657209f5f87f02653421dc1bf9ba6dd4f87e43320ad143d5
3
+ metadata.gz: aee2536198f5579951f7c5f5f1b97ed27fb0bf5459e6dbfe79137a030951d443
4
+ data.tar.gz: 9ab9b69adf228d3429e02e5d47674ce0a0d137fa6231d940ef8d6cc9abfa1cdf
5
5
  SHA512:
6
- metadata.gz: 98b18297e15a5fb0eff8706029dcfdecdc5c39df28b6ae3ea8fe5b7611f63f91276f7ed5e459a478b1af25ec25662804290decc923b1c52f946a184d197807be
7
- data.tar.gz: 7e359a05ff783971beced635cb2d913c4a9b418391425eba5ce9344b0137b989ea007d1ed5dc07a677a1775d9c73055aad552e971a89ca2207156db5233b243f
6
+ metadata.gz: d9b5def3e29f819b6d83902676e80fa2d81531cb44132942244125f6b63110d66389e7f9c61d6e9ea3d80ece57d22d95d5c3948c3f7f71d48835b2714794ffe0
7
+ data.tar.gz: 44b996d9caf9029f2ef522d9058410cdc3b4ec253ccc7bacca5d9ecf66f487624b0b6d18c960b6c7a0af7bfcd2bc72c8c02df59d3c4c7834ab80d4a9eed2a424
data/README.md CHANGED
@@ -179,11 +179,17 @@ qc_seqhash.sdrm_hiv_pr(cut_off)
179
179
 
180
180
  ## Updates
181
181
 
182
+ ### Version 1.2.6-07122021
183
+
184
+ 1. Optimized the workflow of the `tcs` pipeline in the "end-join/QC/Trimming" section.
185
+ `tcs` version to v2.3.5.
186
+
187
+
182
188
  ### Version 1.2.5-06232021
183
189
 
184
190
  1. Add error rescue and report in the `tcs` pipeline.
185
191
  error messages are stored in the .tcs_error file. `tcs` pipeline updated to v2.3.4.
186
- 2. Use simple majority for the consensus cut-off in the default setting of the `tcs -dr` pipeline.
192
+ 2. Use simple majority for the consensus cut-off in the default setting of the `tcs -dr` pipeline.
187
193
 
188
194
  ### Version 1.2.2-05272021
189
195
 
data/bin/tcs CHANGED
@@ -137,7 +137,7 @@ begin
137
137
  end
138
138
 
139
139
  primers = params[:primer_pairs]
140
- if primers.empty?
140
+ if primers.empty? or primers.nil?
141
141
  ViralSeq::TcsCore.log_and_abort log, "No primer information. Script terminated."
142
142
  end
143
143
 
@@ -415,71 +415,65 @@ begin
415
415
  joined_sh_raw = end_join(out_dir_raw, primer[:end_join_option], primer[:overlap])
416
416
  end
417
417
 
418
- else
419
- File.open(outfile_log, "w") do |f|
420
- f.puts JSON.pretty_generate(summary_json)
421
- end
422
- next
423
- end
424
-
425
- if primer[:TCS_QC]
426
- ref_start = primer[:ref_start]
427
- ref_end = primer[:ref_end]
428
- ref_genome = primer[:ref_genome].to_sym
429
- indel = primer[:indel]
430
- if ref_start == 0
431
- ref_start = 0..(ViralSeq::RefSeq.get(ref_genome).size - 1)
432
- end
433
- if ref_end == 0
434
- ref_end = 0..(ViralSeq::RefSeq.get(ref_genome).size - 1)
435
- end
436
- if primer[:end_join_option] == 1 and primer[:overlap] == 0
437
- r1_sh = ViralSeq::SeqHash.fa(outfile_r1)
438
- r2_sh = ViralSeq::SeqHash.fa(outfile_r2)
439
- r1_sh = r1_sh.hiv_seq_qc(ref_start, (0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), indel, ref_genome)
440
- r2_sh = r2_sh.hiv_seq_qc((0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), ref_end, indel, ref_genome)
441
- new_r1_seq = r1_sh.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
442
- new_r2_seq = r2_sh.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
443
- joined_seq = {}
444
- new_r1_seq.each do |seq_name, seq|
445
- next unless seq
446
- next unless new_r2_seq[seq_name]
447
- joined_seq[seq_name] = seq + new_r2_seq[seq_name]
418
+ if primer[:TCS_QC]
419
+ ref_start = primer[:ref_start]
420
+ ref_end = primer[:ref_end]
421
+ ref_genome = primer[:ref_genome].to_sym
422
+ indel = primer[:indel]
423
+ if ref_start == 0
424
+ ref_start = 0..(ViralSeq::RefSeq.get(ref_genome).size - 1)
425
+ end
426
+ if ref_end == 0
427
+ ref_end = 0..(ViralSeq::RefSeq.get(ref_genome).size - 1)
448
428
  end
449
- joined_sh = ViralSeq::SeqHash.new(joined_seq)
450
-
451
- if export_raw
452
- r1_sh_raw = ViralSeq::SeqHash.fa(outfile_raw_r1)
453
- r2_sh_raw = ViralSeq::SeqHash.fa(outfile_raw_r2)
454
- r1_sh_raw = r1_sh_raw.hiv_seq_qc(ref_start, (0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), indel, ref_genome)
455
- r2_sh_raw = r2_sh_raw.hiv_seq_qc((0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), ref_end, indel, ref_genome)
456
- new_r1_seq_raw = r1_sh_raw.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
457
- new_r2_seq_raw = r2_sh_raw.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
458
- joined_seq_raw = {}
459
- new_r1_seq_raw.each do |seq_name, seq|
429
+ if primer[:end_join_option] == 1 and primer[:overlap] == 0
430
+ r1_sh = ViralSeq::SeqHash.fa(outfile_r1)
431
+ r2_sh = ViralSeq::SeqHash.fa(outfile_r2)
432
+ r1_sh = r1_sh.hiv_seq_qc(ref_start, (0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), indel, ref_genome)
433
+ r2_sh = r2_sh.hiv_seq_qc((0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), ref_end, indel, ref_genome)
434
+ new_r1_seq = r1_sh.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
435
+ new_r2_seq = r2_sh.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
436
+ joined_seq = {}
437
+ new_r1_seq.each do |seq_name, seq|
460
438
  next unless seq
461
- next unless new_r2_seq_raw[seq_name]
462
- joined_seq_raw[seq_name] = seq + new_r2_seq_raw[seq_name]
439
+ next unless new_r2_seq[seq_name]
440
+ joined_seq[seq_name] = seq + new_r2_seq[seq_name]
463
441
  end
464
- joined_sh_raw = ViralSeq::SeqHash.new(joined_seq_raw)
465
- end
466
- else
467
- joined_sh = joined_sh.hiv_seq_qc(ref_start, ref_end, indel, ref_genome)
442
+ joined_sh = ViralSeq::SeqHash.new(joined_seq)
443
+
444
+ if export_raw
445
+ r1_sh_raw = ViralSeq::SeqHash.fa(outfile_raw_r1)
446
+ r2_sh_raw = ViralSeq::SeqHash.fa(outfile_raw_r2)
447
+ r1_sh_raw = r1_sh_raw.hiv_seq_qc(ref_start, (0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), indel, ref_genome)
448
+ r2_sh_raw = r2_sh_raw.hiv_seq_qc((0..(ViralSeq::RefSeq.get(ref_genome).size - 1)), ref_end, indel, ref_genome)
449
+ new_r1_seq_raw = r1_sh_raw.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
450
+ new_r2_seq_raw = r2_sh_raw.dna_hash.each_with_object({}) {|(k, v), h| h[k[0..-4]] = v}
451
+ joined_seq_raw = {}
452
+ new_r1_seq_raw.each do |seq_name, seq|
453
+ next unless seq
454
+ next unless new_r2_seq_raw[seq_name]
455
+ joined_seq_raw[seq_name] = seq + new_r2_seq_raw[seq_name]
456
+ end
457
+ joined_sh_raw = ViralSeq::SeqHash.new(joined_seq_raw)
458
+ end
459
+ else
460
+ joined_sh = joined_sh.hiv_seq_qc(ref_start, ref_end, indel, ref_genome)
468
461
 
469
- if export_raw
470
- joined_sh_raw = joined_sh_raw.hiv_seq_qc(ref_start, ref_end, indel, ref_genome)
462
+ if export_raw
463
+ joined_sh_raw = joined_sh_raw.hiv_seq_qc(ref_start, ref_end, indel, ref_genome)
464
+ end
471
465
  end
472
- end
473
466
 
474
- log.puts Time.now.to_s + "\t" + "Paired TCS number after QC based on reference genome: " + joined_sh.size.to_s
475
- summary_json[:combined_tcs_after_qc] = joined_sh.size
476
- if primer[:trim]
477
- trim_start = primer[:trim_ref_start]
478
- trim_end = primer[:trim_ref_end]
479
- trim_ref = primer[:trim_ref].to_sym
480
- joined_sh = joined_sh.trim(trim_start, trim_end, trim_ref)
481
- if export_raw
482
- joined_sh_raw = joined_sh_raw.trim(trim_start, trim_end, trim_ref)
467
+ log.puts Time.now.to_s + "\t" + "Paired TCS number after QC based on reference genome: " + joined_sh.size.to_s
468
+ summary_json[:combined_tcs_after_qc] = joined_sh.size
469
+ if primer[:trim]
470
+ trim_start = primer[:trim_ref_start]
471
+ trim_end = primer[:trim_ref_end]
472
+ trim_ref = primer[:trim_ref].to_sym
473
+ joined_sh = joined_sh.trim(trim_start, trim_end, trim_ref)
474
+ if export_raw
475
+ joined_sh_raw = joined_sh_raw.trim(trim_start, trim_end, trim_ref)
476
+ end
483
477
  end
484
478
  end
485
479
 
@@ -487,11 +481,13 @@ begin
487
481
  if export_raw
488
482
  joined_sh_raw.write_nt_fa(File.join(out_dir_raw, "combined.raw.fasta"))
489
483
  end
484
+
490
485
  end
491
486
 
492
487
  File.open(outfile_log, "w") do |f|
493
488
  f.puts JSON.pretty_generate(summary_json)
494
489
  end
490
+
495
491
  end
496
492
 
497
493
  unless options[:keep]
@@ -2,6 +2,6 @@
2
2
  # version info and histroy
3
3
 
4
4
  module ViralSeq
5
- VERSION = "1.2.5"
6
- TCS_VERSION = "2.3.4"
5
+ VERSION = "1.2.6"
6
+ TCS_VERSION = "2.3.5"
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: viral_seq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shuntai Zhou
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-06-23 00:00:00.000000000 Z
12
+ date: 2021-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler