diff gemma.xml @ 0:14d48fd8f343 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemma commit cb5c00e8251af92f0b88674cdda0821cf8bdb824
author iuc
date Mon, 20 Oct 2025 17:27:45 +0000
parents
children cd8c5aebb404
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gemma.xml	Mon Oct 20 17:27:45 2025 +0000
@@ -0,0 +1,96 @@
+<tool id="gemma" name="GEMMA Analysis" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.0">
+    <description>Run association tests and kinship analysis with GEMMA</description>
+    <macros>
+        <token name="@TOOL_VERSION@">0.98.3</token>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">gemma</requirement>
+    </requirements>
+
+    <command detect_errors="aggressive"><![CDATA[
+
+ln -s '$bed.extra_files_path'/*.bed input.bed &&
+ln -s '$bed.extra_files_path'/*.bim input.bim &&
+ln -s '$bed.extra_files_path'/*.fam input.fam &&
+
+#if $lmm_inputs.analysis == "lmm"
+    gemma -bfile input -k '$lmm_inputs.kinship' -lmm 1 -o gemmarun 2>&1;
+    cp ./output/gemmarun.assoc.txt '$gemma_output';
+    awk -F'\t' 'BEGIN {OFS="\t"} {print $1, $3, $3, $2, $4, $5, $6, $7, $8, $9, $10, $11, $12}' '$gemma_output' > '$gemma_output_int';
+#elif $lmm_inputs.analysis == "gk"
+    gemma -bfile input -gk 1 -o gemmarun 2>&1;
+    cp ./output/gemmarun.cXX.txt '$gemma_output';
+#else
+    gemma -bfile input -lm 1 -o gemmarun 2>&1;
+    cp ./output/gemmarun.assoc.txt '$gemma_output';
+    awk -F'\t' 'BEGIN {OFS="\t"} {print $1, $3, $3, $2, $4, $5, $6, $7, $8, $9, $10, $11, $12}' '$gemma_output' > '$gemma_output_int';
+#end if
+]]> </command>
+    <inputs>
+        <param name="bed" type="data" format="pbed" label="Input PLINK dataset"/>
+        <conditional name="lmm_inputs">
+            <param name="analysis" type="select" label="Type of analysis to perform">
+                <option value="lm">Linear Model (LM)</option>
+                <option value="lmm">Linear Mixed Model (LMM)</option>
+                <option value="gk">Kinship (Genetic Relationship Matrix)</option>
+            </param>
+            <when value="lmm">
+                <param name="kinship" type="data" format="tsv,tabular" label="Kinship Matrix File" />
+            </when>
+            <when value="lm"></when>
+            <when value="gk"></when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="gemma_output" format="tsv" label="GEMMA output file"/>
+        <data name="gemma_output_int" format="interval" label="GEMMA output file interval">
+            <filter>lmm_inputs['analysis'] != 'gk'</filter>
+        </data>
+    </outputs>
+    <tests>
+        <test expect_num_outputs="2">
+            <param name="lmm_inputs|analysis" value="lm" />
+            <param name="bed" ftype="pbed" value="">
+                <composite_data value="rgenetics.bim"/>
+                <composite_data value="rgenetics.bed"/>
+                <composite_data value="rgenetics.fam"/>
+            </param>
+            <output name="gemma_output" file="lm_output.tsv"/>
+            <output name="gemma_output_int" file="lm_output.interval"/>
+        </test>
+        <test expect_num_outputs="1">
+            <param name="lmm_inputs|analysis" value="gk" />
+            <param name="bed" ftype="pbed" value="">
+                <composite_data value="rgenetics.bim"/>
+                <composite_data value="rgenetics.bed"/>
+                <composite_data value="rgenetics.fam"/>
+            </param>
+            <output name="gemma_output" file="test_kinship_matrix.tsv"/>
+        </test>
+        <test expect_num_outputs="2">
+            <param name="lmm_inputs|analysis" value="lmm" />
+            <param name="bed" ftype="pbed" value="">
+                <composite_data value="rgenetics.bim"/>
+                <composite_data value="rgenetics.bed"/>
+                <composite_data value="rgenetics.fam"/>
+            </param>
+            <param name="lmm_inputs|kinship" value="test_kinship_matrix.tsv" />
+            <output name="gemma_output" file="lmm_output.tsv"/>
+            <output name="gemma_output_int" file="lmm_output.interval"/>
+        </test>
+    </tests>
+    <help>
+
+This tool runs various GEMMA analyses. Choose from:
+- LM: Linear Model for association testing.
+- LMM: Linear Mixed Model for association testing with relatedness (requires a kinship matrix).
+- GK: Kinship calculation (genetic relationship matrix).
+    
+Provide a PLINK binary dataset as input. For LMM, also provide a precomputed kinship matrix.
+For lm/lmm analysis, the tool applies the Wald test.
+    </help>
+    <citations>
+        <citation type="doi">10.1038/ng.2310</citation>
+    </citations>
+</tool>