comparison geneiobio-iframe.xml @ 0:c0af7b196a89 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/geneiobio commit b5dd06c260082585428de394111cba0872f0e608
author iuc
date Thu, 29 Jun 2023 08:33:46 +0000
parents
children fc53fcdbe548
comparison
equal deleted inserted replaced
-1:000000000000 0:c0af7b196a89
1 <tool id="gene_iobio_display_generation_iframe" name="gene.iobio visualisation" version="4.7.1">
2 <description>analyses VCFs for single and trio analysis to find causative variants using gene.iobio's public server</description>
3 <command>cat '$index' | tr -d '\n' > '$outfile'</command>
4 <configfiles>
5 <configfile name="index"><![CDATA[
6 <html>
7 <body>
8 <iframe src="https://gene.iobio.io/?genes=${genes}
9 &species=Human
10 &build=${refgen_version}
11 &affectedSibs=
12 &unaffectedSibs=
13 &rel0=proband
14 &sex0=${proband_sex}
15 &vcf0=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($proband_vcf.id)}/display
16 &tbi0=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($proband_vcf.id)}/metadata_file%3Fmetadata_file%3Dtabix_index
17 #if $proband_bam.ext == 'bam':
18 &bam0=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($proband_bam.id)}/display
19 &bai0=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($proband_bam.id)}/metadata_file%3Fmetadata_file%3Dbam_index
20 #elif $proband_bam.ext == 'cram':
21 &cram0=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($proband_bam.id)}/display
22 &cai0=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($proband_bam.id)}/metadata_file%3Fmetadata_file%3Dcram_index
23 #end if
24 &sample0=${proband_name}
25 &affectedStatus0=${proband_affected}
26 #if str( $input_type.input_type_selector ) == "trio"#
27 &rel1=father
28 &sex1=male
29 &vcf1=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.father.vcf.id)}/display
30 &tbi1=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.father.vcf.id)}/metadata_file%3Fmetadata_file%3Dtabix_index
31 #if $input_type.father.bam.ext == 'bam':
32 &bam1=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.father.bam.id)}/display
33 &bai1=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.father.bam.id)}/metadata_file%3Fmetadata_file%3Dbam_index
34 #elif $input_type.father.bam.ext == 'cram':
35 &cram1=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.father.bam.id)}/display
36 &cai1=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.father.bam.id)}/metadata_file%3Fmetadata_file%3Dcram_index
37 #end if
38 &sample1=${input_type.father.name}
39 &affectedStatus1=${input_type.father.affected}
40 &rel2=mother
41 &sex2=female
42 &vcf2=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.mother.vcf.id)}/display
43 &tbi2=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.mother.vcf.id)}/metadata_file%3Fmetadata_file%3Dtabix_index
44 #if $input_type.mother.bam.ext == 'bam':
45 &bam2=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.mother.bam.id)}/display
46 &bai2=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.mother.bam.id)}/metadata_file%3Fmetadata_file%3Dbam_index
47 #elif $input_type.mother.bam.ext == 'cram':
48 &cram2=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.mother.bam.id)}/display
49 &cai2=${__app__.config.galaxy_infrastructure_url}/api/datasets/${__app__.security.encode_id($input_type.mother.bam.id)}/metadata_file%3Fmetadata_file%3Dcram_index
50 #end if
51 &sample2=${input_type.mother.name}
52 &affectedStatus2=${input_type.mother.affected}
53 #end if
54 " style="width: 100%; height: 900px;"></iframe>
55 </body></html>
56 ]]></configfile>
57 </configfiles>
58 <inputs>
59 <param name="proband_vcf" type="data" format="vcf,vcf_bgzip" label="Proband VCF file"/>
60 <param name="proband_bam" type="data" format="bam,cram" label="Proband BAM file" optional="true"/>
61 <param name="proband_sex" type="select" display="radio" label="Proband sex">
62 <option value="male" selected="true">Male</option>
63 <option value="female">Female</option>
64 </param>
65 <param name="proband_affected" type="boolean" truevalue="affected" falsevalue="unaffected" checked="true" label="Is the proband affected?"/>
66 <param name="proband_name" type="text" value="C" label="Proband sample name" help="The sample names are listed in the columns of the VCF."/>
67 <conditional name="input_type">
68 <param name="input_type_selector" type="select" display="radio" label="Single/Trio analysis">
69 <option value="single" selected="true">Single</option>
70 <option value="trio">Trio</option>
71 </param>
72 <when value="trio">
73 <section name="father" title="Father input">
74 <param name="vcf" type="data" format="vcf,vcf_bgzip" label="Father VCF file"/>
75 <param name="bam" type="data" format="bam,cram" label="Father BAM file" optional="true"/>
76 <param name="affected" type="boolean" truevalue="affected" falsevalue="unaffected" checked="false" label="Is the father affected?"/>
77 <param name="name" type="text" value="F" label="Father sample name" help="The sample names are listed in the columns of the VCF."/>
78 </section>
79 <section name="mother" title="Mother input">
80 <param name="vcf" type="data" format="vcf,vcf_bgzip" label="Mother VCF file"/>
81 <param name="bam" type="data" format="bam,cram" label="Mother BAM file" optional="true"/>
82 <param name="affected" type="boolean" truevalue="affected" falsevalue="unaffected" checked="false" label="Is the mother affected?"/>
83 <param name="name" type="text" value="M" label="Mother sample name" help="The sample names are listed in the columns of the VCF."/>
84 </section>
85 </when>
86 <when value="single">
87 </when>
88 </conditional>
89 <param name="genes" type="text" value="PDHA1,ARHGAP8,RAI1,PLXNA1,SCN8A,SMARCA2" size="100x5" label="Genes of interest" help="Provide the genes as a comma seperated line. This line can be empty and genes can be selected interactively using gene.iobio."/>
90 <param name="refgen_version" type="select" label="Select reference genome version">
91 <option value="GRCh38" selected="true">GRCh38</option>
92 <option value="GRCh37">GRCh37</option>
93 </param>
94 </inputs>
95 <outputs>
96 <data name="outfile" format="html" />
97 </outputs>
98 <tests>
99 <!-- Test 1 - Single -->
100 <test expect_num_outputs="1">
101 <param name="proband_vcf" ftype="vcf" value="family.vcf.gz"/>
102 <param name="proband_bam" ftype="bam" value="proband.bam" />
103 <param name="proband_sex" ftype="text" value="female" />
104 <param name="proband_name" ftype="text" value="Case5C" />
105 <param name="genes" ftype="text" value="BRCA1" />
106 <param name="refgen_version" ftype="text" value="GRCh37" />
107 <output name="outfile">
108 <assert_contents>
109 <has_size value= "659" delta="100" />
110 </assert_contents>
111 </output>
112 </test>
113 <!-- Test 2 - Trio -->
114 <test expect_num_outputs="1">
115 <param name="proband_vcf" ftype="vcf" value="family.vcf.gz"/>
116 <param name="proband_bam" ftype="bam" value="proband.bam" />
117 <param name="proband_sex" ftype="text" value="female" />
118 <param name="proband_name" ftype="text" value="Case5C" />
119 <param name="genes" ftype="text" value="BRCA1" />
120 <param name="refgen_version" ftype="text" value="GRCh37" />
121 <conditional name="input_type">
122 <param name="input_type_selector" value="trio"/>
123 <section name="mother">
124 <param name="vcf" ftype="vcf" value="family.vcf.gz"/>
125 <param name="bam" ftype="bam" value="mother.bam" />
126 <param name="affected" ftype="text" value="affected" />
127 <param name="name" ftype="text" value="Case5M" />
128 </section>
129 <section name="father">
130 <param name="vcf" ftype="vcf" value="family.vcf.gz"/>
131 <param name="bam" ftype="bam" value="father.bam" />
132 <param name="affected" ftype="text" value="unaffected" />
133 <param name="name" ftype="text" value="Case5F" />
134 </section>
135 </conditional>
136 <output name="outfile">
137 <assert_contents>
138 <has_size value= "1555" delta="500" />
139 </assert_contents>
140 </output>
141 </test>
142 </tests>
143 <help><![CDATA[
144 Gene.iobio provides a report of impactful variants. Gene.iobio also helps prioritize variants based on multiple integrated gene:disease association algorithms and knowledge bases.
145
146 .. class:: Warning mark
147
148 This transfers data to a remote server, in US jurisdiction. In order to do this make sure to make the history accessible, i.e. anyone with a link can reach the data.
149
150 Required inputs:
151
152 1. Proband VCF file
153
154 Optional inputs (trio analysis):
155
156 1. Proband BAM file
157 2. Father & Mother BAM file
158 3. Father & Mother VCF file
159
160 The `iobio project`_ is developed by the `Marth lab`_ at the `University of Utah Center for Genetic Discovery`_.
161
162 .. _iobio project: https://iobio.io
163 .. _Marth lab: https://marthlab.org/
164 .. _University of Utah Center for Genetic Discovery: https://ucgd.genetics.utah.edu/
165 ]]></help>
166 <citations>
167 <citation type="doi">10.1038/s41598-021-99752-5</citation>
168 </citations>
169 </tool>