V1 testing#14
Merged
Merged
Conversation
zrm22
reviewed
May 22, 2026
|
|
||
| // Parse align_assemblies | ||
| @Suppress("UNCHECKED_CAST") | ||
| val alignAssembliesMap = configMap["align_assemblies"] as? Map<String, Any> |
Contributor
There was a problem hiding this comment.
Future idea. Maybe we should change the type to be a data class instead of a Map<String,Any>. It would help not needing to do type casting.
Member
Author
There was a problem hiding this comment.
Totally valid refactoring idea - will consider
zrm22
approved these changes
May 22, 2026
aberthel
approved these changes
May 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR re-platforms the assembly alignment steps onto PHGv2's
align-assembliescommand, adds orchestrator support for the remaining PS4G pipeline steps (ropebwt-mem,build-spline-knots,convert-ropebwt2ps4g), and provides a full "end-to-end" (E2E) suite of integration tests.Features
commands/align/shared module (PhgAlignParams,PhgAlignRunner,PhgAlignSharedOptions) and rewritealign-assembliesandalign-mutated-assembliesas thin wrappers around PHGv2'salign-assemblies(drives AnchorWave + minimap2 internally) while preserving the existing--ref-gff/--ref-fasta/--query-fasta/maf_file_paths.txtcontract.--in-parallel,--ref-max-align-cov,--query-max-align-cov,--conda-env-prefix,--just-ref-prep.ropebwt_mem,build_spline_knots, andconvert_ropebwt2ps4gsections toorchestratewith output auto-chaining and config dataclasses.mutated-maf-to-gvcfas a documented orchestrate-only step 11.e2eTesttask andapplyHeavyTestConfig()helper that forks one JVM per heavy test class and restricts class-file scanning so a single fork failure doesn't blow up the whole task.IntegrationGuardtest helper and ~17 new unit test files covering every pipeline command (AlignAssemblies,AlignMutatedAssemblies,ConvertCoordinates,ConvertRopebwt2Ps4g,ConvertToFasta,CreateChainFiles,DownsampleGvcf,FormatRecombinedFastas,GenerateRecombinedSequences,MafToGvcf,PickCrossovers,RopeBwtChrIndex,RopeBwtMem,PhgAlignRunner) plus a substantially expandedOrchestrateE2ETest.orchestrate's environment validation so missing PHG triggers an automaticsetup-environmentretry.Bug Fixes
setup-environmentfailing to find the extracted MLImpute directory after the upstream repo was renamed togrits(archive extracts asgrits-main/).ropebwt-memauto-calculating the wrong-lvalue: the keyfile written byrope-bwt-chr-index/orchestrate has no header row, so the previouslines.size - 1count was off by one.Breaking Changes
align-*steps now use PHGv2 instead of AnchorWave directly.Checklist
versioninbuild.gradle.kts(currently bumped to0.3.0in the working tree; commit before opening the PR)