dirseq 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []