Skip to content

Add CountESS tool#7967

Open
PlushZ wants to merge 3 commits into
galaxyproject:mainfrom
PlushZ:countess
Open

Add CountESS tool#7967
PlushZ wants to merge 3 commits into
galaxyproject:mainfrom
PlushZ:countess

Conversation

@PlushZ
Copy link
Copy Markdown
Contributor

@PlushZ PlushZ commented May 8, 2026

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)

There are two labels that allow to ignore specific (false positive) tool linter errors:

  • skip-version-check: Use it if only a subset of the tools has been updated in a suite.
  • skip-url-check: Use it if github CI sees 403 errors, but the URLs work.

@PlushZ PlushZ marked this pull request as draft May 8, 2026 06:46
@PlushZ
Copy link
Copy Markdown
Contributor Author

PlushZ commented May 8, 2026

waiting for bioconda recipe for CountESS

@bgruening
Copy link
Copy Markdown
Member

Bioconda available, tests started.

@PlushZ
Copy link
Copy Markdown
Contributor Author

PlushZ commented May 8, 2026

@bgruening we also need bioconda for countess, but CountESS has these GUI-related dependencies:

  • tkinterweb
  • ttkthemes

These packages are not available from conda-forge/bioconda channels. They are not bioinformatics packages. Do you think they can be added to bioconda as they are CountESS's dependencies?

@bgruening
Copy link
Copy Markdown
Member

Can we patch those dependencies out? If not I think we would need to get them into conda-forge.

If this is too complicated fallback to a container.

@PlushZ
Copy link
Copy Markdown
Contributor Author

PlushZ commented May 11, 2026

@bgruening I patched them out, when you have time, could you review bioconda/bioconda-recipes#65263

@PlushZ PlushZ marked this pull request as ready for review May 14, 2026 23:35
Copy link
Copy Markdown
Member

@wm75 wm75 left a comment

Choose a reason for hiding this comment

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

Puh, not easy to review without knowing countess very well. Couple of questions:

  1. Is there ever a case where one countess workflow input node has more than one input file? From the examples it seems as if workflows always start with Load nodes that load individual files?
  2. Are those input nodes input files always called files.0.filename, etc.?
  3. All modules seem to be plugin based. Are all those plugins provided by the bioconda recipe, or could a countess workflow depend on custom plugins that are then not available to the bioconda package/Galaxy?

Comment thread tools/countess/countess.xml Outdated
Comment on lines +84 to +94
<repeat name="output_mappings" title="Output file mapping" min="1" default="1" help="Map CountESS save-node filename parameters into a Galaxy output collection.">
<param name="node_name" type="text" label="CountESS save node name" help="For example: CSV Save 5. This must match the node name in the CountESS INI file.">
<validator type="empty_field"/>
</param>
<param name="parameter_name" type="text" value="filename" label="CountESS output filename parameter" help="E.g., filename.">
<validator type="empty_field"/>
</param>
<param name="output_filename" type="text" value="output.csv" label="Output filename" help="Relative filename to write into the Galaxy output collection. Use extensions like .csv, .tsv, or .txt for datatype detection.">
<validator type="empty_field"/>
</param>
</repeat>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why are output_mappings needed? What's wrong with just processing/sanitizing the names in the original .ini file?

@PlushZ
Copy link
Copy Markdown
Contributor Author

PlushZ commented May 20, 2026

Puh, not easy to review without knowing countess very well. Couple of questions:

  1. Is there ever a case where one countess workflow input node has more than one input file? From the examples it seems as if workflows always start with Load nodes that load individual files?
  2. Are those input nodes input files always called files.0.filename, etc.?
  3. All modules seem to be plugin based. Are all those plugins provided by the bioconda recipe, or could a countess workflow depend on custom plugins that are then not available to the bioconda package/Galaxy?

1-2. Yes, a CountESS load node can contain multiple input files. CountESS represents load-node files as an array in the .ini file, e.g. files.0.filename, files.1.filename, files.2.filename (https://github.com/CountESS-Project/CountESS/blob/main/docs/config-file-format/index.md#plugin-configuration). This is implemented by the CountESS DuckdbLoadFilePlugin base class using FileArrayParam("Files", LoadFileMultiParam("File")). The Galaxy wrapper supports this by allowing multiple input mapping repeats. Users can map several Galaxy datasets to the same CountESS input node by setting parameter names such as files.0.filename, files.1.filename, etc.

  1. The standard CountESS plugins are provided by the CountESS package installed from Bioconda. CountESS stores plugin module/class names in the .ini file, so workflows using built-in modules are supported. A workflow created with custom plugins would not be guaranteed to work. I can document this in the tool help.

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