Skip to content
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

Add galaxy tool wrapper for IRMA #6494

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Conversation

aaronKol
Copy link

@aaronKol aaronKol commented Oct 28, 2024

Adding a wrapper for the tool IRMA (Iterative Refinement Meta-Assembler).

Problem: The IRMA variable SINGLE_LOCAL_PROC doesnt set the thread usage. IRMA will start a subprocess for every (8) virus segment. The variable SINGLE_LOCAL_PROC determines on how many threads each of these subprocess should run. E.g. SINGLE_LOCAL_PROC=4 would yield 4 times 8 = 32 subprocesses.
I did not find a way to restrict cores used by irma.

FOR CONTRIBUTOR:

  • I have read the CONTRIBUTING.md document and this tool is appropriate for the tools-iuc repo.
  • License permits unrestricted use (educational + commercial)
  • This PR adds a new tool or tool collection
  • This PR updates an existing tool or tool collection
  • This PR does something else (explain below)

Copy link
Member

@bgruening bgruening left a comment

Choose a reason for hiding this comment

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

You need to add a .shed.yml file.

Copy link
Member

@bgruening bgruening left a comment

Choose a reason for hiding this comment

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

Please add a few more tests that are testing the conditionals.
Are you sure all file in irma_testSinge_out are actually needed?

tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
<param name="TMP" type="text" value="/tmp" label="Define temp directory" />
</section>
<section name="reference" title="General settings" expanded="false">
<param name="SKIP_E" type="select" label="Skip elongation?">
Copy link
Member

Choose a reason for hiding this comment

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

Isn't that a boolean?

Copy link
Member

Choose a reason for hiding this comment

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

why its own section?

Copy link
Contributor

Choose a reason for hiding this comment

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

@aaronKol as @bgruening points out there is no need to implement this as a select param. type="boolean" is clearer here.
Same everywhere else where you just have a Yes/No choice. Only exception is where the choice represents a conditional param and determines what's shown in the rest of the tool interface. Booleans are not allowed to cause such a change, i.e. then and only then would a type="select" be appropriate.

tools/irma/IRMA.xml Outdated Show resolved Hide resolved
</conditional>
<param name="module" value="FLU-utr" />
<param name="optional_outputs" value="vcf,bam"/>
<output_collection name="consensus_collection" type="list">
Copy link
Member

Choose a reason for hiding this comment

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

how many elements are in this collection, I guess you can use count to test for it

Copy link
Contributor

Choose a reason for hiding this comment

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

</output_collection>
</test>
</tests>
<help><![CDATA[
Copy link
Member

Choose a reason for hiding this comment

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

It would be better if you explain what the tool is doing, when a user should use it ...

The license etc is not relevant here.

tools/irma/createMissingFiles.py Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
tools/irma/IRMA.xml Outdated Show resolved Hide resolved
for file in os.listdir(dirPrefix):
if file.endswith(".fasta"):
presentSegments.append(file.split('.')[0])
print(presentSegments)
Copy link
Member

Choose a reason for hiding this comment

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

remove?

Comment on lines 26 to 29
#if $input_type_conditional.fastq_input.forward.is_of_type('fastq.gz')
ln -sf '${input_type_conditional.fastq_input.forward}' file1.fastq.gz &&
ln -sf '${input_type_conditional.fastq_input.reverse}' file2.fastq.gz &&
#end if
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
#if $input_type_conditional.fastq_input.forward.is_of_type('fastq.gz')
ln -sf '${input_type_conditional.fastq_input.forward}' file1.fastq.gz &&
ln -sf '${input_type_conditional.fastq_input.reverse}' file2.fastq.gz &&
#end if
#if $input_type_conditional.fastq_input.forward.is_of_type('fastq.gz')
ln -sf '${input_type_conditional.fastq_input.forward}' file1.fastq.gz &&
ln -sf '${input_type_conditional.fastq_input.reverse}' file2.fastq.gz &&
#end if

Comment on lines 39 to 43
#if $input_type_conditional.fastq_input1.is_of_type('fastq.gz')
file1.fastq.gz
#else
'${input_type_conditional.fastq_input1}'
#end if
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
#if $input_type_conditional.fastq_input1.is_of_type('fastq.gz')
file1.fastq.gz
#else
'${input_type_conditional.fastq_input1}'
#end if
#if $input_type_conditional.fastq_input1.is_of_type('fastq.gz')
file1.fastq.gz
#else
'${input_type_conditional.fastq_input1}'
#end if

Comment on lines 47 to 53
#if $input_type_conditional.fastq_input.forward.is_of_type('fastq.gz')
file1.fastq.gz
file2.fastq.gz
#else
'${input_type_conditional.fastq_input.forward}'
'${input_type_conditional.fastq_input.reverse}'
#end if
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
#if $input_type_conditional.fastq_input.forward.is_of_type('fastq.gz')
file1.fastq.gz
file2.fastq.gz
#else
'${input_type_conditional.fastq_input.forward}'
'${input_type_conditional.fastq_input.reverse}'
#end if
#if $input_type_conditional.fastq_input.forward.is_of_type('fastq.gz')
file1.fastq.gz
file2.fastq.gz
#else
'${input_type_conditional.fastq_input.forward}'
'${input_type_conditional.fastq_input.reverse}'
#end if

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants