-
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
Add pyhmmsearch
#51490
Add pyhmmsearch
#51490
Conversation
📝 Walkthrough📝 WalkthroughWalkthroughThe metadata file Possibly related PRs
Suggested labels
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: 0
🧹 Outside diff range and nitpick comments (5)
recipes/pyhmmsearch/meta.yaml (5)
1-6
: LGTM! Consider using semantic versioning.The package information is correctly defined using Jinja2 templating. However, the version number "2024.10.18" appears to be using a date-based versioning scheme. While this is not incorrect, consider adopting semantic versioning (e.g., "1.0.0") for better compatibility with dependency management tools and clearer communication of changes between versions.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
12-21
: LGTM! Consider adding apreserve_egg_dir
option.The build section is well-configured:
- The build script correctly uses pip for installation.
noarch: python
is appropriate for a pure Python package.- Entry points are correctly defined.
- The
run_exports
section ensures proper version pinning, as per the PR objectives.Consider adding
preserve_egg_dir: True
if the package has a complex structure or uses namespaces. This can help prevent issues with imports in some cases.
23-31
: LGTM! Consider using more specific version constraints.The requirements section is well-defined:
- Host requirements correctly include Python and pip.
- Run requirements match the AI summary and include version constraints.
To ensure better reproducibility and avoid potential compatibility issues, consider using more specific version constraints for the run requirements. For example:
run: - python - pyhmmer >=0.10.12,<0.11 - pandas >=2,<3 - tqdm >=4,<5This approach allows for minor version updates while preventing major version changes that might introduce breaking changes.
33-39
: LGTM! Consider adding more comprehensive tests.The test section provides basic checks:
- The import test verifies that the package can be imported.
- The CLI tests ensure that all entry points are accessible.
To improve the test coverage, consider adding:
- Specific test cases that verify the core functionality of the package.
- Input/output tests for the CLI tools using sample data.
- Unit tests for key functions within the package.
These additions would provide greater confidence in the package's functionality and help catch potential issues early.
41-48
: LGTM! Consider adding maintainer information.The about section provides comprehensive metadata:
- Home page, summary, and license information are correctly specified.
- Development and documentation URLs are provided.
- The
license_file
is specified, ensuring the full license text is included.To further improve this section, consider adding maintainer information:
about: # ... existing content ... maintainers: - Your Name <[email protected]>This addition helps users know who to contact for package-related issues or questions.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/pyhmmsearch/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/pyhmmsearch/meta.yaml
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (2)
recipes/pyhmmsearch/meta.yaml (2)
8-10
: LGTM! Source configuration is correct.The source section is well-defined:
- The URL correctly uses Jinja2 templating to construct the PyPI package URL.
- The SHA256 checksum is provided, ensuring the integrity of the downloaded package.
1-48
: Overall, the recipe looks good with room for minor improvements.The
meta.yaml
file forpyhmmsearch
is well-structured and adheres to the Bioconda recipe guidelines. It includes all necessary components: package information, source, build configuration, requirements, tests, and metadata.Summary of suggested improvements:
- Consider using semantic versioning instead of date-based versioning.
- Add
preserve_egg_dir: True
to the build section if needed.- Use more specific version constraints for run requirements.
- Enhance the test section with more comprehensive tests.
- Add maintainer information to the about section.
These improvements will enhance the recipe's maintainability, reproducibility, and user-friendliness. Great job on creating this Bioconda recipe!
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
@jolespin it seems that the |
Definitely not. I’ve been trying to remove these in my .gitignore but I think they are being copied over from my Google Drive sync where I do most of my devel. I can push a new update that removes them if they snuck into the tar.gz build. |
Thanks, @jolespin! Let me know when you push the release so I can update the recipe |
I just updated it now. Let me know if any other changes are needed. New version is v2024.10.20 |
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: 0
🧹 Outside diff range and nitpick comments (1)
recipes/pyhmmsearch/meta.yaml (1)
33-37
: LGTM: Test commands are appropriate.The test section includes commands to verify the installation of all three command-line tools:
- pyhmmsearch
- reformat_pyhmmsearch
- serialize_hmm_models
These tests ensure that the tools are accessible and can run without errors.
Consider adding more comprehensive tests if possible, such as running the tools with sample inputs to verify functionality beyond just the help command.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/pyhmmsearch/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/pyhmmsearch/meta.yaml
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (6)
recipes/pyhmmsearch/meta.yaml (6)
1-6
: LGTM: Package name and version are correctly updated.The package name "pyhmmsearch" is correct, and the version has been updated to "2024.10.20" as discussed in the PR comments.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
12-21
: LGTM: Build configuration is correct and follows guidelines.The build section is well-configured:
- Uses pip for installation
- Correctly set as
noarch: python
- Defines appropriate entry points for the command-line tools
- Includes
run_exports
for proper dependency pinningThis configuration adheres to Bioconda guidelines and ensures proper package functionality.
23-31
: LGTM: Requirements are correctly specified.The requirements section is well-defined:
- Host requirements (Python and pip) are appropriate for building the package.
- Run requirements include the necessary dependencies with proper version constraints:
- pyhmmer >=0.10.12
- pandas >=2
- tqdm >=4
This ensures compatibility and proper functionality of the package.
39-46
: LGTM: About section is comprehensive and well-defined.The about section provides complete metadata for the package:
- Home, summary, and URLs are correctly specified.
- License information is now complete with the addition of license family (MIT) and license file.
This metadata enhances the package's discoverability and compliance with packaging standards.
1-2
: Note on static analysis hint: False positive, can be ignored.The yamllint tool reports a syntax error for the '%' character at the beginning of the file. This is a false positive as the '%' is part of the Jinja2 templating syntax commonly used in Conda recipes. The syntax is correct and should not be changed.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
8-10
: LGTM: Source URL and SHA256 checksum updated.The source URL has been correctly updated to reflect the new version. The SHA256 checksum has also been updated.
To ensure the integrity of the package, please verify the SHA256 checksum:
Thanks, @jolespin! It worked. I saw that the other two repos also have an |
@BiocondaBot please add label |
@apcamargo Excellent! I'll fix it for pykofamsearch but I'm having trouble using entry points correctly with kegg_pathway_profiler. I currently have my executables in [package-directory]/bin/ which can't be accessed by entry points so I moved them into [package-directory]/kegg_pathway_profiler/cli/ but had trouble importing them into init.py properly. I wonder if it's because they have "-" characters instead of "_"? Regardless, I'll get the pykofamsearch fixed right now. |
This PR adds
pyhmmsearch
, by @jolespin.Please read the guidelines for Bioconda recipes before opening a pull request (PR).
General instructions
@BiocondaBot please add label
command.@bioconda/core
in a comment.Instructions for avoiding API, ABI, and CLI breakage issues
Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes.
This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe.
If not already present in the meta.yaml, make sure to specify
run_exports
(see here for the rationale and comprehensive explanation).Add a
run_exports
section like this:with
...
being one of:{{ pin_subpackage("myrecipe", max_pin="x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin="x.x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin=None) }}
while replacing
"myrecipe"
with eithername
if aname|lower
variable is defined in your recipe or with the lowercase name of the package in quotes.Bot commands for PR management
Please use the following BiocondaBot commands:
Everyone has access to the following BiocondaBot commands, which can be given in a comment:
@BiocondaBot please update
@BiocondaBot please add label
please review & merge
label.@BiocondaBot please fetch artifacts
You can use this to test packages locally.
Note that the
@BiocondaBot please merge
command is now depreciated. Please just squash and merge instead.Also, the bot watches for comments from non-members that include
@bioconda/<team>
and will automatically re-post them to notify the addressed<team>
.