viral_seq 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +16 -3
- data/README.md +6 -0
- data/bin/tcs +17 -4
- data/lib/viral_seq.rb +3 -0
- data/lib/viral_seq/constant.rb +35 -5
- data/lib/viral_seq/hivdr.rb +1 -1
- data/lib/viral_seq/muscle.rb +3 -2
- data/lib/viral_seq/sdrm.rb +101 -35
- data/lib/viral_seq/sequence.rb +1 -84
- data/lib/viral_seq/tcs_dr.rb +1 -1
- data/lib/viral_seq/version.rb +2 -2
- data/viral_seq.gemspec +11 -0
- metadata +64 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '093a8d1d70e251b0748b7035c829eb512991437ffa78fd67387318412e54acf5'
|
4
|
+
data.tar.gz: 1b9d6f6b2cb2ffa8d9cc588b8df096e7ac3840c694bfb241fcf970b738899328
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3853dbfa3f6604d907ec3d77b8c86ec8d885fedcc854c40ca6822ec72e8b2cfe9413bc188aa722a14e4e4f6c9503eca1b36d7f8e0963a5a997c9f0ca8b54fc86
|
7
|
+
data.tar.gz: e5b056cddcf7b87cc30e52c878879cea82d865ea7fc867535767918c30c699d58d6f426518aad02be49916c49f38d9603b0ab27ca6f3625f7a5102ae86863023
|
data/Gemfile.lock
CHANGED
@@ -1,16 +1,27 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
viral_seq (1.
|
5
|
-
colorize (
|
6
|
-
|
4
|
+
viral_seq (1.1.1)
|
5
|
+
colorize (>= 0.1)
|
6
|
+
combine_pdf (>= 1.0.0)
|
7
|
+
muscle_bio (>= 0.4)
|
8
|
+
prawn (>= 2.3.0)
|
9
|
+
prawn-table (>= 0.2.0)
|
7
10
|
|
8
11
|
GEM
|
9
12
|
remote: https://rubygems.org/
|
10
13
|
specs:
|
11
14
|
colorize (0.8.1)
|
15
|
+
combine_pdf (1.0.21)
|
16
|
+
ruby-rc4 (>= 0.1.5)
|
12
17
|
diff-lcs (1.3)
|
13
18
|
muscle_bio (0.4.0)
|
19
|
+
pdf-core (0.9.0)
|
20
|
+
prawn (2.4.0)
|
21
|
+
pdf-core (~> 0.9.0)
|
22
|
+
ttfunk (~> 1.7)
|
23
|
+
prawn-table (0.2.2)
|
24
|
+
prawn (>= 1.3.0, < 3.0.0)
|
14
25
|
rake (13.0.1)
|
15
26
|
rspec (3.8.0)
|
16
27
|
rspec-core (~> 3.8.0)
|
@@ -25,6 +36,8 @@ GEM
|
|
25
36
|
diff-lcs (>= 1.2.0, < 2.0)
|
26
37
|
rspec-support (~> 3.8.0)
|
27
38
|
rspec-support (3.8.0)
|
39
|
+
ruby-rc4 (0.1.5)
|
40
|
+
ttfunk (1.7.0)
|
28
41
|
|
29
42
|
PLATFORMS
|
30
43
|
ruby
|
data/README.md
CHANGED
@@ -137,6 +137,12 @@ qc_seqhash.sdrm_hiv_pr(cut_off)
|
|
137
137
|
|
138
138
|
## Updates
|
139
139
|
|
140
|
+
### Version 1.1.2-04262021
|
141
|
+
|
142
|
+
1. Added function `ViralSeq::DRMs.sdrm_json` to export SDRM as json object.
|
143
|
+
2. Added a random string to the temp file names for `muscle_bio` to avoid issues when running scripts in parallel.
|
144
|
+
3. Added `--keep-original` flag to the `tcs` pipeline.
|
145
|
+
|
140
146
|
### Version 1.1.1-04012021
|
141
147
|
|
142
148
|
1. Added warning when paired_raw_sequence less than 0.1% of total_raw_sequence.
|
data/bin/tcs
CHANGED
@@ -59,6 +59,10 @@ OptionParser.new do |opts|
|
|
59
59
|
exit
|
60
60
|
end
|
61
61
|
|
62
|
+
opts.on("--keep-original", "keep raw sequence files") do
|
63
|
+
options[:keep] = true
|
64
|
+
end
|
65
|
+
|
62
66
|
opts.on("-v", "--version", "Version info") do
|
63
67
|
puts "tcs version: " + ViralSeq::TCS_VERSION.red.bold
|
64
68
|
puts "viral_seq version: " + ViralSeq::VERSION.red.bold
|
@@ -155,6 +159,7 @@ primers.each do |primer|
|
|
155
159
|
forward_primer = primer[:forward]
|
156
160
|
|
157
161
|
export_raw = primer[:export_raw]
|
162
|
+
limit_raw = primer[:limit_raw]
|
158
163
|
|
159
164
|
unless cdna_primer
|
160
165
|
log.puts Time.now.to_s + "\t" + region + " does not have cDNA primer sequence. #{region} skipped."
|
@@ -261,7 +266,13 @@ primers.each do |primer|
|
|
261
266
|
raw_r1_f = File.open(outfile_raw_r1, 'w')
|
262
267
|
raw_r2_f = File.open(outfile_raw_r2, 'w')
|
263
268
|
|
264
|
-
|
269
|
+
if limit_raw
|
270
|
+
raw_keys = bio_r1.keys.sample(limit_raw.to_i)
|
271
|
+
else
|
272
|
+
raw_keys = bio_r1.keys
|
273
|
+
end
|
274
|
+
|
275
|
+
raw_keys.each do |k|
|
265
276
|
raw_r1_f.puts k + "_r1"
|
266
277
|
raw_r2_f.puts k + "_r2"
|
267
278
|
raw_r1_f.puts bio_r1[k]
|
@@ -474,9 +485,11 @@ primers.each do |primer|
|
|
474
485
|
end
|
475
486
|
end
|
476
487
|
|
477
|
-
|
478
|
-
|
479
|
-
File.unlink(
|
488
|
+
unless options[:keep]
|
489
|
+
log.puts Time.now.to_s + "\t" + "Removing raw sequence files..."
|
490
|
+
File.unlink(r1_f)
|
491
|
+
File.unlink(r2_f)
|
492
|
+
end
|
480
493
|
log.puts Time.now.to_s + "\t" + "TCS pipeline successfuly exercuted."
|
481
494
|
log.close
|
482
495
|
puts "DONE!"
|
data/lib/viral_seq.rb
CHANGED
@@ -38,5 +38,8 @@ require_relative "viral_seq/version"
|
|
38
38
|
require_relative "viral_seq/tcs_core"
|
39
39
|
require_relative "viral_seq/tcs_json"
|
40
40
|
require_relative "viral_seq/tcs_dr"
|
41
|
+
require_relative "viral_seq/sdrm"
|
41
42
|
|
42
43
|
require "muscle_bio"
|
44
|
+
require "json"
|
45
|
+
require "securerandom"
|
data/lib/viral_seq/constant.rb
CHANGED
@@ -1,11 +1,41 @@
|
|
1
1
|
module ViralSeq
|
2
2
|
|
3
3
|
# array for all amino acid one letter abbreviations
|
4
|
-
|
5
4
|
AMINO_ACID_LIST = ["A", "C", "D", "E", "F", "G", "H", "I", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "Y", "*"]
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
# R script for tcs_sdrm script
|
7
|
+
|
8
|
+
R_SCRIPT = 'setwd("PATH_TO_FASTA")
|
9
|
+
library(phangorn)
|
10
|
+
library(ape)
|
11
|
+
library(ggplot2)
|
12
|
+
library(scales)
|
13
|
+
library(ggforce)
|
14
|
+
library(cowplot)
|
15
|
+
library(magrittr)
|
16
|
+
library(gridExtra)
|
17
|
+
pdf("OUTPUT_PDF", onefile=T, width=11, height=8.5)
|
18
|
+
fileNames <- list.files()
|
19
|
+
for (fileName in fileNames) {
|
20
|
+
dna <- read.dna(fileName, format="fasta")
|
21
|
+
class(dna)
|
22
|
+
D<- dist.dna(dna, model="raw")
|
23
|
+
pi <- mean(D)
|
24
|
+
dist20 <- quantile(D, prob=c(0.20))
|
25
|
+
alldist <- data.frame(File=fileName, pi, dist20)
|
26
|
+
write.table(alldist,"OUTPUT_CSV",append=TRUE, sep = ",", row.names = FALSE, col.names=FALSE)
|
27
|
+
D2 <- dist.dna(dna, model="TN93")*100
|
28
|
+
def.par <- par(no.readonly = TRUE)
|
29
|
+
par(mfrow=c(1,2))
|
30
|
+
hist<-hist(D, main=fileName, xlab="% Pairwise Distance", ylab="Frequency", col="gray")
|
31
|
+
abline(v=dist20, col="royalblue",lwd=2)
|
32
|
+
abline(v=pi, col="red", lwd=2)
|
33
|
+
legend(x="topright", c("dist20", "pi"), col = c("royalblue", "red"), lwd = c(2,2), cex=0.5)
|
34
|
+
njtree<-NJ(D2)
|
35
|
+
njtreeplot <- plot(njtree, show.tip.label=F, "unrooted", main=fileName)
|
36
|
+
add.scale.bar(cex=0.7, font=2, col="red")
|
37
|
+
}
|
38
|
+
dev.off()'
|
39
|
+
|
40
|
+
|
11
41
|
end
|
data/lib/viral_seq/hivdr.rb
CHANGED
data/lib/viral_seq/muscle.rb
CHANGED
@@ -39,8 +39,9 @@ module ViralSeq
|
|
39
39
|
|
40
40
|
def self.align(ref_seq = "", test_seq = "", path_to_muscle = false)
|
41
41
|
temp_dir = Dir.home
|
42
|
-
|
43
|
-
|
42
|
+
temp_name = "_" + SecureRandom.alphanumeric
|
43
|
+
temp_file = File.join(temp_dir, temp_name)
|
44
|
+
temp_aln = File.join(temp_dir, (temp_name + "_aln"))
|
44
45
|
name = ">test"
|
45
46
|
temp_in = File.open(temp_file,"w")
|
46
47
|
temp_in.puts ">ref"
|
data/lib/viral_seq/sdrm.rb
CHANGED
@@ -1,43 +1,109 @@
|
|
1
1
|
module ViralSeq
|
2
2
|
class DRMs
|
3
|
-
|
4
|
-
@mutation_list = mutation_list
|
5
|
-
end
|
6
|
-
|
7
|
-
attr_accessor :mutation_list
|
8
|
-
end
|
3
|
+
class << self
|
9
4
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
5
|
+
# function to retrieve sdrm positions as a hash
|
6
|
+
# @param ref_option [Symbol], name of reference genomes, options are `:hiv_pr`, `:hiv_rt`, `:hiv_in`, `hcv_ns5a`
|
7
|
+
# @return [Hash] Hash of :position_number => [ 'wildtype_codon', ['mutation_codons']]
|
8
|
+
def sdrm_hash(options)
|
9
|
+
sdrm = {}
|
10
|
+
case options
|
11
|
+
when :hcv_ns5a
|
12
|
+
sdrm[28] = ['M',['T']]
|
13
|
+
sdrm[30] = ['L',['H','K','R','Q','A','S','D']]
|
14
|
+
sdrm[31] = ['L',['M','V','F']]
|
15
|
+
sdrm[32] = ['P',['L']]
|
16
|
+
sdrm[44] = ['K',['R']]
|
17
|
+
sdrm[58] = ['H',['D','P','S']]
|
18
|
+
sdrm[64] = ['T',['A','S']]
|
19
|
+
sdrm[77] = ['P',['A','S']]
|
20
|
+
sdrm[78] = ['R',['K']]
|
21
|
+
sdrm[79] = ['T',['A']]
|
22
|
+
sdrm[83] = ['T',['M']]
|
23
|
+
sdrm[85] = ['S',['N','H','Y']]
|
24
|
+
sdrm[92] = ['A',['P','T','K','E']]
|
25
|
+
sdrm[93] = ['Y',['C','F','H','N']]
|
26
|
+
sdrm[107] = ['K',['T','S']]
|
27
|
+
sdrm[121] = ['I',['V']]
|
28
|
+
sdrm[135] = ['T',['A']]
|
29
|
+
when :nrti
|
30
|
+
sdrm[41] = ['M',['L']]
|
31
|
+
sdrm[65] = ['K',['R']]
|
32
|
+
sdrm[67] = ['D',['N','G','E']]
|
33
|
+
sdrm[69] = ['T',['D']]
|
34
|
+
sdrm[70] = ['K',['R','E']]
|
35
|
+
sdrm[74] = ['L',['V','I']]
|
36
|
+
sdrm[75] = ['V',['M','T','A','S']]
|
37
|
+
sdrm[77] = ['F',['L']]
|
38
|
+
sdrm[115] = ['Y',['F']]
|
39
|
+
sdrm[116] = ['F',['Y']]
|
40
|
+
sdrm[151] = ['Q',['M']]
|
41
|
+
sdrm[184] = ['M',['V','I']]
|
42
|
+
sdrm[210] = ['L',['W']]
|
43
|
+
sdrm[215] = ["T",["Y","F","I","C","D","V","E"]]
|
44
|
+
sdrm[219] = ["K",["Q","E","N","R"]]
|
45
|
+
when :nnrti
|
46
|
+
sdrm[100] = ['L',['I']]
|
47
|
+
sdrm[101] = ['K',['E','P']]
|
48
|
+
sdrm[103] = ['K',['N','S']]
|
49
|
+
sdrm[106] = ['V',['M','A']]
|
50
|
+
sdrm[179] = ['V',['F','D']]
|
51
|
+
sdrm[181] = ['Y',['C','I','V']]
|
52
|
+
sdrm[188] = ['Y',['L','H','C']]
|
53
|
+
sdrm[190] = ['G',['A','S','E']]
|
54
|
+
sdrm[225] = ['P',['H']]
|
55
|
+
sdrm[230] = ['M',['L']]
|
56
|
+
when :hiv_pr
|
57
|
+
sdrm[23] = ['L',['I']]
|
58
|
+
sdrm[24] = ['L',['I']]
|
59
|
+
sdrm[30] = ['D',['N']]
|
60
|
+
sdrm[32] = ['V',['I']]
|
61
|
+
sdrm[46] = ['M',['I','L']]
|
62
|
+
sdrm[47] = ['I',['V','A']]
|
63
|
+
sdrm[48] = ['G',['V','M']]
|
64
|
+
sdrm[50] = ['I',['V','L']]
|
65
|
+
sdrm[53] = ['F',['L']]
|
66
|
+
sdrm[54] = ['I',['V','L','M','T','A','S']]
|
67
|
+
sdrm[73] = ['G',['S','T','C','A']]
|
68
|
+
sdrm[76] = ['L',['V']]
|
69
|
+
sdrm[82] = ['V',['A','T','S','F','L','C','M']]
|
70
|
+
sdrm[83] = ['N',['D']]
|
71
|
+
sdrm[84] = ['I',['V','A','C']]
|
72
|
+
sdrm[88] = ['N',['D','S']]
|
73
|
+
sdrm[90] = ['L',['M']]
|
74
|
+
when :hiv_in
|
75
|
+
sdrm[66] = ['T',['A','I','K']]
|
76
|
+
sdrm[74] = ['L',['M']]
|
77
|
+
sdrm[92] = ['E',['Q']]
|
78
|
+
sdrm[95] = ['Q',['K']]
|
79
|
+
sdrm[97] = ['T',['A']]
|
80
|
+
sdrm[121] = ['F',['Y']]
|
81
|
+
sdrm[140] = ['G',['A','S','C']]
|
82
|
+
sdrm[143] = ["Y",["C","H","R"]]
|
83
|
+
sdrm[147] = ['S',['G']]
|
84
|
+
sdrm[148] = ['Q',['H','K','R']]
|
85
|
+
sdrm[155] = ['N',['S','H']]
|
86
|
+
else raise "Input option `#{options}` for ViralSeq::Sequence.sdrm not supported"
|
87
|
+
end
|
88
|
+
return sdrm
|
89
|
+
end # end of #sdrm_hash
|
15
90
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
def self.list_from_json(file)
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.list_from_csv(file)
|
23
|
-
end
|
24
|
-
|
25
|
-
def self.export_list_hiv_pr(file, format = :json)
|
26
|
-
if foramt == :json
|
91
|
+
# function to export SDRM positions as json object
|
92
|
+
# @param (see #sdrm_hash)
|
93
|
+
# @return [String] json String of SDRM positions
|
27
94
|
|
95
|
+
def sdrm_json(options)
|
96
|
+
sdrm = ViralSeq::DRMs.sdrm_hash(options)
|
97
|
+
json_array = []
|
98
|
+
sdrm.each do |pos, muts|
|
99
|
+
mutation = {}
|
100
|
+
mutation[:position] = pos
|
101
|
+
mutation[:wildtypeCodon] = muts[0]
|
102
|
+
mutation[:mutationCodons] = muts[1]
|
103
|
+
json_array << mutation
|
104
|
+
end
|
105
|
+
JSON.pretty_generate(json_array)
|
106
|
+
end
|
28
107
|
end
|
29
108
|
end
|
30
|
-
|
31
|
-
def self.export_list_hiv_rt(file, format = :json)
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.export_list_hiv_in(file, format = :json)
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
def drm_analysis(seq_hash)
|
40
|
-
mutation_list = self.mutation_list
|
41
|
-
|
42
|
-
end
|
43
109
|
end
|
data/lib/viral_seq/sequence.rb
CHANGED
@@ -113,7 +113,7 @@ module ViralSeq
|
|
113
113
|
def sdrm(option, start_aa = 1)
|
114
114
|
aa_array = self.aa_array
|
115
115
|
out_hash = {}
|
116
|
-
sdrm = sdrm_hash(option)
|
116
|
+
sdrm = ViralSeq::DRMs.sdrm_hash(option)
|
117
117
|
aa_length = aa_array.size
|
118
118
|
end_aa = start_aa + aa_length - 1
|
119
119
|
(start_aa..end_aa).each do |position|
|
@@ -535,88 +535,5 @@ module ViralSeq
|
|
535
535
|
return aa_out
|
536
536
|
end # end of #amino_acid_2
|
537
537
|
|
538
|
-
# sdrm position hash
|
539
|
-
def sdrm_hash(options)
|
540
|
-
sdrm = {}
|
541
|
-
case options
|
542
|
-
when :hcv_ns5a
|
543
|
-
sdrm[28] = ['M',['T']]
|
544
|
-
sdrm[30] = ['L',['H','K','R','Q','A','S','D']]
|
545
|
-
sdrm[31] = ['L',['M','V','F']]
|
546
|
-
sdrm[32] = ['P',['L']]
|
547
|
-
sdrm[44] = ['K',['R']]
|
548
|
-
sdrm[58] = ['H',['D','P','S']]
|
549
|
-
sdrm[64] = ['T',['A','S']]
|
550
|
-
sdrm[77] = ['P',['A','S']]
|
551
|
-
sdrm[78] = ['R',['K']]
|
552
|
-
sdrm[79] = ['T',['A']]
|
553
|
-
sdrm[83] = ['T',['M']]
|
554
|
-
sdrm[85] = ['S',['N','H','Y']]
|
555
|
-
sdrm[92] = ['A',['P','T','K','E']]
|
556
|
-
sdrm[93] = ['Y',['C','F','H','N']]
|
557
|
-
sdrm[107] = ['K',['T','S']]
|
558
|
-
sdrm[121] = ['I',['V']]
|
559
|
-
sdrm[135] = ['T',['A']]
|
560
|
-
when :nrti
|
561
|
-
sdrm[41] = ['M',['L']]
|
562
|
-
sdrm[65] = ['K',['R']]
|
563
|
-
sdrm[67] = ['D',['N','G','E']]
|
564
|
-
sdrm[69] = ['T',['D']]
|
565
|
-
sdrm[70] = ['K',['R','E']]
|
566
|
-
sdrm[74] = ['L',['V','I']]
|
567
|
-
sdrm[75] = ['V',['M','T','A','S']]
|
568
|
-
sdrm[77] = ['F',['L']]
|
569
|
-
sdrm[115] = ['Y',['F']]
|
570
|
-
sdrm[116] = ['F',['Y']]
|
571
|
-
sdrm[151] = ['Q',['M']]
|
572
|
-
sdrm[184] = ['M',['V','I']]
|
573
|
-
sdrm[210] = ['L',['W']]
|
574
|
-
sdrm[215] = ["T",["Y","F","I","C","D","V","E"]]
|
575
|
-
sdrm[219] = ["K",["Q","E","N","R"]]
|
576
|
-
when :nnrti
|
577
|
-
sdrm[100] = ['L',['I']]
|
578
|
-
sdrm[101] = ['K',['E','P']]
|
579
|
-
sdrm[103] = ['K',['N','S']]
|
580
|
-
sdrm[106] = ['V',['M','A']]
|
581
|
-
sdrm[179] = ['V',['F','D']]
|
582
|
-
sdrm[181] = ['Y',['C','I','V']]
|
583
|
-
sdrm[188] = ['Y',['L','H','C']]
|
584
|
-
sdrm[190] = ['G',['A','S','E']]
|
585
|
-
sdrm[225] = ['P',['H']]
|
586
|
-
sdrm[230] = ['M',['L']]
|
587
|
-
when :hiv_pr
|
588
|
-
sdrm[23] = ['L',['I']]
|
589
|
-
sdrm[24] = ['L',['I']]
|
590
|
-
sdrm[30] = ['D',['N']]
|
591
|
-
sdrm[32] = ['V',['I']]
|
592
|
-
sdrm[46] = ['M',['I','L']]
|
593
|
-
sdrm[47] = ['I',['V','A']]
|
594
|
-
sdrm[48] = ['G',['V','M']]
|
595
|
-
sdrm[50] = ['I',['V','L']]
|
596
|
-
sdrm[53] = ['F',['L']]
|
597
|
-
sdrm[54] = ['I',['V','L','M','T','A','S']]
|
598
|
-
sdrm[73] = ['G',['S','T','C','A']]
|
599
|
-
sdrm[76] = ['L',['V']]
|
600
|
-
sdrm[82] = ['V',['A','T','S','F','L','C','M']]
|
601
|
-
sdrm[83] = ['N',['D']]
|
602
|
-
sdrm[84] = ['I',['V','A','C']]
|
603
|
-
sdrm[88] = ['N',['D','S']]
|
604
|
-
sdrm[90] = ['L',['M']]
|
605
|
-
when :hiv_in
|
606
|
-
sdrm[66] = ['T',['A','I','K']]
|
607
|
-
sdrm[74] = ['L',['M']]
|
608
|
-
sdrm[92] = ['E',['Q']]
|
609
|
-
sdrm[95] = ['Q',['K']]
|
610
|
-
sdrm[97] = ['T',['A']]
|
611
|
-
sdrm[121] = ['F',['Y']]
|
612
|
-
sdrm[140] = ['G',['A','S','C']]
|
613
|
-
sdrm[143] = ["Y",["C","H","R"]]
|
614
|
-
sdrm[147] = ['S',['G']]
|
615
|
-
sdrm[148] = ['Q',['H','K','R']]
|
616
|
-
sdrm[155] = ['N',['S','H']]
|
617
|
-
else raise "Input option `#{options}` for ViralSeq::Sequence.sdrm not supported"
|
618
|
-
end
|
619
|
-
return sdrm
|
620
|
-
end
|
621
538
|
end # end of ViralSeq::Sequence
|
622
539
|
end # end of ViralSeq
|
data/lib/viral_seq/tcs_dr.rb
CHANGED
data/lib/viral_seq/version.rb
CHANGED
data/viral_seq.gemspec
CHANGED
@@ -29,11 +29,22 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_development_dependency "rake", "~> 13.0"
|
30
30
|
spec.add_development_dependency "rspec", "~> 3.0"
|
31
31
|
|
32
|
+
# This gem will work with Ruby version 2.5.0 or greater...
|
33
|
+
spec.required_ruby_version = '>= 2.5'
|
34
|
+
# This gem will work with RubyGem version 1.3.6 or greater...
|
35
|
+
spec.required_rubygems_version = '>= 1.3.6'
|
36
|
+
|
32
37
|
# muscle_bio gem required
|
33
38
|
spec.add_runtime_dependency "muscle_bio", "~> 0.4"
|
34
39
|
|
35
40
|
# colorize gem required
|
36
41
|
spec.add_runtime_dependency "colorize", "~> 0.1"
|
37
42
|
|
43
|
+
spec.add_runtime_dependency "prawn", "~> 2.3", '>= 2.3.0'
|
44
|
+
|
45
|
+
spec.add_runtime_dependency "prawn-table", "~> 0.2", '>= 0.2.0'
|
46
|
+
|
47
|
+
spec.add_runtime_dependency "combine_pdf", "~> 1.0", '>= 1.0.0'
|
48
|
+
|
38
49
|
spec.requirements << 'R required for some functions'
|
39
50
|
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.1.
|
4
|
+
version: 1.1.2
|
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-04-
|
12
|
+
date: 2021-04-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -81,6 +81,66 @@ dependencies:
|
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0.1'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: prawn
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '2.3'
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 2.3.0
|
94
|
+
type: :runtime
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - "~>"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '2.3'
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.3.0
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: prawn-table
|
106
|
+
requirement: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.2'
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 0.2.0
|
114
|
+
type: :runtime
|
115
|
+
prerelease: false
|
116
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0.2'
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 0.2.0
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: combine_pdf
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '1.0'
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 1.0.0
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - "~>"
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '1.0'
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 1.0.0
|
84
144
|
description: |-
|
85
145
|
A Ruby Gem with bioinformatics tools for processing viral NGS data.
|
86
146
|
Specifically for Primer-ID sequencing and HIV drug resistance analysis.
|
@@ -142,12 +202,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
142
202
|
requirements:
|
143
203
|
- - ">="
|
144
204
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
205
|
+
version: '2.5'
|
146
206
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
207
|
requirements:
|
148
208
|
- - ">="
|
149
209
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
210
|
+
version: 1.3.6
|
151
211
|
requirements:
|
152
212
|
- R required for some functions
|
153
213
|
rubygems_version: 3.2.2
|