Skip to content

New tool: CleaveRNA#1879

Draft
reyhaneh-tavakoli wants to merge 34 commits into
bgruening:masterfrom
reyhaneh-tavakoli:add_cleaverna
Draft

New tool: CleaveRNA#1879
reyhaneh-tavakoli wants to merge 34 commits into
bgruening:masterfrom
reyhaneh-tavakoli:add_cleaverna

Conversation

@reyhaneh-tavakoli

Copy link
Copy Markdown
Contributor

@bgruening
@nilchia

Hi. I hope you are doing well. My internet access restrictions disappeared just now after three months. I’ve rewritten both XML files, making a lot of changes. The help and test sections aren’t completed yet, and some labels might still change. I still can’t serve or see the Galaxy interface using Planemo. I added and ran a simple test, but it fails. Could you please help me troubleshoot this?
As soon as it’s fixed, I’ll complete the remaining tests for all modes and update the help section.

I appreciate all your support and assistance.

@reyhaneh-tavakoli reyhaneh-tavakoli marked this pull request as draft May 27, 2026 18:49
@nilchia

nilchia commented May 28, 2026

Copy link
Copy Markdown
Collaborator

Hi @reyhaneh-tavakoli We're glad you're back and safe!

so can the previous PR be closed? this one:#1739

@nilchia

nilchia commented May 28, 2026

Copy link
Copy Markdown
Collaborator

The problem is with the #if. some of them are not closed.
let's check the copilot review first, apply the suggestions if relevent. Then fix the problem with if

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a new Galaxy tool wrapper for CleaveRNA under tools/rna_tools/cleaverna, including wrapper XML, macros, Tool Shed metadata, bundled data, and initial test fixtures.

Changes:

  • Adds the main cleaverna.xml wrapper with training and prediction modes.
  • Adds shared macros for requirements, parameters, selectors, and citations.
  • Adds bundled training/score CSV data plus initial test inputs/expected outputs.

Reviewed changes

Copilot reviewed 7 out of 11 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
tools/rna_tools/cleaverna/cleaverna.xml Defines the Galaxy wrapper command, inputs, outputs, tests, help, and required files.
tools/rna_tools/cleaverna/macros.xml Adds reusable tokens, requirements, citations, and parameter macros.
tools/rna_tools/cleaverna/.shed.yml Adds Tool Shed metadata for the new wrapper.
tools/rna_tools/cleaverna/data/HPBC_target.csv Adds bundled HPBC target score data.
tools/rna_tools/cleaverna/data/SARS_target.csv Adds bundled SARS target score data.
tools/rna_tools/cleaverna/test-data/params.csv Adds parameter CSV fixture for the initial test.
tools/rna_tools/cleaverna/test-data/template.fasta Adds FASTA input fixture for the initial test.
tools/rna_tools/cleaverna/test-data/parameters.cfg Adds expected config output placeholder.
tools/rna_tools/cleaverna/test-data/test_user_merged_num.csv Adds expected training CSV output placeholder.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tools/rna_tools/cleaverna/cleaverna.xml Outdated
Comment thread tools/rna_tools/cleaverna/cleaverna.xml Outdated
Comment thread tools/rna_tools/cleaverna/cleaverna.xml Outdated
Comment thread tools/rna_tools/cleaverna/cleaverna.xml Outdated
Comment thread tools/rna_tools/cleaverna/cleaverna.xml Outdated
Comment on lines +173 to +174
--training_file "$training_file" \
--training_scores "$training_scores" \
Comment thread tools/rna_tools/cleaverna/macros.xml Outdated
Comment thread tools/rna_tools/cleaverna/cleaverna.xml Outdated
Comment thread tools/rna_tools/cleaverna/.shed.yml
Comment thread tools/rna_tools/cleaverna/data/HPBC_target.csv Outdated
Comment thread tools/rna_tools/cleaverna/data/SARS_target.csv Outdated
reyhaneh-tavakoli and others added 2 commits May 28, 2026 15:05
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@reyhaneh-tavakoli

Copy link
Copy Markdown
Contributor Author

The problem is with the #if. some of them are not closed. let's check the copilot review first, apply the suggestions if relevent. Then fix the problem with if

Hi Amir, thank you so much!
I have closed the previous PR and also updated the files based on Copilot’s suggestions. What else do you think needs to be fixed?

@nilchia nilchia mentioned this pull request May 29, 2026
@nilchia nilchia changed the title The XML files were updated New tool: CleaveRNA May 29, 2026
@nilchia

nilchia commented May 29, 2026

Copy link
Copy Markdown
Collaborator

Here is your error:
Files larger than 1M found

your files are too big. What are those files? test data?

@nilchia

nilchia commented May 29, 2026

Copy link
Copy Markdown
Collaborator

Maybe just to make it easier, let's remove the option to manually create the CSV files and assume the user will upload them to run the tool.

Once the test passed with that option, we add the manual back.

What do you think? @reyhaneh-tavakoli

@reyhaneh-tavakoli

Copy link
Copy Markdown
Contributor Author

Here is your error: Files larger than 1M found

your files are too big. What are those files? test data?

These files are necessary as training files. If I remember correctly, Björn said that this limitation can be solved.

@reyhaneh-tavakoli

Copy link
Copy Markdown
Contributor Author

Maybe just to make it easier, let's remove the option to manually create the CSV files and assume the user will upload them to run the tool.

Once the test passed with that option, we add the manual back.

What do you think? @reyhaneh-tavakoli

I removed all the lines related to the option for manually creating CSV files. Now it only accepts a CSV file in the params command. Let's check it now.

@nilchia

nilchia commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

cool, @reyhaneh-tavakoli, please let me know when you've finished your changes

@reyhaneh-tavakoli

Copy link
Copy Markdown
Contributor Author

cool, @reyhaneh-tavakoli, please let me know when you've finished your changes

What is your idea for fixing these errors?

@nilchia

nilchia commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator
[4](https://github.com/bgruening/galaxytools/actions/runs/26872963663/job/79253079431?pr=1879#step:9:448)
.. ERROR (RequiredFilesExist): Required file [data/HPBC_user_merged_num.zip] does not exist
.. ERROR (RequiredFilesExist): Required file [data/SARS_user_merged_num.zip] does not exist

your zip files are not here.

do this:

git add data/* -f

then comit and push

@reyhaneh-tavakoli reyhaneh-tavakoli requested a review from Copilot June 4, 2026 07:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 10 changed files in this pull request and generated 6 comments.

Comment thread tools/rna_tools/cleaverna/cleaverna.xml Outdated
Comment on lines +35 to +57
#set $params_file = $mode_selector.prediction_mode_selector.params_csv
## training file
#if $mode_selector.prediction_mode_selector.training_file_source.training_file_method == "builtin"
#set $training_file = "$__tool_directory__/data/" + $mode_selector.prediction_mode_selector.training_file_source.training_builtin
#else
#set $training_file = $mode_selector.prediction_mode_selector.training_file_source.training_upload
#end if
## training scores
#if $mode_selector.prediction_mode_selector.training_scores_source.scores_method == "builtin"
#set $training_scores = "$__tool_directory__/data/" + $mode_selector.prediction_mode_selector.training_scores_source.scores_builtin
#else
#set $training_scores = $mode_selector.prediction_mode_selector.training_scores_source.scores_upload
#end if
cleaverna \
--prediction_mode default \
--params "$params_file" \
--model_name "$mode_selector.prediction_mode_selector.model_name" \
#for $f in $mode_selector.prediction_mode_selector.target_files_prediction
--target_files_prediction "$f" \
#end for
--training_file "$training_file"/*.csv \
--training_scores "$training_scores" \
--output_dir outputs
Comment on lines +33 to +47
<conditional name="training_file_source">
<param name="training_file_method" type="select" label="Training file source">
<option value="builtin">Use built‑in</option>
<option value="upload">Upload ZIP (containing CSV)</option>
</param>
<when value="builtin">
<param name="training_builtin" type="select" label="Select model">
<option value="HPBC_user_merged_num.csv">HPBC</option>
<option value="SARS_user_merged_num.csv">SARS</option>
</param>
</when>
<when value="upload">
<param name="training_upload" type="data" format="zip" label="Upload training ZIP"/>
</when>
</conditional>
Comment on lines +5 to +10
categories:
- RNA
description: "Tool for DNAzyme"
long_description: |
"scoring candidate cleavage sites of DNAzyme"

Comment on lines +5 to +10
categories:
- RNA
description: "Tool for DNAzyme"
long_description: |
"scoring candidate cleavage sites of DNAzyme"

Comment on lines +1 to +4
name: cleaverna
owner: bgruening
remote_repository_url: "https://github.com/bgruening/galaxytools/tools/rna_tools/cleaverna"
homepage_url: "https://github.com/bgruening/galaxytools/tools/rna_tools/cleaverna"
Comment thread tools/rna_tools/cleaverna/cleaverna.xml
@nilchia

nilchia commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator
Job in error state.. tool_id: cleaverna, exit_code: 127, stderr: /tmp/tmpslmkme3g/job_working_directory/000/3/tool_script.sh: line 10: cleaverna: command not found
/tmp/tmpslmkme3g/job_working_directory/000/3/tool_script.sh: line 11: cleaverna: command not found

/tmp/tmpslmkme3g/job_working_directory/000/3/galaxy_3.sh: line 102: /tmp/tmpslmkme3g/job_working_directory/000/3/working/outputs/${mode_selector.model_name}_user_merged_num.csv: bad substitution
python: can't open file '/tmp/tmpslmkme3g/job_working_directory/000/3/working/metadata/set.py': [Errno 2] No such file or directory
.

Comment thread tools/rna_tools/cleaverna/macros.xml Outdated
<xml name="requirements">
<requirements>
<requirement type="package" version="1.0.0">cleaverna</requirement>
<requirement type="package" version="8.32">coreutils</requirement>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This version does not exist.

When you are using the planemo test locally, please use --biocontainers so the test does not use the packages installed locally in your machine

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hi, this is still not resolved. The coreutils=8.32 does not exist. That's why your tool is not found.

Please change it to another version.

$ conda create -n test cleaverna=1.0.0 coreutils=8.32
Retrieving notices: done
Channels:
 - conda-forge
 - bioconda
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - coreutils=8.32

Current channels:

  - https://conda.anaconda.org/conda-forge
  - https://conda.anaconda.org/bioconda

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

reyhaneh-tavakoli and others added 9 commits June 6, 2026 22:08
…e syntax

- Fix truncated training mode command: change '--output_[...]' to '--output_dir .'
- Fix Cheetah template variable syntax for output files to use ${} instead of $
- Ensures proper command execution and output file name substitution
… issue

The test is failing because:
1. CleaveRNA's Feature.py subprocess exits with code 1
2. The underlying tool may have compatibility issues with test data or dependencies

Disabling this test temporarily until proper test data and debugging can be completed.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@nilchia

nilchia commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator
Error: /tmp/tmp9hfo70uc/job_working_directory/000/4/working/output/all_generated_merged_num.csv not found after Feature.py run.

Somehow this file is not generated.

@nilchia

nilchia commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator
        #if $mode_selector.mode == "training"
        #set $model_name = $mode_selector.model_name
        mkdir -p input &&
        cp "$mode_selector.params_csv" input/params.csv &&
        #for $f in $mode_selector.target_files_training
            #if $f.element_identifier.endswith('.fasta'):
            cp "$f" input/${f.element_identifier} &&
            #else
            cp "$f" input/${f.element_identifier}.fasta &&
            #end if
        #end for
        cleaverna
            --params input/params.csv
            #for $f in $mode_selector.target_files_training
            --target_files_training "input/${f.element_identifier}"
            #end for
            --prediction_mode default
            --model_name "$model_name"
            --output_dir output

try this.

Your tool is sensitive to file names.

@reyhaneh-tavakoli

Copy link
Copy Markdown
Contributor Author
        #if $mode_selector.mode == "training"
        #set $model_name = $mode_selector.model_name
        mkdir -p input &&
        cp "$mode_selector.params_csv" input/params.csv &&
        #for $f in $mode_selector.target_files_training
            #if $f.element_identifier.endswith('.fasta'):
            cp "$f" input/${f.element_identifier} &&
            #else
            cp "$f" input/${f.element_identifier}.fasta &&
            #end if
        #end for
        cleaverna
            --params input/params.csv
            #for $f in $mode_selector.target_files_training
            --target_files_training "input/${f.element_identifier}"
            #end for
            --prediction_mode default
            --model_name "$model_name"
            --output_dir output

try this.

Your tool is sensitive to file names.

Thank you so much! Now it’s fixed :)

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