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 get_mnv #51178

Merged
merged 13 commits into from
Oct 7, 2024
67 changes: 67 additions & 0 deletions recipes/get_mnv/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{% set name = "get_mnv" %}
{% set version = "1.0.0" %}
{% set sha256 = "b9ba6fe1a5f5f73afa98cde9e348f7861d44690f795338816a8a0724a66e1aa8" %}

package:
name: "{{ name|lower }}"
version: "{{ version }}"

source:
url: "https://github.com/PathoGenOmics-Lab/{{ name }}/archive/refs/tags/{{ version }}.tar.gz"
sha256: "{{ sha256 }}"

build:
number: 0
script: |
export LANG=C.UTF-8
export LC_ALL=C.UTF-8
export RUST_BACKTRACE=1
export OPENSSL_NO_VENDOR=1
export OPENSSL_DIR=$PREFIX
export OPENSSL_INCLUDE_DIR=$PREFIX/include
export OPENSSL_LIB_DIR=$PREFIX/lib
export CURL_STATIC_SSL=1
export CURL_SYS_STATIC=1
#export CARGO_NET_OFFLINE=true
export HTS_LIB_DIR=$PREFIX/lib
export HTS_INCLUDE_DIR=$PREFIX/include
export HTS_STATIC=1
export HTS_SYS_BUNDLED=0
cargo install --no-track --locked --verbose --root "${PREFIX}" --path .
run_exports:
- {{ pin_subpackage(name, max_pin="x") }}

requirements:
build:
- {{ compiler('rust') }}

host:
- openssl
- curl
- pkg-config
- htslib
Copy link
Contributor

Choose a reason for hiding this comment

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

The libraries should be in 'host', not 'build'

- bzip2
- xz
- zlib
Comment on lines +34 to +45
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

Add run section with pinned library versions.

The requirements section is well-structured with build and host sections. However, it's missing a run section to specify runtime dependencies. Consider adding a run section with pinned versions of the libraries:

  run:
    - {{ pin_compatible('openssl') }}
    - {{ pin_compatible('curl') }}
    - {{ pin_compatible('htslib') }}
    - {{ pin_compatible('bzip2') }}
    - {{ pin_compatible('xz') }}
    - {{ pin_compatible('zlib') }}

This ensures that the package uses compatible versions of the libraries at runtime.


test:
commands:
- get_mnv --help
Comment on lines +55 to +57
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.

While the current test ensures that the get_mnv binary is installed and executable, consider adding more comprehensive tests to verify the tool's functionality. For example:

test:
  commands:
    - get_mnv --help
    - get_mnv --version
    - get_mnv --test  # If there's a built-in test option
    # Add a command to run get_mnv on a small test dataset, if possible

These additional tests would provide better assurance that the tool is functioning correctly after installation.

Would you like assistance in generating more specific test commands based on the tool's functionality?


about:
home: "https://github.com/PathoGenOmics-Lab/get_mnv"
license: "GPL-3.0-or-later"
license_family: GPL3
license_file: LICENSE
summary: "Tool to identify Multi-Nucleotide Variants (MNVs) in genomic sequences."
description: |
get_MNV is a tool designed to identify Multi-Nucleotide Variants (MNVs) within the same codon in genomic sequences, providing more accurate annotation for genomic data.
doc_url: "https://github.com/PathoGenOmics-Lab/get_mnv"
dev_url: "https://github.com/PathoGenOmics-Lab/get_mnv"
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

Update license specification.

The about section provides comprehensive information about the package. However, please update the license specification as follows:

-  license: "GPL-3.0-or-later"
+  license: "GPL-3.0"

This change ensures consistency with Bioconda's preferred license specification format. The license_family: GPL3 entry is correct and should be kept.

The rest of the section, including the home page, summary, description, and URLs, is well-defined and informative.

📝 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
about:
home: "https://github.com/PathoGenOmics-Lab/get_mnv"
license: "GPL-3.0-or-later"
license_family: GPL3
license_file: LICENSE
summary: "Tool to identify Multi-Nucleotide Variants (MNVs) in genomic sequences."
description: |
get_MNV is a tool designed to identify Multi-Nucleotide Variants (MNVs) within the same codon in genomic sequences, providing more accurate annotation for genomic data.
doc_url: "https://github.com/PathoGenOmics-Lab/get_mnv"
dev_url: "https://github.com/PathoGenOmics-Lab/get_mnv"
about:
home: "https://github.com/PathoGenOmics-Lab/get_mnv"
license: "GPL-3.0"
license_family: GPL3
license_file: LICENSE
summary: "Tool to identify Multi-Nucleotide Variants (MNVs) in genomic sequences."
description: |
get_MNV is a tool designed to identify Multi-Nucleotide Variants (MNVs) within the same codon in genomic sequences, providing more accurate annotation for genomic data.
doc_url: "https://github.com/PathoGenOmics-Lab/get_mnv"
dev_url: "https://github.com/PathoGenOmics-Lab/get_mnv"


extra:
recipe-maintainers:
- PathoGenOmics-Lab
categories:
- Genomics
- Variant Analysis
Loading