@@ -8,18 +8,45 @@ nextflow_process {
88 tag "modules_nfcore"
99 tag "gcta"
1010 tag "gcta/removerelatedsubjects"
11+ tag "tests/helpers/dense_grm"
12+
13+ setup {
14+ run("GCTA_TEST_DENSE_GRM", alias: "GCTA_TEST_DENSE_GRM_CONTRACT") {
15+ script "../tests/helpers/dense_grm/main.nf"
16+ process {
17+ """
18+ input[0] = [
19+ [ id:'tiny_dense' ],
20+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/plink_simulated.bed', checkIfExists: true),
21+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/plink_simulated.bim', checkIfExists: true),
22+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/plink_simulated.fam', checkIfExists: true)
23+ ]
24+ """
25+ }
26+ }
27+
28+ run("GCTA_TEST_DENSE_GRM", alias: "GCTA_TEST_DENSE_GRM_STUB") {
29+ script "../tests/helpers/dense_grm/main.nf"
30+ process {
31+ """
32+ input[0] = [
33+ [ id:'stub_dense' ],
34+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/plink_simulated.bed', checkIfExists: true),
35+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/plink_simulated.bim', checkIfExists: true),
36+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/plink_simulated.fam', checkIfExists: true)
37+ ]
38+ """
39+ }
40+ }
41+ }
1142
1243 test("homo_sapiens popgen - remove related individuals from dense GRM") {
1344 config "./nextflow.config"
1445
1546 when {
1647 process {
1748 """
18- file('tiny_dense.grm.id').text = 'sample1 sample1\\n'
19- file('tiny_dense.grm.bin').bytes = java.nio.ByteBuffer.allocate(4).order(java.nio.ByteOrder.LITTLE_ENDIAN).putFloat(1.0f).array()
20- file('tiny_dense.grm.N.bin').bytes = java.nio.ByteBuffer.allocate(4).order(java.nio.ByteOrder.LITTLE_ENDIAN).putFloat(100.0f).array()
21-
22- input[0] = [[ id:'tiny_dense' ], file('tiny_dense.grm.id'), file('tiny_dense.grm.bin'), file('tiny_dense.grm.N.bin')]
49+ input[0] = GCTA_TEST_DENSE_GRM_CONTRACT.out.dense_grm
2350 """
2451 }
2552 }
@@ -55,11 +82,9 @@ nextflow_process {
5582 when {
5683 process {
5784 """
58- file('tiny_dense.grm.id').text = 'sample1 sample1\\n'
59- file('tiny_dense.grm.bin').bytes = java.nio.ByteBuffer.allocate(4).order(java.nio.ByteOrder.LITTLE_ENDIAN).putFloat(1.0f).array()
60- file('tiny_dense.grm.N.bin').bytes = java.nio.ByteBuffer.allocate(4).order(java.nio.ByteOrder.LITTLE_ENDIAN).putFloat(100.0f).array()
61-
62- input[0] = [[ id:'tiny_dense_mismatched' ], file('tiny_dense.grm.id'), file('tiny_dense.grm.bin'), file('tiny_dense.grm.N.bin')]
85+ input[0] = GCTA_TEST_DENSE_GRM_CONTRACT.out.dense_grm.map { meta, grm_id, grm_bin, grm_n_bin ->
86+ [[ id:'tiny_dense_mismatched' ], grm_id, grm_bin, grm_n_bin]
87+ }
6388 """
6489 }
6590 }
@@ -78,10 +103,9 @@ nextflow_process {
78103 when {
79104 process {
80105 """
81- file('tiny_dense.grm.id').text = 'sample1 sample1\\n'
82- file('tiny_dense.grm.bin').bytes = java.nio.ByteBuffer.allocate(4).order(java.nio.ByteOrder.LITTLE_ENDIAN).putFloat(1.0f).array()
83-
84- input[0] = [[ id:'tiny_dense' ], file('tiny_dense.grm.id'), file('tiny_dense.grm.bin')]
106+ input[0] = GCTA_TEST_DENSE_GRM_CONTRACT.out.dense_grm.map { meta, grm_id, grm_bin, grm_n_bin ->
107+ [[ id:meta.id ], grm_id, grm_bin]
108+ }
85109 """
86110 }
87111 }
@@ -98,19 +122,15 @@ nextflow_process {
98122 when {
99123 process {
100124 """
101- file('tiny_dense.grm.id').text = 'sample1 sample1\\n'
102- file('tiny_dense.grm.bin').bytes = java.nio.ByteBuffer.allocate(4).order(java.nio.ByteOrder.LITTLE_ENDIAN).putFloat(1.0f).array()
103- file('tiny_dense.grm.N.bin').bytes = java.nio.ByteBuffer.allocate(4).order(java.nio.ByteOrder.LITTLE_ENDIAN).putFloat(100.0f).array()
104-
105- input[0] = [[ id:'tiny_dense' ], file('tiny_dense.grm.id'), file('tiny_dense.grm.bin'), file('tiny_dense.grm.N.bin')]
125+ input[0] = GCTA_TEST_DENSE_GRM_STUB.out.dense_grm
106126 """
107127 }
108128 }
109129
110130 then {
111131 assertAll(
112132 { assert process.success },
113- { assert process.out.grm_files.get(0).get(0).id == "tiny_dense " },
133+ { assert process.out.grm_files.get(0).get(0).id == "stub_dense " },
114134 {
115135 def grm_row = process.out.grm_files.get(0)
116136 def expected_prefix = "${grm_row.get(0).id}_unrel05"
0 commit comments