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

Pegas #49759

Merged
merged 19 commits into from
Oct 23, 2024
Merged

Pegas #49759

Changes from 14 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
53 changes: 53 additions & 0 deletions recipes/pegas/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{% set name = "pegas" %}
{% set version = "0.2.13" %}

package:
name: {{ name }}
version: {{ version }}

source:
url: https://github.com/liviurotiul/PeGAS/archive/refs/tags/v{{ version }}.tar.gz
sha256: 2c028caa90bb8825e1c64f2ca5bd5e80f82f6db1cb5c4609bed86157c954c1f8

build:
number: 0
noarch: python
script: "{{ PYTHON }} -m pip install ."
run_exports:
- {{ pin_subpackage(name, 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.

🛠️ Refactor suggestion

Remove unnecessary run_exports section.

The build configuration looks good overall, but as mentioned in a previous comment, the run_exports section is typically not necessary for pure Python packages. This section is more commonly used for compiled libraries to ensure ABI compatibility.

Consider removing the run_exports section:

 build:
   number: 0
   noarch: python
   script: "{{ PYTHON }} -m pip install ."
-  run_exports:
-    - {{ pin_subpackage(name, max_pin="x") }}

This simplification aligns better with typical Python package recipes in Conda-Forge and Bioconda.

📝 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
noarch: python
script: "{{ PYTHON }} -m pip install ."
run_exports:
- {{ pin_subpackage(name, max_pin="x") }}
build:
number: 0
noarch: python
script: "{{ PYTHON }} -m pip install ."


requirements:
build:
- python
- pip
- setuptools

run:
- python=3.10
- plotly ~=5.0.0
- pandas ~=1.3.5
- tqdm ~=4.66.5
- matplotlib-base ~=3.9.2
- networkx ~=3.2
- snakemake ~=7.32.4
- beautifulsoup4 ~=4.12.3
liviurotiul marked this conversation as resolved.
Show resolved Hide resolved

test:
commands:
- {{ name }} --help
Comment on lines +34 to +36
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 for better package validation.

While running the help command is a good basic test to ensure the package is installed correctly, it doesn't verify the package's functionality.

Consider adding more comprehensive tests, such as:

  1. Running a simple analysis with sample data.
  2. Importing and testing key functions or classes.
  3. Verifying the presence of important files or directories.

For example:

test:
  commands:
    - {{ name }} --help
    - {{ name }} --version
    - python -c "from pegas import some_key_function; assert some_key_function() == expected_output"
  files:
    - path/to/test/data/sample.fastq

These additional tests would provide more confidence in the package's functionality after installation. Please adjust the suggested tests according to your package's specific features and requirements.


about:
home: https://github.com/liviurotiul/PeGAS
license: GPL-2.0
Copy link
Contributor

Choose a reason for hiding this comment

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

Please use id from https://spdx.org/licenses/

license_family: GPL
license_file: LICENSE
summary: "PeGAS is a Snakemake pipeline for genome analysis"
description: |
PeGAS is a Snakemake pipeline for genome analysis. It is designed to be
lightweight, easy to install, and easy to use.
doc_url: https://github.com/liviurotiul/PeGAS#readme
dev_url: https://github.com/liviurotiul/PeGAS/issues

extra:
recipe-maintainers:
- liviurotiul
Loading