-
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 bubblegun recipe #51903
Add bubblegun recipe #51903
Conversation
📝 Walkthrough📝 WalkthroughWalkthroughThe pull request introduces an updated 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: 4
🧹 Outside diff range and nitpick comments (2)
recipes/bubblegun/meta.yaml (2)
8-11
: Remove extra newline in source section.The source section contains an unnecessary double newline which affects readability.
Apply this diff to fix the formatting:
source: url: "https://github.com/fawaz-dabbaghieh/bubble_gun/archive/refs/tags/v1.1.9.tar.gz" sha256: 005d61a1e5774dfec810e612c1b4c5ce6c8d15f80d131237590ef71f62704c94 -
28-30
: Add import test.While running the help command is good, it's recommended to also verify that the package can be imported correctly.
Add an import test:
test: commands: - BubbleGun -h + imports: + - bubble_gun
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
recipes/bubblegun/meta.yaml
(1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/bubblegun/meta.yaml
[error] 19-19: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
recipes/bubblegun/meta.yaml
Outdated
build: | ||
number: 0 | ||
noarch: python | ||
script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv | ||
run_exports: | ||
- {{ pin_compatible('BubbleGun', max_pin="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
Review build configuration issues.
- The
run_exports
section is typically used for compiled packages with ABI compatibility concerns. For a pure Python package, this section is unnecessary and might cause unexpected pinning behavior. - There are trailing spaces on line 19.
Apply this diff to fix these issues:
build:
number: 0
noarch: python
script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv
- run_exports:
- - {{ pin_compatible('BubbleGun', max_pin="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: python | |
script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv | |
run_exports: | |
- {{ pin_compatible('BubbleGun', max_pin="x") }} | |
build: | |
number: 0 | |
noarch: python | |
script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv |
🧰 Tools
🪛 yamllint
[error] 19-19: trailing spaces
(trailing-spaces)
recipes/bubblegun/meta.yaml
Outdated
requirements: | ||
host: | ||
- python >=3.6 | ||
- pip | ||
- setuptools | ||
run: | ||
- python |
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.
Add Python version constraint to run requirements.
The host section requires Python >=3.6, but this constraint is missing in the run requirements. This could lead to installation issues with older Python versions.
Apply this diff to fix the requirements:
run:
- - python
+ - python >=3.6
📝 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.6 | |
- pip | |
- setuptools | |
run: | |
- python | |
requirements: | |
host: | |
- python >=3.6 | |
- pip | |
- setuptools | |
run: | |
- python >=3.6 |
recipes/bubblegun/meta.yaml
Outdated
about: | ||
home: "https://github.com/fawaz-dabbaghieh/bubble_gun" | ||
license: MIT | ||
license_family: MIT | ||
license_file: LICENSE | ||
summary: 'BubbleGun is a tool for detecting bubbles and superbubbles in GFA graphs, and reports them and their nested structures' | ||
doc_url: "https://github.com/fawaz-dabbaghieh/bubble_gun/blob/master/README.md" | ||
def_url: "https://github.com/fawaz-dabbaghieh" |
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.
Fix incorrect metadata key name.
The key def_url
should be dev_url
according to the conda recipe specification.
Apply this diff to fix the key name:
doc_url: "https://github.com/fawaz-dabbaghieh/bubble_gun/blob/master/README.md"
- def_url: "https://github.com/fawaz-dabbaghieh"
+ dev_url: "https://github.com/fawaz-dabbaghieh"
📝 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.
about: | |
home: "https://github.com/fawaz-dabbaghieh/bubble_gun" | |
license: MIT | |
license_family: MIT | |
license_file: LICENSE | |
summary: 'BubbleGun is a tool for detecting bubbles and superbubbles in GFA graphs, and reports them and their nested structures' | |
doc_url: "https://github.com/fawaz-dabbaghieh/bubble_gun/blob/master/README.md" | |
def_url: "https://github.com/fawaz-dabbaghieh" | |
about: | |
home: "https://github.com/fawaz-dabbaghieh/bubble_gun" | |
license: MIT | |
license_family: MIT | |
license_file: LICENSE | |
summary: 'BubbleGun is a tool for detecting bubbles and superbubbles in GFA graphs, and reports them and their nested structures' | |
doc_url: "https://github.com/fawaz-dabbaghieh/bubble_gun/blob/master/README.md" | |
dev_url: "https://github.com/fawaz-dabbaghieh" |
recipes/bubblegun/meta.yaml
Outdated
{% set name = "BubbleGun" %} | ||
{% set version = "1.1.8" %} | ||
|
||
package: | ||
name: {{ name|lower }} | ||
version: {{ version }} |
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.
Version mismatch between package metadata and source URL.
The package version is set to "1.1.8" but the source URL points to "v1.1.9". This inconsistency should be resolved to prevent potential installation issues.
Apply this diff to fix the version:
-{% set version = "1.1.8" %}
+{% set version = "1.1.9" %}
Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
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/bubblegun/meta.yaml (1)
28-30
: Consider adding more comprehensive tests.While the basic help command test is good, consider adding more test commands to verify key functionality:
- Version check command
- Basic functionality test with a small example
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
recipes/bubblegun/meta.yaml
(1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/bubblegun/meta.yaml
[error] 19-19: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (4)
recipes/bubblegun/meta.yaml (4)
1-6
: LGTM! Package metadata is well-defined.
The package name and version are properly configured using Jinja2 templating, with correct lowercasing applied.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
8-11
: LGTM! Source configuration is properly defined.
The source URL and checksum are correctly specified, with version consistency maintained.
20-26
: LGTM! Requirements are properly configured.
Python version constraints and dependencies are correctly specified for both host and run environments.
32-39
: LGTM! Package metadata is complete and accurate.
The about section provides comprehensive information about the package, including correct license details and relevant URLs.
recipes/bubblegun/meta.yaml
Outdated
{% set name = "BubbleGun" %} | ||
{% set version = "1.1.9" %} | ||
|
||
package: | ||
name: {{ name|lower }} | ||
version: {{ version }} | ||
|
||
source: | ||
url: "https://github.com/fawaz-dabbaghieh/bubble_gun/archive/refs/tags/v1.1.9.tar.gz" | ||
sha256: 005d61a1e5774dfec810e612c1b4c5ce6c8d15f80d131237590ef71f62704c94 | ||
|
||
|
||
build: | ||
number: 0 | ||
noarch: python | ||
script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv | ||
run_exports: | ||
- {{ pin_compatible('BubbleGun', max_pin="x") }} | ||
|
||
requirements: | ||
host: | ||
- python >=3.6 | ||
- pip | ||
- setuptools | ||
run: | ||
- python >=3.6 | ||
|
||
test: | ||
commands: | ||
- BubbleGun -h | ||
|
||
about: | ||
home: "https://github.com/fawaz-dabbaghieh/bubble_gun" | ||
license: MIT | ||
license_family: MIT | ||
license_file: LICENSE | ||
summary: 'BubbleGun is a tool for detecting bubbles and superbubbles in GFA graphs, and reports them and their nested structures' | ||
doc_url: "https://github.com/fawaz-dabbaghieh/bubble_gun/blob/master/README.md" | ||
dev_url: "https://github.com/fawaz-dabbaghieh" |
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.
💡 Codebase verification
Package name needs to be lowercase to avoid conflicts
The package name should be lowercase to follow Bioconda naming conventions and avoid potential conflicts. Currently, there are similar packages in the ecosystem:
- bioconductor-bubbletree
- scbubbletree
- bubbletree
Please modify the package name in the recipe to use bubblegun
(lowercase) consistently:
- Change
{% set name = "BubbleGun" %}
to{% set name = "bubblegun" %}
- Update the
run_exports
section to use lowercase:{{ pin_compatible('bubblegun', max_pin="x") }}
🔗 Analysis chain
Verify package name in bioconda-utils.
Since this is a Bioconda package, let's verify the package name doesn't conflict with existing packages.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if package name exists in bioconda
rg -l "name:\s*bubblegun" --type yaml
Length of output: 39
Script:
#!/bin/bash
# Let's try a case-insensitive search and also check for the exact package name
rg -il "name:.*bubblegun" --type yaml
rg -il "name:.*BubbleGun" --type yaml
# Also check if there are any other recipes with similar names
fd -t f "meta.yaml" | xargs cat | grep -i "name.*bubble"
Length of output: 261
🧰 Tools
🪛 yamllint
[error] 19-19: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
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/bubblegun/meta.yaml (1)
29-31
: Consider adding more test commands.While the basic help command test is good, consider adding more test commands to verify:
- Version output (
BubbleGun --version
)- Basic functionality with a small example
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
recipes/bubblegun/meta.yaml
(1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/bubblegun/meta.yaml
[error] 20-20: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (6)
recipes/bubblegun/meta.yaml (6)
1-6
: Use consistent lowercase package name.
For consistency with Bioconda naming conventions, the package name should be lowercase throughout the recipe. While name|lower
filter correctly converts it in the package section, other references to the package name should also use lowercase.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
8-10
: LGTM!
The source configuration is well-structured with proper version templating and includes SHA256 checksum for verification.
17-17
: Consider enabling build isolation.
The --no-build-isolation
flag is used in the pip install command. This can be risky as it might use packages from the environment instead of the specified dependencies. Consider removing this flag unless there's a specific reason for disabling build isolation.
18-20
: Remove unnecessary run_exports section.
The run_exports
section is typically used for compiled packages with ABI compatibility concerns. For a pure Python package:
- This section is unnecessary
- Contains trailing spaces
- Uses capitalized package name
🧰 Tools
🪛 yamllint
[error] 20-20: trailing spaces
(trailing-spaces)
21-27
: LGTM!
The requirements are well-specified with consistent Python version constraints in both host and run sections.
33-40
: LGTM!
The about section is comprehensive with all required metadata fields and proper version templating in documentation URLs.
Adding BubbleGune for Bubbles and Superbubble detection in genome graphs in GFA format.
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>
.