bio-vcf 0.8.1 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +1 -11
  3. data/Gemfile +2 -8
  4. data/LICENSE.txt +1 -1
  5. data/README.md +467 -129
  6. data/RELEASE_NOTES.md +27 -0
  7. data/RELEASE_NOTES.md~ +11 -0
  8. data/Rakefile +9 -42
  9. data/TAGS +115 -0
  10. data/VERSION +1 -1
  11. data/bin/bio-vcf +156 -108
  12. data/bio-vcf.gemspec +13 -75
  13. data/features/cli.feature +22 -4
  14. data/features/diff_count.feature +0 -1
  15. data/features/filter.feature +12 -0
  16. data/features/multisample.feature +12 -0
  17. data/features/somaticsniper.feature +2 -0
  18. data/features/step_definitions/cli-feature.rb +15 -6
  19. data/features/step_definitions/diff_count.rb +1 -1
  20. data/features/step_definitions/multisample.rb +19 -0
  21. data/features/step_definitions/somaticsniper.rb +9 -1
  22. data/features/step_definitions/vcf_header.rb +48 -0
  23. data/features/support/env.rb +1 -11
  24. data/features/vcf_header.feature +35 -0
  25. data/lib/bio-vcf.rb +1 -0
  26. data/lib/bio-vcf/pcows.rb +303 -0
  27. data/lib/bio-vcf/vcffile.rb +46 -0
  28. data/lib/bio-vcf/vcfgenotypefield.rb +19 -19
  29. data/lib/bio-vcf/vcfheader.rb +137 -5
  30. data/lib/bio-vcf/vcfheader_line.rb +778 -0
  31. data/lib/bio-vcf/vcfrecord.rb +56 -18
  32. data/lib/bio-vcf/vcfsample.rb +26 -2
  33. data/lib/regressiontest.rb +11 -0
  34. data/lib/regressiontest/cli_exec.rb +101 -0
  35. data/ragel/gen_vcfheaderline_parser.rl +165 -0
  36. data/ragel/generate.sh +8 -0
  37. data/template/vcf2json.erb +16 -16
  38. data/template/vcf2json_full_header.erb +22 -0
  39. data/template/vcf2json_use_meta.erb +41 -0
  40. data/test/data/input/empty.vcf +2 -0
  41. data/test/data/input/gatk_exome.vcf +237 -0
  42. data/test/data/input/gatk_wgs.vcf +1000 -0
  43. data/test/data/input/test.bed +632 -0
  44. data/test/data/regression/empty-stderr.new +12 -0
  45. data/test/data/regression/empty.new +2 -0
  46. data/test/data/regression/empty.ref +2 -0
  47. data/test/data/regression/eval_once-stderr.new +2 -0
  48. data/test/data/regression/eval_once.new +1 -0
  49. data/test/data/regression/eval_once.ref +1 -0
  50. data/test/data/regression/eval_r.info.dp-stderr.new +10 -0
  51. data/test/data/regression/eval_r.info.dp.new +150 -0
  52. data/test/data/regression/ifilter_s.dp-stderr.new +34 -0
  53. data/test/data/regression/ifilter_s.dp.new +31 -0
  54. data/test/data/regression/pass1-stderr.new +10 -0
  55. data/test/data/regression/pass1.new +88 -0
  56. data/test/data/regression/pass1.ref +88 -0
  57. data/test/data/regression/r.info.dp-stderr.new +4 -0
  58. data/test/data/regression/r.info.dp.new +114 -0
  59. data/test/data/regression/rewrite.info.sample-stderr.new +10 -0
  60. data/test/data/regression/rewrite.info.sample.new +150 -0
  61. data/test/data/regression/s.dp-stderr.new +18 -0
  62. data/test/data/regression/s.dp.new +145 -0
  63. data/test/data/regression/seval_s.dp-stderr.new +10 -0
  64. data/test/data/regression/seval_s.dp.new +36 -0
  65. data/test/data/regression/sfilter_seval_s.dp-stderr.new +18 -0
  66. data/test/data/regression/sfilter_seval_s.dp.new +31 -0
  67. data/test/data/regression/thread4-stderr.new +10 -0
  68. data/test/data/regression/thread4.new +150 -0
  69. data/test/data/regression/thread4_4-stderr.new +25 -0
  70. data/test/data/regression/thread4_4.new +130 -0
  71. data/test/data/regression/thread4_4_failed_filter-stderr.new +5 -0
  72. data/test/data/regression/thread4_4_failed_filter-stderr.ref +5 -2
  73. data/test/data/regression/thread4_4_failed_filter.new +110 -0
  74. data/test/data/regression/vcf2json_full_header-stderr.new +10 -0
  75. data/test/data/regression/vcf2json_full_header.new +225 -0
  76. data/test/data/regression/vcf2json_full_header.ref +225 -0
  77. data/test/data/regression/vcf2json_use_meta-stderr.new +10 -0
  78. data/test/data/regression/vcf2json_use_meta.new +4697 -0
  79. data/test/data/regression/vcf2json_use_meta.ref +4697 -0
  80. data/test/performance/metrics.md +18 -1
  81. data/test/stress/stress_test.sh +15 -0
  82. data/test/tmp/test.vcf +12469 -0
  83. metadata +63 -64
  84. data/Gemfile.lock +0 -81
metadata CHANGED
@@ -1,73 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio-vcf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pjotr Prins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-26 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rspec
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: cucumber
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: jeweler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 2.0.1
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 2.0.1
55
- - !ruby/object:Gem::Dependency
56
- name: regressiontest
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 0.0.3
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.0.3
11
+ date: 2021-01-18 00:00:00.000000000 Z
12
+ dependencies: []
69
13
  description: Smart lazy multi-threaded parser for VCF format with useful filtering
70
- and output rewriting
14
+ and output rewriting (JSON, RDF etc.)
71
15
  email: pjotr.public01@thebird.nl
72
16
  executables:
73
17
  - bio-vcf
@@ -78,15 +22,18 @@ extra_rdoc_files:
78
22
  files:
79
23
  - ".travis.yml"
80
24
  - Gemfile
81
- - Gemfile.lock
82
25
  - LICENSE.txt
83
26
  - README.md
27
+ - RELEASE_NOTES.md
28
+ - RELEASE_NOTES.md~
84
29
  - Rakefile
30
+ - TAGS
85
31
  - VERSION
86
32
  - bin/bio-vcf
87
33
  - bio-vcf.gemspec
88
34
  - features/cli.feature
89
35
  - features/diff_count.feature
36
+ - features/filter.feature
90
37
  - features/multisample.feature
91
38
  - features/sfilter.feature
92
39
  - features/somaticsniper.feature
@@ -96,39 +43,91 @@ files:
96
43
  - features/step_definitions/multisample.rb
97
44
  - features/step_definitions/sfilter.rb
98
45
  - features/step_definitions/somaticsniper.rb
46
+ - features/step_definitions/vcf_header.rb
99
47
  - features/support/env.rb
48
+ - features/vcf_header.feature
100
49
  - lib/bio-vcf.rb
101
50
  - lib/bio-vcf/bedfilter.rb
51
+ - lib/bio-vcf/pcows.rb
102
52
  - lib/bio-vcf/template.rb
103
53
  - lib/bio-vcf/utils.rb
104
54
  - lib/bio-vcf/variant.rb
105
55
  - lib/bio-vcf/vcf.rb
56
+ - lib/bio-vcf/vcffile.rb
106
57
  - lib/bio-vcf/vcfgenotypefield.rb
107
58
  - lib/bio-vcf/vcfheader.rb
59
+ - lib/bio-vcf/vcfheader_line.rb
108
60
  - lib/bio-vcf/vcfline.rb
109
61
  - lib/bio-vcf/vcfrdf.rb
110
62
  - lib/bio-vcf/vcfrecord.rb
111
63
  - lib/bio-vcf/vcfsample.rb
112
64
  - lib/bio-vcf/vcfstatistics.rb
65
+ - lib/regressiontest.rb
66
+ - lib/regressiontest/cli_exec.rb
67
+ - ragel/gen_vcfheaderline_parser.rl
68
+ - ragel/generate.sh
113
69
  - template/gatk_vcf2rdf.erb
114
70
  - template/vcf2json.erb
71
+ - template/vcf2json_full_header.erb
72
+ - template/vcf2json_use_meta.erb
115
73
  - template/vcf2rdf.erb
116
74
  - template/vcf2rdf_header.erb
117
75
  - test/data/input/dbsnp.vcf
76
+ - test/data/input/empty.vcf
77
+ - test/data/input/gatk_exome.vcf
78
+ - test/data/input/gatk_wgs.vcf
118
79
  - test/data/input/multisample.vcf
119
80
  - test/data/input/somaticsniper.vcf
81
+ - test/data/input/test.bed
82
+ - test/data/regression/empty-stderr.new
83
+ - test/data/regression/empty.new
84
+ - test/data/regression/empty.ref
85
+ - test/data/regression/eval_once-stderr.new
86
+ - test/data/regression/eval_once.new
87
+ - test/data/regression/eval_once.ref
88
+ - test/data/regression/eval_r.info.dp-stderr.new
89
+ - test/data/regression/eval_r.info.dp.new
120
90
  - test/data/regression/eval_r.info.dp.ref
91
+ - test/data/regression/ifilter_s.dp-stderr.new
92
+ - test/data/regression/ifilter_s.dp.new
121
93
  - test/data/regression/ifilter_s.dp.ref
94
+ - test/data/regression/pass1-stderr.new
95
+ - test/data/regression/pass1.new
96
+ - test/data/regression/pass1.ref
97
+ - test/data/regression/r.info.dp-stderr.new
98
+ - test/data/regression/r.info.dp.new
122
99
  - test/data/regression/r.info.dp.ref
100
+ - test/data/regression/rewrite.info.sample-stderr.new
101
+ - test/data/regression/rewrite.info.sample.new
123
102
  - test/data/regression/rewrite.info.sample.ref
103
+ - test/data/regression/s.dp-stderr.new
104
+ - test/data/regression/s.dp.new
124
105
  - test/data/regression/s.dp.ref
106
+ - test/data/regression/seval_s.dp-stderr.new
107
+ - test/data/regression/seval_s.dp.new
125
108
  - test/data/regression/seval_s.dp.ref
109
+ - test/data/regression/sfilter_seval_s.dp-stderr.new
110
+ - test/data/regression/sfilter_seval_s.dp.new
126
111
  - test/data/regression/sfilter_seval_s.dp.ref
112
+ - test/data/regression/thread4-stderr.new
113
+ - test/data/regression/thread4.new
127
114
  - test/data/regression/thread4.ref
115
+ - test/data/regression/thread4_4-stderr.new
116
+ - test/data/regression/thread4_4.new
128
117
  - test/data/regression/thread4_4.ref
118
+ - test/data/regression/thread4_4_failed_filter-stderr.new
129
119
  - test/data/regression/thread4_4_failed_filter-stderr.ref
120
+ - test/data/regression/thread4_4_failed_filter.new
121
+ - test/data/regression/vcf2json_full_header-stderr.new
122
+ - test/data/regression/vcf2json_full_header.new
123
+ - test/data/regression/vcf2json_full_header.ref
124
+ - test/data/regression/vcf2json_use_meta-stderr.new
125
+ - test/data/regression/vcf2json_use_meta.new
126
+ - test/data/regression/vcf2json_use_meta.ref
130
127
  - test/performance/metrics.md
131
- homepage: http://github.com/pjotrp/bioruby-vcf
128
+ - test/stress/stress_test.sh
129
+ - test/tmp/test.vcf
130
+ homepage: http://github.com/vcflib/bio-vcf
132
131
  licenses:
133
132
  - MIT
134
133
  metadata: {}
@@ -148,8 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
147
  version: '0'
149
148
  requirements: []
150
149
  rubyforge_project:
151
- rubygems_version: 2.2.2
150
+ rubygems_version: 2.7.6.2
152
151
  signing_key:
153
152
  specification_version: 4
154
- summary: Fast multi-threaded VCF parser
153
+ summary: Fast multi-purpose multi-threaded VCF parser
155
154
  test_files: []
@@ -1,81 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- addressable (2.3.5)
5
- builder (3.2.2)
6
- cucumber (1.3.11)
7
- builder (>= 2.1.2)
8
- diff-lcs (>= 1.1.3)
9
- gherkin (~> 2.12)
10
- multi_json (>= 1.7.5, < 2.0)
11
- multi_test (>= 0.0.2)
12
- descendants_tracker (0.0.3)
13
- diff-lcs (1.2.5)
14
- faraday (0.9.0)
15
- multipart-post (>= 1.2, < 3)
16
- gherkin (2.12.2)
17
- multi_json (~> 1.3)
18
- gherkin (2.12.2-java)
19
- multi_json (~> 1.3)
20
- git (1.2.6)
21
- github_api (0.11.3)
22
- addressable (~> 2.3)
23
- descendants_tracker (~> 0.0.1)
24
- faraday (~> 0.8, < 0.10)
25
- hashie (>= 1.2)
26
- multi_json (>= 1.7.5, < 2.0)
27
- nokogiri (~> 1.6.0)
28
- oauth2
29
- hashie (2.0.5)
30
- highline (1.6.21)
31
- jeweler (2.0.1)
32
- builder
33
- bundler (>= 1.0)
34
- git (>= 1.2.5)
35
- github_api
36
- highline (>= 1.6.15)
37
- nokogiri (>= 1.5.10)
38
- rake
39
- rdoc
40
- json (1.8.1)
41
- json (1.8.1-java)
42
- jwt (0.1.11)
43
- multi_json (>= 1.5)
44
- mini_portile (0.5.2)
45
- multi_json (1.9.0)
46
- multi_test (0.0.3)
47
- multi_xml (0.5.5)
48
- multipart-post (2.0.0)
49
- nokogiri (1.6.1)
50
- mini_portile (~> 0.5.0)
51
- nokogiri (1.6.1-java)
52
- mini_portile (~> 0.5.0)
53
- oauth2 (0.9.3)
54
- faraday (>= 0.8, < 0.10)
55
- jwt (~> 0.1.8)
56
- multi_json (~> 1.3)
57
- multi_xml (~> 0.5)
58
- rack (~> 1.2)
59
- rack (1.5.2)
60
- rake (10.1.1)
61
- rdoc (4.1.1)
62
- json (~> 1.4)
63
- regressiontest (0.0.3)
64
- rspec (2.14.1)
65
- rspec-core (~> 2.14.0)
66
- rspec-expectations (~> 2.14.0)
67
- rspec-mocks (~> 2.14.0)
68
- rspec-core (2.14.8)
69
- rspec-expectations (2.14.5)
70
- diff-lcs (>= 1.1.3, < 2.0)
71
- rspec-mocks (2.14.6)
72
-
73
- PLATFORMS
74
- java
75
- ruby
76
-
77
- DEPENDENCIES
78
- cucumber
79
- jeweler (~> 2.0.1)
80
- regressiontest (~> 0.0.3)
81
- rspec