Skip to content

Add recipe for muscle - #31206

Closed
Thomas1664 wants to merge 13 commits into
conda-forge:mainfrom
Thomas1664:muscle
Closed

Add recipe for muscle#31206
Thomas1664 wants to merge 13 commits into
conda-forge:mainfrom
Thomas1664:muscle

Conversation

@Thomas1664

@Thomas1664 Thomas1664 commented Oct 10, 2025

Copy link
Copy Markdown

This PR adds muscle to conda-forge. There is already a bioconda recipe but the main motivation for creating a recipe here is that I need Windows support for muscle but bioconda doesn't support Windows. I used a large portion of the bioconda recipe as a template. Please let me know in case there are any issues with that practice.

Since this is my first recipe, I am happy for any help with this and I hope I followed the provided documentation correctly.

I am ok with being added as a maintainer for the muscle recipe. I am familiar with package management as I have regularily contributed to the vcpkg package manager for several years.

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example). (used license file from source repository)
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged. (N/A)
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/muscle/meta.yaml) and found some lint.

Here's what I've got...

For recipes/muscle/meta.yaml:

  • ❌ The build section contained an unexpected subsection name. patches is not a valid subsection name.

  • ❌ The extra section contained an unexpected subsection name. additional-platforms is not a valid subsection name.

  • ❌ This recipe is using a compiler, which now requires adding a build dependence on {{ stdlib("c") }} as well. Note that this rule applies to each output of the recipe using a compiler. For further details, please see META: {{ stdlib("c") }} migration conda-forge.github.io#2102.

  • ❌ In conda-forge.yml: $.test = True.

    True is not valid under any of the given schemas

    Schema
    {
      "anyOf": [
        {
          "$ref": "#/$defs/DefaultTestPlatforms"
        },
        {
          "$ref": "#/$defs/Nullable"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Test"
    }

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/18400550046. Examine the logs at this URL for more detail.

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/muscle/meta.yaml) and found it was in an excellent condition.

@Thomas1664 Thomas1664 changed the title [muscle] Add recipe Add recipe for muscle Oct 10, 2025
@Thomas1664

Copy link
Copy Markdown
Author

@conda-forge-admin, please ping team help-c-cpp

@Thomas1664
Thomas1664 marked this pull request as ready for review October 10, 2025 11:17
@conda-forge-webservices

Copy link
Copy Markdown

Hi! This is the friendly automated conda-forge-webservice.

I was asked to ping @conda-forge/staged-recipes and so here I am doing that.

@github-actions

Copy link
Copy Markdown
Contributor

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

@Thomas1664

Copy link
Copy Markdown
Author

@conda-forge-admin, please ping team conda-forge/help-c-cpp

@conda-forge-webservices

Copy link
Copy Markdown

Hi! This is the friendly automated conda-forge-webservice.

I was asked to ping @conda-forge/staged-recipes and so here I am doing that.

@github-actions

Copy link
Copy Markdown
Contributor

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

@Thomas1664

Copy link
Copy Markdown
Author

@conda-forge-admin, please ping team @conda-forge/help-c-cpp

@github-actions github-actions Bot added the c-cpp label Oct 10, 2025
@conda-forge-webservices

Copy link
Copy Markdown

Hi! This is the friendly automated conda-forge-webservice.

I was asked to ping @conda-forge/staged-recipes and so here I am doing that.

@github-actions

Copy link
Copy Markdown
Contributor

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

Comment thread recipes/muscle/conda-forge.yml Outdated
@traversaro

Copy link
Copy Markdown
Contributor

Thanks for contribution @Thomas1664 ! As you can see from the linter output:

###START-OF-SUMMARY###
Hi! This is the staged-recipes linter and I found some lint.

File-specific lints and/or hints:

- `recipes/muscle/meta.yaml`:
  - lints:
    - Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.


###END-OF-SUMMARY###
Error: Process completed with exit code 1.

to move recipe from bioconda to conda-forge, you need to discuss with bioconda mantainers, you can do that by mentioning @conda-forge/bioconda-recipes .

@Thomas1664

Copy link
Copy Markdown
Author

@conda-forge-admin, please ping team @conda-forge/bioconda-recipes

@conda-forge-webservices

Copy link
Copy Markdown

Hi! This is the friendly automated conda-forge-webservice.

I was asked to ping @conda-forge/staged-recipes and so here I am doing that.

@github-actions

Copy link
Copy Markdown
Contributor

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

@Thomas1664

Copy link
Copy Markdown
Author

Hi @traversaro,

I removed conda-forge.yml. I expected the bot to add the bioconda label. Or is the following enough to let the right team know:

@conda-forge/bioconda-recipes

@traversaro

Copy link
Copy Markdown
Contributor

I guess either mine or your reference should have worked fine.

@mfansler mfansler left a comment

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.

Thanks for proposing this.

Unfortunately, I don't support the transfer, and here are my considerations:

  • muscle has substantial downloads of its Biocontainer (1.5 M downloads), which would no longer be generated if transferred
  • the Bioconda recipe has diverse and active maintainers (history shows about a dozen contributors), whereas the transfer has one maintainer
  • related to the last point, this is properly a bioinformatic package and benefits from having domain experts and a concentration of end-users reviewing the recipe
  • there is an outstanding issue with bioconda -> conda-forge transfers that blocks any other Bioconda recipes from using pre-conda-forge versions during solves
  • the goal of providing a win-64 build can be achieved other ways, e.g., personal Anaconda Cloud channels
  • the extent of demand for a win-64 build is not clear; the Muscle authors already provide executables, and WSL and containers are ready alternatives

Would be happy to discuss further, but for now I wouldn't recommend merging.

I'd encourage anyone else from @conda-forge/bioconda-recipes with a different take to share their perspective.

@Thomas1664

Copy link
Copy Markdown
Author

Unfortunately, I don't support the transfer,

I didn't know that adding the package to conda-forge would also mean removing it from bioconda and I agree with you that the muscle package should stay on bioconda.
I also saw that there's a mafft package (another alignment tool) in both bioconda and conda-forge so I thought it would be possible to also have muscle on both channels.

the extent of demand for a win-64 build is not clear; the Muscle authors already provide executables, and WSL and containers are ready alternatives

I want the environment setup to be as easy as possible for my users and I think WSL would already be too complicated.
I know that mucle provides prebuilt binaries but I couldn't find any documentation on how to download these as part of the environment creation process but please let me know if there is a way to download the executables using conda.

the goal of providing a win-64 build can be achieved other ways, e.g., personal Anaconda Cloud channels

As far as I understand the documentation, this would require self-hosting the channel but I'm not sure my organization would be able to maintain it for an extended time period.

Again, please let me know if there are different ways of downloading muscle that don't require any user intervention apart from the conda environment setup.

@mfansler

Copy link
Copy Markdown
Member

the goal of providing a win-64 build can be achieved other ways, e.g., personal Anaconda Cloud channels

As far as I understand the documentation, this would require self-hosting the channel but I'm not sure my organization would be able to maintain it for an extended time period.

Anaconda.org has free public hosting for individuals or organizations with up to 3GB of artifacts. From the info you've shared, I'd say this sounds like an appropriate use case.

Again, please let me know if there are different ways of downloading muscle that don't require any user intervention apart from the conda environment setup.

No. The only alternate installation support is via pip, which doesn't apply here.

@mfansler

mfansler commented Oct 14, 2025

Copy link
Copy Markdown
Member

I didn't know that adding the package to conda-forge would also mean removing it from bioconda and I agree with you that the muscle package should stay on bioconda. I also saw that there's a mafft package (another alignment tool) in both bioconda and conda-forge so I thought it would be possible to also have muscle on both channels.

The working policy is to transfer - especially since Bioconda uses strict channel priority. That mafft package shouldn't be in that state. It was reluctantly added to conda-forge (#25606), and it has resulted in solving issues (e.g., bioconda/bioconda-recipes#50086).

@Thomas1664

Thomas1664 commented Oct 15, 2025

Copy link
Copy Markdown
Author

I will then create my own channel. Thanks everyone for their help!

@Thomas1664 Thomas1664 closed this Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants