bio-vcf 0.8.1 → 0.9.5

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.
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