Skip to content

Fix CI and update BUSCO lineage retrieval for v1.2.0 - #95

Merged
cokelaer merged 5 commits into
sequana:mainfrom
cokelaer:main
Sep 8, 2026
Merged

cokelaer merged 5 commits into
sequana:mainfrom
cokelaer:main

Conversation

@cokelaer

@cokelaer cokelaer commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

No description provided.

cokelaer added 3 commits April 7, 2026 20:32
The lineage listing was fetched from busco-data.ezlab.org/v5/data/lineages/,
which now 301-redirects to an empty S3 index (HTTP 200, 0 bytes). As a result
no lineage was ever found: --busco-print-lineages printed nothing and any
--busco-lineage value was rejected as invalid, while BeautifulSoup emitted
"Some characters could not be decoded".

- fetch from the v6 listing, which hosts both odb10 and odb12 datasets
- match lineage names with a regex on the exact ODB version and release date
  instead of splitting on "_odbXX": odb12.2 is a distinct release from odb12
  and the two were silently mixed. Keep the most recent date per lineage
- add odb12.2 to --busco-db-version choices
- use response.text and catch RequestException instead of ConnectionError
- make --busco-print-lineages an eager option so it prints and exits without
  requiring --assembler, --genome-size and the other mandatory options.
  --busco-db-version is eager too, with a sys.argv fallback so the order of
  the two options does not matter

Also included: fastp container updated to 1.0.1, pulp>=2.8 added to
environment.yml, Python badge in README. Version stays at 1.1.0.
The BUSCO lineage fixes get their own release entry instead of being folded
into the already-released 1.1.0. The fastp 1.0.1 container and the pulp>=2.8
dependency move to 1.2.0 as well.
@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 1 minor

Alerts:
⚠ 1 issue (≤ 0 issues of at least minor severity)

Results:
1 new issue

Category Results
Documentation 1 minor

View in Codacy

🟢 Metrics 0 duplication

Metric Results
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@cokelaer cokelaer closed this Sep 8, 2026
@cokelaer cokelaer reopened this Sep 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The CI workflow removes pytest-mock and pytest-asyncio, but the test suite depends on them, so the pipeline will fail until those dependencies are restored.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR updates the LORA pipeline for the 1.2.0 release, focusing on restoring BUSCO lineage discovery (now scraping the v6 listing and supporting odb12.2) and adjusting CI/environment packaging to match the new release constraints.

Changes:

  • Update BUSCO lineage retrieval logic and make --busco-print-lineages an eager/early-exit CLI option (including odb12.2 support).
  • Refresh release metadata and packaging (version bump to 1.2.0, environment dependency update).
  • Modernize CI workflow (Python matrix update, action version bumps, caching tweaks).
File summaries
File Description
sequana_pipelines/lora/main.py Adds an eager callback to print BUSCO lineages and exit without requiring other mandatory options; extends BUSCO DB version choices.
sequana_pipelines/lora/info.py Switches BUSCO lineage scraping to the v6 listing and tightens matching to exact ODB version + latest date.
sequana_pipelines/lora/config.yaml Updates the fastp apptainer image reference.
README.rst Adds a Python version badge and documents 1.2.0 changes in the changelog.
pyproject.toml Bumps package version to 1.2.0.
environment.yml Adds pulp>=2.8 and reformats the environment definition.
.github/workflows/main.yml Updates CI Python matrix/actions and adjusts dependency installation/testing/coveralls behavior.
Review details
  • Files reviewed: 7/7 changed files
  • Comments generated: 3
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/main.yml
Comment thread sequana_pipelines/lora/info.py Outdated
Comment thread environment.yml Outdated
blast was listed twice in environment.yml. The BUSCO lineage listing request
had no timeout, so the CLI could hang indefinitely if the server stalls.
The test suite uses the mocker fixture and async tests, but the CI only
installed pytest, pytest-cov and pytest-xdist, so collection failed with
ModuleNotFoundError: No module named 'pytest_mock'. pytest-asyncio was missing
too and would have failed right after (asyncio_mode is strict).
@cokelaer
cokelaer merged commit 105fcc4 into sequana:main Sep 8, 2026
2 of 3 checks passed
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