-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
GenEra Conda Recipes Submission #51721
base: master
Are you sure you want to change the base?
Conversation
TIPP_plastid is a User-Friendly Tool for De Novo Assembly of Organellar Genomes with HiFi Data
Co-authored-by: Martin Grigorov <[email protected]>
Co-authored-by: Martin Grigorov <[email protected]>
Co-authored-by: Martin Grigorov <[email protected]>
Co-authored-by: Martin Grigorov <[email protected]>
Co-authored-by: Martin Grigorov <[email protected]>
Co-authored-by: Martin Grigorov <[email protected]>
suggestion incorporated
updated meta and build.
📝 Walkthrough📝 Walkthrough📝 WalkthroughWalkthroughThis pull request introduces two significant components for the Possibly related PRs
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🧹 Outside diff range and nitpick comments (4)
recipes/genera/build.sh (3)
1-4
: Add PREFIX variable validation.The script assumes PREFIX is set but should validate it since it's critical for Conda builds.
Add this check after line 4:
set -ex +# Validate PREFIX environment variable +if [ -z "${PREFIX}" ]; then + echo "Error: PREFIX environment variable is not set" + exit 1 +fi
21-28
: Add error handling for file moving operations.The current implementation doesn't verify successful file moves.
Suggested improvement:
-mv genEra "$CONDABIN" -mv Erassignment "$CONDABIN" -mv Run_abSENSE.py "$CONDABIN" -mv hmmEra "$CONDABIN" -mv tree2ncbitax "$CONDABIN" -mv FASTSTEP3R "$CONDABIN" -mv test_installation.sh "$CONDABIN" +for file in genEra Erassignment Run_abSENSE.py hmmEra tree2ncbitax FASTSTEP3R test_installation.sh; do + if ! mv "$file" "$CONDABIN/"; then + echo "Error: Failed to move $file to $CONDABIN" + exit 1 + fi +done
30-30
: Add installation verification step.Consider adding a verification step to ensure all executables are properly installed.
Add after the echo:
echo "Installation complete. Executables have been moved to ${CONDABIN}." +# Verify installation +echo "Verifying installation..." +for file in genEra Erassignment Run_abSENSE.py hmmEra tree2ncbitax FASTSTEP3R test_installation.sh; do + if [ ! -x "$CONDABIN/$file" ]; then + echo "Error: $file not found or not executable in $CONDABIN" + exit 1 + fi +done +echo "Verification complete. All executables are properly installed."recipes/genera/meta.yaml (1)
30-33
: Add additional package metadata.Please enhance the metadata section with:
- License file specification
- License family
- More detailed description
about: home: https://github.com/josuebarrera/GenEra.git license: GPL-3.0 + license_family: GPL + license_file: LICENSE summary: "Uncovering gene-family founder events during major evolutionary transitions in animals, plants and fungi using GenEra" + description: | + GenEra is a comprehensive tool for analyzing gene-family founder events + during major evolutionary transitions. It provides functionality for + studying evolutionary patterns in animals, plants, and fungi through + various computational and statistical approaches.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- recipes/genera/build.sh (1 hunks)
- recipes/genera/meta.yaml (1 hunks)
🔇 Additional comments (2)
recipes/genera/build.sh (1)
14-19
: LGTM: Proper Conda binary path handling.The script correctly uses PREFIX and ensures the bin directory exists.
recipes/genera/meta.yaml (1)
10-11
: Verify build script inclusion.The AI summary mentions a
build.sh
script, but it's not referenced in the meta.yaml. Please ensure the build script is included in the recipe directory.✅ Verification successful
Build script is present and properly configured
The build.sh script exists in the recipe directory and contains appropriate installation steps including:
- Setting executable permissions
- Cloning required dependencies
- Installing executables to the correct conda binary path
- Using conda environment variables (PREFIX)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if build.sh exists in the recipe directory fd -t f "build.sh" recipes/genera/Length of output: 58
Script:
#!/bin/bash # Let's check the content of build.sh to verify it's not empty and properly configured cat recipes/genera/build.shLength of output: 784
recipes/genera/build.sh
Outdated
# Clone the secondary repository and move the main script | ||
git clone https://github.com/caraweisman/abSENSE.git | ||
mv abSENSE/Run_abSENSE.py . | ||
chmod +x Run_abSENSE.py |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Critical: Remove git clone operation from build script.
Downloading dependencies during build time violates Conda packaging best practices and makes builds non-reproducible. Instead:
- Include abSENSE as a source in meta.yaml
- Pin the specific version/commit of abSENSE
Move this dependency to meta.yaml:
source:
- url: [original genera url]
sha256: [original sha]
- url: https://github.com/caraweisman/abSENSE/archive/[specific-commit].tar.gz
sha256: [checksum]
folder: abSENSE
Then in build.sh, replace the clone with:
-git clone https://github.com/caraweisman/abSENSE.git
-mv abSENSE/Run_abSENSE.py .
+mv abSENSE/Run_abSENSE.py .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right that the git clone command should be removed, but instead of adding the missing dependency as a source, a separate recipe should be created for the dependency in a new PR and then the dependencies updated in this recipe.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aliciaaevans, understood. Thank you for the clarification. We'll adjust our recommendations accordingly.
🐰🤔
✏️ Learnings added
Learnt from: aliciaaevans
PR: bioconda/bioconda-recipes#51721
File: recipes/genera/build.sh:9-12
Timestamp: 2024-10-29T13:49:22.049Z
Learning: When reviewing Bioconda recipes, if a recipe depends on a missing dependency, it's preferable to create a separate recipe for the dependency in a new PR and update the dependencies in the main recipe accordingly, instead of adding the dependency as a source in the same recipe.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @aliciaaevans, thank you for the review. This particular script doesn’t have a release version as I believe it’s part of a publication’s codebase. I’ve submitted a request on their GitHub for a release, but if they don’t create one, would it be possible to proceed with git clone
despite the recommendation to avoid it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!
recipes/genera/meta.yaml
Outdated
host: | ||
- python=3.7.12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update Python version constraint.
The Python version is pinned to an old version (3.7.12). Consider using a more recent version or a minimum version constraint.
host:
- - python=3.7.12
+ - python >=3.8
+ - pip
+ - setuptools
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
host: | |
- python=3.7.12 | |
host: | |
- python >=3.8 | |
- pip | |
- setuptools |
recipes/genera/meta.yaml
Outdated
source: | ||
git_url: https://github.com/josuebarrera/GenEra.git | ||
git_tag: v1.4.2 | ||
sha256: d56c5f7430a33bf781a42b325c0cd813e862b06e14d486c411ba5909251ef206 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use release tarball URL instead of git repository.
For better reproducibility and faster downloads, bioconda prefers using release tarballs instead of git repositories.
source:
- git_url: https://github.com/josuebarrera/GenEra.git
- git_tag: v1.4.2
+ url: https://github.com/josuebarrera/GenEra/archive/refs/tags/v1.4.2.tar.gz
sha256: d56c5f7430a33bf781a42b325c0cd813e862b06e14d486c411ba5909251ef206
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
source: | |
git_url: https://github.com/josuebarrera/GenEra.git | |
git_tag: v1.4.2 | |
sha256: d56c5f7430a33bf781a42b325c0cd813e862b06e14d486c411ba5909251ef206 | |
source: | |
url: https://github.com/josuebarrera/GenEra/archive/refs/tags/v1.4.2.tar.gz | |
sha256: d56c5f7430a33bf781a42b325c0cd813e862b06e14d486c411ba5909251ef206 |
recipes/genera/meta.yaml
Outdated
run: | ||
- python=3.7.12 | ||
- diamond=2.1.10 | ||
- mmseqs2=14.7e284 | ||
- foldseek=3.915ef7d | ||
- scipy=1.7.3 | ||
- r-seqinr=4.2_16 | ||
- r-optparse=1.7.3 | ||
- r-bio3d=2.4_3 | ||
- r-tidyverse=1.3.2 | ||
- r-phytools=0.6_99 | ||
- orthofinder=2.5.5 | ||
- ncbitax2lin=2.3.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Review dependency version constraints.
Some suggestions for the runtime dependencies:
- Use minimum version constraints (>=) instead of exact pins where possible
- Python version should match host requirements
- Consider adding commonly required R dependencies like
r-base
run:
- - python=3.7.12
+ - python >=3.8
+ - r-base
- diamond=2.1.10
- mmseqs2=14.7e284
- foldseek=3.915ef7d
- - scipy=1.7.3
+ - scipy >=1.7.3
- r-seqinr=4.2_16
- r-optparse=1.7.3
- r-bio3d=2.4_3
- r-tidyverse=1.3.2
- r-phytools=0.6_99
- orthofinder=2.5.5
- ncbitax2lin=2.3.2
Committable suggestion was skipped due to low confidence.
recipes/genera/meta.yaml
Outdated
|
||
requirements: | ||
host: | ||
- python =3.7.12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bioconda only builds Python 3.8 and up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, will update it.
recipes/genera/build.sh
Outdated
chmod +x genEra Erassignment hmmEra tree2ncbitax FASTSTEP3R test_installation.sh | ||
|
||
# Clone the secondary repository and move the main script | ||
git clone https://github.com/caraweisman/abSENSE.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't use git clone. This is a separate tool, so please add it as a separate recipe.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’ve submitted a request on their GitHub for a release, but if they don’t create one, would it be possible to proceed with git clone despite the recommendation to avoid it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can use 'git_url: ...' and 'git_rev: commit_sha' for it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dear @aliciaaevans and @martin-g,
I have incorporated the suggested changes. Please let me know if any further adjustments are needed.
Best regards,
Anupam
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dear @aliciaaevans and @martin-g,
The author of abSENSE has made a new release, so I’ve added it. However, I’m not certain if they would like a Conda package for it. I’ve reached out to confirm, and if they are interested, I can create a PR for the Conda package as well.
Best regards,
Anupam
Dear @aliciaaevans and @martin-g, Could you please review the updated recipe and assist with the merge? Apologies for interrupting during a busy schedule, and thank you in advance for your help! Best, |
recipes/genera/meta.yaml
Outdated
|
||
about: | ||
home: https://github.com/josuebarrera/GenEra | ||
license: "GPL-3.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use SDPX identifiers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added
recipes/genera/meta.yaml
Outdated
host: | ||
- python =3.8.0 | ||
run: | ||
- python =3.8.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please do not spin that strict, this is not how conda works. Strict pins can be used in environments.yml files, but packages should specify pins when they are really incompatible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @bgruening, I’ve added a non-strict version specification for Python, but some other packages need specific version constraints as certain required flags are only available in those versions.
folder: abSENSE | ||
|
||
build: | ||
number: 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This package should be noarch generic I think
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (1)
recipes/genera/meta.yaml (1)
35-43
: Consider adding more comprehensive tests.While the basic command check is good, consider adding more test commands to verify the installation and functionality of the package. For example:
- Check if key scripts are executable
- Verify the presence of important files
- Test the abSENSE component
test: commands: - genEra -h 2>&1 > /dev/null + - test -x $PREFIX/bin/genEra + - test -x $PREFIX/bin/Run_abSENSE.py + - which genEra
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
recipes/genera/meta.yaml
(1 hunks)
🔇 Additional comments (1)
recipes/genera/meta.yaml (1)
1-10
: LGTM! Package metadata and source configuration look good.
The package metadata is well-structured and the source configuration follows best practices by using release tarballs with SHA256 checksums.
build: | ||
number: 0 | ||
noarch: generic | ||
run_exports: | ||
- {{ pin_subpackage('genera', max_pin="x.x") }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Consider removing the run_exports section.
Since this is a noarch: generic
package, the run_exports
section with pin_subpackage
might be unnecessary and could lead to overly strict version constraints. This aligns with the previous comment from @bgruening about avoiding strict pins in Conda packages.
build:
number: 0
noarch: generic
- run_exports:
- - {{ pin_subpackage('genera', max_pin="x.x") }}
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
build: | |
number: 0 | |
noarch: generic | |
run_exports: | |
- {{ pin_subpackage('genera', max_pin="x.x") }} | |
build: | |
number: 0 | |
noarch: generic |
recipes/genera/meta.yaml
Outdated
requirements: | ||
host: | ||
- python >=3.8,<3.9 | ||
run: | ||
- python >=3.8,<3.9 | ||
- diamond =2.1.10 | ||
- mmseqs2 =14.7e284 | ||
- foldseek =3.915ef7d | ||
- scipy =1.7.3 | ||
- r-seqinr =4.2_16 | ||
- r-optparse =1.7.3 | ||
- r-bio3d =2.4_3 | ||
- r-tidyverse =1.3.2 | ||
- r-phytools =0.6_99 | ||
- orthofinder =2.5.5 | ||
- ncbitax2lin =2.3.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Revise dependency version constraints.
Several adjustments are needed to align with Conda best practices:
- Python version constraint should be more flexible
- Runtime dependencies should avoid exact pins unless strictly necessary
- Missing build-time dependencies
requirements:
host:
- - python >=3.8,<3.9
+ - python >=3.8
+ - pip
+ - setuptools
run:
- - python >=3.8,<3.9
+ - python >=3.8
- - diamond =2.1.10
+ - diamond >=2.1.10
- - mmseqs2 =14.7e284
+ - mmseqs2 >=14.7e284
- - foldseek =3.915ef7d
+ - foldseek >=3.915ef7d
- - scipy =1.7.3
+ - scipy >=1.7.3
- - r-seqinr =4.2_16
+ - r-seqinr >=4.2_16
- - r-optparse =1.7.3
+ - r-optparse >=1.7.3
- - r-bio3d =2.4_3
+ - r-bio3d >=2.4_3
- - r-tidyverse =1.3.2
+ - r-tidyverse >=1.3.2
- - r-phytools =0.6_99
+ - r-phytools >=0.6_99
- - orthofinder =2.5.5
+ - orthofinder >=2.5.5
- - ncbitax2lin =2.3.2
+ - ncbitax2lin >=2.3.2
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
requirements: | |
host: | |
- python >=3.8,<3.9 | |
run: | |
- python >=3.8,<3.9 | |
- diamond =2.1.10 | |
- mmseqs2 =14.7e284 | |
- foldseek =3.915ef7d | |
- scipy =1.7.3 | |
- r-seqinr =4.2_16 | |
- r-optparse =1.7.3 | |
- r-bio3d =2.4_3 | |
- r-tidyverse =1.3.2 | |
- r-phytools =0.6_99 | |
- orthofinder =2.5.5 | |
- ncbitax2lin =2.3.2 | |
requirements: | |
host: | |
- python >=3.8 | |
- pip | |
- setuptools | |
run: | |
- python >=3.8 | |
- diamond >=2.1.10 | |
- mmseqs2 >=14.7e284 | |
- foldseek >=3.915ef7d | |
- scipy >=1.7.3 | |
- r-seqinr >=4.2_16 | |
- r-optparse >=1.7.3 | |
- r-bio3d >=2.4_3 | |
- r-tidyverse >=1.3.2 | |
- r-phytools >=0.6_99 | |
- orthofinder >=2.5.5 | |
- ncbitax2lin >=2.3.2 |
My recommendation is to use the newer Besides, Bioconda has adopted a Otherwise, a proper solution to using either (1) older Bioconda packages from feedstocks that migrated to Conda Forge or (2) new Bioconda packages from feedstocks that migrated from Conda Forge has not been agreed upon. There is a proposal to solve this from the Conda Forge side, but it still needs more feedback from Bioconda devs. Alternatively, Bioconda could allow recipes to use flexible solves.2 [1]: Environments on the other hand that go into pipelines should be exact, at least up to (semantically) minor versions. |
Hi @mfansler, Thank you for your help. As suggested, I am working on loosening the version requirement. I will test it locally, and if it works, I will update the recipe accordingly. Thank you again for your support. Best regards, |
recipes/genera/meta.yaml
Outdated
- url: https://github.com/caraweisman/abSENSE/archive/refs/tags/v1.0.0.tar.gz | ||
sha256: a99090c10a66afae1fbad38d79d228199e9fbdae5173e71ad5d84b4c958dda54 | ||
folder: abSENSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason this is not a separate recipe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dear @mfansler,
I have implemented your suggestions and added a new test as well. Regarding the tool abSENSE, I have reached out to the author to confirm their interest in having a Conda package. If they express interest, I can create a PR for the package.
For now, we can proceed like this, and if author want I can create a PR later ,and update this package also. Could you please approve the workflow so that it can start? Thank you so much for your help!
Best regards,
Anupam
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I see, abSENSE has no licensing declared, which is prohibitive to bundling it for Bioconda. Please ask the author to declare a license and include that in a release.
Once there is a license it should be moved to a separate package here. Note that the author does not have to be a maintainer here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dear @mfansler,
I had reached out to the authors a few weeks ago regarding the LICENSE, release, and a potential Conda package. Since then, they have created a release for us, but I assume a Conda package may not be something they are prioritizing.
This code is part of a published open-access paper, and I believe it is included in the supplementary materials. In this case, would a license still be required for the Conda package?
Here’s the relevant issue for reference: abSENSE Issue #3.
Here's the paper: https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3000862
They also mention in paper:"An implementation of our method, with all raw data and results presented here, is freely available as source code at github.com/caraweisman/abSENSE and as a web server at eddylab.org/abSENSE."
Thank you for your guidance!
Best regards,
Anupam
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the additional information!
While the article itself is CC-BY-4.0, a copy of the code does not appear deposited with the article and thus it is not covered. If they want to extend exactly the same license, they could put a copy of the CC-BY-4.0 text in the repository somewhere.
Otherwise, unfortunately "open-source" doesn't translate to permission to redistribute.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @mfansler,
I have reached out to the author again for clarification. Once they respond, I will proceed as suggested. However, if they decide against having a Conda package but provide a license, I can move forward using the current approach?
Thank you for your support!
Additionally, could you please help me start the workflow for my other recipe? It doesn’t seem to start automatically. Your assistance would be greatly appreciated.: TIPP_plastid conda recipe.
Best regards,
Anupam
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dear @mfansler,
The authors have added a license file to their repository and released a new version. I’ve updated the meta.yaml
file to include this latest release. While they may still need time to decide whether they want an official Conda package, I can create one for them later if requested and make the necessary updates.
For now, we can proceed with the current setup. Could you help initiate the workflow and assist in merging this?
Thank you for your continued support!
Best regards,
Anupam
Co-authored-by: Mervin Fansler <[email protected]>
Co-authored-by: Mervin Fansler <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (2)
recipes/genera/meta.yaml (2)
10-12
: Consider creating a separate recipe for abSENSE in the future.While including abSENSE directly in this recipe works for now, creating a separate recipe would improve maintainability and allow independent versioning. This would also make it easier for other packages to depend on abSENSE if needed.
37-41
: Enhance test coverage.Consider adding tests for all installed executables to ensure they are properly installed and accessible.
test: commands: - genEra -h - hmmEra -h - test_installation.sh -h + - Run_abSENSE.py -h # Test abSENSE script + # Add tests for any other executables installed by build.sh
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
recipes/genera/meta.yaml
(1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/genera/meta.yaml
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (2)
recipes/genera/meta.yaml (2)
1-6
: LGTM! Version templating implemented correctly.
The package metadata section follows best practices with proper version templating.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
43-47
: LGTM! About section is complete and follows best practices.
The about section contains all required information with proper SPDX license identifier.
run_exports: | ||
- {{ pin_subpackage('genera', max_pin="x.x") }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Remove unnecessary run_exports section.
Since this is a noarch: generic
package, the run_exports
section with pin_subpackage
is unnecessary and could lead to overly strict version constraints.
build:
number: 0
noarch: generic
- run_exports:
- - {{ pin_subpackage('genera', max_pin="x.x") }}
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
run_exports: | |
- {{ pin_subpackage('genera', max_pin="x.x") }} |
host: | ||
- python >=3.8,<3.9 | ||
run: | ||
- python >=3.8,<3.9 | ||
- diamond >=2.1.10 | ||
- mmseqs2 =14.7e284 | ||
- foldseek =3.915ef7d | ||
- scipy =1.7.3 | ||
- r-seqinr =4.2_16 | ||
- r-optparse =1.7.3 | ||
- r-bio3d =2.4_3 | ||
- r-tidyverse =1.3.2 | ||
- r-phytools >=0.6_99 | ||
- orthofinder =2.5.5 | ||
- ncbitax2lin =2.3.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Revise dependency specifications.
Several adjustments needed to align with Conda best practices:
- Remove upper bound on Python version
- Add missing build dependencies
- Use minimum version constraints (>=) instead of exact pins where possible
requirements:
host:
- - python >=3.8,<3.9
+ - python >=3.8
+ - pip
+ - setuptools
run:
- - python >=3.8,<3.9
+ - python >=3.8
- diamond >=2.1.10
- - mmseqs2 =14.7e284
+ - mmseqs2 >=14.7e284
- - foldseek =3.915ef7d
+ - foldseek >=3.915ef7d
- - scipy =1.7.3
+ - scipy >=1.7.3
- - r-seqinr =4.2_16
+ - r-seqinr >=4.2_16
- - r-optparse =1.7.3
+ - r-optparse >=1.7.3
- - r-bio3d =2.4_3
+ - r-bio3d >=2.4_3
- - r-tidyverse =1.3.2
+ - r-tidyverse >=1.3.2
- r-phytools >=0.6_99
- - orthofinder =2.5.5
+ - orthofinder >=2.5.5
- - ncbitax2lin =2.3.2
+ - ncbitax2lin >=2.3.2
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
host: | |
- python >=3.8,<3.9 | |
run: | |
- python >=3.8,<3.9 | |
- diamond >=2.1.10 | |
- mmseqs2 =14.7e284 | |
- foldseek =3.915ef7d | |
- scipy =1.7.3 | |
- r-seqinr =4.2_16 | |
- r-optparse =1.7.3 | |
- r-bio3d =2.4_3 | |
- r-tidyverse =1.3.2 | |
- r-phytools >=0.6_99 | |
- orthofinder =2.5.5 | |
- ncbitax2lin =2.3.2 | |
host: | |
- python >=3.8 | |
- pip | |
- setuptools | |
run: | |
- python >=3.8 | |
- diamond >=2.1.10 | |
- mmseqs2 >=14.7e284 | |
- foldseek >=3.915ef7d | |
- scipy >=1.7.3 | |
- r-seqinr >=4.2_16 | |
- r-optparse >=1.7.3 | |
- r-bio3d >=2.4_3 | |
- r-tidyverse >=1.3.2 | |
- r-phytools >=0.6_99 | |
- orthofinder >=2.5.5 | |
- ncbitax2lin >=2.3.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
recipes/genera/meta.yaml (1)
37-41
: Enhance test coverage.Consider adding tests for all executables that are installed in the
bin/
directory. This ensures that all components are properly installed and accessible.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
recipes/genera/meta.yaml
(1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/genera/meta.yaml
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (4)
recipes/genera/meta.yaml (4)
1-6
: LGTM! Package metadata follows best practices.
The version is properly templated and the package name follows conventions.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
17-18
: Remove unnecessary run_exports section.
21-35
: Revise dependency specifications.
43-47
: LGTM! About section follows best practices.
The metadata is complete with proper SPDX license identifier and descriptive summary.
- url: https://github.com/caraweisman/abSENSE/archive/refs/tags/v1.0.1.tar.gz | ||
sha256: 853418e55c012c0dd409c97a70bbc9ecb69dfa7ccc94ec0f54d54ff99ec0e9f0 | ||
folder: abSENSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Critical: Licensing issue with abSENSE component.
The abSENSE component currently lacks a proper license declaration. While the associated paper is open-access, the code itself needs an explicit license for redistribution in bioconda. This component should either:
- Be moved to a separate recipe once properly licensed, or
- Be removed until licensing is clarified
Would you like assistance in:
- Creating a separate recipe for abSENSE once licensed?
- Modifying this recipe to work without abSENSE?
Dear Administrator,
Please find attached the Conda recipes for GenEra. Let us know if any further modifications are required. We look forward to your feedback.
Best regards,
Anupam