bio-gemma-wrapper 0.0.1 → 0.92.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +36 -8
  3. data/VERSION +1 -1
  4. data/bin/gemma-wrapper +43 -10
  5. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aa79c086f1bba02a9150ac27cb0fc724ae18a141
4
- data.tar.gz: cad6436bbfb3d8c0cc7e7100e7b8a6654143e922
3
+ metadata.gz: a5750dc833b64764d55eaec57f9ce981302659b9
4
+ data.tar.gz: f8ebc55f80ca39d84f03f4bae4385212aa5e35f7
5
5
  SHA512:
6
- metadata.gz: c0dfeeb91f51b160f1511ac527bb2b98598dd14401d9942e0eb8dd10323af3a53fa803204f4d81a1248a75032eaedd04cd985cc0ca38933a1461e4dddcd4875c
7
- data.tar.gz: f97f0b1707dba840018eca5cbbb19d052be0ee22cb693dbd724365b795045404bf49b71dc923d1c9fcd21f1910c4e2ed3e3f289f9d3a2797bd84f5946453423f
6
+ metadata.gz: 634361cf98042f4653d3ea4bd19d883ec08f7a1edff5f7c44935b4ef58d0b17d007451a23f7304ae29dd08c477549459b3d0cb2bcbda3060a6641d9ad665d012
7
+ data.tar.gz: 55f75d9a5208595e5f3ff1dffd530f17f4fdb3040c2311ea993d69b1c21001673d3825015d5e4ec327d450225470d078b46f2db84a364d27bdbcbd5852741404
data/README.md CHANGED
@@ -30,7 +30,35 @@ Prerequisites are
30
30
  * Standard [Ruby >2.0 ](https://www.ruby-lang.org/en/) which comes on
31
31
  almost all Linux systems
32
32
 
33
- Fetch a [release](https://github.com/genetics-statistics/gemma-wrapper/releases) of
33
+ gemma-wrapper comes as a Ruby [gem](https://rubygems.org/gems/bio-gemma-wrapper) and
34
+ can be installed with
35
+
36
+ gem install bio-gemma-wrapper
37
+
38
+ Invoke the tool with
39
+
40
+ gemma-wrapper --help
41
+
42
+ and it will render
43
+
44
+ ```
45
+ Usage: gemma-wrapper [options] -- [gemma-options]
46
+ --loco [x,y,1,2,3...] Run full LOCO
47
+ --input filen JSON input variables (used for LOCO)
48
+ --cache-dir path Use a cache directory
49
+ --json Create output file in JSON format
50
+ --force Force computation
51
+ --q, --quiet Run quietly
52
+ -v, --verbose Run verbosely
53
+ --debug Show debug messages and keep intermediate output
54
+ -- Anything after gets passed to GEMMA
55
+
56
+ -h, --help display this help and exit
57
+ ```
58
+
59
+ Alternatively, fetch a
60
+ [release](https://github.com/genetics-statistics/gemma-wrapper/releases)
61
+ of
34
62
  [gemma-wrapper](https://github.com/genetics-statistics/gemma-wrapper)
35
63
 
36
64
  Unpack it and run the tool as
@@ -55,7 +83,7 @@ prints the GEMMA help
55
83
  To compute K run the following command from the source directory (so
56
84
  the data files are found):
57
85
 
58
- ./bin/gemma-wrapper -- \
86
+ gemma-wrapper -- \
59
87
  -g test/data/input/BXD_geno.txt.gz \
60
88
  -p test/data/input/BXD_pheno.txt \
61
89
  -gk \
@@ -71,7 +99,7 @@ passed in (here the genotype and phenotype files).
71
99
 
72
100
  You can also get JSON output on STDOUT by providing the --json switch
73
101
 
74
- ./bin/gemma-wrapper --json -- \
102
+ gemma-wrapper --json -- \
75
103
  -g test/data/input/BXD_geno.txt.gz \
76
104
  -p test/data/input/BXD_pheno.txt \
77
105
  -gk \
@@ -87,7 +115,7 @@ Note that GEMMA's -o (output) and --outdir switches should not be
87
115
  used. gemma-wrapper stores the cached matrices in TMPDIR by
88
116
  default. If you want something else provide a --cache-dir, e.g.
89
117
 
90
- ./bin/gemma-wrapper --cache-dir ~/.gemma-cache -- \
118
+ gemma-wrapper --cache-dir ~/.gemma-cache -- \
91
119
  -g test/data/input/BXD_geno.txt.gz \
92
120
  -p test/data/input/BXD_pheno.txt \
93
121
  -gk \
@@ -102,8 +130,8 @@ using the -loco switch (for supported formats check
102
130
  https://github.com/genetics-statistics/GEMMA/issues/46). To loop all
103
131
  chromosomes first create all K's with
104
132
 
105
- ./bin/gemma-wrapper --json \
106
- --loco 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,X,Y -- \
133
+ gemma-wrapper --json \
134
+ --loco 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,X -- \
107
135
  -g test/data/input/BXD_geno.txt.gz \
108
136
  -p test/data/input/BXD_pheno.txt \
109
137
  -a test/data/input/BXD_snps.txt \
@@ -113,7 +141,7 @@ chromosomes first create all K's with
113
141
  and next run the LMM's using the K's captured in K.json using the --input
114
142
  switch
115
143
 
116
- ./bin/gemma-wrapper --json --loco --input K.json -- \
144
+ gemma-wrapper --json --loco --input K.json -- \
117
145
  -g test/data/input/BXD_geno.txt.gz \
118
146
  -p test/data/input/BXD_pheno.txt \
119
147
  -c test/data/input/BXD_covariates2.txt \
@@ -132,4 +160,4 @@ allowed (-o, -outdir)
132
160
 
133
161
  ## Copyright
134
162
 
135
- Copyright (c) 2017 Pjotr Prins. See LICENSE.txt for further details.
163
+ Copyright (c) 2017 Pjotr Prins. See [LICENSE.txt](LICENSE.txt) for further details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.92.2
@@ -6,7 +6,37 @@
6
6
  #
7
7
  # Copyright (C) 2017 Pjotr Prins <pjotr.prins@thebird.nl>
8
8
 
9
- USAGE = "GEMMA K handler"
9
+ USAGE = "GEMMA wrapper example:
10
+
11
+ Simple caching of K computation with
12
+
13
+ gemma-wrapper -- \\
14
+ -g test/data/input/BXD_geno.txt.gz \\
15
+ -p test/data/input/BXD_pheno.txt \\
16
+ -gk
17
+
18
+ LOCO K computation with caching and JSON output
19
+
20
+ gemma-wrapper --json \\
21
+ --loco 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,X -- \\
22
+ -g test/data/input/BXD_geno.txt.gz \\
23
+ -p test/data/input/BXD_pheno.txt \\
24
+ -a test/data/input/BXD_snps.txt \\
25
+ -gk -debug > K.json
26
+
27
+ LMM's using the K's captured in K.json using the --input switch
28
+
29
+ gemma-wrapper --json --loco --input K.json -- \\
30
+ -g test/data/input/BXD_geno.txt.gz \\
31
+ -p test/data/input/BXD_pheno.txt \\
32
+ -c test/data/input/BXD_covariates2.txt \\
33
+ -a test/data/input/BXD_snps.txt \\
34
+ -lmm 2 -maf 0.1 \\
35
+ -debug > GWA.json
36
+
37
+ "
38
+ GEMMA_V_MAJOR = 97
39
+ GEMMA_V_MINOR = 2
10
40
 
11
41
  basepath = File.dirname(File.dirname(__FILE__))
12
42
  $: << File.join(basepath,'lib')
@@ -126,6 +156,18 @@ GEMMA_K_VERSION=version
126
156
  GEMMA_K_BANNER = "gemma-wrapper #{version} (Ruby #{RUBY_VERSION}) by Pjotr Prins 2017\n"
127
157
  info.call GEMMA_K_BANNER
128
158
 
159
+ # Check gemma version
160
+ GEMMA_COMMAND=options[:gemma_command]
161
+ gemma_version_header = `#{GEMMA_COMMAND}`.split("\n").grep(/Version/)[0].strip
162
+ info.call "Using GEMMA ",gemma_version_header,"\n"
163
+ gemma_version = gemma_version_header.split(/[,\s]+/)[1]
164
+ v_version, v_major, v_minor = gemma_version.split(".")
165
+
166
+ error.call "GEMMA version is out of date. Update GEMMA to 0.#{GEMMA_V_MAJOR}.#{GEMMA_V_MINOR}!" if v_major.to_i < GEMMA_V_MAJOR or (v_major.to_i == GEMMA_V_MAJOR and (v_minor == nil or v_minor.to_i < GEMMA_V_MINOR))
167
+
168
+ options[:gemma_version_header] = gemma_version_header
169
+ options[:gemma_version] = gemma_version
170
+
129
171
  if options[:show_help] or gemma_args == nil
130
172
  print opts
131
173
  print USAGE
@@ -166,15 +208,6 @@ gemma_args << '-outdir'
166
208
  gemma_args << options[:cache_dir]
167
209
  GEMMA_ARGS = gemma_args
168
210
 
169
- # Check gemma version
170
- GEMMA_COMMAND=options[:gemma_command]
171
- gemma_version_header = `#{GEMMA_COMMAND}`.split("\n").grep(/Version/)[0].strip
172
- info.call "Using GEMMA ",gemma_version_header,"\n"
173
- gemma_version = gemma_version_header.split(/[,\s]+/)[1]
174
-
175
- options[:gemma_version_header] = gemma_version_header
176
- options[:gemma_version] = gemma_version
177
-
178
211
  debug.call "Options: ",options,"\n" if !options[:quiet]
179
212
 
180
213
  invoke_gemma = lambda do |extra_args, cache_hit = false|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio-gemma-wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.92.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pjotr Prins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-29 00:00:00.000000000 Z
11
+ date: 2017-09-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: GEMMA wrapper caches K between runs with LOCO support
14
14
  email: pjotr.public01@thebird.nl
@@ -43,7 +43,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
43
43
  version: '0'
44
44
  requirements: []
45
45
  rubyforge_project:
46
- rubygems_version: 2.6.8
46
+ rubygems_version: 2.5.1
47
47
  signing_key:
48
48
  specification_version: 4
49
49
  summary: Cache GEMMA with LOCO