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 recipe for snpick #52144

Merged
merged 2 commits into from
Nov 19, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions recipes/snpick/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{% set name = "snpick" %}
{% set version = "1.0.0" %}
{% set sha256 = "6a5ae16a65c92c90ecf710c4d53afa0e3a76b7a43554c52e48cda843f7e20744" %}

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: |
set -xe
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 LIBCLANG_PATH=$PREFIX/lib
export CPLUS_INCLUDE_PATH=$PREFIX/include
cargo install --locked --verbose --root "${PREFIX}" --path .
run_exports:
- {{ pin_subpackage(name, max_pin="x") }}

requirements:
build:
- {{ compiler('rust') }}
- pkg-config
host:
- openssl
- zlib
- xz
- bzip2
run:
- {{ pin_compatible('openssl') }}
- {{ pin_compatible('zlib') }}
- {{ pin_compatible('xz') }}
- {{ pin_compatible('bzip2') }}

test:
commands:
- snpick --help
- snpick --version

Comment on lines +45 to +49
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 functional tests.

Current tests only verify basic command availability. Consider adding functional tests:

test:
  commands:
    - snpick --help
    - snpick --version
+   # Add functional test with minimal example
+   - snpick --input test.fasta --output test.vcf
+  files:
+    - test.fasta

Would you like me to help create a minimal test dataset and corresponding test commands?

Committable suggestion skipped: line range outside the PR's diff.

about:
home: "https://github.com/PathoGenOmics-Lab/snpick"
license: "GPL-3.0-or-later"
license_family: GPL3
license_file: LICENSE
summary: "A fast and memory-efficient tool for SNP extraction from genomic alignments."
description: |
snpick is a Rust-based tool designed for extracting SNPs efficiently from large genomic alignments, with minimal RAM usage and high performance. It outputs variable sites in alignment files and provides VCF generation.
doc_url: "https://github.com/PathoGenOmics-Lab/snpick"
dev_url: "https://github.com/PathoGenOmics-Lab/snpick"

extra:
additional-platforms:
- linux-aarch64
- osx-arm64
recipe-maintainers:
- PathoGenOmics-Lab
categories:
- Genomics
- Variant Analysis
- SNP Extraction