bio-ngs 0.5.0 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +57 -0
- data/VERSION +1 -1
- data/bio-ngs.gemspec +4 -3
- data/lib/bio-ngs.rb +1 -0
- data/lib/bio/appl/ngs/bcl2qseq.rb +76 -75
- data/lib/bio/appl/ngs/casava.rb +271 -0
- data/lib/tasks/convert.thor +47 -2
- metadata +71 -70
data/README.md
CHANGED
@@ -14,6 +14,7 @@ Provides a framework for handling NGS data with Bioruby.
|
|
14
14
|
* http://hannonlab.cshl.edu/fastx_toolkit/ (the gem tries to install this tool by itself)
|
15
15
|
* http://www.gnuplot.info/ tested on version 4.6
|
16
16
|
* libxslt1-dev
|
17
|
+
* CASAVA 1.8.2 <http://support.illumina.com/sequencing/sequencing_software/casava.ilmn>
|
17
18
|
|
18
19
|
## Install
|
19
20
|
### Quick Start
|
@@ -49,6 +50,10 @@ Most of this tasks create sub-processes to speed up conversions
|
|
49
50
|
biongs convert:bam:extract_genes BAM GENES --ensembl-release=N -o, --output=OUTPUT # Extract GENES from bam. It connects to Ensembl Humnan,...
|
50
51
|
biongs convert:bam:merge -i, --input-bams=one two three # Merge multiple bams in a single one, BAMS separated by...
|
51
52
|
biongs convert:bam:sort BAM [PREFIX] # Sort and create and index for the BAM file name
|
53
|
+
biongs convert:bcl:fastq:configure_conversion RUNDIR DATAOUTDIR # Configure the specific Run to be converted
|
54
|
+
biongs convert:bcl:fastq:convert RUNDIR DATAOUTDIR [SAMPLESHEET] # Convert a bcl dataset in fastq. By default it creates a
|
55
|
+
directory with the same name of the dir attachin...
|
56
|
+
biongs convert:bcl:fastq:start_conversion CONF_DATA_DIR # Start the conversion
|
52
57
|
biongs convert:bcl:qseq:convert RUN OUTPUT [JOBS] # Convert a bcl dataset in qseq
|
53
58
|
biongs convert:illumina:de:gene DIFF GTF # extract the transcripts
|
54
59
|
biongs convert:illumina:de:isoform DIFF GTF # extract the transcripts
|
@@ -63,6 +68,9 @@ Most of this tasks create sub-processes to speed up conversions
|
|
63
68
|
SAMPLES is an array of index codes separated by commas lane
|
64
69
|
is an integer
|
65
70
|
|
71
|
+
|
72
|
+
|
73
|
+
|
66
74
|
### filter
|
67
75
|
|
68
76
|
biongs filter:by_list TABLE LIST # Extract from TABLE the row with a key in LIST
|
@@ -143,8 +151,56 @@ Most of this tasks create sub-processes to speed up conversions
|
|
143
151
|
## TasksExamples
|
144
152
|
|
145
153
|
### Conversion
|
154
|
+
|
155
|
+
#### Extract gene(s) alignment from a BAM
|
156
|
+
|
146
157
|
biongs convert:bam:extract_genes your_original.bam BLID,GATA3,PTPRC --ensembl_release=61 --ensembl_specie=homo_sapiens
|
147
158
|
|
159
|
+
#### Demultiplex an Illumina Run.
|
160
|
+
By default Illumina uses `SampleSheet.csv` in the `your_run/Data/Intensities/BaseCalls` file to describe the layout of your run
|
161
|
+
|
162
|
+
FCID,Lane,SampleID,SampleRef,Index,Description,Control,Recipe,Operator,SampleProject
|
163
|
+
D0C0DACXX,1,0113,Ensembl,CGATGT,Y1,N,R2,Doe,X
|
164
|
+
D0C0DACXX,1,0114,Ensembl,TGACCA,Y1,N,R2,Doe,X
|
165
|
+
D0C0DACXX,1,0115,Ensembl,ACAGTG,X1,N,R2,Doe,Y
|
166
|
+
D0C0DACXX,1,0116,Ensembl,GCCAAT,X1,N,R2,Doe,Y
|
167
|
+
D0C0DACXX,2,0117,Ensembl,CGATGT,Y1,N,R2,Doe,X
|
168
|
+
D0C0DACXX,2,0118,Ensembl,TGACCA,Y1,N,R2,Doe,X
|
169
|
+
D0C0DACXX,2,0119,Ensembl,ACAGTG,X1,N,R2,Doe,Y
|
170
|
+
D0C0DACXX,2,0120,Ensembl,GCCAAT,X1,N,R2,Doe,Y
|
171
|
+
D0C0DACXX,3,0121,Ensembl,CGATGT,Y1,N,R2,Doe,X
|
172
|
+
D0C0DACXX,3,0122,Ensembl,TGACCA,Y1,N,R2,Doe,X
|
173
|
+
D0C0DACXX,3,0123,Ensembl,ACAGTG,X1,N,R2,Doe,Y
|
174
|
+
D0C0DACXX,3,0124,Ensembl,GCCAAT,X1,N,R2,Doe,Y
|
175
|
+
D0C0DACXX,4,0125,Ensembl,CGATGT,Y1,N,R2,Doe,X
|
176
|
+
D0C0DACXX,4,0126,Ensembl,TGACCA,Y1,N,R2,Doe,X
|
177
|
+
D0C0DACXX,4,0127,Ensembl,ACAGTG,X1,N,R2,Doe,Y
|
178
|
+
D0C0DACXX,4,0128,Ensembl,GCCAAT,X1,N,R2,Doe,Y
|
179
|
+
D0C0DACXX,5,0095,Ensembl,ATCACG,Y1,N,R2,Doe,X
|
180
|
+
D0C0DACXX,5,0096,Ensembl,TTAGGC,Y1,N,R2,Doe,X
|
181
|
+
D0C0DACXX,5,0097,Ensembl,ACTTGA,X1,N,R2,Doe,Y
|
182
|
+
D0C0DACXX,5,0098,Ensembl,GATCAG,X1,N,R2,Doe,Y
|
183
|
+
D0C0DACXX,6,0109,Ensembl,ACTTGA,Y1,N,R2,Doe,X
|
184
|
+
D0C0DACXX,6,0110,Ensembl,GATCAG,Y1,N,R2,Doe,X
|
185
|
+
D0C0DACXX,6,0111,Ensembl,TAGCTT,X1,N,R2,Doe,Y
|
186
|
+
D0C0DACXX,6,0112,Ensembl,GGCTAC,X1,N,R2,Doe,Y
|
187
|
+
D0C0DACXX,7,0129,Ensembl,CGATGT,Y1,N,R2,Doe,X
|
188
|
+
D0C0DACXX,7,0130,Ensembl,TGACCA,Y1,N,R2,Doe,X
|
189
|
+
D0C0DACXX,7,0131,Ensembl,ACAGTG,X1,N,R2,Doe,Y
|
190
|
+
D0C0DACXX,7,0132,Ensembl,GCCAAT,X1,N,R2,Doe,Y
|
191
|
+
D0C0DACXX,8,0133,Ensembl,CGATGT,Y1,N,R2,Doe,X
|
192
|
+
D0C0DACXX,8,0134,Ensembl,TGACCA,Y1,N,R2,Doe,X
|
193
|
+
D0C0DACXX,8,0135,Ensembl,ACAGTG,X1,N,R2,Doe,Y
|
194
|
+
D0C0DACXX,8,0136,Ensembl,GCCAAT,X1,N,R2,Doe,Y
|
195
|
+
|
196
|
+
We expect to find `SampleSheet.csv` in your run directory, in case of a custom name user can pass it as last parameter `--sample_sheet=your_sample_sheet.csv`.
|
197
|
+
To demultiplex your experiment
|
198
|
+
|
199
|
+
ngs biongs convert:bcl:fastq:convert /bio/ngs/raw/110321_H001_0100_AD10TMACXX/ /bio/ngs/data/110321_H001_0100_AD10TMACXX_DATA --cpu=8 > 110321_H125_0100_AD10TMACXX.log 2>&1
|
200
|
+
|
201
|
+
This command will save the stdout on a log file in the current directory. You must specify the source directory and the destination. You can select the number of CPU to use for demultiplexing, 8 is the maximum value becase 8 lanes.
|
202
|
+
Typing `biongs help convert:bcl:fastq:convert` you can have a list of sub tasks. Where `biongs convert:bcl:fastq:configure_conversion RUNDIR DATAOUTDIR` corresponds to `configureBclToFastq.pl`and `biongs convert:bcl:fastq:start_conversion` to `make` in the demultiplexed directory.
|
203
|
+
|
148
204
|
### Filtering
|
149
205
|
When you have your mapped reads to a reference genome, you can decide to filter the output (GTF) to extract only those transcripts which have your desired requirements. You can filter for lenght, if it's multi or mono exon, the coverage, if it's a brand new transcript or an altrady annotated gene but with a new isoform or just the annotated transcripts.
|
150
206
|
|
@@ -171,6 +227,7 @@ Then in some case I need to extract only some of them or maybe parsing them from
|
|
171
227
|
The first time tra_at_idx is used, it will take more time than usual becase it creates an internal index: a simple HASH mashalled and dumped, stored in a file with the name similar to the imput with an idx as postfix.
|
172
228
|
|
173
229
|
|
230
|
+
|
174
231
|
# ForDevelopers
|
175
232
|
|
176
233
|
## HowToContribute
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.2
|
data/bio-ngs.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "bio-ngs"
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Francesco Strozzi", "Raoul J.P. Bonnal"]
|
12
|
-
s.date = "2012-06-
|
12
|
+
s.date = "2012-06-06"
|
13
13
|
s.description = "bio-ngs provides a framework for handling NGS data with BioRuby"
|
14
14
|
s.email = "francesco.strozzi@gmail.com"
|
15
15
|
s.executables = ["biongs"]
|
@@ -42,6 +42,7 @@ Gem::Specification.new do |s|
|
|
42
42
|
"lib/bio/appl/ngs/blast.rb",
|
43
43
|
"lib/bio/appl/ngs/bowtie-inspect.rb",
|
44
44
|
"lib/bio/appl/ngs/bwa.rb",
|
45
|
+
"lib/bio/appl/ngs/casava.rb",
|
45
46
|
"lib/bio/appl/ngs/cufflinks.rb",
|
46
47
|
"lib/bio/appl/ngs/cufflinks/gtf/gtf.rb",
|
47
48
|
"lib/bio/appl/ngs/cufflinks/gtf/gtf_parser.rb",
|
@@ -188,7 +189,7 @@ Gem::Specification.new do |s|
|
|
188
189
|
s.homepage = "http://github.com/helios/bioruby-ngs"
|
189
190
|
s.licenses = ["MIT"]
|
190
191
|
s.require_paths = ["lib"]
|
191
|
-
s.rubygems_version = "1.8.
|
192
|
+
s.rubygems_version = "1.8.15"
|
192
193
|
s.summary = "bio-ngs provides a framework for handling NGS data with BioRuby"
|
193
194
|
|
194
195
|
if s.respond_to? :specification_version then
|
data/lib/bio-ngs.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# DEPRECATED, refer to lib/bio/appl/ngs/casava.rb
|
2
|
+
|
2
3
|
# bcl2qseq.rb - description
|
3
4
|
#
|
4
5
|
# Copyright:: Copyright (C) 2011
|
@@ -8,86 +9,86 @@
|
|
8
9
|
#
|
9
10
|
|
10
11
|
|
11
|
-
#require 'bio/command'
|
12
|
-
#require 'shellwords'
|
13
|
-
#require 'thor'
|
14
|
-
#require 'bio/ngs/utils'
|
12
|
+
# #require 'bio/command'
|
13
|
+
# #require 'shellwords'
|
14
|
+
# #require 'thor'
|
15
|
+
# #require 'bio/ngs/utils'
|
15
16
|
|
16
|
-
# usage:
|
17
|
-
# setupBclToQseq.py -b /path/to/BaseCalls [--in-place|-o /path/to/Output] [options]
|
18
|
-
#
|
19
|
-
# Script to setup the output directory for the conversion of BCLfiles produced by
|
20
|
-
# RTA into a standard QSEQ-based base calls folder.
|
21
|
-
#
|
22
|
-
# options:
|
23
|
-
# -h, --help show this help message and exit
|
24
|
-
# -b BASE_CALLS_DIRECTORY, --base-calls-directory=BASE_CALLS_DIRECTORY
|
25
|
-
# Full path to the Base Calls directory generated by the
|
26
|
-
# instrument
|
27
|
-
# --in-place Allow in-place conversion (in the Base Calls
|
28
|
-
# directory)
|
29
|
-
# -o OUTPUT_DIRECTORY, --output-directory=OUTPUT_DIRECTORY
|
30
|
-
# Full path to the output directory, if not in --in-
|
31
|
-
# place mode
|
32
|
-
# -i INTENSITIES_DIRECTORY, --intensities-directory=INTENSITIES_DIRECTORY
|
33
|
-
# Full path to the directory containing the intensities,
|
34
|
-
# if different from the parent of the Base Calls
|
35
|
-
# directory
|
36
|
-
# -f FILTER_DIRECTORY, --filter-directory=FILTER_DIRECTORY
|
37
|
-
# Full path to the filter directory, if different from
|
38
|
-
# the Base Calls directory
|
39
|
-
# -p POSITIONS_DIRECTORY, --positions-directory=POSITIONS_DIRECTORY
|
40
|
-
# Full path to the positions directory, if different
|
41
|
-
# from the Intensities directory
|
42
|
-
# -P POSITIONS_FORMAT, --positions-format=POSITIONS_FORMAT
|
43
|
-
# Positions file format (supported formats are:
|
44
|
-
# {'_pos.txt','.locs','.clocs'})
|
45
|
-
# --no-eamss Do not apply the EAMSS quality masking
|
46
|
-
# --overwrite Overwrite the content of the output directory if it
|
47
|
-
# already exists
|
48
|
-
# --GERALD=GERALD Path to the GERALD config file
|
49
|
-
# -S, --silent Do not produce any information or warnings
|
50
|
-
# -Q, --quiet Produce only warnings. Skips general information
|
51
|
-
# -V, --verbose Produce additional debug information
|
52
|
-
# -v, --version Print the version information and exits
|
53
|
-
# -L LOG_FILE, --log-file=LOG_FILE
|
54
|
-
# Full path to the log file
|
55
|
-
# -c, --include-controls
|
56
|
-
# Include controls information in Passing Filter column
|
57
|
-
# --ignore-missing-bcl Assume missing *.bcl files correspond to a missed base
|
58
|
-
# call (i.e., '.')
|
59
|
-
# --ignore-missing-stats
|
60
|
-
# Fill in with zeros when *.stats files are missing
|
17
|
+
# # usage:
|
18
|
+
# # setupBclToQseq.py -b /path/to/BaseCalls [--in-place|-o /path/to/Output] [options]
|
19
|
+
# #
|
20
|
+
# # Script to setup the output directory for the conversion of BCLfiles produced by
|
21
|
+
# # RTA into a standard QSEQ-based base calls folder.
|
22
|
+
# #
|
23
|
+
# # options:
|
24
|
+
# # -h, --help show this help message and exit
|
25
|
+
# # -b BASE_CALLS_DIRECTORY, --base-calls-directory=BASE_CALLS_DIRECTORY
|
26
|
+
# # Full path to the Base Calls directory generated by the
|
27
|
+
# # instrument
|
28
|
+
# # --in-place Allow in-place conversion (in the Base Calls
|
29
|
+
# # directory)
|
30
|
+
# # -o OUTPUT_DIRECTORY, --output-directory=OUTPUT_DIRECTORY
|
31
|
+
# # Full path to the output directory, if not in --in-
|
32
|
+
# # place mode
|
33
|
+
# # -i INTENSITIES_DIRECTORY, --intensities-directory=INTENSITIES_DIRECTORY
|
34
|
+
# # Full path to the directory containing the intensities,
|
35
|
+
# # if different from the parent of the Base Calls
|
36
|
+
# # directory
|
37
|
+
# # -f FILTER_DIRECTORY, --filter-directory=FILTER_DIRECTORY
|
38
|
+
# # Full path to the filter directory, if different from
|
39
|
+
# # the Base Calls directory
|
40
|
+
# # -p POSITIONS_DIRECTORY, --positions-directory=POSITIONS_DIRECTORY
|
41
|
+
# # Full path to the positions directory, if different
|
42
|
+
# # from the Intensities directory
|
43
|
+
# # -P POSITIONS_FORMAT, --positions-format=POSITIONS_FORMAT
|
44
|
+
# # Positions file format (supported formats are:
|
45
|
+
# # {'_pos.txt','.locs','.clocs'})
|
46
|
+
# # --no-eamss Do not apply the EAMSS quality masking
|
47
|
+
# # --overwrite Overwrite the content of the output directory if it
|
48
|
+
# # already exists
|
49
|
+
# # --GERALD=GERALD Path to the GERALD config file
|
50
|
+
# # -S, --silent Do not produce any information or warnings
|
51
|
+
# # -Q, --quiet Produce only warnings. Skips general information
|
52
|
+
# # -V, --verbose Produce additional debug information
|
53
|
+
# # -v, --version Print the version information and exits
|
54
|
+
# # -L LOG_FILE, --log-file=LOG_FILE
|
55
|
+
# # Full path to the log file
|
56
|
+
# # -c, --include-controls
|
57
|
+
# # Include controls information in Passing Filter column
|
58
|
+
# # --ignore-missing-bcl Assume missing *.bcl files correspond to a missed base
|
59
|
+
# # call (i.e., '.')
|
60
|
+
# # --ignore-missing-stats
|
61
|
+
# # Fill in with zeros when *.stats files are missing
|
61
62
|
|
62
63
|
|
63
|
-
module Bio
|
64
|
-
|
65
|
-
|
64
|
+
# module Bio
|
65
|
+
# module Ngs
|
66
|
+
# class Bclqseq
|
66
67
|
|
67
|
-
|
68
|
+
# include Bio::Command::Wrapper
|
68
69
|
|
69
|
-
|
70
|
+
# set_program Bio::Ngs::Utils.binary("setupBclToQseq.py")
|
70
71
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
72
|
+
# add_option "base-calls-directory", :type => :string, :aliases =>'-b', :desc => 'Full path to the Base Calls directory generated by the instrument'
|
73
|
+
# add_option "in-place",:type => :boolean, :desc => 'Allow in-place conversion (in the Base Calls directory)'
|
74
|
+
# add_option "output-directory", :type => :string, :aliases => '-o', :desc => 'Full path to the output directory, if not in --in-place mode'
|
75
|
+
# add_option "intensities-directory", :type => :string, :aliases => '-i', :desc => 'Full path to the directory containing the intensities, if different from the parent of the Base Calls directory'
|
76
|
+
# add_option "filter-directory", :type => :string , :aliases => '-f', :desc => 'Full path to the filter directory, if different from the Base Calls directory'
|
77
|
+
# add_option "positions-directory", :type => :string, :aliases => '-p', :desc => 'Full path to the positions directory, if different from the Intensities directory'
|
78
|
+
# add_option "positions-format", :type => :string, :aliases => '-P', :desc => 'Positions file format (supported formats are: {\'_pos.txt\',\'.locs\',\'.clocs\'})'
|
79
|
+
# add_option "no-eamss", :type => :boolean, :desc => 'Do not apply the EAMSS quality masking'
|
80
|
+
# add_option "overwrite", :type => :boolean, :desc => 'Overwrite the content of the output directory if it already exists'
|
81
|
+
# add_option "GERALD", :type => :string, :desc => 'Path to the GERALD config file'
|
82
|
+
# add_option "silent", :type => :boolean, :aliases => '-S', :desc => 'Do not produce any information or warnings'
|
83
|
+
# add_option "quiet", :type => :boolean, :aliases => '-Q', :desc => 'Produce only warnings. Skips general information'
|
84
|
+
# add_option "verbose", :type => :boolean, :aliases => '-V', :desc => 'Produce additional debug information'
|
85
|
+
# add_option "log-file", :type => :string, :aliases => '-L', :desc => 'Full path to the log file'
|
86
|
+
# add_option "include-controls", :type => :boolean, :aliases => '-c', :desc => 'Include controls information in Passing Filter column'
|
87
|
+
# add_option "ignore-missing-bcl", :type => :boolean, :desc => 'Assume missing *.bcl files correspond to a missed base call (i.e., \'.\')'
|
88
|
+
# add_option "ignore-missin-stats", :type => :boolean, :desc => 'Fill in with zeros when *.stats files are missing'
|
88
89
|
|
89
|
-
|
90
|
-
|
91
|
-
end #Bio
|
90
|
+
# end #Bcl2seq
|
91
|
+
# end #Ngs
|
92
|
+
# end #Bio
|
92
93
|
|
93
94
|
|
@@ -0,0 +1,271 @@
|
|
1
|
+
# casaba.rb - description
|
2
|
+
#
|
3
|
+
# Copyright:: Copyright (C) 2012
|
4
|
+
# Raoul Bonnal <@bioruby.org>
|
5
|
+
# License:: The Ruby License
|
6
|
+
#
|
7
|
+
# CASAVA v1.8.2
|
8
|
+
#
|
9
|
+
# configureQseqToFastq.pl
|
10
|
+
# Usage:
|
11
|
+
# configureQseqToFastq.pl --input-dir DIR [options] | --help
|
12
|
+
|
13
|
+
# Summary:
|
14
|
+
# Create a makefile to convert a directory of qseq files to a directory
|
15
|
+
# tree of compressed fastq files following CASAVA 1.8 filename and
|
16
|
+
# directory structure conventions. If detected, configuration data used by
|
17
|
+
# GERALD are also transfered to the output directory.
|
18
|
+
|
19
|
+
# This script will not configure demultiplexing. The input directory must
|
20
|
+
# contain qseq files which are either non-demultiplexed or already
|
21
|
+
# demultiplexed by another utility.
|
22
|
+
|
23
|
+
# Options:
|
24
|
+
# --input-dir DIRECTORY
|
25
|
+
# Path to qseq directory (no default)
|
26
|
+
|
27
|
+
# --output-dir DIRECTORY
|
28
|
+
# Path to root of CASAVA 1.8 unaligned directory structure. Directory
|
29
|
+
# will be created if it does not exist (default:
|
30
|
+
# '<input-dir>/QseqToFastq/Unaligned')
|
31
|
+
|
32
|
+
# --fastq-cluster-count INTEGER
|
33
|
+
# Maximum number of fastq records per fastq file (default: 4000000)
|
34
|
+
|
35
|
+
# --config-file FILENAME
|
36
|
+
# Specify the Bustard config file to be copied to the fastq directory
|
37
|
+
# (default: '<input-dir>/config.xml')
|
38
|
+
|
39
|
+
# --summary-file FILENAME
|
40
|
+
# Specify the Bustard summary file to be copied to the fastq directory
|
41
|
+
# (default: '<input-dir>/BustardSummary.xml')
|
42
|
+
|
43
|
+
# --flowcell-id STRING
|
44
|
+
# Use the specified string as the flowcell id. (default value is
|
45
|
+
# parsed from the config-file)
|
46
|
+
|
47
|
+
module Bio
|
48
|
+
module Ngs
|
49
|
+
class CASAVA
|
50
|
+
class Bclqseq
|
51
|
+
|
52
|
+
include Bio::Command::Wrapper
|
53
|
+
|
54
|
+
set_program Bio::Ngs::Utils.binary("setupBclToQseq.py")
|
55
|
+
|
56
|
+
add_option "base-calls-directory", :type => :string, :aliases =>'-b', :desc => 'Full path to the Base Calls directory generated by the instrument'
|
57
|
+
add_option "in-place",:type => :boolean, :desc => 'Allow in-place conversion (in the Base Calls directory)'
|
58
|
+
add_option "output-directory", :type => :string, :aliases => '-o', :desc => 'Full path to the output directory, if not in --in-place mode'
|
59
|
+
add_option "intensities-directory", :type => :string, :aliases => '-i', :desc => 'Full path to the directory containing the intensities, if different from the parent of the Base Calls directory'
|
60
|
+
add_option "filter-directory", :type => :string , :aliases => '-f', :desc => 'Full path to the filter directory, if different from the Base Calls directory'
|
61
|
+
add_option "positions-directory", :type => :string, :aliases => '-p', :desc => 'Full path to the positions directory, if different from the Intensities directory'
|
62
|
+
add_option "positions-format", :type => :string, :aliases => '-P', :desc => 'Positions file format (supported formats are: {\'_pos.txt\',\'.locs\',\'.clocs\'})'
|
63
|
+
add_option "no-eamss", :type => :boolean, :desc => 'Do not apply the EAMSS quality masking'
|
64
|
+
add_option "overwrite", :type => :boolean, :desc => 'Overwrite the content of the output directory if it already exists'
|
65
|
+
add_option "GERALD", :type => :string, :desc => 'Path to the GERALD config file'
|
66
|
+
add_option "silent", :type => :boolean, :aliases => '-S', :desc => 'Do not produce any information or warnings'
|
67
|
+
add_option "quiet", :type => :boolean, :aliases => '-Q', :desc => 'Produce only warnings. Skips general information'
|
68
|
+
add_option "verbose", :type => :boolean, :aliases => '-V', :desc => 'Produce additional debug information'
|
69
|
+
add_option "log-file", :type => :string, :aliases => '-L', :desc => 'Full path to the log file'
|
70
|
+
add_option "include-controls", :type => :boolean, :aliases => '-c', :desc => 'Include controls information in Passing Filter column'
|
71
|
+
add_option "ignore-missing-bcl", :type => :boolean, :desc => 'Assume missing *.bcl files correspond to a missed base call (i.e., \'.\')'
|
72
|
+
add_option "ignore-missin-stats", :type => :boolean, :desc => 'Fill in with zeros when *.stats files are missing'
|
73
|
+
|
74
|
+
end #Bcl2seq
|
75
|
+
|
76
|
+
class ConfigBclFastq
|
77
|
+
include Bio::Command::Wrapper
|
78
|
+
|
79
|
+
set_program Bio::Ngs::Utils.binary("configureBclToFastq.pl")
|
80
|
+
|
81
|
+
# Usage:
|
82
|
+
# configureBclToFastq.pl
|
83
|
+
# [--adapter-sequence adapter_fasta_file_path]
|
84
|
+
# [--use-bases-mask mask] [--no-eamss] [--with-failed-reads]
|
85
|
+
# [--input-dir base_calls_dir]
|
86
|
+
# [--intensities-dir intensities_dir]
|
87
|
+
# [--positions-dir positions_dir]
|
88
|
+
# [--positions-format .locs .clocs or _pos.txt]
|
89
|
+
# [--filter-dir filter_dir] [--output-dir output_dir]
|
90
|
+
# [--sample-sheet sample_sheet]
|
91
|
+
# [--mismatches num_of_mismatches per barcode component]
|
92
|
+
# [--fastq-cluster-count cluster_count]
|
93
|
+
# [--ignore-missing-stats] [--ignore-missing-bcl]
|
94
|
+
# [--ignore-missing-control] [--flowcell-id flow_cell_id]
|
95
|
+
# [--tiles tile_selection]
|
96
|
+
|
97
|
+
# configureBclToFastq.pl
|
98
|
+
# --help or --man
|
99
|
+
|
100
|
+
# Options and Arguments:
|
101
|
+
# --adapter-sequence adapter_fasta_file_path
|
102
|
+
# Path to a multi-contig fasta file. If only one sequence is
|
103
|
+
# specified within the fasta file, the same sequence would be used
|
104
|
+
# for all reads. If multiple sequences are specified, the first
|
105
|
+
# sequence would be used for the first read, the second sequence
|
106
|
+
# for the second read.
|
107
|
+
|
108
|
+
# --use-bases-mask mask[[,mask]...]
|
109
|
+
# Conversion mask characters:
|
110
|
+
|
111
|
+
# - Y or y: use
|
112
|
+
# - N or n: discard
|
113
|
+
# - I or i: use for indexing
|
114
|
+
|
115
|
+
# If not given, the mask will be guessed from the RunInfo.xml file
|
116
|
+
# in the run folder.
|
117
|
+
|
118
|
+
# For instance, in a 2x76 indexed paired end run, the mask
|
119
|
+
# Y76,I6n,y75n means: "use all 76 bases from the first end,
|
120
|
+
# discard the last base of the indexing read, and use only the
|
121
|
+
# first 75 bases of the second end".
|
122
|
+
|
123
|
+
# --no-eamss Disable the masking of the quality values with EAMSS.
|
124
|
+
|
125
|
+
# --with-failed-reads Include failed reads into the FASTQ files (by
|
126
|
+
# default, only reads passing filter are included). default, only reads passing filter are included).
|
127
|
+
|
128
|
+
# --input-dir base_calls_dir
|
129
|
+
# Path to a valid BaseCalls directory (defaults to current dir)
|
130
|
+
|
131
|
+
# --intensities-dir intensities_dir
|
132
|
+
# Path to a valid Intensities directory (defaults to parent of
|
133
|
+
# base_calls_dir)
|
134
|
+
|
135
|
+
# --positions-dir positions_dir
|
136
|
+
# Path to a directory containing positions files. (defaults
|
137
|
+
# depending on RTA version)
|
138
|
+
|
139
|
+
# --positions-format .locs .clocs or _pos.txt
|
140
|
+
# Format of the input cluster positions information. (defaults to
|
141
|
+
# .clocs)
|
142
|
+
|
143
|
+
# --filter-dir filter_dir
|
144
|
+
# Path to a directory containing filter files. (defaults depending
|
145
|
+
# on RTA version)
|
146
|
+
|
147
|
+
# --output-dir output_dir
|
148
|
+
# Path to the demultiplexed output (defaults to
|
149
|
+
# base_calls_dir/../../../Unaligned)
|
150
|
+
|
151
|
+
# --sample-sheet sample_sheet
|
152
|
+
# Path to SampleSheet.csv (defaults to
|
153
|
+
# base_call_dir/SampleSheet.csv)
|
154
|
+
|
155
|
+
# --mismatches num_of_mismatches per barcode component
|
156
|
+
# Comma-separated list of mismatches allowed for each barcode
|
157
|
+
# component. Either 0 or 1 (defaults to 0)
|
158
|
+
|
159
|
+
# --fastq-cluster-count cluster_count
|
160
|
+
# Maximum number of fastq records per fastq file (default:
|
161
|
+
# 4000000).
|
162
|
+
|
163
|
+
# --ignore-missing-stats
|
164
|
+
# Fill in with zeros when *.stats files are missing
|
165
|
+
|
166
|
+
# --ignore-missing-bcl
|
167
|
+
# Interpret missing *.bcl files as no call
|
168
|
+
|
169
|
+
# --ignore-missing-control
|
170
|
+
# Interpret missing control files as not-set control bits
|
171
|
+
|
172
|
+
# --tiles regex[[,regex]...]
|
173
|
+
# Comma-separated list of regular expressions to select only a
|
174
|
+
# subset of the tiles available in the flow-cell.
|
175
|
+
|
176
|
+
# - to select all the tiles ending with "5" in all lanes: --tiles [0-9][0-9][0-9]5
|
177
|
+
# - to select tile 2 in lane 1 and all the tiles in the other lanes: --tiles s_1_0002,s_[2-8]
|
178
|
+
|
179
|
+
# --flowcell-id flow_cell_id
|
180
|
+
# Use the specified string as the flowcell id. (default value is
|
181
|
+
# parsed from the config-file)
|
182
|
+
|
183
|
+
# --help Print a brief help message and exit.
|
184
|
+
|
185
|
+
# --man View this help formatted in "man" style.
|
186
|
+
|
187
|
+
# Running the small test data set included with CASAVA
|
188
|
+
# Note that with the example below, if the SampleSheet.csv file is
|
189
|
+
# not found in the BaseCalls folder, the data is assumed to be
|
190
|
+
# non-multiplexed. Use "--sample-sheet" option to override default
|
191
|
+
# SampleSheet.csv location.
|
192
|
+
|
193
|
+
# /opt/CASAVA_v1.8.2/bin/configureBclToFastq.pl \
|
194
|
+
# --output-dir ./Unaligned \
|
195
|
+
# --input-dir /opt/CASAVA_v1.8.2/share/CASAVA-1.8.2/examples/Validation/Default/Data/Intensities/BaseCalls
|
196
|
+
|
197
|
+
# make -C Unaligned # use make -j <parallel jobs> to speedup the conversion
|
198
|
+
|
199
|
+
|
200
|
+
add_option "adapter-sequence", :type => :string, :desc => 'Path to a multi-contig fasta file. If only one sequence is specified within the fasta file, the same sequence would be used for all reads. If multiple sequences are specified, the first sequence would be used for the first read, the second sequence for the second read.'
|
201
|
+
add_option "use-bases-mask", :type => :string, :desc => 'If not given, the mask will be guessed from the RunInfo.xml file in the run folder.'
|
202
|
+
add_option "no-eamss", :type => :boolean, :desc => 'Disable the masking of the quality values with EAMSS.'
|
203
|
+
add_option "with-failed-reads", :type => :boolean, :desc => 'Include failed reads into the FASTQ files (by default, only reads passing filter are included).'
|
204
|
+
add_option "input-dir", :type => :string, :aliases =>'-i', :desc => 'Path to a valid BaseCalls directory (defaults to current dir)'
|
205
|
+
add_option "intensities-dir", :type => :string, :desc => 'Path to a valid Intensities directory (defaults to parent of base_calls_dir)'
|
206
|
+
add_option "positions-dir", :tpe => :string, :desc => 'Path to a directory containing positions files. (defaults depending on RTA version)'
|
207
|
+
add_option "positions-format", :type => :string, :desc => 'Format of the input cluster positions information. (defaults to .clocs)'
|
208
|
+
add_option "filter_dir", :type => :string, :desc => 'Path to a directory containing filter files. (defaults depending on RTA version)'
|
209
|
+
add_option "output-dir",:type => :string, :aliases => '-o', :desc => 'Path to the demultiplexed output (defaults to base_calls_dir/../../../Unaligned)'
|
210
|
+
add_option "sample-sheet", :type => :string, :desc => 'Path to SampleSheet.csv (defaults to base_call_dir/SampleSheet.csv)' #, :default => 'SampleSheet.csv'
|
211
|
+
add_option "mismatches", :type => :numeric, :desc => 'Comma-separated list of mismatches allowed for each barcode component. Either 0 or 1 (defaults to 0)', :defaults=> 1
|
212
|
+
add_option "fastq-cluster-count", :type => :numeric, :desc => 'Maximum number of fastq records per fastq file (default: 4000000).'
|
213
|
+
add_option "ignore-missin-stats", :type => :boolean, :desc => 'Fill in with zeros when *.stats files are missing'
|
214
|
+
add_option "ignore-missing-bcl", :type => :boolean, :desc => 'Interpret missing *.bcl files as no call'
|
215
|
+
add_option "ignore-missing-control", :type => :boolean, :desc => 'Interpret missing control files as not-set control bits'
|
216
|
+
add_option "tiles", :type => :string, :desc => 'Comma-separated list of regular expressions to select only a subset of the tiles available in the flow-cell.'
|
217
|
+
add_option "flowcell-id", :type => :string , :desc => 'Use the specified string as the flowcell id. (default value is parsed from the config-file)'
|
218
|
+
end #ConfigBclFastq
|
219
|
+
|
220
|
+
class ConfigQseqFastq
|
221
|
+
include Bio::Command::Wrapper
|
222
|
+
|
223
|
+
set_program Bio::Ngs::Utils.binary("configureQseqToFastq.pl")
|
224
|
+
|
225
|
+
# Usage:
|
226
|
+
# configureQseqToFastq.pl --input-dir DIR [options] | --help
|
227
|
+
|
228
|
+
# Summary:
|
229
|
+
# Create a makefile to convert a directory of qseq files to a directory
|
230
|
+
# tree of compressed fastq files following CASAVA 1.8 filename and
|
231
|
+
# directory structure conventions. If detected, configuration data used by
|
232
|
+
# GERALD are also transfered to the output directory.
|
233
|
+
|
234
|
+
# This script will not configure demultiplexing. The input directory must
|
235
|
+
# contain qseq files which are either non-demultiplexed or already
|
236
|
+
# demultiplexed by another utility.
|
237
|
+
|
238
|
+
# Options:
|
239
|
+
# --input-dir DIRECTORY
|
240
|
+
# Path to qseq directory (no default)
|
241
|
+
|
242
|
+
# --output-dir DIRECTORY
|
243
|
+
# Path to root of CASAVA 1.8 unaligned directory structure. Directory
|
244
|
+
# will be created if it does not exist (default:
|
245
|
+
# '<input-dir>/QseqToFastq/Unaligned')
|
246
|
+
|
247
|
+
# --fastq-cluster-count INTEGER
|
248
|
+
# Maximum number of fastq records per fastq file (default: 4000000)
|
249
|
+
|
250
|
+
# --config-file FILENAME
|
251
|
+
# Specify the Bustard config file to be copied to the fastq directory
|
252
|
+
# (default: '<input-dir>/config.xml')
|
253
|
+
|
254
|
+
# --summary-file FILENAME
|
255
|
+
# Specify the Bustard summary file to be copied to the fastq directory
|
256
|
+
# (default: '<input-dir>/BustardSummary.xml')
|
257
|
+
|
258
|
+
# --flowcell-id STRING
|
259
|
+
# Use the specified string as the flowcell id. (default value is
|
260
|
+
# parsed from the config-file)
|
261
|
+
add_option "input-dir", :type => :string, :aliases =>'-i', :desc => 'Path to qseq directory (no default)'
|
262
|
+
add_option "output-dir",:type => :string, :aliases => '-o', :desc => 'Path to root of CASAVA 1.8 unaligned directory structure. Directory will be created if it does not exist (default:\'<input-dir>/QseqToFastq/Unaligned\')'
|
263
|
+
add_option "fastq-cluster-count", :type => :numeric, :aliases => '-c', :desc => 'Maximum number of fastq records per fastq file (default: 4000000)'
|
264
|
+
add_option "config-file", :type => :string, :aliases => '-f', :desc => 'Specify the Bustard config file to be copied to the fastq directory (default: \'<input-dir>/config.xml\')'
|
265
|
+
add_option "summary-file", :type => :string , :aliases => '-s', :desc => 'Specify the Bustard summary file to be copied to the fastq directory (default: \'<input-dir>/BustardSummary.xml\')'
|
266
|
+
add_option "flowcell-id", :type => :string, :aliases => '-d', :desc => 'Use the specified string as the flowcell id. (default value is parsed from the config-file)'
|
267
|
+
end #ConfigQseqFastq
|
268
|
+
|
269
|
+
end #CASAVA
|
270
|
+
end #Ngs
|
271
|
+
end #Bio
|
data/lib/tasks/convert.thor
CHANGED
@@ -206,13 +206,13 @@ module Convert
|
|
206
206
|
module Bcl
|
207
207
|
class Qseq < Thor
|
208
208
|
desc "convert RUN OUTPUT [JOBS]", "Convert a bcl dataset in qseq"
|
209
|
-
def
|
209
|
+
def convert (run_basecalls_root, output, jobs=1)
|
210
210
|
invoke :configure_conversion, [run_basecalls_root, output]
|
211
211
|
invoke :run_bcl_to_qseq, [run_basecalls_root, jobs]
|
212
212
|
end #bcl_to_qseq
|
213
213
|
|
214
214
|
desc "configure_conversion RUN_DIR OUTPUT ", "Configure the specific Run to be converted", :hide => true
|
215
|
-
Bio::Ngs::Bclqseq.new.thor_task(self, :configure_conversion) do |wrapper, task, run_basecalls_root, output|
|
215
|
+
Bio::Ngs::CASAVA::Bclqseq.new.thor_task(self, :configure_conversion) do |wrapper, task, run_basecalls_root, output|
|
216
216
|
#wrapper.params={"base-calls-directory" => "#{run_basecalls_root}/Data/Intensities/BaseCalls", "output-directory" => output}
|
217
217
|
task.options.base_calls_directory=run_basecalls_root
|
218
218
|
#puts "Test parametri #{task.inspect}"
|
@@ -227,6 +227,51 @@ module Convert
|
|
227
227
|
puts "make recursive -j #{jobs} -f #{run_basecalls_root}/Data/Intensities/BaseCalls/Makefile -C #{run_basecalls_root}/Data/Intensities/BaseCalls"
|
228
228
|
end #run_bcl_to_qseq
|
229
229
|
end #Qseq
|
230
|
+
|
231
|
+
class Fastq < Thor
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
desc "convert RUNDIR DATAOUTDIR [SAMPLESHEET]", "Convert a bcl dataset in fastq. By default it creates a directory with the same name of the rawdata dir attaching a postfix _DATA"
|
236
|
+
method_option :cpu, :type => :numeric, :desc => "number of cpu to use for demultiplexing", :default => 1
|
237
|
+
method_option "sample-sheet", :type=> :string, :default => 'SampleSheet.csv'
|
238
|
+
def convert(run_basecalls_root, dataoutdir, samplesheet=nil)
|
239
|
+
configure_conversion(run_basecalls_root, dataoutdir)
|
240
|
+
start_conversion(dataoutdir, options[:cpu])
|
241
|
+
end #convert bcl to fastq
|
242
|
+
|
243
|
+
desc "configure_conversion RUNDIR DATAOUTDIR", "Configure the specific Run to be converted"
|
244
|
+
Bio::Ngs::CASAVA::ConfigBclFastq.new.thor_task(self, :configure_conversion) do |wrapper, task, run_basecalls_root, dataoutdir|
|
245
|
+
base_calls_dir = File.join(run_basecalls_root, "Data/Intensities/BaseCalls")
|
246
|
+
|
247
|
+
if sample_sheet=task.options["sample-sheet"]
|
248
|
+
if File.dirname(sample_sheet) == '.'
|
249
|
+
if File.exists?(File.join(base_calls_dir,sample_sheet))
|
250
|
+
#default place
|
251
|
+
sample_sheet = File.join(base_calls_dir,sample_sheet)
|
252
|
+
elsif File.exists?(File.join(run_basecalls_root,sample_sheet))
|
253
|
+
#search for sample sheet in the root of raw data directoy
|
254
|
+
sample_sheet = File.join(run_basecalls_root,sample_sheet)
|
255
|
+
else
|
256
|
+
raise "Unable to find a valid sample sheet: #{sample_sheet}"
|
257
|
+
end
|
258
|
+
elsif !File.exists?(sample_sheet)
|
259
|
+
raise "Unable to find a valid sample sheet: #{sample_sheet}"
|
260
|
+
end
|
261
|
+
end
|
262
|
+
wrapper.params={"input-dir" => "#{run_basecalls_root}/Data/Intensities/BaseCalls", "output-dir" => dataoutdir, "sample-sheet" => sample_sheet}
|
263
|
+
wrapper.run
|
264
|
+
end
|
265
|
+
|
266
|
+
|
267
|
+
desc "start_conversion CONF_DATA_DIR", "Start the conversion"
|
268
|
+
def start_conversion(conf_data_dir, cpu)
|
269
|
+
Dir.chdir(conf_data_dir) do
|
270
|
+
`make -j "#{cpu}"`
|
271
|
+
end
|
272
|
+
end #start_conversion
|
273
|
+
|
274
|
+
end #Fastq
|
230
275
|
end #Bcl
|
231
276
|
|
232
277
|
|
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.5.
|
4
|
+
version: 0.5.2
|
5
5
|
prerelease:
|
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: 2012-06-
|
13
|
+
date: 2012-06-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bio
|
17
|
-
requirement: &
|
17
|
+
requirement: &2166262160 !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: *2166262160
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bio-samtools
|
28
|
-
requirement: &
|
28
|
+
requirement: &2166261600 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 0.3.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2166261600
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: thor
|
39
|
-
requirement: &
|
39
|
+
requirement: &2166260980 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - =
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 0.14.6
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2166260980
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rubyvis
|
50
|
-
requirement: &
|
50
|
+
requirement: &2166260420 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 0.5.0
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *2166260420
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: daemons
|
61
|
-
requirement: &
|
61
|
+
requirement: &2166259800 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 1.1.0
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *2166259800
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: ruby-ensembl-api
|
72
|
-
requirement: &
|
72
|
+
requirement: &2166259280 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.0.1
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *2166259280
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: activerecord
|
83
|
-
requirement: &
|
83
|
+
requirement: &2166258500 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: 3.0.5
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *2166258500
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: progressbar
|
94
|
-
requirement: &
|
94
|
+
requirement: &2166257420 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: 0.9.0
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *2166257420
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rake
|
105
|
-
requirement: &
|
105
|
+
requirement: &2166272400 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - =
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: 0.9.2.2
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *2166272400
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: json
|
116
|
-
requirement: &
|
116
|
+
requirement: &2166270800 !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: *2166270800
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: parallel
|
127
|
-
requirement: &
|
127
|
+
requirement: &2166269020 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: '0'
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *2166269020
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: bio-blastxmlparser
|
138
|
-
requirement: &
|
138
|
+
requirement: &2166266860 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ! '>='
|
@@ -143,10 +143,10 @@ dependencies:
|
|
143
143
|
version: '0'
|
144
144
|
type: :runtime
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *2166266860
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: shoulda
|
149
|
-
requirement: &
|
149
|
+
requirement: &2166264600 !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|
152
152
|
- - ! '>='
|
@@ -154,10 +154,10 @@ dependencies:
|
|
154
154
|
version: '0'
|
155
155
|
type: :development
|
156
156
|
prerelease: false
|
157
|
-
version_requirements: *
|
157
|
+
version_requirements: *2166264600
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: bundler
|
160
|
-
requirement: &
|
160
|
+
requirement: &2166278940 !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|
163
163
|
- - ~>
|
@@ -165,10 +165,10 @@ dependencies:
|
|
165
165
|
version: 1.1.0
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
|
-
version_requirements: *
|
168
|
+
version_requirements: *2166278940
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: jeweler
|
171
|
-
requirement: &
|
171
|
+
requirement: &2166277640 !ruby/object:Gem::Requirement
|
172
172
|
none: false
|
173
173
|
requirements:
|
174
174
|
- - ~>
|
@@ -176,10 +176,10 @@ dependencies:
|
|
176
176
|
version: 1.8.3
|
177
177
|
type: :development
|
178
178
|
prerelease: false
|
179
|
-
version_requirements: *
|
179
|
+
version_requirements: *2166277640
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
181
|
name: rcov
|
182
|
-
requirement: &
|
182
|
+
requirement: &2166275480 !ruby/object:Gem::Requirement
|
183
183
|
none: false
|
184
184
|
requirements:
|
185
185
|
- - ~>
|
@@ -187,10 +187,10 @@ dependencies:
|
|
187
187
|
version: 0.9.11
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
|
-
version_requirements: *
|
190
|
+
version_requirements: *2166275480
|
191
191
|
- !ruby/object:Gem::Dependency
|
192
192
|
name: bio
|
193
|
-
requirement: &
|
193
|
+
requirement: &2166274860 !ruby/object:Gem::Requirement
|
194
194
|
none: false
|
195
195
|
requirements:
|
196
196
|
- - ! '>='
|
@@ -198,10 +198,10 @@ dependencies:
|
|
198
198
|
version: 1.4.2
|
199
199
|
type: :development
|
200
200
|
prerelease: false
|
201
|
-
version_requirements: *
|
201
|
+
version_requirements: *2166274860
|
202
202
|
- !ruby/object:Gem::Dependency
|
203
203
|
name: jdbc-sqlite3
|
204
|
-
requirement: &
|
204
|
+
requirement: &2166274300 !ruby/object:Gem::Requirement
|
205
205
|
none: false
|
206
206
|
requirements:
|
207
207
|
- - ! '>='
|
@@ -209,10 +209,10 @@ dependencies:
|
|
209
209
|
version: '0'
|
210
210
|
type: :development
|
211
211
|
prerelease: false
|
212
|
-
version_requirements: *
|
212
|
+
version_requirements: *2166274300
|
213
213
|
- !ruby/object:Gem::Dependency
|
214
214
|
name: activerecord-jdbcsqlite3-adapter
|
215
|
-
requirement: &
|
215
|
+
requirement: &2166273680 !ruby/object:Gem::Requirement
|
216
216
|
none: false
|
217
217
|
requirements:
|
218
218
|
- - ! '>='
|
@@ -220,10 +220,10 @@ dependencies:
|
|
220
220
|
version: '0'
|
221
221
|
type: :development
|
222
222
|
prerelease: false
|
223
|
-
version_requirements: *
|
223
|
+
version_requirements: *2166273680
|
224
224
|
- !ruby/object:Gem::Dependency
|
225
225
|
name: sqlite3
|
226
|
-
requirement: &
|
226
|
+
requirement: &2166273120 !ruby/object:Gem::Requirement
|
227
227
|
none: false
|
228
228
|
requirements:
|
229
229
|
- - ! '>='
|
@@ -231,10 +231,10 @@ dependencies:
|
|
231
231
|
version: '0'
|
232
232
|
type: :development
|
233
233
|
prerelease: false
|
234
|
-
version_requirements: *
|
234
|
+
version_requirements: *2166273120
|
235
235
|
- !ruby/object:Gem::Dependency
|
236
236
|
name: thor
|
237
|
-
requirement: &
|
237
|
+
requirement: &2166288940 !ruby/object:Gem::Requirement
|
238
238
|
none: false
|
239
239
|
requirements:
|
240
240
|
- - =
|
@@ -242,10 +242,10 @@ dependencies:
|
|
242
242
|
version: 0.14.6
|
243
243
|
type: :development
|
244
244
|
prerelease: false
|
245
|
-
version_requirements: *
|
245
|
+
version_requirements: *2166288940
|
246
246
|
- !ruby/object:Gem::Dependency
|
247
247
|
name: ffi
|
248
|
-
requirement: &
|
248
|
+
requirement: &2166288460 !ruby/object:Gem::Requirement
|
249
249
|
none: false
|
250
250
|
requirements:
|
251
251
|
- - ! '>='
|
@@ -253,10 +253,10 @@ dependencies:
|
|
253
253
|
version: 1.0.6
|
254
254
|
type: :development
|
255
255
|
prerelease: false
|
256
|
-
version_requirements: *
|
256
|
+
version_requirements: *2166288460
|
257
257
|
- !ruby/object:Gem::Dependency
|
258
258
|
name: rubyvis
|
259
|
-
requirement: &
|
259
|
+
requirement: &2166287980 !ruby/object:Gem::Requirement
|
260
260
|
none: false
|
261
261
|
requirements:
|
262
262
|
- - ! '>='
|
@@ -264,10 +264,10 @@ dependencies:
|
|
264
264
|
version: 0.5.0
|
265
265
|
type: :development
|
266
266
|
prerelease: false
|
267
|
-
version_requirements: *
|
267
|
+
version_requirements: *2166287980
|
268
268
|
- !ruby/object:Gem::Dependency
|
269
269
|
name: rspec
|
270
|
-
requirement: &
|
270
|
+
requirement: &2166287500 !ruby/object:Gem::Requirement
|
271
271
|
none: false
|
272
272
|
requirements:
|
273
273
|
- - ! '>='
|
@@ -275,10 +275,10 @@ dependencies:
|
|
275
275
|
version: 2.5.0
|
276
276
|
type: :development
|
277
277
|
prerelease: false
|
278
|
-
version_requirements: *
|
278
|
+
version_requirements: *2166287500
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: daemons
|
281
|
-
requirement: &
|
281
|
+
requirement: &2166286880 !ruby/object:Gem::Requirement
|
282
282
|
none: false
|
283
283
|
requirements:
|
284
284
|
- - ! '>='
|
@@ -286,10 +286,10 @@ dependencies:
|
|
286
286
|
version: 1.1.0
|
287
287
|
type: :development
|
288
288
|
prerelease: false
|
289
|
-
version_requirements: *
|
289
|
+
version_requirements: *2166286880
|
290
290
|
- !ruby/object:Gem::Dependency
|
291
291
|
name: bio-samtools
|
292
|
-
requirement: &
|
292
|
+
requirement: &2166286080 !ruby/object:Gem::Requirement
|
293
293
|
none: false
|
294
294
|
requirements:
|
295
295
|
- - ! '>='
|
@@ -297,10 +297,10 @@ dependencies:
|
|
297
297
|
version: 0.3.2
|
298
298
|
type: :development
|
299
299
|
prerelease: false
|
300
|
-
version_requirements: *
|
300
|
+
version_requirements: *2166286080
|
301
301
|
- !ruby/object:Gem::Dependency
|
302
302
|
name: ruby-ensembl-api
|
303
|
-
requirement: &
|
303
|
+
requirement: &2166285560 !ruby/object:Gem::Requirement
|
304
304
|
none: false
|
305
305
|
requirements:
|
306
306
|
- - ! '>='
|
@@ -308,10 +308,10 @@ dependencies:
|
|
308
308
|
version: 1.0.1
|
309
309
|
type: :development
|
310
310
|
prerelease: false
|
311
|
-
version_requirements: *
|
311
|
+
version_requirements: *2166285560
|
312
312
|
- !ruby/object:Gem::Dependency
|
313
313
|
name: activerecord
|
314
|
-
requirement: &
|
314
|
+
requirement: &2166284900 !ruby/object:Gem::Requirement
|
315
315
|
none: false
|
316
316
|
requirements:
|
317
317
|
- - ! '>='
|
@@ -319,10 +319,10 @@ dependencies:
|
|
319
319
|
version: 3.0.5
|
320
320
|
type: :development
|
321
321
|
prerelease: false
|
322
|
-
version_requirements: *
|
322
|
+
version_requirements: *2166284900
|
323
323
|
- !ruby/object:Gem::Dependency
|
324
324
|
name: progressbar
|
325
|
-
requirement: &
|
325
|
+
requirement: &2166283580 !ruby/object:Gem::Requirement
|
326
326
|
none: false
|
327
327
|
requirements:
|
328
328
|
- - ! '>='
|
@@ -330,10 +330,10 @@ dependencies:
|
|
330
330
|
version: 0.9.0
|
331
331
|
type: :development
|
332
332
|
prerelease: false
|
333
|
-
version_requirements: *
|
333
|
+
version_requirements: *2166283580
|
334
334
|
- !ruby/object:Gem::Dependency
|
335
335
|
name: json
|
336
|
-
requirement: &
|
336
|
+
requirement: &2166282460 !ruby/object:Gem::Requirement
|
337
337
|
none: false
|
338
338
|
requirements:
|
339
339
|
- - ! '>='
|
@@ -341,10 +341,10 @@ dependencies:
|
|
341
341
|
version: '0'
|
342
342
|
type: :development
|
343
343
|
prerelease: false
|
344
|
-
version_requirements: *
|
344
|
+
version_requirements: *2166282460
|
345
345
|
- !ruby/object:Gem::Dependency
|
346
346
|
name: rake
|
347
|
-
requirement: &
|
347
|
+
requirement: &2166281940 !ruby/object:Gem::Requirement
|
348
348
|
none: false
|
349
349
|
requirements:
|
350
350
|
- - =
|
@@ -352,10 +352,10 @@ dependencies:
|
|
352
352
|
version: 0.9.2.2
|
353
353
|
type: :development
|
354
354
|
prerelease: false
|
355
|
-
version_requirements: *
|
355
|
+
version_requirements: *2166281940
|
356
356
|
- !ruby/object:Gem::Dependency
|
357
357
|
name: parallel
|
358
|
-
requirement: &
|
358
|
+
requirement: &2166281440 !ruby/object:Gem::Requirement
|
359
359
|
none: false
|
360
360
|
requirements:
|
361
361
|
- - ! '>='
|
@@ -363,10 +363,10 @@ dependencies:
|
|
363
363
|
version: '0'
|
364
364
|
type: :development
|
365
365
|
prerelease: false
|
366
|
-
version_requirements: *
|
366
|
+
version_requirements: *2166281440
|
367
367
|
- !ruby/object:Gem::Dependency
|
368
368
|
name: bio-blastxmlparser
|
369
|
-
requirement: &
|
369
|
+
requirement: &2166311140 !ruby/object:Gem::Requirement
|
370
370
|
none: false
|
371
371
|
requirements:
|
372
372
|
- - ! '>='
|
@@ -374,7 +374,7 @@ dependencies:
|
|
374
374
|
version: '0'
|
375
375
|
type: :development
|
376
376
|
prerelease: false
|
377
|
-
version_requirements: *
|
377
|
+
version_requirements: *2166311140
|
378
378
|
description: bio-ngs provides a framework for handling NGS data with BioRuby
|
379
379
|
email: francesco.strozzi@gmail.com
|
380
380
|
executables:
|
@@ -408,6 +408,7 @@ files:
|
|
408
408
|
- lib/bio/appl/ngs/blast.rb
|
409
409
|
- lib/bio/appl/ngs/bowtie-inspect.rb
|
410
410
|
- lib/bio/appl/ngs/bwa.rb
|
411
|
+
- lib/bio/appl/ngs/casava.rb
|
411
412
|
- lib/bio/appl/ngs/cufflinks.rb
|
412
413
|
- lib/bio/appl/ngs/cufflinks/gtf/gtf.rb
|
413
414
|
- lib/bio/appl/ngs/cufflinks/gtf/gtf_parser.rb
|
@@ -565,7 +566,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
565
566
|
version: '0'
|
566
567
|
segments:
|
567
568
|
- 0
|
568
|
-
hash:
|
569
|
+
hash: -324179817321782076
|
569
570
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
570
571
|
none: false
|
571
572
|
requirements:
|
@@ -574,7 +575,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
574
575
|
version: '0'
|
575
576
|
requirements: []
|
576
577
|
rubyforge_project:
|
577
|
-
rubygems_version: 1.8.
|
578
|
+
rubygems_version: 1.8.15
|
578
579
|
signing_key:
|
579
580
|
specification_version: 3
|
580
581
|
summary: bio-ngs provides a framework for handling NGS data with BioRuby
|