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

Add Tefinder #51255

Merged
merged 6 commits into from
Oct 9, 2024
Merged

Add Tefinder #51255

merged 6 commits into from
Oct 9, 2024

Conversation

etbardet
Copy link
Contributor

@etbardet etbardet commented Oct 8, 2024

Add TE_finder to bioconda.


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>.

Copy link
Contributor

coderabbitai bot commented Oct 8, 2024

📝 Walkthrough
📝 Walkthrough

Walkthrough

The pull request introduces three new files related to the tefinder project in the recipes/tefinder directory. The LICENSE.txt file includes the CeCILL Free Software License Agreement, detailing the terms for software usage, modification, and redistribution, along with the rights and obligations of users. It addresses definitions, acceptance, rights granted, intellectual property rights, and liability limitations.

The build.sh file is a script that enhances the automation of the build process for the project. It sets environment variables, checks the operating system, and invokes cmake to configure and build the project, optimizing the build configuration for different environments.

The meta.yaml file defines the package's metadata, including its name, version, build configuration, source URL, and dependencies required for building and running the package. It also contains an about section with a summary of the package's functionality and a test section for verifying the help output of a command. Together, these files establish a legal framework, build automation, and package metadata for the tefinder project.

Possibly related PRs

  • Add recipe for consensify #50969: The meta.yaml file in this PR introduces a new package configuration, similar to the addition of the LICENSE.txt file in the main PR, which also involves package metadata.
  • Update Hsdfinder script #51058: This PR updates the meta.yaml file for the HSDFinder package, which is relevant as it also deals with package metadata, akin to the changes made in the main PR.
  • Update Hsdfinder #51092: Similar to the previous PR, this one updates the meta.yaml file for HSDFinder, focusing on package versioning and metadata, which relates to the changes in the main PR regarding the addition of a license file.

Suggested labels

please review & merge

Suggested reviewers

  • apeltzer

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.

Copy link
Contributor

@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: 6

🧹 Outside diff range and nitpick comments (2)
recipes/tefinder/build.sh (1)

1-6: Overall assessment: Improve build script robustness and Conda compatibility

While the script provides a basic structure for building the tefinder project, several improvements can enhance its robustness and compatibility with Conda build practices:

  1. Add a shebang and set appropriate bash options for better error handling.
  2. Improve directory handling and add error checks for all commands.
  3. Configure CMake with the correct installation prefix and build type.
  4. Utilize parallel building to improve build speed.
  5. Reconsider the manual binary copying step, as it may be unnecessary with proper CMake configuration.

These changes will result in a more reliable and efficient build process that better aligns with Conda packaging standards.

Consider implementing these changes to improve the overall quality and reliability of the build script. If you need assistance with any of these modifications, please let me know.

🧰 Tools
🪛 Shellcheck

[error] 1-1: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.

(SC2148)


[warning] 2-2: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

(SC2164)

recipes/tefinder/meta.yaml (1)

1-6: LGTM with a minor suggestion.

The package name and version are correctly defined using Jinja2 templating, which is a good practice for maintainability. The package section correctly uses these templated variables.

Remove the trailing space on line 6:

-  version: {{ version }} 
+  version: {{ version }}
🧰 Tools
🪛 yamllint

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

(syntax)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between f65bc28 and 8fe2cf4.

📒 Files selected for processing (3)
  • recipes/tefinder/LICENSE.txt (1 hunks)
  • recipes/tefinder/build.sh (1 hunks)
  • recipes/tefinder/meta.yaml (1 hunks)
🧰 Additional context used
🪛 LanguageTool
recipes/tefinder/LICENSE.txt

[style] ~8-~8: Consider a shorter alternative to avoid wordiness.
Context: ...sult of discussions between its authors in order to ensure compliance with the two main pri...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...this license within the framework of an open source distribution model. The exercising of ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~43-~43: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...onal upon certain obligations for users so as to preserve this status for all subsequent...

(SO_AS_TO)


[typographical] ~79-~79: Consider adding a comma after ‘possibly’ for more clarity.
Context: ...ans the Software in its Source Code and possibly its Object Code form and, where applica...

(RB_LY_COMMA)


[style] ~87-~87: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...ogram lines to which access is required so as to modify the Software. Object Code: mean...

(SO_AS_TO)


[style] ~148-~148: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...users has been provided to the Licensee prior to its acceptance as set forth in Article ...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~172-~172: ‘on the basis of’ might be wordy. Consider a shorter alternative.
Context: ...use, and for the term of the Agreement, on the basis of the terms and conditions set forth here...

(EN_WORDINESS_PREMIUM_ON_THE_BASIS_OF)


[style] ~195-~195: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...to observe, study or test its operation so as to determine the ideas and principle...

(SO_AS_TO)


[style] ~217-~217: Consider using only “public” to avoid wordiness.
Context: ...mit and communicate the Software to the general public on any or all medium, and by any or all...

(GENERAL_XX)


[style] ~238-~238: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...t forth in Articles 8 and 9, and that, in the event that only the Object Code of the Software is...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~260-~260: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...t forth in Articles 8 and 9, and that, in the event that only the object code of the Modified So...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~305-~305: You can shorten this phrase to avoid wordiness.
Context: ...he Licensee who develops a Contribution is the owner of the intellectual property rights over t...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~312-~312: You can shorten this phrase to avoid wordiness.
Context: ...icensee who develops an External Module is the owner of the intellectual property rights over t...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~330-~330: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ... where applicable, vis-�-vis its staff, any and all measures required to ensure respect of ...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[grammar] ~340-~340: In this context, ‘type’ should agree in number with the noun after ‘of’.
Context: ...ensor is entitled to offer this type of services. The terms and conditions of such techn...

(TYPE_OF_PLURAL)


[style] ~359-~359: ‘on the part of’ might be wordy. Consider a shorter alternative.
Context: ...rom the Software as a result of a fault on the part of the relevant Licensor, subject to provi...

(EN_WORDINESS_PREMIUM_ON_THE_PART_OF)


[uncategorized] ~407-~407: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...that the Software does not infringe any third party intellectual property right relating to...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~409-~409: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ...ight. Therefore, the Licensor disclaims any and all liability towards the Licensee arising ...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[style] ~411-~411: ‘in respect of’ might be wordy. Consider a shorter alternative.
Context: ...for infringement that may be instituted in respect of the use, modification and redistributio...

(EN_WORDINESS_PREMIUM_IN_RESPECT_OF)


[style] ~417-~417: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ...f understanding. The Licensor disclaims any and all liability as regards the Licensee's use...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[style] ~432-~432: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ..., any licenses that it may have granted prior to termination of the Agreement shall rema...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~463-~463: ‘In the event that’ might be wordy. Consider a shorter alternative.
Context: ... duly authorized representatives. 11.4 In the event that one or more of the provisions hereof we...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~466-~466: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...ies shall make the necessary amendments so as to comply with said act or legislative tex...

(SO_AS_TO)


[style] ~483-~483: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...tribute copies of this Agreement. 12.2 So as to ensure coherence, the wording of this A...

(SO_AS_TO)

🪛 Shellcheck
recipes/tefinder/build.sh

[error] 1-1: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.

(SC2148)


[warning] 2-2: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

(SC2164)

🪛 yamllint
recipes/tefinder/meta.yaml

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

(syntax)


[error] 10-10: trailing spaces

(trailing-spaces)

🔇 Additional comments (5)
recipes/tefinder/meta.yaml (3)

13-15: LGTM: Source section is well-defined.

The source section correctly specifies the URL for downloading the package and includes the SHA256 checksum for integrity verification. This is a good practice for ensuring the correct and secure distribution of the package.


1-36: Summary: Good overall structure with some improvements needed.

The meta.yaml file for the tefinder package is well-structured and follows Conda packaging guidelines. However, there are a few areas that need attention:

  1. Fix the syntax error in the pin_subpackage function call in the build section.
  2. Remove trailing spaces (lines 6 and 10).
  3. Consider adding version constraints for dependencies in the requirements section.
  4. Verify the presence of the LICENSE file in the package.
  5. Enhance the test section with more comprehensive tests and output validation.

Addressing these points will improve the package's reliability and maintainability. Overall, good job on creating this new package for Bioconda!

🧰 Tools
🪛 yamllint

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

(syntax)


[error] 10-10: trailing spaces

(trailing-spaces)


28-32: LGTM: About section is well-defined. Verify LICENSE file.

The about section provides comprehensive metadata for the package, including the home URL, license type, and a concise summary of the package's functionality.

Please ensure that the LICENSE file is included in the package. You can verify this by running the following command:

If the LICENSE file is not present, please add it to the package to comply with the license requirements.

✅ Verification successful

LICENSE file is present. Verification successful.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify the presence of the LICENSE file
fd -t f LICENSE recipes/tefinder

Length of output: 63

recipes/tefinder/LICENSE.txt (2)

1-506: Regarding static analysis hints

The static analysis tool has flagged several style and wording issues in the license text. However, it's important to note that:

  1. This is a standard legal document, and its wording has been carefully chosen for legal precision.
  2. Modifying the text of a standard license could invalidate it or change its legal meaning.

Therefore, we should not act on these static analysis hints for this file. The apparent verbosity or formal language is intentional and necessary for legal documents.

🧰 Tools
🪛 LanguageTool

[style] ~8-~8: Consider a shorter alternative to avoid wordiness.
Context: ...sult of discussions between its authors in order to ensure compliance with the two main pri...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...this license within the framework of an open source distribution model. The exercising of ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~43-~43: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...onal upon certain obligations for users so as to preserve this status for all subsequent...

(SO_AS_TO)


[typographical] ~79-~79: Consider adding a comma after ‘possibly’ for more clarity.
Context: ...ans the Software in its Source Code and possibly its Object Code form and, where applica...

(RB_LY_COMMA)


[style] ~87-~87: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...ogram lines to which access is required so as to modify the Software. Object Code: mean...

(SO_AS_TO)


[style] ~148-~148: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...users has been provided to the Licensee prior to its acceptance as set forth in Article ...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~172-~172: ‘on the basis of’ might be wordy. Consider a shorter alternative.
Context: ...use, and for the term of the Agreement, on the basis of the terms and conditions set forth here...

(EN_WORDINESS_PREMIUM_ON_THE_BASIS_OF)


[style] ~195-~195: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...to observe, study or test its operation so as to determine the ideas and principle...

(SO_AS_TO)


[style] ~217-~217: Consider using only “public” to avoid wordiness.
Context: ...mit and communicate the Software to the general public on any or all medium, and by any or all...

(GENERAL_XX)


[style] ~238-~238: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...t forth in Articles 8 and 9, and that, in the event that only the Object Code of the Software is...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~260-~260: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...t forth in Articles 8 and 9, and that, in the event that only the object code of the Modified So...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~305-~305: You can shorten this phrase to avoid wordiness.
Context: ...he Licensee who develops a Contribution is the owner of the intellectual property rights over t...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~312-~312: You can shorten this phrase to avoid wordiness.
Context: ...icensee who develops an External Module is the owner of the intellectual property rights over t...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~330-~330: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ... where applicable, vis-�-vis its staff, any and all measures required to ensure respect of ...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[grammar] ~340-~340: In this context, ‘type’ should agree in number with the noun after ‘of’.
Context: ...ensor is entitled to offer this type of services. The terms and conditions of such techn...

(TYPE_OF_PLURAL)


[style] ~359-~359: ‘on the part of’ might be wordy. Consider a shorter alternative.
Context: ...rom the Software as a result of a fault on the part of the relevant Licensor, subject to provi...

(EN_WORDINESS_PREMIUM_ON_THE_PART_OF)


[uncategorized] ~407-~407: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...that the Software does not infringe any third party intellectual property right relating to...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~409-~409: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ...ight. Therefore, the Licensor disclaims any and all liability towards the Licensee arising ...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[style] ~411-~411: ‘in respect of’ might be wordy. Consider a shorter alternative.
Context: ...for infringement that may be instituted in respect of the use, modification and redistributio...

(EN_WORDINESS_PREMIUM_IN_RESPECT_OF)


[style] ~417-~417: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ...f understanding. The Licensor disclaims any and all liability as regards the Licensee's use...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[style] ~432-~432: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ..., any licenses that it may have granted prior to termination of the Agreement shall rema...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~463-~463: ‘In the event that’ might be wordy. Consider a shorter alternative.
Context: ... duly authorized representatives. 11.4 In the event that one or more of the provisions hereof we...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~466-~466: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...ies shall make the necessary amendments so as to comply with said act or legislative tex...

(SO_AS_TO)


[style] ~483-~483: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...tribute copies of this Agreement. 12.2 So as to ensure coherence, the wording of this A...

(SO_AS_TO)


1-506: License verification and formatting check

The CeCILL Free Software License Agreement has been added to the project. This is a valid open-source license that complies with both French law and international standards. A few points to consider:

  1. Ensure this license aligns with the project's intended licensing strategy and any existing license declarations in other parts of the project.
  2. The license text appears to be complete and unmodified, which is crucial for its legal validity.
  3. The formatting is generally good, but there are a few minor issues that could be addressed to improve readability:
    • Some lines (e.g., 330, 331) contain non-standard characters (�) which might be encoding issues.
    • There are some inconsistencies in line breaks and indentation, particularly in the numbered lists.

Consider running the license text through a text formatter to standardize line breaks and indentation for improved readability. However, ensure that no content is modified in the process.

To ensure this license is appropriate for the project and consistent with other declarations, please run the following command:

This will help verify that the CeCILL license is consistently declared across the project.

✅ Verification successful

License verification successful

The CeCILL Free Software License Agreement in the LICENSE.txt file is consistent with the license declaration in the meta.yaml file. Both correctly specify the CeCILL license. This license is appropriate for open-source software projects as it complies with both French law and international standards. No conflicting license declarations were found in the project.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for other license declarations in the project
echo "Searching for other license declarations:"
rg -i 'license|copyright' --type md --type txt
echo "Searching for license-related metadata in meta.yaml:"
rg 'license:' recipes/tefinder/meta.yaml

Length of output: 488003

🧰 Tools
🪛 LanguageTool

[style] ~8-~8: Consider a shorter alternative to avoid wordiness.
Context: ...sult of discussions between its authors in order to ensure compliance with the two main pri...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...this license within the framework of an open source distribution model. The exercising of ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~43-~43: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...onal upon certain obligations for users so as to preserve this status for all subsequent...

(SO_AS_TO)


[typographical] ~79-~79: Consider adding a comma after ‘possibly’ for more clarity.
Context: ...ans the Software in its Source Code and possibly its Object Code form and, where applica...

(RB_LY_COMMA)


[style] ~87-~87: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...ogram lines to which access is required so as to modify the Software. Object Code: mean...

(SO_AS_TO)


[style] ~148-~148: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...users has been provided to the Licensee prior to its acceptance as set forth in Article ...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~172-~172: ‘on the basis of’ might be wordy. Consider a shorter alternative.
Context: ...use, and for the term of the Agreement, on the basis of the terms and conditions set forth here...

(EN_WORDINESS_PREMIUM_ON_THE_BASIS_OF)


[style] ~195-~195: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...to observe, study or test its operation so as to determine the ideas and principle...

(SO_AS_TO)


[style] ~217-~217: Consider using only “public” to avoid wordiness.
Context: ...mit and communicate the Software to the general public on any or all medium, and by any or all...

(GENERAL_XX)


[style] ~238-~238: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...t forth in Articles 8 and 9, and that, in the event that only the Object Code of the Software is...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~260-~260: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...t forth in Articles 8 and 9, and that, in the event that only the object code of the Modified So...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~305-~305: You can shorten this phrase to avoid wordiness.
Context: ...he Licensee who develops a Contribution is the owner of the intellectual property rights over t...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~312-~312: You can shorten this phrase to avoid wordiness.
Context: ...icensee who develops an External Module is the owner of the intellectual property rights over t...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~330-~330: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ... where applicable, vis-�-vis its staff, any and all measures required to ensure respect of ...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[grammar] ~340-~340: In this context, ‘type’ should agree in number with the noun after ‘of’.
Context: ...ensor is entitled to offer this type of services. The terms and conditions of such techn...

(TYPE_OF_PLURAL)


[style] ~359-~359: ‘on the part of’ might be wordy. Consider a shorter alternative.
Context: ...rom the Software as a result of a fault on the part of the relevant Licensor, subject to provi...

(EN_WORDINESS_PREMIUM_ON_THE_PART_OF)


[uncategorized] ~407-~407: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...that the Software does not infringe any third party intellectual property right relating to...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~409-~409: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ...ight. Therefore, the Licensor disclaims any and all liability towards the Licensee arising ...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[style] ~411-~411: ‘in respect of’ might be wordy. Consider a shorter alternative.
Context: ...for infringement that may be instituted in respect of the use, modification and redistributio...

(EN_WORDINESS_PREMIUM_IN_RESPECT_OF)


[style] ~417-~417: ‘any and all’ might be wordy. Consider a shorter alternative.
Context: ...f understanding. The Licensor disclaims any and all liability as regards the Licensee's use...

(EN_WORDINESS_PREMIUM_ANY_AND_ALL)


[style] ~432-~432: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ..., any licenses that it may have granted prior to termination of the Agreement shall rema...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~463-~463: ‘In the event that’ might be wordy. Consider a shorter alternative.
Context: ... duly authorized representatives. 11.4 In the event that one or more of the provisions hereof we...

(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)


[style] ~466-~466: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...ies shall make the necessary amendments so as to comply with said act or legislative tex...

(SO_AS_TO)


[style] ~483-~483: ‘So as to’ expresses purpose and is used in formal texts. Consider using “to”.
Context: ...tribute copies of this Agreement. 12.2 So as to ensure coherence, the wording of this A...

(SO_AS_TO)

Comment on lines 3 to 4
cmake ../
make install
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Improve build process and error handling

The current build process could be improved to better align with Conda build practices and to include error handling.

Consider applying the following changes:

-cmake ../
-make install
+cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=Release || exit 1
+make -j${CPU_COUNT} || exit 1
+make install || exit 1

These changes will:

  1. Specify the installation prefix to ensure files are installed in the correct Conda environment location.
  2. Set the build type to Release for optimized binaries.
  3. Use parallel build with make -j${CPU_COUNT} to speed up the build process.
  4. Add error checking to each command.

Additionally, consider adding verbose flags to cmake and make commands for easier debugging:

cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=Release .. -DCMAKE_VERBOSE_MAKEFILE=ON || exit 1
make -j${CPU_COUNT} VERBOSE=1 || exit 1

Comment on lines 1 to 2
mkdir -p build
cd build
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Add shebang and improve directory handling

The script is missing a shebang line, which could cause issues with script interpretation on some systems. Additionally, the cd command should include error handling to prevent the script from continuing if the directory change fails.

Consider applying the following changes:

+#!/bin/bash
+set -euo pipefail
+
 mkdir -p build
-cd build
+cd build || exit 1

These changes will:

  1. Add a shebang line to specify the interpreter.
  2. Set bash options for better error handling.
  3. Add error checking to the cd command.
📝 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.

Suggested change
mkdir -p build
cd build
#!/bin/bash
set -euo pipefail
mkdir -p build
cd build || exit 1
🧰 Tools
🪛 Shellcheck

[error] 1-1: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.

(SC2148)


[warning] 2-2: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

(SC2164)

cd build
cmake ../
make install
cp ../bin/* ${PREFIX}/bin
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Reconsider manual binary copying

Manually copying binaries is typically unnecessary when using make install with the correct CMAKE_INSTALL_PREFIX. If this step is required due to a non-standard CMake setup, it should be improved for robustness.

If this step is necessary, consider modifying it as follows:

-cp ../bin/* ${PREFIX}/bin
+if [ -d "../bin" ]; then
+    cp -R "../bin/." "${PREFIX}/bin/" || exit 1
+else
+    echo "Warning: ../bin directory not found. Skipping binary copy." >&2
+fi

These changes will:

  1. Check if the source directory exists before attempting to copy.
  2. Use quotes to handle potential spaces in filenames.
  3. Add error checking.
  4. Provide a warning if the directory is not found.

However, if make install is correctly configured with CMAKE_INSTALL_PREFIX=$PREFIX, this manual copying step should be unnecessary and can be removed.

Committable suggestion was skipped due to low confidence.

Comment on lines 8 to 11
build:
number: 0
run_exports:
- {{ pin_subpackage( 'tefinder', max_pin="x.x"}}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix syntax error in run_exports and remove trailing space.

The build section is mostly correct, but there are two issues to address:

  1. There's a syntax error in the pin_subpackage function call. The closing parenthesis is misplaced.
  2. There's a trailing space on line 10.

Please apply the following changes:

 build:
   number: 0
-  run_exports: 
-    - {{ pin_subpackage( 'tefinder', max_pin="x.x"}}
+  run_exports:
+    - {{ pin_subpackage('tefinder', max_pin='x.x') }}

This correction ensures proper syntax for the pin_subpackage function and removes the trailing space.

📝 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.

Suggested change
build:
number: 0
run_exports:
- {{ pin_subpackage( 'tefinder', max_pin="x.x"}}
build:
number: 0
run_exports:
- {{ pin_subpackage('tefinder', max_pin='x.x') }}
🧰 Tools
🪛 yamllint

[error] 10-10: trailing spaces

(trailing-spaces)

Copy link
Contributor

@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/tefinder/meta.yaml (1)

1-6: Remove trailing space after version.

The package name and version are correctly set using Jinja2 variables. However, there's an extra space after the version on line 6 that should be removed for consistency.

Apply this change:

-  version: {{ version }} 
+  version: {{ version }}
🧰 Tools
🪛 yamllint

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

(syntax)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 8fe2cf4 and 851003b.

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

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

(syntax)


[error] 10-10: trailing spaces

(trailing-spaces)

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

13-15: LGTM: Source section is correct and complete.

The source URL and SHA256 checksum are properly specified.


28-32: LGTM: About section is complete and correct.

The about section properly includes the home URL, license information, and a concise summary of the package's functionality.


1-36: Overall, the meta.yaml file is well-structured but requires some improvements.

The file correctly defines the package metadata, build configuration, and dependencies for the tefinder package. However, there are several areas that need attention:

  1. Remove the trailing space after the version number (line 6).
  2. Fix the syntax error in the run_exports section and remove the trailing space (lines 10-11).
  3. Add version constraints to the dependencies in the requirements section for better reproducibility.
  4. Enhance the test coverage by adding more comprehensive test commands.

Once these issues are addressed, the meta.yaml file will be in good shape for the Bioconda recipe. Great job on setting up this new package!

🧰 Tools
🪛 yamllint

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

(syntax)


[error] 10-10: trailing spaces

(trailing-spaces)


8-11: ⚠️ Potential issue

Fix syntax error in run_exports and remove trailing space.

The build section needs two corrections:

  1. Remove the trailing space on line 10.
  2. Fix the syntax error in the pin_subpackage function call.

Apply these changes:

 build:
   number: 0
-  run_exports: 
-    - {{ pin_subpackage( 'tefinder', max_pin="x") }}
+  run_exports:
+    - {{ pin_subpackage('tefinder', max_pin='x') }}

This correction ensures proper syntax for the pin_subpackage function and removes the trailing space.

🧰 Tools
🪛 yamllint

[error] 10-10: trailing spaces

(trailing-spaces)


17-26: 🛠️ Refactor suggestion

Consider adding version constraints for dependencies.

The requirements section correctly specifies the necessary build, host, and run dependencies. However, to ensure reproducibility and compatibility, it's recommended to add version constraints for the dependencies.

Consider updating the requirements section as follows:

requirements:
  build:
    - {{ compiler('cxx') }}
    - make
    - cmake >=3.10
  host:
    - cppunit >=1.15
  run:
    - blast >=2.10
    - blast-legacy >=2.2.26

Please adjust the version numbers according to the minimum compatible versions required by your package. This will help prevent potential issues with incompatible dependency versions in the future.


34-36: 🛠️ Refactor suggestion

Enhance test coverage with additional commands and output validation.

While the current test checks if the blaster2.32 executable runs without errors, it might be beneficial to add more comprehensive tests.

Consider expanding the test section as follows:

test:
  commands:
    - blaster2.32 -h | grep -q "Usage:"  # Verify help output contains "Usage:"
    - blaster2.32 --version  # Check if version information is displayed
    - command -v blaster2.32  # Ensure the executable is in PATH
    # Add more test commands for other executables or functionality provided by the package

These additional tests will help ensure that the package is correctly installed and functioning as expected. Adjust the commands based on the actual executables and functionality provided by the tefinder package.

Copy link
Contributor

@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: 3

🧹 Outside diff range and nitpick comments (1)
recipes/tefinder/meta.yaml (1)

1-6: Remove trailing space in package version.

The package section looks good, but there's a trailing space on line 6 that should be removed.

Apply this change:

-  version: {{ version }} 
+  version: {{ version }}
🧰 Tools
🪛 yamllint

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

(syntax)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 851003b and 0c0c132.

📒 Files selected for processing (2)
  • recipes/tefinder/build.sh (1 hunks)
  • recipes/tefinder/meta.yaml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • recipes/tefinder/build.sh
🧰 Additional context used
🪛 yamllint
recipes/tefinder/meta.yaml

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

(syntax)


[error] 10-10: trailing spaces

(trailing-spaces)

🔇 Additional comments (4)
recipes/tefinder/meta.yaml (4)

13-15: LGTM: Source section is well-defined.

The source section is correctly implemented:

  • The URL uses the version variable, which is good for maintainability.
  • The SHA256 checksum is provided for integrity verification.

28-33: LGTM: About section is comprehensive.

The about section is well-defined:

  • It includes the home URL, license information, license file location, and a summary.
  • The development URL is also provided, which is helpful for contributors.

39-42: LGTM: Extra section specifies additional platforms.

The extra section correctly specifies additional platforms:

  • linux-aarch64
  • osx-arm64

This is good for ensuring cross-platform compatibility.


1-42: Summary of review and next steps

Overall, the meta.yaml file for the tefinder package is well-structured and contains most of the necessary information. However, there are a few areas that need attention:

  1. Remove trailing spaces (lines 6 and 10).
  2. Fix the syntax error in the pin_subpackage function (line 11).
  3. Consider adding version constraints for dependencies in the requirements section.
  4. Enhance the test section with more comprehensive tests.

Please address these issues to improve the quality and reliability of the package. Once these changes are made, the package should be ready for inclusion in the Bioconda repository.

After making the suggested changes, please run the following command to ensure the YAML syntax is correct:

This will help catch any remaining syntax issues or formatting problems.

🧰 Tools
🪛 yamllint

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

(syntax)


[error] 10-10: trailing spaces

(trailing-spaces)

Comment on lines +17 to +26
requirements:
build:
- {{ compiler('cxx') }}
- make
- cmake
host:
- cppunit
run:
- blast
- blast-legacy
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Consider adding version constraints for dependencies.

As mentioned in a previous comment, it's recommended to add version constraints for the dependencies to ensure reproducibility and compatibility.

Consider updating the requirements section as follows:

requirements:
  build:
    - {{ compiler('cxx') }}
    - make
    - cmake >=3.10
  host:
    - cppunit >=1.15
  run:
    - blast >=2.10
    - blast-legacy >=2.2.26

Please adjust the version numbers according to the minimum compatible versions required by your package.

Comment on lines +35 to +37
test:
commands:
- blaster2.32 -h >> /dev/null
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Enhance test coverage with additional commands.

While the current test checks if the blaster2.32 executable runs without errors, it would be beneficial to add more comprehensive tests as suggested in a previous comment.

Consider expanding the test section as follows:

test:
  commands:
    - blaster2.32 -h | grep -q "Usage:"  # Verify help output contains "Usage:"
    - blaster2.32 --version  # Check if version information is displayed
    - command -v blaster2.32  # Ensure the executable is in PATH
    # Add more test commands for other executables or functionality provided by the package

These additional tests will help ensure that the package is correctly installed and functioning as expected. Adjust the commands based on the actual executables and functionality provided by the tefinder package.

Comment on lines +8 to +11
build:
number: 0
run_exports:
- {{ pin_subpackage( 'tefinder', max_pin="x") }}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix syntax error in run_exports and remove trailing space.

There are two issues in the build section:

  1. A syntax error in the pin_subpackage function call.
  2. A trailing space on line 10.

Apply these changes:

 build:
   number: 0
-  run_exports: 
-    - {{ pin_subpackage( 'tefinder', max_pin="x") }}
+  run_exports:
+    - {{ pin_subpackage('tefinder', max_pin='x') }}

This correction ensures proper syntax for the pin_subpackage function and removes the trailing space.

📝 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.

Suggested change
build:
number: 0
run_exports:
- {{ pin_subpackage( 'tefinder', max_pin="x") }}
build:
number: 0
run_exports:
- {{ pin_subpackage('tefinder', max_pin='x') }}
🧰 Tools
🪛 yamllint

[error] 10-10: trailing spaces

(trailing-spaces)

Copy link
Contributor

@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/tefinder/meta.yaml (1)

1-6: LGTM! Minor formatting fix needed.

The package name and version are correctly set using Jinja2 variables, which is a good practice for maintainability. The package section looks good overall.

Please remove the trailing space on line 6:

-  version: {{ version }} 
+  version: {{ version }}
🧰 Tools
🪛 yamllint

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

(syntax)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 0c0c132 and beb9437.

📒 Files selected for processing (2)
  • recipes/tefinder/build.sh (1 hunks)
  • recipes/tefinder/meta.yaml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • recipes/tefinder/build.sh
🧰 Additional context used
🪛 yamllint
recipes/tefinder/meta.yaml

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

(syntax)


[error] 10-10: trailing spaces

(trailing-spaces)

🔇 Additional comments (5)
recipes/tefinder/meta.yaml (5)

8-11: Fix syntax error in run_exports and remove trailing space.

As mentioned in a previous comment, there are two issues in the build section that need to be addressed:

  1. A syntax error in the pin_subpackage function call.
  2. A trailing space on line 10.

Please apply the following changes:

 build:
   number: 0
-  run_exports: 
-    - {{ pin_subpackage( 'tefinder', max_pin="x") }}
+  run_exports:
+    - {{ pin_subpackage('tefinder', max_pin='x') }}

This correction ensures proper syntax for the pin_subpackage function and removes the trailing space.

🧰 Tools
🪛 yamllint

[error] 10-10: trailing spaces

(trailing-spaces)


13-15: LGTM! Source section is well-defined.

The source section is correctly configured:

  • The URL uses the version variable, which is good for maintainability.
  • A SHA256 checksum is provided for integrity verification, which is important for security and reproducibility.

17-26: Consider adding version constraints for dependencies.

As suggested in a previous comment, it's recommended to add version constraints for the dependencies to ensure reproducibility and compatibility. Consider updating the requirements section as follows:

requirements:
  build:
    - {{ compiler('cxx') }}
    - make
    - cmake >=3.10
  host:
    - cppunit >=1.15
  run:
    - blast >=2.10
    - blast-legacy >=2.2.26

Please adjust the version numbers according to the minimum compatible versions required by your package. This will help ensure consistent builds and reduce potential compatibility issues.


28-33: LGTM! About section is comprehensive.

The about section is well-defined and includes all necessary information:

  • Home and development URLs are provided.
  • License type and file location are specified.
  • A clear summary of the package's functionality is included.

This information is valuable for users and maintainers of the package.


35-37: Enhance test coverage with additional commands.

While the current test checks if the blaster2.32 executable runs without errors, it would be beneficial to add more comprehensive tests as suggested in a previous comment. Consider expanding the test section as follows:

test:
  commands:
    - blaster2.32 -h | grep -q "Usage:"  # Verify help output contains "Usage:"
    - blaster2.32 --version  # Check if version information is displayed
    - command -v blaster2.32  # Ensure the executable is in PATH
    # Add more test commands for other executables or functionality provided by the package

These additional tests will help ensure that the package is correctly installed and functioning as expected. Adjust the commands based on the actual executables and functionality provided by the tefinder package.

@mencian mencian merged commit f1ae964 into bioconda:master Oct 9, 2024
7 checks passed
@etbardet etbardet deleted the tefinder branch October 9, 2024 08:50
@etbardet
Copy link
Contributor Author

etbardet commented Oct 9, 2024

Thanks @mencian

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.

2 participants