dirseq 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 84e91d3823af5395053c2104197b68223d3e4d96
4
+ data.tar.gz: 7488e7557cd4005dcfc8b6f3c504d4e250434e5b
5
+ SHA512:
6
+ metadata.gz: f21a59e7fc5bf7e9cf77721ed50935a85a3123cb4fcc74a0a556666721d13449de00c93464e3defb8f3552f1872b7c2df49ea2168810354dd89946eaa5035205
7
+ data.tar.gz: e202cb7e0f00eb15b76cb91ccafb55b00fbe1269b617088f8d601b7f94d55b56fd900ecef578584fbaebacebaffe3c5e999e56a069b9a5c672921435e9bfb7b7
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.travis.yml ADDED
@@ -0,0 +1,13 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - jruby-19mode # JRuby in 1.9 mode
6
+
7
+ # - rbx-19mode
8
+ # - 1.8.7
9
+ # - jruby-18mode # JRuby in 1.8 mode
10
+ # - rbx-18mode
11
+
12
+ # uncomment this line if your project needs to run something other than `rake`:
13
+ # script: bundle exec rspec spec
data/Gemfile ADDED
@@ -0,0 +1,18 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+ gem "bio-commandeer", "~>0.1"
6
+ gem "bio-logger", "~>1.0"
7
+ gem "bio", "~>1.4", ">=1.4.2"
8
+
9
+ # Add dependencies to develop your gem here.
10
+ # Include everything needed to run rake, tests, features, etc.
11
+ group :development do
12
+ gem "shoulda", "~> 3.5"
13
+ gem "rdoc", "~> 3.12"
14
+ gem "simplecov", "~> 0.8"
15
+ gem "jeweler", "~> 2.0"
16
+ gem "bundler", "~> 1.6"
17
+ gem "rspec", "~> 2.99"
18
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2014 Ben J. Woodcroft
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,67 @@
1
+ # dirseq
2
+
3
+ [![Build Status](https://secure.travis-ci.org/wwood/dirseq.png)](http://travis-ci.org/wwood/dirseq)
4
+
5
+ DirSeq work out whether RNAseq reads from metatranscriptomes are generally in the same direction as the ORF predicted, and provide gene-wise coverages using DNAseq mappings.
6
+
7
+ Note: this software is under active development!
8
+
9
+ ## Installation
10
+
11
+ Won't work just yet:
12
+ ```sh
13
+ gem install dirseq
14
+ ```
15
+ Requires:
16
+ * samtools (tested with 0.1.19)
17
+ * bedtools (tested with 2.20.1)
18
+ * Ruby (tested with 2.1.1)
19
+
20
+ ## Usage
21
+
22
+ Only the script is available at the moment
23
+ ```sh
24
+ $ dirseq -h
25
+
26
+ Usage: dirseq <arguments>
27
+
28
+ Reports the coverage of a mapping in against each gene given in a GFF file
29
+
30
+ --bam FILE path to mapping file [required]
31
+ --gff FILE path to GFF3 file [required]
32
+
33
+ Optional parameters:
34
+
35
+ --ignore-directions ignore directionality, give overall coverage [default: false i.e. differentiate between directions]
36
+
37
+ Verbosity:
38
+
39
+ -q, --quiet Run quietly, set logging to ERROR level [default INFO]
40
+ --logger filename Log to file [default stderr]
41
+ --trace options Set log level [default INFO]. e.g. '--trace debug' to set logging level to DEBUG
42
+ ```
43
+
44
+ ## Project home page
45
+
46
+ Information on the source tree, documentation, examples, issues and
47
+ how to contribute, see
48
+
49
+ http://github.com/wwood/dirseq
50
+
51
+ The BioRuby community is on IRC server: irc.freenode.org, channel: #bioruby.
52
+
53
+ ## Cite
54
+
55
+ If you use this software, please cite one of
56
+
57
+ * [BioRuby: bioinformatics software for the Ruby programming language](http://dx.doi.org/10.1093/bioinformatics/btq475)
58
+ * [Biogem: an effective tool-based approach for scaling up open source software development in bioinformatics](http://dx.doi.org/10.1093/bioinformatics/bts080)
59
+
60
+ ## Biogems.info
61
+
62
+ This Biogem is published at (http://biogems.info/index.html#bio-rnaseq_transcription_directionality)
63
+
64
+ ## Copyright
65
+
66
+ Copyright (c) 2014 Ben J. Woodcroft. See LICENSE.txt for further details.
67
+
data/Rakefile ADDED
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
17
+ gem.name = "dirseq"
18
+ gem.homepage = "http://github.com/wwood/dirseq"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{FPKG calculator for metatranscriptomics}
21
+ gem.description = %Q{FPKG (gene expression metric) calculator for metatranscriptomics}
22
+ gem.email = "donttrustben near gmail.com"
23
+ gem.authors = ["Ben J. Woodcroft"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
32
+ end
33
+
34
+ desc "Code coverage detail"
35
+ task :simplecov do
36
+ ENV['COVERAGE'] = "true"
37
+ Rake::Task['test'].execute
38
+ end
39
+
40
+ task :default => :spec
41
+
42
+ require 'rdoc/task'
43
+ Rake::RDocTask.new do |rdoc|
44
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
+
46
+ rdoc.rdoc_dir = 'rdoc'
47
+ rdoc.title = "rnaseq_transcription_directionality #{version}"
48
+ rdoc.rdoc_files.include('README*')
49
+ rdoc.rdoc_files.include('lib/**/*.rb')
50
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.2
data/bin/dirseq ADDED
@@ -0,0 +1,175 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'optparse'
4
+ require 'bio-logger'
5
+ require 'bio'
6
+ require 'bio-commandeer'
7
+ #require 'pry'
8
+ require 'set'
9
+ require 'tempfile'
10
+
11
+ SCRIPT_NAME = File.basename(__FILE__); LOG_NAME = SCRIPT_NAME.gsub('.rb','')
12
+
13
+ # Parse command line options into the options hash
14
+ options = {
15
+ :ignore_directions => false,
16
+ :logger => 'stderr',
17
+ :log_level => 'info',
18
+ }
19
+ o = OptionParser.new do |opts|
20
+ opts.banner = "
21
+ Usage: #{SCRIPT_NAME} <arguments>
22
+
23
+ Reports the coverage of a mapping in against each gene given in a GFF file\n\n"
24
+
25
+ opts.on("--bam FILE", "path to mapping file [required]") do |arg|
26
+ options[:bam] = arg
27
+ end
28
+ opts.on("--gff FILE", "path to GFF3 file [required]") do |arg|
29
+ options[:gff] = arg
30
+ end
31
+ opts.separator "\nOptional parameters:\n\n"
32
+ opts.on("--ignore-directions", "ignore directionality, give overall coverage [default: false i.e. differentiate between directions]") do |arg|
33
+ options[:ignore_directions] = true
34
+ end
35
+
36
+ # logger options
37
+ opts.separator "\nVerbosity:\n\n"
38
+ opts.on("-q", "--quiet", "Run quietly, set logging to ERROR level [default INFO]") {options[:log_level] = 'error'}
39
+ opts.on("--logger filename",String,"Log to file [default #{options[:logger]}]") { |name| options[:logger] = name}
40
+ opts.on("--trace options",String,"Set log level [default INFO]. e.g. '--trace debug' to set logging level to DEBUG"){|s| options[:log_level] = s}
41
+ end; o.parse!
42
+ if ARGV.length != 0 or options[:bam].nil? or options[:gff].nil?
43
+ $stderr.puts o
44
+ exit 1
45
+ end
46
+ # Setup logging
47
+ Bio::Log::CLI.logger(options[:logger]); Bio::Log::CLI.trace(options[:log_level]); log = Bio::Log::LoggerPlus.new(LOG_NAME); Bio::Log::CLI.configure(LOG_NAME); log.outputters[0].formatter = Log4r::PatternFormatter.new(:pattern => "%5l %c %d: %m", :date_pattern => '%d/%m %T')
48
+
49
+ gff_file = options[:gff]
50
+ bam_file = options[:bam]
51
+
52
+
53
+ calculate_cov = lambda do |covs, num_covs|
54
+ covs.reduce(:+).to_f / num_covs
55
+ end
56
+
57
+ get_covs = lambda do |cov_lines|
58
+ feature_to_covs = {}
59
+ previous_feature = nil
60
+ covs = []
61
+ num_covs = 0
62
+ cov_lines.each_line do |line|
63
+ splits = line.split("\t")
64
+ break if splits[0] == 'all'
65
+
66
+ #gi|169887498|gb|CP000948.1|
67
+ #Prodigal_v2.6.1
68
+ #CDS
69
+ #1047994
70
+ #1049139
71
+ #157.2
72
+ #-
73
+ #0
74
+ #ID=1_972;partial=00;start_type=ATG;rbs_motif=AGGA;rbs_spacer=5-10bp;gc_cont=0.568;conf=100.00;score=157.25;cscore=141.04;sscore=16.20;rscore=10.98;uscore=-0.89;tscore=3.93;
75
+ #70 #coverage
76
+ #2 #num reads with coverage 70
77
+ #96 #coverage
78
+ #0.0208333
79
+ feat = splits[0..8]
80
+ if feat != previous_feature
81
+ feature_to_covs[previous_feature] = calculate_cov.call(covs, num_covs) unless previous_feature.nil?
82
+ covs = []
83
+ num_covs = 0
84
+ end
85
+ num = splits[10].to_i
86
+ covs.push num*splits[9].to_i
87
+ num_covs += num
88
+ previous_feature = feat
89
+ end
90
+ feature_to_covs[previous_feature] = calculate_cov.call(covs, num_covs)
91
+
92
+ feature_to_covs
93
+ end
94
+
95
+ # Remove the ##FASTA and afterwards from the GFF file as this makes bedtools <2.25 fail
96
+ # https://github.com/arq5x/bedtools2/issues/235#issuecomment-103776618
97
+ no_fasta_gff = Tempfile.new('dirseq')
98
+ Bio::Commandeer.run "sed '/^##FASTA$/,$d' #{gff_file.inspect} > #{no_fasta_gff.path}"
99
+ gff_file = no_fasta_gff.path
100
+
101
+ covs_fwd = nil
102
+ if options[:ignore_directions]
103
+ cmd1 = "bedtools coverage -abam #{bam_file.inspect} -b #{gff_file.inspect} -hist"
104
+ cov_lines_fwd = Bio::Commandeer.run cmd1, :log => log
105
+ log.info "Parsing coverage profiles"
106
+ covs_fwd = get_covs.call(cov_lines_fwd)
107
+
108
+ else
109
+ # fwd read 1
110
+ read1_flag = '-F128' #account for read1 in pair, as well as single reads mapping
111
+ read2_flag = '-f128'
112
+ cmdf1 = "samtools view -u #{read1_flag} #{bam_file.inspect} |bedtools coverage -abam /dev/stdin -b #{gff_file.inspect} -hist -s"
113
+ cmdf2 = "samtools view -u #{read2_flag} #{bam_file.inspect} |bedtools coverage -abam /dev/stdin -b #{gff_file.inspect} -hist -s"
114
+ cmdr1 = "samtools view -u #{read1_flag} #{bam_file.inspect} |bedtools coverage -abam /dev/stdin -b #{gff_file.inspect} -hist -S"
115
+ cmdr2 = "samtools view -u #{read2_flag} #{bam_file.inspect} |bedtools coverage -abam /dev/stdin -b #{gff_file.inspect} -hist -S"
116
+
117
+ command_to_parsed = lambda do |cmds, name|
118
+ covs_lines_initial = cmds.collect do |cmd|
119
+ Bio::Commandeer.run cmd, :log => log
120
+ end
121
+ covs_initial = covs_lines_initial.collect do |lines|
122
+ log.info "Parsing #{name}"
123
+ get_covs.call(lines)
124
+ end
125
+ #binding.pry
126
+ covs = covs_initial[0]
127
+ covs_initial[1].each do |cov_key, cov|
128
+ covs[cov_key] += cov
129
+ end
130
+ covs #'return' from lambda
131
+ end
132
+
133
+ # Agreeing reads (those whose template are fwd along the reference sequence) are either first and fwd, or second and rev
134
+ covs_fwd = command_to_parsed.call([cmdf1,cmdr2], 'reads with same direction as their reference')
135
+ covs_rev = command_to_parsed.call([cmdf2,cmdr1], 'reads with opposing direction as their reference')
136
+ end
137
+
138
+ headers = [
139
+ 'contig',
140
+ 'type',
141
+ 'start',
142
+ 'end',
143
+ 'strand',
144
+ ]
145
+ if options[:ignore_directions]
146
+ headers.push 'average_coverage'
147
+ else
148
+ headers.push 'forward_average_coverage'
149
+ headers.push 'reverse_average_coverage'
150
+ end
151
+ headers.push 'annotation'
152
+ puts headers.join("\t")
153
+
154
+ covs_fwd.each do |feature, cov_fwd|
155
+ cov_rev = covs_rev[feature] unless options[:ignore_directions]
156
+ record = Bio::GFF::GFF3::Record.new(feature.join("\t"))
157
+
158
+ products = record.attributes.select{|a| a[0] == 'product'}
159
+ product = 'unannotated'
160
+ if products.length == 1
161
+ product = products[0][1]
162
+ end
163
+
164
+ to_print = [
165
+ record.seqname,
166
+ record.feature,
167
+ record.start,
168
+ record.end,
169
+ record.strand,
170
+ cov_fwd,
171
+ ]
172
+ to_print.push cov_rev unless options[:ignore_directions]
173
+ to_print.push product
174
+ puts to_print.join("\t")
175
+ end
@@ -0,0 +1,3 @@
1
+
2
+ module BioRnaseqTranscriptionDirectionality
3
+ end
@@ -0,0 +1,12 @@
1
+ # Please require your code below, respecting the naming conventions in the
2
+ # bioruby directory tree.
3
+ #
4
+ # For example, say you have a plugin named bio-plugin, the only uncommented
5
+ # line in this file would be
6
+ #
7
+ # require 'bio/bio-plugin/plugin'
8
+ #
9
+ # In this file only require other files. Avoid other source code.
10
+
11
+ require 'bio-rnaseq_transcription_directionality/rnaseq_transcription_directionality.rb'
12
+
data/spec/data/eg.bam ADDED
Binary file
data/spec/data/eg.gff ADDED
@@ -0,0 +1 @@
1
+ contig_100 Prodigal_v2.60 CDS 2 127 0.5 + 0 ID=40_1;partial=10;start_type=Edge;rbs_motif=None;rbs_spacer=None;gc_cont=0.230;conf=52.95;score=0.51;cscore=-2.21;sscore=2.72;rscore=0.00;uscore=0.00;tscore=3.22;
@@ -0,0 +1,9 @@
1
+ contig_100 Prodigal_v2.60 CDS 2 127 0.5 + 0 ID=40_1;partial=10;start_type=Edge;rbs_motif=None;rbs_spacer=None;gc_cont=0.230;conf=52.95;score=0.51;cscore=-2.21;sscore=2.72;rscore=0.00;uscore=0.00;tscore=3.22;
2
+ ##FASTA
3
+ >contig_1015388
4
+ TCCGGGCCGATCACGAACACGTTGCGCACCGTCTGGTTATCGGCCGGCGTACGGGTCGCC
5
+ GGGTCACCCTCCGTGCCCGCGGGCAGCATGCCGTAAAGCTTCGAAACATTGAAGTCGGAG
6
+ TCACCGATGATCGGGTAGTTCGGCGCCGTCCCCTGGGTCTCCTCGATGTCCTTGGCCCAA
7
+ CCTGAATGCTTATCAACCGGATCGACCGACAGCCCGATCACCTTCACACCACGGCGATCA
8
+ AACTCCGGCTTAATCGAAGCCAGGTAGCCAAGTTCAGTCGTGCACACCGGCGTGAAGTCC
9
+ TTCGGATGCGAAAACAACACCGCCCATGAATCGCCGATCCAATCATGGAAATGGATCCGG
@@ -0,0 +1,42 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe 'script' do
4
+ path_to_script = File.join(File.dirname(__FILE__),'..','bin','dirseq')
5
+ data_dir = File.absolute_path(File.join(File.dirname(__FILE__),'data'))
6
+
7
+ it "should regular mode" do
8
+ answer = %w(
9
+ contig type start end strand forward_average_coverage reverse_average_coverage annotation
10
+ ).join("\t")+"\n"+%w(
11
+ contig_100 CDS 2 127 + 0.0 1.1428571428571428 unannotated
12
+ ).join("\t")+"\n"
13
+
14
+ found = Bio::Commandeer.run "#{path_to_script} --bam #{data_dir}/eg.bam --gff #{data_dir}/eg.gff -q"
15
+
16
+ found.should == answer
17
+ end
18
+
19
+ it "should ignore directions mode" do
20
+ found = Bio::Commandeer.run "#{path_to_script} --bam #{data_dir}/eg.bam --gff #{data_dir}/eg.gff -q --ignore-direction"
21
+
22
+ answer = %w(
23
+ contig type start end strand average_coverage annotation
24
+ ).join("\t")+"\n"+%w(
25
+ contig_100 CDS 2 127 + 1.1428571428571428 unannotated
26
+ ).join("\t")+"\n"
27
+
28
+ found.should == answer
29
+ end
30
+
31
+ it 'should not fail when the GFF has a FASTA section' do
32
+ answer = %w(
33
+ contig type start end strand forward_average_coverage reverse_average_coverage annotation
34
+ ).join("\t")+"\n"+%w(
35
+ contig_100 CDS 2 127 + 0.0 1.1428571428571428 unannotated
36
+ ).join("\t")+"\n"
37
+
38
+ found = Bio::Commandeer.run "#{path_to_script} --bam #{data_dir}/eg.bam --gff #{data_dir}/eg_with_fasta.gff -q"
39
+
40
+ found.should == answer
41
+ end
42
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'bio-commandeer'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dirseq
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Ben J. Woodcroft
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bio-commandeer
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bio-logger
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bio
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.4.2
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '1.4'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 1.4.2
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.4'
61
+ - !ruby/object:Gem::Dependency
62
+ name: shoulda
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.5'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.5'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rdoc
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.12'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.12'
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.8'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.8'
103
+ - !ruby/object:Gem::Dependency
104
+ name: jeweler
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '2.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: bundler
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.6'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.6'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rspec
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '2.99'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '2.99'
145
+ description: FPKG (gene expression metric) calculator for metatranscriptomics
146
+ email: donttrustben near gmail.com
147
+ executables:
148
+ - dirseq
149
+ extensions: []
150
+ extra_rdoc_files:
151
+ - LICENSE.txt
152
+ - README.md
153
+ files:
154
+ - ".document"
155
+ - ".travis.yml"
156
+ - Gemfile
157
+ - LICENSE.txt
158
+ - README.md
159
+ - Rakefile
160
+ - VERSION
161
+ - bin/dirseq
162
+ - lib/bio-rnaseq_transcription_directionality.rb
163
+ - lib/bio-rnaseq_transcription_directionality/rnaseq_transcription_directionality.rb
164
+ - spec/data/eg.bam
165
+ - spec/data/eg.gff
166
+ - spec/data/eg_with_fasta.gff
167
+ - spec/script_spec.rb
168
+ - spec/spec_helper.rb
169
+ homepage: http://github.com/wwood/dirseq
170
+ licenses:
171
+ - MIT
172
+ metadata: {}
173
+ post_install_message:
174
+ rdoc_options: []
175
+ require_paths:
176
+ - lib
177
+ required_ruby_version: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ requirements: []
188
+ rubyforge_project:
189
+ rubygems_version: 2.2.2
190
+ signing_key:
191
+ specification_version: 4
192
+ summary: FPKG calculator for metatranscriptomics
193
+ test_files: []