Skip to content

Update semibin2 to 2.1.0 #6503

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
148 changes: 126 additions & 22 deletions tools/semibin/generate_sequence_features.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,29 @@
<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
#else
generate_sequence_features_multi
--separator '$separator'
#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@
Expand All @@ -30,7 +41,18 @@ SemiBin2
#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?">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you have that as a macro below?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Input type picks which macro to open -- bam or strobealign

<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">
Expand All @@ -45,10 +67,13 @@ SemiBin2
</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"/>
Expand Down Expand Up @@ -83,10 +108,13 @@ SemiBin2
</output>
</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" 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>
</conditional>
<conditional name="min_len">
<param name="method" value="automatic"/>
Expand Down Expand Up @@ -138,13 +166,16 @@ SemiBin2
</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"/>
Expand Down Expand Up @@ -224,14 +255,87 @@ SemiBin2
</element>
</output_collection>
</test>

<test expect_num_outputs="5">
<conditional name="input_type_select">
<param name="input_type" value="txt"/>
<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="abundance" ftype="txt" value="strobealign_1.txt,strobealign_2.txt,strobealign_3.txt,strobealign_4.txt,strobealign_5.txt"/>
</conditional>
</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>
<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" ftype="csv">
<assert_contents>
<has_n_lines n="41"/>
<has_text text="g1k_0_1"/>
</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="mode">
<param name="select" value="multi"/>
<conditional name="multi_fasta">
<conditional name="input_type_select">
<param name="input_type" value="bam"/>
<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="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.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"/>
Expand Down
Loading