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

Update tbtamr dependencies #51140

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

kristyhoran
Copy link
Contributor

@kristyhoran kristyhoran commented Oct 4, 2024

Updated tbtamr dependencies to reflect new stucture.

Please read the guidelines for Bioconda recipes before opening a pull request (PR).

General instructions

  • If this PR adds or updates a recipe, use "Add" or "Update" appropriately as the first word in its title.
  • New recipes not directly relevant to the biological sciences need to be submitted to the conda-forge channel instead of Bioconda.
  • PRs require reviews prior to being merged. Once your PR is passing tests and ready to be merged, please issue the @BiocondaBot please add label command.
  • Please post questions on Gitter or ping @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:

build:
  run_exports:
    - ...

with ... being one of:

Case run_exports statement
semantic versioning {{ pin_subpackage("myrecipe", max_pin="x") }}
semantic versioning (0.x.x) {{ pin_subpackage("myrecipe", max_pin="x.x") }}
known breakage in minor versions {{ pin_subpackage("myrecipe", max_pin="x.x") }} (in such a case, please add a note that shortly mentions your evidence for that)
known breakage in patch versions {{ pin_subpackage("myrecipe", max_pin="x.x.x") }} (in such a case, please add a note that shortly mentions your evidence for that)
calendar versioning {{ pin_subpackage("myrecipe", max_pin=None) }}

while replacing "myrecipe" with either name if a name|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 Merge the master branch into a PR.
@BiocondaBot please add label Add the please review & merge label.
@BiocondaBot please fetch artifacts Post links to CI-built packages/containers.
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>.

Summary by CodeRabbit

  • New Features

    • Introduced the GNU General Public License (GPL) Version 3 for the mutamr package, ensuring user freedoms for software usage and distribution.
    • Added the mutamr package with version 0.0.1, including key dependencies for enhanced functionality.
  • Updates

    • Updated the tbtamr package version to 1.0.2 and raised the Python version requirement to 3.10.
    • Removed outdated dependencies and integrated the new mutamr package as a dependency for improved performance.

Copy link

coderabbitai bot commented Oct 4, 2024

📝 Walkthrough
📝 Walkthrough

Walkthrough

The changes in this pull request involve the addition of a GNU General Public License (GPL) Version 3 text to the recipes/mutamr/LICENSE file and the creation of a new meta.yaml file for the mutamr package. This new metadata file specifies the package's configuration, including its name, version, dependencies, and installation instructions. Additionally, updates were made to the meta.yaml file for the tbtamr package, including a version increment and modifications to its dependencies.

Changes

File Path Change Summary
recipes/mutamr/LICENSE Added full text of GNU General Public License Version 3.
recipes/mutamr/meta.yaml Added new package mutamr version 0.0.1, entry point mutamr=mutamr.mutamr:main, and multiple dependencies.
recipes/tbtamr/meta.yaml Updated version from 0.0.4 to 1.0.2, updated SHA256 checksum, raised Python version requirement to >=3.10, and modified dependencies.

Possibly related PRs

  • Update tbtamr to 1.0.2 #51119: The tbtamr package update includes a new version and dependencies, which may relate to the mutamr package as they both focus on similar functionalities in bioinformatics.
  • 2024.4 #50977: The tbtamr update adds mutamr as a dependency, indicating a direct relationship between the two packages.
  • Update Hsdecipher #51093: The Hsdecipher update includes a license specification change to "GPL-3.0-or-later," which is relevant as the main PR also involves licensing changes with the introduction of the GNU GPL v3 license.

Suggested labels

please review & merge, new version


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?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@kristyhoran
Copy link
Contributor Author

@coderabbitai review

Copy link

coderabbitai bot commented Oct 4, 2024

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a 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/mutamr/meta.yaml (2)

13-20: LGTM: Build section is well-defined, with a suggestion for run_exports.

The build section is correctly set up for a Python package. The noarch setting, entry point, and installation script are all appropriate.

Consider adjusting the run_exports pin for better flexibility:

-    - {{ pin_subpackage('mutamr', max_pin="x.x") }}
+    - {{ pin_subpackage('mutamr', max_pin="x.x.x") }}

This change allows for more granular version control, which is beneficial for a package in its early stages (0.0.1).


35-35: Remove trailing spaces.

There are trailing spaces on this line. Please remove them to improve code cleanliness.

Apply this change:

-    
+
🧰 Tools
🪛 yamllint

[error] 35-35: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 0e83add and 2bfac7b.

📒 Files selected for processing (3)
  • recipes/mutamr/LICENSE (1 hunks)
  • recipes/mutamr/meta.yaml (1 hunks)
  • recipes/tbtamr/meta.yaml (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • recipes/mutamr/LICENSE
🧰 Additional context used
🪛 yamllint
recipes/mutamr/meta.yaml

[error] 35-35: trailing spaces

(trailing-spaces)


[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)

🔇 Additional comments (7)
recipes/tbtamr/meta.yaml (3)

Line range hint 20-21: The run_exports section looks good.

The use of run_exports with pin_subpackage and max_pin="x.x" aligns with the PR description's suggestion for ensuring compatibility. This pinning strategy allows updates to patch versions but not to minor or major versions.

Please verify if this pinning strategy (x.x) is appropriate for the tbtamr package. Consider the following:

  • Does the package follow semantic versioning?
  • Are there any plans for breaking changes in minor versions?

You can check the package's version history to inform this decision:

#!/bin/bash
# Fetch version history from PyPI
curl -s https://pypi.org/pypi/tbtamr/json | jq -r '.releases | keys[]' | sort -V
🧰 Tools
🪛 yamllint

[error] 29-29: trailing spaces

(trailing-spaces)


2-3: Version and checksum update looks good.

The version bump from 0.0.4 to 1.0.2 indicates significant changes, which aligns with the PR objective of updating tbtamr dependencies.

Please verify the SHA256 checksum to ensure it matches the source tarball:


24-24: Please justify the increased Python version requirement.

The Python version requirement has been raised from >=3.8 to >=3.10. This change might break compatibility with Python 3.8 and 3.9.

Could you please provide justification for this change? Also, ensure this aligns with Bioconda's Python support policy.

To verify the minimum supported Python version in the package:

Also applies to: 27-27

✅ Verification successful

Python version requirement successfully updated to >=3.10.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check the package's setup.py or pyproject.toml for Python version requirement
rg -i 'python_requires' $(fd -t f -e py -e toml setup pyproject)

Length of output: 218


Script:

#!/bin/bash
# Check the package's setup.py or pyproject.toml for Python version requirement
rg -i 'python_requires' $(fd -t f -e py -e toml -e setup.py -e pyproject.toml)

Length of output: 6035


Script:

#!/bin/bash
# Search for Python version requirements in meta.yaml
rg -i 'python.*>=\s*3\.(8|9|10)' recipes/tbtamr/meta.yaml

Length of output: 99

recipes/mutamr/meta.yaml (4)

1-11: LGTM: Package and source information are correctly defined.

The package name, version, SHA256 checksum, and source URL are properly set up using Jinja2 variables. This ensures consistency and ease of updating in the future.

🧰 Tools
🪛 yamllint

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)


36-40: LGTM: Test section provides basic package validation.

The test section includes both an import test and a command-line test, which are sufficient for initial package validation.


42-47: LGTM: About section is complete and informative.

The about section provides all necessary information, including the home URL, license details, and a concise summary of the package's purpose.


49-51: LGTM: Extra section correctly specifies the recipe maintainer.

The extra section properly lists the recipe maintainer.

- bedtools
- delly
- python >=3.10
- mutamr
Copy link

@coderabbitai coderabbitai bot Oct 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Dependencies Not Fully Removed

References to the following dependencies were found in the codebase:

  • pandas in recipes/hap.py/meta.yaml, recipes/velocyto.py/meta.yaml, etc.
  • bcftools in recipes/hap.py/meta.yaml, recipes/hap.py/build.sh, etc.
  • samtools in recipes/hap.py/meta.yaml, recipes/hap.py/build.sh, etc.
  • psutil, csvtk, bwa, snpeff, samclip, freebayes, bedtools, delly across various scripts.

This indicates that the removal of dependencies was incomplete, which may affect the package's functionality.

🔗 Analysis chain

Please clarify the significant changes in dependencies.

Most of the previous dependencies have been removed, leaving only 'mutamr'. While this aligns with the PR objective of updating to reflect a new structure, it's a significant change that might affect the package's functionality.

Could you please provide more information on these changes?

  • Does 'mutamr' now include or replace the functionality of the removed dependencies?
  • Have you verified that the package still functions correctly with these changes?

To check for any remaining references to removed dependencies:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for references to removed dependencies in Python files
rg -i 'psutil|pandas|csvtk|bwa|samtools|snpeff|samclip|freebayes|bcftools|bedtools|delly' $(fd -e py)

Length of output: 218


Script:

#!/bin/bash
# Corrected search for references to removed dependencies in Python files
rg -i 'psutil|pandas|csvtk|bwa|samtools|snpeff|samclip|freebayes|bcftools|bedtools|delly' $(fd -e py)

Length of output: 7272

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mutamr has the required tools as dependencies.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes - i have tested that the package functions

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kristyhoran, thank you for the clarification. It's good to know that mutamr includes all the required tools as dependencies. I've noted this information for future reviews.

(・・?)


✏️ Learnings added
Learnt from: kristyhoran
PR: bioconda/bioconda-recipes#51140
File: recipes/tbtamr/meta.yaml:28-28
Timestamp: 2024-10-06T22:18:24.856Z
Learning: The `mutamr` package includes `psutil`, `pandas`, `csvtk`, `bwa`, `samtools`, `snpeff`, `samclip`, `freebayes`, `bcftools`, `bedtools`, and `delly` as dependencies, so these do not need to be specified separately in `tbtamr`'s `meta.yaml`.

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.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kristyhoran, thank you for confirming that mutamr includes the necessary dependencies and that you've tested the package to ensure it functions correctly.

(^‿^)


✏️ Learnings added
Learnt from: kristyhoran
PR: bioconda/bioconda-recipes#51140
File: recipes/tbtamr/meta.yaml:28-28
Timestamp: 2024-10-06T22:18:39.282Z
Learning: The `mutamr` package includes all the required tools as dependencies, replacing the previously separate dependencies in `tbtamr`.

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.

recipes/mutamr/meta.yaml Outdated Show resolved Hide resolved
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link

@coderabbitai coderabbitai bot left a 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/mutamr/meta.yaml (1)

22-35: LGTM: Requirements are well-defined, with a minor formatting issue.

The host and run requirements are appropriately specified, ensuring compatibility and reproducibility. The bcftools package name is correctly spelled, addressing the past review comment.

There's a trailing space on line 35. Please remove it to adhere to YAML best practices:

-    
+
🧰 Tools
🪛 yamllint

[error] 35-35: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 2bfac7b and 5611ce0.

📒 Files selected for processing (1)
  • recipes/mutamr/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/mutamr/meta.yaml

[error] 35-35: trailing spaces

(trailing-spaces)


[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)

🔇 Additional comments (6)
recipes/mutamr/meta.yaml (6)

1-11: LGTM: Package and source sections are well-defined.

The package name, version, and source URL are correctly specified using Jinja2 variables, which is good for maintainability. The SHA256 checksum is provided for integrity verification.

🧰 Tools
🪛 yamllint

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)


13-20: LGTM: Build section is well-configured.

The build section is correctly defined with appropriate settings:

  • Architecture-independent (noarch: python)
  • Build number set to 0
  • Entry point defined for the main function
  • run_exports section included for compatibility
  • Installation script uses pip with appropriate flags

36-40: LGTM: Test section is well-defined.

The test section includes both an import test for the mutamr package and a command test to run mutamr --help. This combination ensures basic functionality and accessibility of the package.


42-47: LGTM: About section provides comprehensive metadata.

The about section includes all necessary information:

  • Project homepage
  • License details (GPL-3.0-or-later)
  • License file specification
  • Brief summary of the package's functionality

49-51: LGTM: Extra section correctly specifies the recipe maintainer.

The extra section properly identifies kristyhoran as the recipe maintainer.


1-1: Note: YAML syntax error is a false positive.

The static analysis tool reported a syntax error for the '%' character at the beginning of the file. This is a false positive as the '%' character is part of the Jinja2 template syntax, which is commonly used in Conda recipe files. The YAML parser used by the static analysis tool might not be aware of the Jinja2 syntax. This error can be safely ignored.

🧰 Tools
🪛 yamllint

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)

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

Successfully merging this pull request may close these issues.

1 participant