bio-ngs 0.3.2.alpha.01 → 0.4.2.alpha.01
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +5 -3
- data/Gemfile.lock +36 -30
- data/README.rdoc +33 -0
- data/VERSION +1 -1
- data/bio-ngs.gemspec +30 -22
- data/ext/mkrf_conf.rb +0 -2
- data/lib/bio/appl/ngs/cufflinks/iterators.rb +35 -0
- data/lib/bio/appl/ngs/cufflinks.rb +180 -85
- data/lib/bio/appl/ngs/fastx.rb +24 -1
- data/lib/bio/appl/ngs/tophat.rb +24 -8
- data/lib/bio/ngs/ext/versions.yaml +12 -12
- data/lib/bio/ngs/utils.rb +11 -1
- data/lib/bio-ngs.rb +1 -0
- data/lib/tasks/convert.thor +16 -0
- data/lib/tasks/pre.thor +130 -0
- data/lib/tasks/quality.thor +3 -4
- data/lib/tasks/rna.thor +2 -1
- metadata +90 -66
data/lib/bio/ngs/utils.rb
CHANGED
@@ -22,6 +22,14 @@ module Bio
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
class << self
|
25
|
+
|
26
|
+
def parallel_exec(command_blocks)
|
27
|
+
command_blocks.each do |block|
|
28
|
+
fork(&block)
|
29
|
+
end
|
30
|
+
Process.waitall
|
31
|
+
end
|
32
|
+
|
25
33
|
def binary(name)
|
26
34
|
begin
|
27
35
|
if !(plugin_binaries_found = find_binary_files(name)).empty?
|
@@ -123,7 +131,7 @@ module Bio
|
|
123
131
|
uncompress = uncompress_command(tool_record["suffix"])
|
124
132
|
STDERR.puts "#{uncompress} #{tool_file_name}"
|
125
133
|
system "#{uncompress} #{tool_file_name}"
|
126
|
-
STDERR.puts "
|
134
|
+
STDERR.puts "completed."
|
127
135
|
if Dir.exists?(tool_dir_name)
|
128
136
|
tool_dir_name
|
129
137
|
elsif Dir.exists?("#{tool_name}-#{tool_record['version']}")
|
@@ -138,6 +146,8 @@ module Bio
|
|
138
146
|
tool_dir_name = uncompress_any(tool_name, tool_record)
|
139
147
|
puts "Compiling #{tool_name}..."
|
140
148
|
cd(tool_dir_name) do
|
149
|
+
#system "#{tool_record["lib"]}='#{path_external}/bin/common/lib'" if tool_record["lib"]
|
150
|
+
#system "#{tool_record["flags"]}='-O2'" if tool_record["flags"]
|
141
151
|
system "PKG_CONFIG_PATH='#{path_external}/bin/common/lib/pkgconfig' ./configure --prefix=#{path_binary} --bindir=#{path_binary}"
|
142
152
|
system "make"
|
143
153
|
system "make install"
|
data/lib/bio-ngs.rb
CHANGED
@@ -44,6 +44,7 @@ require 'bio/appl/ngs/bowtie-inspect'
|
|
44
44
|
require 'bio/appl/ngs/sff_extract'
|
45
45
|
require 'bio/appl/ngs/bcl2qseq' #TODO: FIX THIS BUGGY CODE in THOR TASK
|
46
46
|
|
47
|
+
require 'bio/appl/ngs/cufflinks/iterators'
|
47
48
|
require 'bio/appl/ngs/cufflinks'
|
48
49
|
require 'bio/appl/ngs/samtools'
|
49
50
|
require 'bio/appl/ngs/fastx'
|
data/lib/tasks/convert.thor
CHANGED
@@ -419,6 +419,7 @@ module Convert
|
|
419
419
|
method_option :min_fpkm, :type => :numeric, :aliases => "-f", :default=> 0.0, :desc => "Store a value if its fpkm is at least"
|
420
420
|
method_option :z_scores, :type => :boolean, :aliases => "-z", :default=> false, :desc=> "Return a matrix of Z-scores other than fpkm"
|
421
421
|
method_option :up, :type => :boolean, :aliases => '-u', :default => true, :desc => "Up regulated (true), down regulated (false)"
|
422
|
+
method_option :force_not_significative, :type=>:boolean, :aliases=>'n', :default=>false, :desc=>"consider not significan value dutin computation of signature."
|
422
423
|
def gene(diff_file, gtf)
|
423
424
|
how_regulated = options.up ? :up : :down
|
424
425
|
Bio::Ngs::Cufflinks::Diff.genes(diff_file,
|
@@ -450,5 +451,20 @@ module Convert
|
|
450
451
|
end #Illumina
|
451
452
|
|
452
453
|
|
454
|
+
desc "list2table list", "reorganize a list of pairs key value in a table of key values. Tabular is the default separator"
|
455
|
+
def list2table(list)
|
456
|
+
dict = Hash.new{|h,k| h[k]=[]}
|
457
|
+
File.open(ARGV[0],'r') do |f|
|
458
|
+
f.each_line do |l|
|
459
|
+
key, value = l.split
|
460
|
+
dict[key]<<value
|
461
|
+
end
|
462
|
+
end
|
463
|
+
|
464
|
+
dict.each_pair do |key, values|
|
465
|
+
puts "#{key} #{values.join(' ')}"
|
466
|
+
end
|
467
|
+
end
|
468
|
+
|
453
469
|
end #Convert
|
454
470
|
# Add methods to Enumerable, which makes them available to Array
|
data/lib/tasks/pre.thor
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
class Pre < Thor
|
2
|
+
|
3
|
+
desc "filter [DIR(s)]", "Filter the data using Y/N flag in FastQ headers (Illumina). Search for fastq.gz files within directory(ies) passed."
|
4
|
+
method_option :compression, :type => :string, :default => "pigz"
|
5
|
+
method_option :cpu, :type => :numeric, :default => 4
|
6
|
+
def filter(dir)
|
7
|
+
folders = Dir.glob(dir)
|
8
|
+
cmd_blocks = []
|
9
|
+
folders.each do |folder|
|
10
|
+
Dir.glob(folder+"/*.fastq.gz").sort.each do |fastq|
|
11
|
+
Dir.mkdir(folder+"/filtered") unless Dir.exists? folder+"/filtered"
|
12
|
+
fastq = fastq.split("/")[-1]
|
13
|
+
cmd_blocks << -> {system("zcat #{folder+"/"+fastq} | grep -A 3 '^@.* [^:]*:N:[^:]*:' | grep -v '^\-\-'| #{options[:compression]} > #{folder}/filtered/#{fastq}")}
|
14
|
+
if cmd_blocks == options[:cpu]
|
15
|
+
Bio::Ngs::Utils.parallel_exec(cmd_blocks)
|
16
|
+
cmd_blocks = []
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
Bio::Ngs::Utils.parallel_exec(cmd_blocks)
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
desc "merge [file(s)]","Merge together fastQ files (accepts wildcards)"
|
25
|
+
method_option :compressed, :type => :boolean, :default => true
|
26
|
+
method_option :cpu, :type => :numeric, :default => 4
|
27
|
+
def merge(file)
|
28
|
+
files = Dir.glob(file).sort
|
29
|
+
cat = (options[:compressed]) ? "zcat" : "cat"
|
30
|
+
files.each do |file|
|
31
|
+
system("#{cat} #{file} >> merged_reads.fastq")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
desc "paired_merge [file(s)]","Merge together FastQ files while checking for correct pairing (accepts wildcards)"
|
36
|
+
method_option :compressed, :type => :boolean, :default => false
|
37
|
+
def paired_merge(file)
|
38
|
+
files = Dir.glob(file).sort.find_all {|f| f=~/_R1_/}
|
39
|
+
cat = (options[:compressed] == true) ? "zcat" : "cat"
|
40
|
+
files.each do |file|
|
41
|
+
r1 = file
|
42
|
+
r2 = file.gsub(/_R1_/,"_R2_")
|
43
|
+
if File.exists? r2
|
44
|
+
r1_count = count_reads(r1,compressed:options[:compressed])
|
45
|
+
r2_count = count_reads(r2,compressed:options[:compressed])
|
46
|
+
puts "Read count: #{r1_count} : #{r2_count} , #{file}"
|
47
|
+
if r1_count == r2_count
|
48
|
+
blocks = []
|
49
|
+
blocks << -> {system("#{cat} #{r1} >> R1_reads.fastq")}
|
50
|
+
blocks << -> {system("#{cat} #{r2} >> R2_reads.fastq")}
|
51
|
+
Bio::Ngs::Utils.parallel_exec(blocks)
|
52
|
+
else
|
53
|
+
raise RuntimeError "Error: files #{r1} and #{r2} do not have the same number of reads!"
|
54
|
+
end
|
55
|
+
else
|
56
|
+
puts "WARN: file #{r2} does not exist! Reads from #{r1} will be considered as singlets"
|
57
|
+
system("#{cat} #{r1} >> singlets_reads.fastq")
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
desc "uncompress [file(s)]","Uncompress multiple files in parallel (accepts wildcards)"
|
63
|
+
method_option :cpu, :type => :numeric, :default => 4
|
64
|
+
def uncompress(file)
|
65
|
+
files = Dir.glob(file).sort
|
66
|
+
blocks = []
|
67
|
+
files.each do |file|
|
68
|
+
blocks << -> {system("gunzip #{file}")}
|
69
|
+
if blocks.size == options[:cpu]
|
70
|
+
Bio::Ngs::Utils.parallel_exec(blocks)
|
71
|
+
blocks = []
|
72
|
+
end
|
73
|
+
end
|
74
|
+
Bio::Ngs::Utils.parallel_exec(blocks)
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
desc "trim [file(s)]","Calulate quality profile and trim the all the reads using FastX (accepts wildcards)"
|
79
|
+
method_option :cpu, :type => :numeric, :default => 4
|
80
|
+
method_option :min_qual, :type => :numeric, :default => 20
|
81
|
+
def trim(file)
|
82
|
+
files = Dir.glob(file).sort
|
83
|
+
cmd_blocks = []
|
84
|
+
files.each do |file|
|
85
|
+
|
86
|
+
block = -> do
|
87
|
+
invoke "quality:fastq_stats", [file], {output:file+".stats"}
|
88
|
+
trim_position = options[:read_length]
|
89
|
+
lines = File.read(file+".stats").split("\n")
|
90
|
+
if lines.size == 0
|
91
|
+
raise RuntimeError, "Error in Quality Stats file! Check fastx_quality_stat output"
|
92
|
+
end
|
93
|
+
read_length = (lines.size) -1
|
94
|
+
lines[1..-1].each_with_index do |line,index|
|
95
|
+
if line.split("\t")[7].to_i <= options[:min_qual]
|
96
|
+
trim_position = index +1
|
97
|
+
break
|
98
|
+
end
|
99
|
+
end
|
100
|
+
if trim_position == options[:read_length]
|
101
|
+
puts "WARN: no bases under quality cutoff. No trimming needed on #{file}"
|
102
|
+
FileUtils.cp file, file+".ready"
|
103
|
+
elsif trim_position < 25
|
104
|
+
puts "WARN: Trimming on #{file} will produce reads that are too short. The file will be discarded, please check quality scores."
|
105
|
+
else
|
106
|
+
puts "Trimming on position #{trim_position} for #{file}"
|
107
|
+
trim = Bio::Ngs::Fastx::Trim.new
|
108
|
+
trim.params={trim:read_length-trim_position+1, input:file, output:file+".ready"}
|
109
|
+
trim.run
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
cmd_blocks << block
|
114
|
+
|
115
|
+
if cmd_blocks.size == options[:cpu]
|
116
|
+
Bio::Ngs::Utils.parallel_exec(cmd_blocks)
|
117
|
+
cmd_blocks = []
|
118
|
+
end
|
119
|
+
end
|
120
|
+
Bio::Ngs::Utils.parallel_exec(cmd_blocks)
|
121
|
+
end
|
122
|
+
|
123
|
+
private
|
124
|
+
|
125
|
+
def count_reads(file,opts = {compressed:false})
|
126
|
+
cat = (opts[:compressed] == true) ? "zcat" : "cat"
|
127
|
+
total = `#{cat} #{file} | wc -l`.to_i / 4
|
128
|
+
end
|
129
|
+
|
130
|
+
end
|
data/lib/tasks/quality.thor
CHANGED
@@ -19,14 +19,14 @@ class Quality < Thor
|
|
19
19
|
Bio::Ngs::Graphics.draw_area(qual,options[:width],options[:height],options[:fileout],"Nucleotide","Quality Score")
|
20
20
|
end
|
21
21
|
|
22
|
-
desc "
|
22
|
+
desc "quality_trim FASTQ", "Trim all the sequences using quality information"
|
23
23
|
#TODO: create a wrapper
|
24
24
|
method_option :min_size, :type=>:numeric, :default=>20, :aliases => "-l", :desc=>"Minimum length - sequences shorter than this (after trimming)
|
25
25
|
will be discarded. Default = 0 = no minimum length."
|
26
26
|
method_option :min_quality, :type=>:numeric, :default=>10, :aliases => "-t", :desc=>"Quality threshold - nucleotides with lower
|
27
27
|
quality will be trimmed (from the end of the sequence)."
|
28
28
|
method_option :output, :type=>:string, :aliases => "-o", :desc => "Output file name"
|
29
|
-
def
|
29
|
+
def quality_trim(fastq)
|
30
30
|
output_file = options.output || fastq.gsub(/(.*)_(forward|reverse)(.*)/,'\1_trim_\2\3')
|
31
31
|
if output_file==fastq
|
32
32
|
output_file+="_trim"
|
@@ -36,13 +36,12 @@ class Quality < Thor
|
|
36
36
|
invoke :fastq_stats, [fastq]
|
37
37
|
end
|
38
38
|
#TODO check the file in input exists
|
39
|
-
trim = Bio::Ngs::Fastx::
|
39
|
+
trim = Bio::Ngs::Fastx::QualityTrim.new
|
40
40
|
trim.params={min_size:options.min_size, min_quality:options.min_quality, input:fastq, output:output_file}
|
41
41
|
trim.run
|
42
42
|
invoke :fastq_stats, [output_file]
|
43
43
|
end
|
44
44
|
|
45
|
-
|
46
45
|
desc "fastq_stats FASTQ", "Reports quality of FASTQ file"
|
47
46
|
method_option :output, :type=>:string, :aliases =>"-o", :desc => "Output file name. default is input file_name with .txt."
|
48
47
|
def fastq_stats(fastq)
|
data/lib/tasks/rna.thor
CHANGED
@@ -14,7 +14,8 @@ class Rna < Thor
|
|
14
14
|
wrapper.run :arguments=>[index, fastq_files ].flatten, :separator=>"="
|
15
15
|
|
16
16
|
accepted_hits_bam_fn = File.join(outputdir, "accepted_hits.bam")
|
17
|
-
|
17
|
+
#DEPRECATED tophat sort data by default
|
18
|
+
#task.invoke "convert:bam:sort", [accepted_hits_bam_fn] # call the sorting procedure.
|
18
19
|
end
|
19
20
|
|
20
21
|
desc "quant GTF OUTPUTDIR BAM ", "Genes and transcripts quantification"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bio-ngs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.2.alpha.01
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2012-02-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bio
|
17
|
-
requirement: &
|
17
|
+
requirement: &2157120300 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 1.4.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2157120300
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bio-bwa
|
28
|
-
requirement: &
|
28
|
+
requirement: &2157119680 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,21 +33,21 @@ dependencies:
|
|
33
33
|
version: 0.2.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2157119680
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: bio-samtools
|
39
|
-
requirement: &
|
39
|
+
requirement: &2157119100 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: 0.
|
44
|
+
version: 0.3.2
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2157119100
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: thor
|
50
|
-
requirement: &
|
50
|
+
requirement: &2157118540 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 0.14.6
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *2157118540
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rubyvis
|
61
|
-
requirement: &
|
61
|
+
requirement: &2157117900 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 0.5.0
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *2157117900
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: daemons
|
72
|
-
requirement: &
|
72
|
+
requirement: &2157133620 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.1.0
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *2157133620
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: ruby-ensembl-api
|
83
|
-
requirement: &
|
83
|
+
requirement: &2157133000 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: 1.0.1
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *2157133000
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: activerecord
|
94
|
-
requirement: &
|
94
|
+
requirement: &2157132300 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: 3.0.5
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *2157132300
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: sqlite3
|
105
|
-
requirement: &
|
105
|
+
requirement: &2157131680 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ! '>='
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: 1.3.3
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *2157131680
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: bio-blastxmlparser
|
116
|
-
requirement: &
|
116
|
+
requirement: &2157131060 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :runtime
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *2157131060
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: progressbar
|
127
|
-
requirement: &
|
127
|
+
requirement: &2157130440 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,21 @@ dependencies:
|
|
132
132
|
version: 0.9.0
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *2157130440
|
136
|
+
- !ruby/object:Gem::Dependency
|
137
|
+
name: rake
|
138
|
+
requirement: &2157129820 !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - =
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 0.9.2.2
|
144
|
+
type: :runtime
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: *2157129820
|
136
147
|
- !ruby/object:Gem::Dependency
|
137
148
|
name: shoulda
|
138
|
-
requirement: &
|
149
|
+
requirement: &2157129080 !ruby/object:Gem::Requirement
|
139
150
|
none: false
|
140
151
|
requirements:
|
141
152
|
- - ! '>='
|
@@ -143,10 +154,10 @@ dependencies:
|
|
143
154
|
version: '0'
|
144
155
|
type: :development
|
145
156
|
prerelease: false
|
146
|
-
version_requirements: *
|
157
|
+
version_requirements: *2157129080
|
147
158
|
- !ruby/object:Gem::Dependency
|
148
159
|
name: bundler
|
149
|
-
requirement: &
|
160
|
+
requirement: &2157128200 !ruby/object:Gem::Requirement
|
150
161
|
none: false
|
151
162
|
requirements:
|
152
163
|
- - ~>
|
@@ -154,10 +165,10 @@ dependencies:
|
|
154
165
|
version: 1.0.0
|
155
166
|
type: :development
|
156
167
|
prerelease: false
|
157
|
-
version_requirements: *
|
168
|
+
version_requirements: *2157128200
|
158
169
|
- !ruby/object:Gem::Dependency
|
159
170
|
name: jeweler
|
160
|
-
requirement: &
|
171
|
+
requirement: &2157127280 !ruby/object:Gem::Requirement
|
161
172
|
none: false
|
162
173
|
requirements:
|
163
174
|
- - ~>
|
@@ -165,21 +176,21 @@ dependencies:
|
|
165
176
|
version: 1.5.2
|
166
177
|
type: :development
|
167
178
|
prerelease: false
|
168
|
-
version_requirements: *
|
179
|
+
version_requirements: *2157127280
|
169
180
|
- !ruby/object:Gem::Dependency
|
170
181
|
name: rcov
|
171
|
-
requirement: &
|
182
|
+
requirement: &2157126720 !ruby/object:Gem::Requirement
|
172
183
|
none: false
|
173
184
|
requirements:
|
174
|
-
- -
|
185
|
+
- - ~>
|
175
186
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
187
|
+
version: 0.9.11
|
177
188
|
type: :development
|
178
189
|
prerelease: false
|
179
|
-
version_requirements: *
|
190
|
+
version_requirements: *2157126720
|
180
191
|
- !ruby/object:Gem::Dependency
|
181
192
|
name: bio
|
182
|
-
requirement: &
|
193
|
+
requirement: &2157473200 !ruby/object:Gem::Requirement
|
183
194
|
none: false
|
184
195
|
requirements:
|
185
196
|
- - ! '>='
|
@@ -187,10 +198,10 @@ dependencies:
|
|
187
198
|
version: 1.4.2
|
188
199
|
type: :development
|
189
200
|
prerelease: false
|
190
|
-
version_requirements: *
|
201
|
+
version_requirements: *2157473200
|
191
202
|
- !ruby/object:Gem::Dependency
|
192
203
|
name: thor
|
193
|
-
requirement: &
|
204
|
+
requirement: &2157472260 !ruby/object:Gem::Requirement
|
194
205
|
none: false
|
195
206
|
requirements:
|
196
207
|
- - ! '>='
|
@@ -198,10 +209,10 @@ dependencies:
|
|
198
209
|
version: 0.14.6
|
199
210
|
type: :development
|
200
211
|
prerelease: false
|
201
|
-
version_requirements: *
|
212
|
+
version_requirements: *2157472260
|
202
213
|
- !ruby/object:Gem::Dependency
|
203
214
|
name: ffi
|
204
|
-
requirement: &
|
215
|
+
requirement: &2157471560 !ruby/object:Gem::Requirement
|
205
216
|
none: false
|
206
217
|
requirements:
|
207
218
|
- - ! '>='
|
@@ -209,10 +220,10 @@ dependencies:
|
|
209
220
|
version: 1.0.6
|
210
221
|
type: :development
|
211
222
|
prerelease: false
|
212
|
-
version_requirements: *
|
223
|
+
version_requirements: *2157471560
|
213
224
|
- !ruby/object:Gem::Dependency
|
214
225
|
name: rubyvis
|
215
|
-
requirement: &
|
226
|
+
requirement: &2157470260 !ruby/object:Gem::Requirement
|
216
227
|
none: false
|
217
228
|
requirements:
|
218
229
|
- - ! '>='
|
@@ -220,10 +231,10 @@ dependencies:
|
|
220
231
|
version: 0.5.0
|
221
232
|
type: :development
|
222
233
|
prerelease: false
|
223
|
-
version_requirements: *
|
234
|
+
version_requirements: *2157470260
|
224
235
|
- !ruby/object:Gem::Dependency
|
225
236
|
name: rspec
|
226
|
-
requirement: &
|
237
|
+
requirement: &2157468020 !ruby/object:Gem::Requirement
|
227
238
|
none: false
|
228
239
|
requirements:
|
229
240
|
- - ! '>='
|
@@ -231,10 +242,10 @@ dependencies:
|
|
231
242
|
version: 2.5.0
|
232
243
|
type: :development
|
233
244
|
prerelease: false
|
234
|
-
version_requirements: *
|
245
|
+
version_requirements: *2157468020
|
235
246
|
- !ruby/object:Gem::Dependency
|
236
247
|
name: daemons
|
237
|
-
requirement: &
|
248
|
+
requirement: &2157467300 !ruby/object:Gem::Requirement
|
238
249
|
none: false
|
239
250
|
requirements:
|
240
251
|
- - ! '>='
|
@@ -242,21 +253,21 @@ dependencies:
|
|
242
253
|
version: 1.1.0
|
243
254
|
type: :development
|
244
255
|
prerelease: false
|
245
|
-
version_requirements: *
|
256
|
+
version_requirements: *2157467300
|
246
257
|
- !ruby/object:Gem::Dependency
|
247
258
|
name: bio-samtools
|
248
|
-
requirement: &
|
259
|
+
requirement: &2157465240 !ruby/object:Gem::Requirement
|
249
260
|
none: false
|
250
261
|
requirements:
|
251
262
|
- - ! '>='
|
252
263
|
- !ruby/object:Gem::Version
|
253
|
-
version: 0.
|
264
|
+
version: 0.3.2
|
254
265
|
type: :development
|
255
266
|
prerelease: false
|
256
|
-
version_requirements: *
|
267
|
+
version_requirements: *2157465240
|
257
268
|
- !ruby/object:Gem::Dependency
|
258
269
|
name: ruby-ensembl-api
|
259
|
-
requirement: &
|
270
|
+
requirement: &2157480640 !ruby/object:Gem::Requirement
|
260
271
|
none: false
|
261
272
|
requirements:
|
262
273
|
- - ! '>='
|
@@ -264,10 +275,10 @@ dependencies:
|
|
264
275
|
version: 1.0.1
|
265
276
|
type: :development
|
266
277
|
prerelease: false
|
267
|
-
version_requirements: *
|
278
|
+
version_requirements: *2157480640
|
268
279
|
- !ruby/object:Gem::Dependency
|
269
280
|
name: bio-bwa
|
270
|
-
requirement: &
|
281
|
+
requirement: &2157479520 !ruby/object:Gem::Requirement
|
271
282
|
none: false
|
272
283
|
requirements:
|
273
284
|
- - ! '>='
|
@@ -275,10 +286,10 @@ dependencies:
|
|
275
286
|
version: 0.2.2
|
276
287
|
type: :development
|
277
288
|
prerelease: false
|
278
|
-
version_requirements: *
|
289
|
+
version_requirements: *2157479520
|
279
290
|
- !ruby/object:Gem::Dependency
|
280
291
|
name: activerecord
|
281
|
-
requirement: &
|
292
|
+
requirement: &2157478880 !ruby/object:Gem::Requirement
|
282
293
|
none: false
|
283
294
|
requirements:
|
284
295
|
- - ! '>='
|
@@ -286,10 +297,10 @@ dependencies:
|
|
286
297
|
version: 3.0.5
|
287
298
|
type: :development
|
288
299
|
prerelease: false
|
289
|
-
version_requirements: *
|
300
|
+
version_requirements: *2157478880
|
290
301
|
- !ruby/object:Gem::Dependency
|
291
302
|
name: sqlite3
|
292
|
-
requirement: &
|
303
|
+
requirement: &2157477800 !ruby/object:Gem::Requirement
|
293
304
|
none: false
|
294
305
|
requirements:
|
295
306
|
- - ! '>='
|
@@ -297,10 +308,10 @@ dependencies:
|
|
297
308
|
version: 1.3.3
|
298
309
|
type: :development
|
299
310
|
prerelease: false
|
300
|
-
version_requirements: *
|
311
|
+
version_requirements: *2157477800
|
301
312
|
- !ruby/object:Gem::Dependency
|
302
313
|
name: bio-blastxmlparser
|
303
|
-
requirement: &
|
314
|
+
requirement: &2157476620 !ruby/object:Gem::Requirement
|
304
315
|
none: false
|
305
316
|
requirements:
|
306
317
|
- - ! '>='
|
@@ -308,10 +319,10 @@ dependencies:
|
|
308
319
|
version: '0'
|
309
320
|
type: :development
|
310
321
|
prerelease: false
|
311
|
-
version_requirements: *
|
322
|
+
version_requirements: *2157476620
|
312
323
|
- !ruby/object:Gem::Dependency
|
313
324
|
name: progressbar
|
314
|
-
requirement: &
|
325
|
+
requirement: &2157475400 !ruby/object:Gem::Requirement
|
315
326
|
none: false
|
316
327
|
requirements:
|
317
328
|
- - ! '>='
|
@@ -319,10 +330,10 @@ dependencies:
|
|
319
330
|
version: 0.9.0
|
320
331
|
type: :development
|
321
332
|
prerelease: false
|
322
|
-
version_requirements: *
|
333
|
+
version_requirements: *2157475400
|
323
334
|
- !ruby/object:Gem::Dependency
|
324
335
|
name: json
|
325
|
-
requirement: &
|
336
|
+
requirement: &2157473980 !ruby/object:Gem::Requirement
|
326
337
|
none: false
|
327
338
|
requirements:
|
328
339
|
- - ! '>='
|
@@ -330,7 +341,18 @@ dependencies:
|
|
330
341
|
version: '0'
|
331
342
|
type: :development
|
332
343
|
prerelease: false
|
333
|
-
version_requirements: *
|
344
|
+
version_requirements: *2157473980
|
345
|
+
- !ruby/object:Gem::Dependency
|
346
|
+
name: rake
|
347
|
+
requirement: &2157626640 !ruby/object:Gem::Requirement
|
348
|
+
none: false
|
349
|
+
requirements:
|
350
|
+
- - =
|
351
|
+
- !ruby/object:Gem::Version
|
352
|
+
version: 0.9.2.2
|
353
|
+
type: :development
|
354
|
+
prerelease: false
|
355
|
+
version_requirements: *2157626640
|
334
356
|
description: bio-ngs provides a framework for handling NGS data with BioRuby
|
335
357
|
email: francesco.strozzi@gmail.com
|
336
358
|
executables:
|
@@ -356,6 +378,7 @@ files:
|
|
356
378
|
- lib/bio/appl/ngs/blast.rb
|
357
379
|
- lib/bio/appl/ngs/bowtie-inspect.rb
|
358
380
|
- lib/bio/appl/ngs/cufflinks.rb
|
381
|
+
- lib/bio/appl/ngs/cufflinks/iterators.rb
|
359
382
|
- lib/bio/appl/ngs/fastx.rb
|
360
383
|
- lib/bio/appl/ngs/samtools.rb
|
361
384
|
- lib/bio/appl/ngs/sff_extract.rb
|
@@ -390,6 +413,7 @@ files:
|
|
390
413
|
- lib/tasks/history.thor
|
391
414
|
- lib/tasks/homology.thor
|
392
415
|
- lib/tasks/ontology.thor
|
416
|
+
- lib/tasks/pre.thor
|
393
417
|
- lib/tasks/project.thor
|
394
418
|
- lib/tasks/quality.thor
|
395
419
|
- lib/tasks/rna.thor
|
@@ -431,7 +455,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
431
455
|
version: '0'
|
432
456
|
segments:
|
433
457
|
- 0
|
434
|
-
hash:
|
458
|
+
hash: 4413176982890419271
|
435
459
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
436
460
|
none: false
|
437
461
|
requirements:
|
@@ -440,7 +464,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
440
464
|
version: 1.3.1
|
441
465
|
requirements: []
|
442
466
|
rubyforge_project:
|
443
|
-
rubygems_version: 1.8.
|
467
|
+
rubygems_version: 1.8.10
|
444
468
|
signing_key:
|
445
469
|
specification_version: 3
|
446
470
|
summary: bio-ngs provides a framework for handling NGS data with BioRuby
|