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

cannot upgrade to python 3.8 because of t_coffee (in the dependency chain of bioperl) #32576

Closed
0xaf1f opened this issue Jan 25, 2022 · 8 comments

Comments

@0xaf1f
Copy link
Contributor

0xaf1f commented Jan 25, 2022

I'm not sure whether t_coffee can be rebuilt for python 3.8+, but my environment is stuck at python 3.7 and I need prokka (the thing needing bioperl) to co-exist with some python code I'm using.

Encountered problems while solving:
  - package t_coffee-11.0.8-py37hea885bf_8 requires python >=3.7,<3.8.0a0, but none of the providers can be installed

@0xaf1f
Copy link
Contributor Author

0xaf1f commented Jan 25, 2022

related to #29069 and #20459

0xaf1f added a commit to 0xaf1f/bioconda-recipes that referenced this issue Jan 26, 2022
0xaf1f added a commit to 0xaf1f/bioconda-recipes that referenced this issue Jan 26, 2022
@matthdsm
Copy link
Contributor

matthdsm commented Mar 3, 2022

same issue here

@svm-zhang
Copy link

I have the same t_coffee problem. The installation was successful using the command below. However, the python shipped along with it was 3.7.12.

mamba create -n test ensembl-vep=105.0

If I tried to update the python to >= 3.9 to work with my other scripts, I saw the exact same error message.

It baffles me and is of course beyond my knowledge about why a perl package requires a very specific python version requirement. I tried to look for t_coffee installation documentation and was not able to find anything that relates to this requirement.

Could someone please help fix this problem or suggest some potential solution that I could try? Much appreciated.

@0xaf1f
Copy link
Contributor Author

0xaf1f commented May 15, 2022

I spent too much time trying to shave this yak at one point and I was at least able to get a good picture of the situation before I ran out of time to do something about it. So gather 'round for story time:

There is t_coffee (Underscore) and t-coffee (Hyphen). Underscore came first, but both are currently on the build blacklist. When packaging Underscore, @ostrokach added a fancy python wrapper to the program executable specifically for the conda package, which is where this python <=3.7 dependency comes in. perl-bio-tools-run-alignment-tcoffee depends on Underscore, so this is how perl and python became intertwined and all these conflicts arose.

I think Hyphen was meant to replace Underscore based on the post-link message in Hyphen:

echo "** WARNING: This T-Coffee recipe is still under development **"
echo ""
echo "It does not contain all required packages to use all T-Coffee modes."
echo "We suggest to use the Bioconda 't_coffee' recipe instead or download it"
echo "from the web site http://www.tcoffee.org"
echo ""

So anyway, we're still stuck with Underscore and its unnecessary dependency on python.

The proper course of action to clean up the situation from what I can tell is to:

  • remove Hyphen from the blacklist so that its build doesn't get skipped when you go on to step 2.
  • update and finalize the packaging for Hyphen
  • change perl-bio-tools-run-alignment-tcoffee so that it depends on Hyphen rather than Underscore. This will break the connection between bioperl and python 3.7.
  • celebrate the newfound ability to co-install bioperl and modern versions of python

And then at some point Underscore should be deleted or somehow marked obsolete.

@0xaf1f
Copy link
Contributor Author

0xaf1f commented May 16, 2022

Also related: #10614

@svm-zhang
Copy link

@0xaf1f thank you very much for the explanation. Now it all makes sense to me. I will follow the other ticket and hopefully this can get resolved and everybody celebrates!

BiocondaBot pushed a commit that referenced this issue Dec 14, 2022
Merge PR #38199, commits were: 
 * Remove commented out line
 * Update meta.yaml
 * Update meta.yaml
 * Replace t_coffee with t-coffee

In light of the recent un-blacklisting and update of `t-coffee` (a78d91b), it should now replace `t_coffee` as a dependency here.

For more info: #32576 (comment)
@0xaf1f
Copy link
Contributor Author

0xaf1f commented Dec 14, 2022

This has now been fixed!

remove Hyphen from the blacklist so that its build doesn't get skipped when you go on to step 2.

done in a78d91b

update and finalize the packaging for Hyphen

done in #38347

change perl-bio-tools-run-alignment-tcoffee so that it depends on Hyphen rather than Underscore. This will break the connection between bioperl and python 3.7.

done in #38199

celebrate the newfound ability to co-install bioperl and modern versions of python

🎉

There is still a lingering connection between bioperl and python in that t-coffee depends on viennarna, but at least the latter is a declared python package and gets rebuilt when new python packages are introduced. viennarna is only needed by r-coffee, so maybe that could be split out of the t-coffee package at some point.

@0xaf1f 0xaf1f closed this as completed Dec 14, 2022
@amizeranschi
Copy link
Contributor

@0xaf1f many thanks for your help in solving this, once and for all!

0xaf1f added a commit to 0xaf1f/bioconda-recipes that referenced this issue Dec 15, 2022
conda/mamba sometimes tried to use python 2.7, which is not
compatible.
See https://gitlab.com/LPCDRP/hybran/-/issues/54

Also, the existing python<=3.7 constraint was not due to anything on
the part of hybran, but rather as a workaround for the now fixed
bioconda#32576 .
BiocondaBot pushed a commit that referenced this issue Dec 16, 2022
Merge PR #38433, commits were: 
 * hybran: improve dependency constraints

conda/mamba sometimes tried to use python 2.7, which is not
compatible.
See https://gitlab.com/LPCDRP/hybran/-/issues/54

Also, the existing python<=3.7 constraint was not due to anything on
the part of hybran, but rather as a workaround for the now fixed
#32576 .
 * hybran: add dev_url
cokelaer pushed a commit to cokelaer/bioconda-recipes that referenced this issue Apr 28, 2023
Merge PR bioconda#38199, commits were: 
 * Remove commented out line
 * Update meta.yaml
 * Update meta.yaml
 * Replace t_coffee with t-coffee

In light of the recent un-blacklisting and update of `t-coffee` (bioconda@a78d91b), it should now replace `t_coffee` as a dependency here.

For more info: bioconda#32576 (comment)
cokelaer pushed a commit to cokelaer/bioconda-recipes that referenced this issue Apr 28, 2023
Merge PR bioconda#38433, commits were: 
 * hybran: improve dependency constraints

conda/mamba sometimes tried to use python 2.7, which is not
compatible.
See https://gitlab.com/LPCDRP/hybran/-/issues/54

Also, the existing python<=3.7 constraint was not due to anything on
the part of hybran, but rather as a workaround for the now fixed
bioconda#32576 .
 * hybran: add dev_url
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

No branches or pull requests

4 participants