Mercurial > repos > iuc > semibin_generate_sequence_features
diff generate_sequence_features.xml @ 3:b55f0ce54d97 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/semibin commit 2c08a2e49a2844efe92340c5a9e9c8323e4a33d6
| author | iuc |
|---|---|
| date | Tue, 28 Oct 2025 08:16:56 +0000 |
| parents | f5aff7c9a65d |
| children |
line wrap: on
line diff
--- a/generate_sequence_features.xml Tue Mar 25 15:49:59 2025 +0000 +++ b/generate_sequence_features.xml Tue Oct 28 08:16:56 2025 +0000 @@ -10,18 +10,30 @@ <expand macro="version"/> <command detect_errors="exit_code"><![CDATA[ #import re -@BAM_FILES@ +#if $input_type_select.input_type == "bam": + @BAM_FILES@ +#else: + #for $e in $input_type_select.mode.abundance: + #set $identifier = re.sub('[^\s\w\-]', '_', str($e.element_identifier)) + ln -s '$e' '${identifier}.txt' && + #end for +#end if @FASTA_FILES@ SemiBin2 -#if $mode.select == 'single' or $mode.select == 'co' +#if $input_type_select.mode.select == 'single' or $input_type_select.mode.select == 'co' generate_sequence_features_single + --input-fasta 'contigs.$input_fasta.ext' #else generate_sequence_features_multi --separator '$separator' + --input-fasta 'contigs.fasta' #end if - --input-fasta 'contigs.fasta' +#if $input_type_select.input_type == "bam" --input-bam *.bam +#else: + -a *.txt +#end if --output 'output' --threads \${GALAXY_SLOTS:-1} @MIN_LEN@ @@ -30,7 +42,18 @@ #end if ]]></command> <inputs> - <expand macro="mode_fasta_bam"/> + <conditional name="input_type_select"> + <param name="input_type" type="select" label="Use BAM or strobealign abundance information?"> + <option value="bam">BAM file</option> + <option value="txt">strobealign-aemb files</option> + </param> + <when value="bam"> + <expand macro="mode_fasta_bam"/> + </when> + <when value="txt"> + <expand macro="mode_fasta_strobealign"/> + </when> + </conditional> <expand macro="min_len"/> <expand macro="ml-threshold"/> <param name="extra_output" type="select" multiple="true" label="Extra outputs" help="In addition to the training data"> @@ -45,10 +68,13 @@ </outputs> <tests> <test expect_num_outputs="4"> - <conditional name="mode"> - <param name="select" value="single"/> - <param name="input_fasta" ftype="fasta" value="input_single.fasta"/> - <param name="input_bam" ftype="bam" value="input_single.bam"/> + <conditional name="input_type_select"> + <param name="input_type" value="bam"/> + <conditional name="mode"> + <param name="select" value="single"/> + <param name="input_fasta" ftype="fasta" value="input_single.fasta"/> + <param name="input_bam" ftype="bam" value="input_single.bam"/> + </conditional> </conditional> <conditional name="min_len"> <param name="method" value="automatic"/> @@ -81,12 +107,72 @@ <has_n_lines n="1" delta="1"/> </assert_contents> </output> + </test><test expect_num_outputs="4"> + <conditional name="input_type_select"> + <param name="input_type" value="bam"/> + <conditional name="mode"> + <param name="select" value="co"/> + <param name="input_fasta" ftype="fasta.bz2" value="input_single.fasta.bz2"/> + <param name="input_bam" ftype="bam" value="input_coassembly_sorted1.bam,input_coassembly_sorted2.bam,input_coassembly_sorted3.bam,input_coassembly_sorted4.bam,input_coassembly_sorted5.bam"/> + </conditional> + </conditional> + <conditional name="min_len"> + <param name="method" value="automatic"/> + </conditional> + <param name="ml_threshold" value="4000"/> + <param name="extra_output" value="coverage"/> + <output name="single_data" ftype="csv"> + <assert_contents> + <has_n_lines n="41"/> + <has_text text="g1k_0"/> + <has_text text="g4k_9"/> + </assert_contents> + </output> + <output name="single_data_split" ftype="csv"> + <assert_contents> + <has_n_lines n="81"/> + <has_text text="g1k_0_1"/> + <has_text text="g3k_2_2"/> + <has_text text="g4k_7_2"/> + </assert_contents> + </output> + <output_collection name="co_cov" count="5"> + <element name="0" ftype="csv"> + <assert_contents> + <has_n_lines n="41"/> + <has_text text="g1k_0"/> + </assert_contents> + </element> + <element name="4" ftype="csv"> + <assert_contents> + <has_n_lines n="41"/> + <has_text text="g1k_0"/> + </assert_contents> + </element> + </output_collection> + <output_collection name="co_split_cov" count="5"> + <element name="0" ftype="csv"> + <assert_contents> + <has_n_lines n="81"/> + <has_text text="g1k_0_1"/> + </assert_contents> + </element> + <element name="4" ftype="csv"> + <assert_contents> + <has_n_lines n="81"/> + <has_text text="g1k_0_1"/> + </assert_contents> + </element> + </output_collection> </test> <test expect_num_outputs="4"> - <conditional name="mode"> - <param name="select" value="co"/> - <param name="input_fasta" ftype="fasta" value="input_single.fasta"/> - <param name="input_bam" ftype="bam" value="input_coassembly_sorted1.bam,input_coassembly_sorted2.bam,input_coassembly_sorted3.bam,input_coassembly_sorted4.bam,input_coassembly_sorted5.bam"/> + <conditional name="input_type_select"> + <param name="input_type" value="bam"/> + <conditional name="mode"> + <param name="select" value="co"/> + <param name="input_fasta" ftype="fasta.gz" value="input_single.fasta.gz"/> + <param name="input_bam" ftype="bam" value="input_coassembly_sorted1.bam,input_coassembly_sorted2.bam,input_coassembly_sorted3.bam,input_coassembly_sorted4.bam,input_coassembly_sorted5.bam"/> + </conditional> </conditional> <conditional name="min_len"> <param name="method" value="automatic"/> @@ -138,13 +224,16 @@ </output_collection> </test> <test expect_num_outputs="7"> - <conditional name="mode"> - <param name="select" value="multi"/> - <conditional name="multi_fasta"> - <param name="select" value="concatenated"/> - <param name="input_fasta" ftype="fasta" value="input_multi.fasta.gz"/> + <conditional name="input_type_select"> + <param name="input_type" value="bam"/> + <conditional name="mode"> + <param name="select" value="multi"/> + <conditional name="multi_fasta"> + <param name="select" value="concatenated"/> + <param name="input_fasta" ftype="fasta" value="input_multi.fasta.gz"/> + </conditional> + <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/> </conditional> - <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/> </conditional> <conditional name="min_len"> <param name="method" value="automatic"/> @@ -224,19 +313,24 @@ </element> </output_collection> </test> - <test expect_num_outputs="2"> - <conditional name="mode"> - <param name="select" value="multi"/> - <conditional name="multi_fasta"> + + <test expect_num_outputs="5"> + <conditional name="input_type_select"> + <param name="input_type" value="txt"/> + <conditional name="mode"> <param name="select" value="multi"/> - <param name="input_fasta" ftype="fasta" value="S1.fasta,S2.fasta,S3.fasta,S4.fasta,S5.fasta,S6.fasta,S7.fasta,S8.fasta,S9.fasta,S10.fasta"/> + <conditional name="multi_fasta"> + <param name="select" value="concatenated"/> + <param name="input_fasta" ftype="fasta" value="input_multi.fasta.gz"/> + </conditional> + <param name="abundance" ftype="txt" value="strobealign_1.txt,strobealign_2.txt,strobealign_3.txt,strobealign_4.txt,strobealign_5.txt"/> </conditional> - <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/> </conditional> <conditional name="min_len"> <param name="method" value="automatic"/> </conditional> <param name="ml_threshold" value="4000"/> + <param name="extra_output" value="coverage,contigs"/> <output_collection name="multi_data" count="10"> <element name="S1" ftype="csv"> <assert_contents> @@ -253,6 +347,73 @@ </assert_contents> </element> </output_collection> + <output_collection name="multi_cov_sample" count="10"> + <element name="S1" ftype="csv"> + <assert_contents> + <has_n_lines n="21"/> + <has_text text="g1k_0"/> + </assert_contents> + </element> + </output_collection> + <output_collection name="multi_split_cov_txt" count="10"> + <element name="S1" ftype="csv"> + <assert_contents> + <has_n_lines n="41"/> + <has_text text="g1k_5_1"/> + </assert_contents> + </element> + <element name="S9" ftype="csv"> + <assert_contents> + <has_n_lines n="41"/> + <has_text text="g1k_5_1"/> + </assert_contents> + </element> + </output_collection> + <output_collection name="multi_contigs" count="10"> + <element name="S1" ftype="fasta"> + <assert_contents> + <has_text text=">g1k_0"/> + </assert_contents> + </element> + <element name="S9" ftype="fasta"> + <assert_contents> + <has_text text=">g1k_0"/> + </assert_contents> + </element> + </output_collection> + </test> + <test expect_num_outputs="2"> + <conditional name="input_type_select"> + <param name="input_type" value="bam"/> + <conditional name="mode"> + <param name="select" value="multi"/> + <conditional name="multi_fasta"> + <param name="select" value="multi"/> + <param name="input_fasta" ftype="fasta" value="S1.fasta,S2.fasta,S3.fasta,S4.fasta,S5.fasta,S6.fasta,S7.fasta,S8.fasta,S9.fasta,S10.fasta"/> + </conditional> + <param name="input_bam" ftype="bam" value="input_multi_sorted1_naming.bam,input_multi_sorted2_naming.bam,input_multi_sorted3_naming.bam,input_multi_sorted4_naming.bam,input_multi_sorted5_naming.bam,input_multi_sorted6_naming.bam,input_multi_sorted7_naming.bam,input_multi_sorted8_naming.bam,input_multi_sorted9_naming.bam,input_multi_sorted10_naming.bam"/> + </conditional> + </conditional> + <conditional name="min_len"> + <param name="method" value="automatic"/> + </conditional> + <param name="ml_threshold" value="4000"/> + <output_collection name="multi_data" count="10"> + <element name="S1_fasta" ftype="csv"> + <assert_contents> + <has_n_lines n="21"/> + <has_text text="g1k_0"/> + </assert_contents> + </element> + </output_collection> + <output_collection name="multi_data_split" count="10"> + <element name="S1_fasta" ftype="csv"> + <assert_contents> + <has_n_lines n="41"/> + <has_text text="g1k_0_1"/> + </assert_contents> + </element> + </output_collection> </test> </tests> <help><