changeset 1:736090e99c59 draft

planemo upload for repository https://github.com/aaronKol/tools-iuc/tree/main/tools/irma commit 6b8463ba27d0c91b736d579b0891632d4c032402
author iuc
date Wed, 22 Jan 2025 14:10:33 +0000
parents 3d86c05cd838
children 69ce61289a2a
files createMissingFiles.py irma.xml
diffstat 2 files changed, 55 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/createMissingFiles.py	Sat Nov 09 13:53:38 2024 +0000
+++ b/createMissingFiles.py	Wed Jan 22 14:10:33 2025 +0000
@@ -3,8 +3,8 @@
 import subprocess
 
 dirPrefix = "resultDir/"
-expectedSegments = ["A_MP", "A_NP", "A_HA", "A_PB1",
-                    "A_PB2", "A_NA", "A_PA", "A_NS"]
+expectedSegments = {"A_MP": 7, "A_NP": 5, "A_HA": 4, "A_PB1": 2,
+                    "A_PB2": 1, "A_NA": 6, "A_PA": 3, "A_NS": 8}
 
 
 def renameSubtypeFiles(identifier):
@@ -19,7 +19,7 @@
     for file in os.listdir(dirPrefix):
         if file.endswith(".fasta"):
             presentSegments.append(file.split('.')[0])
-    return [segment for segment in expectedSegments
+    return [segment for segment in expectedSegments.keys()
             if segment not in presentSegments]
 
 
@@ -56,8 +56,13 @@
         f.write(vcfHeader)
 
 
+def writeEmptyAmendedFasta(identifier):
+    #  irma names these files like: resultDir/amended_consensus/resultDir_<segNr>.fa
+    open(dirPrefix + "amended_consensus/resultDir_" + str(expectedSegments[identifier]) + ".fa", 'x').close()
+
+
 def samtoolsSortAllBam():
-    for segment in expectedSegments:
+    for segment in expectedSegments.keys():
         os.rename(dirPrefix + segment + ".bam",
                   dirPrefix + segment + "_unsorted.bam")
         cmd = ['samtools', 'sort', dirPrefix + segment + "_unsorted.bam"]
@@ -76,4 +81,5 @@
         writeEmptyBam(segment, bamHeader)
         writeEmptyFasta(segment)
         writeEmptyVcf(segment, vcfHeader)
+        writeEmptyAmendedFasta(segment)
     samtoolsSortAllBam()
--- a/irma.xml	Sat Nov 09 13:53:38 2024 +0000
+++ b/irma.xml	Wed Jan 22 14:10:33 2025 +0000
@@ -2,7 +2,7 @@
     <description>Construct robust assemblies of highly variable RNA viruses</description>
     <macros>
         <token name="@TOOL_VERSION@">1.2.0</token>
-        <token name="@VERSION_SUFFIX@">0</token>
+        <token name="@VERSION_SUFFIX@">1</token>
     </macros>
     <xrefs>
         <xref type="bio.tools">irma-virus</xref> 
@@ -126,8 +126,10 @@
             <option value="FLU-pacbio">FLU-pacbio</option>
         </param>
         <param name="optional_outputs" type="select" display="checkboxes" multiple="true" optional="true" label="Select additional IRMA outputs">
+            <option value="amended_consensus" selected="false">Amended consensus files: Include ambiguity codes for alleles, with second allele frequency greater 0.25</option>
             <option value="bam" selected="false">Bam: Alignment files of fastq against polished reference</option>
             <option value="vcf" selected="false">Vcf: Variation calling file per segment</option>
+            <option value="run_info" selected="false">Run info: Text file with run metadata</option>
         </param>
         <conditional name="advanced_config">
             <param name="customize" type="select" label="Customize Advanced Settings?" help="Choosing Yes here, lets you overwrite advanced settings defined in IRMA's default configuration file.">
@@ -267,8 +269,8 @@
     </inputs>
     <outputs>
         <collection name="consensus_collection" type="list" label="Fasta Consensus Sequences">
+            <data name="PB2" format="fasta" from_work_dir="resultDir/A_PB2.fasta" label="PB2"/>
             <data name="PB1" format="fasta" from_work_dir="resultDir/A_PB1.fasta" label="PB1"/>
-            <data name="PB2" format="fasta" from_work_dir="resultDir/A_PB2.fasta" label="PB2"/>
             <data name="PA" format="fasta" from_work_dir="resultDir/A_PA.fasta" label="PA"/>
             <data name="HA" format="fasta" from_work_dir="resultDir/A_HA.fasta" label="HA"/>
             <data name="NP" format="fasta" from_work_dir="resultDir/A_NP.fasta" label="NP"/>
@@ -277,10 +279,21 @@
             <data name="NS" format="fasta" from_work_dir="resultDir/A_NS.fasta" label="NS"/>
         </collection>
         <!-- optional outputs-->
+        <collection name="amended_collection" type="list" label="Amended Fasta Consensus">
+            <filter>optional_outputs and 'amended_consensus' in optional_outputs</filter>
+            <data name="PB2" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_1.fa"  label="PB2"/>
+            <data name="PB1" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_2.fa" label="PB1"/>
+            <data name="PA" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_3.fa"  label="PA"/>
+            <data name="HA" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_4.fa"  label="HA"/>
+            <data name="NP" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_5.fa"  label="NP"/>
+            <data name="NA" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_6.fa"  label="NA"/>
+            <data name="MP" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_7.fa" label="MP"/>
+            <data name="NS" format="fasta" from_work_dir="resultDir/amended_consensus/resultDir_8.fa"  label="NS"/>
+        </collection>
         <collection name="bam_collection" type="list" label="Alignment files (bam)">
             <filter>optional_outputs and 'bam' in optional_outputs</filter>
+            <data name="PB2" format="bam" from_work_dir="resultDir/A_PB2.bam" label="PB2"/>
             <data name="PB1" format="bam" from_work_dir="resultDir/A_PB1.bam" label="PB1"/>
-            <data name="PB2" format="bam" from_work_dir="resultDir/A_PB2.bam" label="PB2"/>
             <data name="PA" format="bam" from_work_dir="resultDir/A_PA.bam" label="PA"/>
             <data name="HA" format="bam" from_work_dir="resultDir/A_HA.bam" label="HA"/>
             <data name="NP" format="bam" from_work_dir="resultDir/A_NP.bam" label="NP"/>
@@ -290,8 +303,8 @@
         </collection>
         <collection name="vcf_collection" type="list" label="Variant calling files (VCF)">
             <filter>optional_outputs and 'vcf' in optional_outputs</filter>
+            <data name="PB2" format="vcf" from_work_dir="resultDir/A_PB2.vcf" label="PB2"/>
             <data name="PB1" format="vcf" from_work_dir="resultDir/A_PB1.vcf" label="PB1"/>
-            <data name="PB2" format="vcf" from_work_dir="resultDir/A_PB2.vcf" label="PB2"/>
             <data name="PA" format="vcf" from_work_dir="resultDir/A_PA.vcf" label="PA"/>
             <data name="HA" format="vcf" from_work_dir="resultDir/A_HA.vcf" label="HA"/>
             <data name="NP" format="vcf" from_work_dir="resultDir/A_NP.vcf" label="NP"/>
@@ -299,6 +312,9 @@
             <data name="MP" format="vcf" from_work_dir="resultDir/A_MP.vcf" label="MP"/>
             <data name="NS" format="vcf" from_work_dir="resultDir/A_NS.vcf" label="NS"/>
         </collection>
+        <data name="run_info" label="IRMA run info" format="txt" from_work_dir="resultDir/logs/run_info.txt"> 
+            <filter>optional_outputs and 'run_info' in optional_outputs</filter>
+        </data>
     </outputs>
     <tests>
         <test expect_num_outputs="27">
@@ -454,6 +470,31 @@
             <output_collection name="bam_collection" type="list" count="8" />
             <output_collection name="vcf_collection" type="list" count="8" />
         </test>
+        <test expect_num_outputs="19">
+            <conditional name="input_type_conditional">
+                <param name="fastq_input1" value="test_reads.fq" />
+                <param name="input_type" value="single" />
+            </conditional>
+            <conditional name="advanced_config">
+                <param name="customize" value="no" />
+            </conditional>
+            <param name="module" value="FLU-utr" />
+            <param name="optional_outputs" value="amended_consensus,run_info"/>
+            <output_collection name="consensus_collection" type="list">
+                <element name="HA">
+                  <assert_contents>
+                    <has_n_lines n="2"/>
+                  </assert_contents>
+                </element>
+            </output_collection>
+            <output_collection name="amended_collection" type="list">
+                <element name="HA">
+                  <assert_contents>
+                    <has_n_lines n="2"/>
+                  </assert_contents>
+                </element>
+            </output_collection>
+        </test>
     </tests>
     <help><![CDATA[
 .. class:: infomark