bio-gemma-wrapper 0.98 → 0.98.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +46 -2
- data/VERSION +1 -1
- data/bin/gemma-wrapper +8 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7a8bfe787236f397dba6e05aef202486ba53389
|
4
|
+
data.tar.gz: 9fe2398ed3fcd053e8258f73a64b1610bfddf9e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a691906f13da3469597517d160874315f5962822b0273757d33c37283c2a9a98da9a41d08c51e4ed7854b3d3593f9d96ac81d59212690edd628a2677499d501
|
7
|
+
data.tar.gz: 5d4b898ff3566f52652cbb7db6597dc245e9a5da6b0d9da107de81deec0d51c02c822762e0ab921a2309c1dbc3455b55c1adc5fe94c891e31a9c32cb6d343f2e
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[![
|
1
|
+
[![gemma-wrapper gem version](https://badge.fury.io/rb/bio-gemma-wrapper.svg)](https://badge.fury.io/rb/bio-gemma-wrapper)
|
2
2
|
|
3
3
|
# GEMMA wrapper caches K between runs with LOCO support
|
4
4
|
|
@@ -128,6 +128,23 @@ default. If you want something else provide a --cache-dir, e.g.
|
|
128
128
|
|
129
129
|
will store K in ~/.gemma-cache.
|
130
130
|
|
131
|
+
### GWA
|
132
|
+
|
133
|
+
Run the LMM using the K's captured in K.json using the --input
|
134
|
+
switch
|
135
|
+
|
136
|
+
gemma-wrapper --json --loco --input K.json -- \
|
137
|
+
-g test/data/input/BXD_geno.txt.gz \
|
138
|
+
-p test/data/input/BXD_pheno.txt \
|
139
|
+
-c test/data/input/BXD_covariates2.txt \
|
140
|
+
-a test/data/input/BXD_snps.txt \
|
141
|
+
-lmm 2 -maf 0.1 \
|
142
|
+
-debug > GWA.json
|
143
|
+
|
144
|
+
Running it twice should show that GWA is not recomputed.
|
145
|
+
|
146
|
+
/tmp/9e411810ad341de6456ce0c6efd4f973356d0bad.log.txt CACHE HIT!
|
147
|
+
|
131
148
|
### LOCO
|
132
149
|
|
133
150
|
Recent versions of GEMMA have LOCO support for a single chromosome
|
@@ -163,6 +180,33 @@ GWA.json contains the file names of every chromosome
|
|
163
180
|
The -k switch is injected automatically. Again output switches are not
|
164
181
|
allowed (-o, -outdir)
|
165
182
|
|
183
|
+
### Permutations
|
184
|
+
|
185
|
+
Permutations can be run with and without LOCO. First create K
|
186
|
+
|
187
|
+
gemma-wrapper --json -- \
|
188
|
+
-g test/data/input/BXD_geno.txt.gz \
|
189
|
+
-p test/data/input/BXD_pheno.txt \
|
190
|
+
-gk \
|
191
|
+
-debug > K.json
|
192
|
+
|
193
|
+
Next, using K.json, permute the phenotypes with something like
|
194
|
+
|
195
|
+
gemma-wrapper --json --loco --input K.json \
|
196
|
+
--permutate 100 --permute-phenotype test/data/input/BXD_pheno.txt -- \
|
197
|
+
-g test/data/input/BXD_geno.txt.gz \
|
198
|
+
-p test/data/input/BXD_pheno.txt \
|
199
|
+
-c test/data/input/BXD_covariates2.txt \
|
200
|
+
-a test/data/input/BXD_snps.txt \
|
201
|
+
-lmm 2 -maf 0.1 \
|
202
|
+
-debug > GWA.json
|
203
|
+
|
204
|
+
This should get the 95% significant and 67% suggestive thresholds:
|
205
|
+
|
206
|
+
["95 percentile (significant) ", 2.015475e-05, 4.7]
|
207
|
+
["67 percentile (suggestive) ", 2.015475e-05, 4.7]
|
208
|
+
|
209
|
+
|
166
210
|
## Copyright
|
167
211
|
|
168
|
-
Copyright (c) 2017 Pjotr Prins. See [LICENSE.txt](LICENSE.txt) for further details.
|
212
|
+
Copyright (c) 2017,2018 Pjotr Prins. See [LICENSE.txt](LICENSE.txt) for further details.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.98
|
1
|
+
0.98.1
|
data/bin/gemma-wrapper
CHANGED
@@ -40,7 +40,7 @@ Gemma gets used from the path. You can override by setting
|
|
40
40
|
env GEMMA_COMMAND=path/bin/gemma gemma-wrapper ...
|
41
41
|
|
42
42
|
"
|
43
|
-
# These are used for testing compatibility
|
43
|
+
# These are used for testing compatibility with the gemma tool
|
44
44
|
GEMMA_V_MAJOR = 98
|
45
45
|
GEMMA_V_MINOR = 0
|
46
46
|
|
@@ -213,15 +213,15 @@ raise "Expected GEMMA -g genotype file switch" if geno_idx == nil
|
|
213
213
|
pheno_idx = gemma_args.index '-p'
|
214
214
|
hashme =
|
215
215
|
if DO_COMPUTE_KINSHIP and pheno_idx != nil
|
216
|
-
|
216
|
+
# Remove the phenotype file from the hash
|
217
217
|
gemma_args[0..pheno_idx-1] + gemma_args[pheno_idx+2..-1]
|
218
218
|
else
|
219
219
|
gemma_args
|
220
220
|
end
|
221
221
|
|
222
|
-
if DO_COMPUTE_GWA
|
223
|
-
raise "Did not expect GEMMA -p phenotype
|
224
|
-
hashme += ['-p', options[:permute_phenotypes]]
|
222
|
+
if DO_COMPUTE_GWA and options[:permute_phenotypes]
|
223
|
+
raise "Did not expect GEMMA -p phenotype whith permutations (only use --permutate-phenotypes)" if pheno_idx
|
224
|
+
hashme += ['-p', options[:permute_phenotypes]]
|
225
225
|
end
|
226
226
|
|
227
227
|
require 'digest/sha1'
|
@@ -254,7 +254,7 @@ invoke_gemma = lambda do |extra_args, cache_hit = false|
|
|
254
254
|
cmd="#{GEMMA_COMMAND} #{GEMMA_ARGS.join(' ')} #{extra_args.join(' ')}"
|
255
255
|
record[:gemma_command] = cmd
|
256
256
|
return if cache_hit
|
257
|
-
|
257
|
+
debug.call cmd
|
258
258
|
errno =
|
259
259
|
if options[:json]
|
260
260
|
# capture output
|
@@ -350,7 +350,7 @@ else
|
|
350
350
|
json_in = JSON.parse(File.read(options[:input]))
|
351
351
|
raise "JSON problem, file #{options[:input]} is not -gk derived" if json_in["type"] != "K"
|
352
352
|
|
353
|
-
pfn = options[:
|
353
|
+
pfn = options[:permute_phenotypes] # can be nil
|
354
354
|
k_files = json_in["files"].map { |rec| [rec[0],rec[2]] }
|
355
355
|
k_files.each do | chr, kfn | # call a GWA for each chromosome
|
356
356
|
gwas.call(chr,kfn,pfn)
|
@@ -358,7 +358,7 @@ else
|
|
358
358
|
# Permute
|
359
359
|
if options[:permutate]
|
360
360
|
ps = []
|
361
|
-
raise "You should supply --
|
361
|
+
raise "You should supply --permute-phenotypes with gemma-wrapper --permutate" if not pfn
|
362
362
|
File.foreach(pfn).with_index do |line, line_num|
|
363
363
|
ps << line
|
364
364
|
end
|
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:
|
4
|
+
version: 0.98.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pjotr Prins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: GEMMA wrapper adds LOCO and permutation support. Also caches K between
|
14
14
|
runs with LOCO support
|