{"id":44821300,"url":"https://github.com/virtool/workflow-pathoscope","last_synced_at":"2026-02-16T20:36:33.108Z","repository":{"id":38210225,"uuid":"313715991","full_name":"virtool/workflow-pathoscope","owner":"virtool","description":"A workflow for detecting known viruses in Virtool","archived":false,"fork":false,"pushed_at":"2026-01-12T20:36:20.000Z","size":85194,"stargazers_count":3,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-13T01:28:19.781Z","etag":null,"topics":["virtool","workflow"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/virtool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-17T19:04:15.000Z","updated_at":"2026-01-12T20:36:22.000Z","dependencies_parsed_at":"2024-05-28T21:48:45.193Z","dependency_job_id":"d3978243-7795-4540-a176-a45c4c1b368e","html_url":"https://github.com/virtool/workflow-pathoscope","commit_stats":null,"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/virtool/workflow-pathoscope","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtool%2Fworkflow-pathoscope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtool%2Fworkflow-pathoscope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtool%2Fworkflow-pathoscope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtool%2Fworkflow-pathoscope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/virtool","download_url":"https://codeload.github.com/virtool/workflow-pathoscope/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtool%2Fworkflow-pathoscope/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29517617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T18:37:19.720Z","status":"ssl_error","status_checked_at":"2026-02-16T18:36:46.920Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["virtool","workflow"],"created_at":"2026-02-16T20:36:32.423Z","updated_at":"2026-02-16T20:36:33.069Z","avatar_url":"https://github.com/virtool.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# workflow-pathoscope\n\nAn analysis workflow for detecting known OTUs (viruses) by matching reads against a reference\nof known virus genomes.\n\n## Steps\n\n1. **Map default isolates**. Identify potentially present OTUs by mapping against representative (default)\nisolates of each OTU.\n2. **Build isolate index**. Build a mapping index of all isolates of the previously identified OTUs.\n3. **Map all isolates**. Map sample reads against all isolates of OTU candidates.\n4. **Map and eliminate subtractions**. Map reads with alignment in previous step against the user-selected subtraction\nto eliminate contaminating reads (usually host).\n5. **Reassignment**. Use Pathoscope 2.0 to statistically reassign read weight to the most likely reference\ngenomes of origin. Minimize the impact of multi-mapping and similar reference genomes on the analysis.\n\n## Development\n\n### Container Infrastructure\n\nThe project uses Docker containers for development and testing to ensure consistent environments. The development container (`dev` service) automatically starts when running tests and includes all necessary dependencies including Rust toolchain, Python, and bioinformatics tools (bowtie2, HMMER, FastQC, pigz).\n\nThe container mounts the project directory and uses persistent volumes for build artifacts (`.venv`, `target`, and UV cache) to speed up subsequent builds. All test commands (`mise run test`, `mise run test:rust`, `mise run test:python`) automatically ensure the development container is running via the `dev:start` dependency. You can also interact with the container directly using `mise run dev` for an interactive shell, or manage it with `mise run dev:stop`, `mise run dev:clean`, and `mise run dev:rebuild`.\n\n### Testing\n\nRun all tests (Rust + Python):\n\n```bash\nmise run test\n```\n\nRun only Rust unit tests:\n\n```bash\nmise run test:rust\n```\n\nRun only Python/e2e tests:\n\n```bash\nmise run test:python\n```\n\nPass arguments to pytest:\n\n```bash\nmise run test:python -- -vv\nmise run test:python -- --snapshot-update\nmise run test:python -- tests/test_workflow.py::test_map_isolates\n```\n\nRun clippy for linting:\n\n```bash\nmise run clippy\n```\n\n## Contributing\n\n### Commits\n\nAll commits must follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0) specification. See the [Virtool development documentation](https://dev.virtool.ca/en/latest/commits_releases.html) for detailed commit guidelines and examples.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtool%2Fworkflow-pathoscope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvirtool%2Fworkflow-pathoscope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtool%2Fworkflow-pathoscope/lists"}