Tracking: remaining ROADMAP.md items (Phases 14, 16, 17)
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 5/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- bioinformatics
Direzione di ricerca
This is a tracking list, not a single task. Start with ROADMAP.md and DIVERGENCE.md in the repository, then pick one unchecked item and its linked PR (for example #300 for the SA binary-search padding or #309 for the MC and ch attributes). Each item is done when rustar's output matches STAR 2.7.11b for the named reads or tags, checked on the first 200k ERR12389696 pairs.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Tracks the items still open in ROADMAP.md as of abf2ab7, with what was measured against STAR 2.7.11b. Thematic background lives in #143, development status in #163.
Phase 14, STARsolo
- 14.7
CB/UB/GX/GNSAM tags +CB_samTagOut: #226 (rebased on main; CB/UB are now filled as records leave the bounded-memory sort from #214, with a test through a spilled sort)
Phase 17, features
The four "planned" sub-phases are already on main. Checked against STAR on 20k yeast pairs:
| sub-phase | result |
|---|---|
17.2 --outSAMtype BAM SortedByCoordinate |
SO:coordinate, 0 out-of-order records |
| 17.3 PE chimeric | 145 junctions in common, 2 only on each side |
17.4 --outReadsUnmapped Fastx |
3193 vs 3194 unmapped pairs, 3 names differ |
17.6 --outStd BAM_SortedByCoordinate |
identical to the file output |
The remaining differences come from alignment parity (Phase 16 below).
- Roadmap text updated: #296
-
@HD VN:1.4like STAR (was 1.6): #297
Phase 16, algorithm parity
Items listed in the roadmap:
-
.18919121"SA construction diff": no longer reproducible.Genome,SAandSAindexbuilt by rustar are byte-identical to STAR's on R64-1-1, with and without the GTF. -
.6302610PE false positive: no longer reproducible. - SE CIGAR insertion placement: see theme 1 below.
- PE AS diffs: covered by the themes below.
Measured on the first 200k pairs of ERR12389696, STAR index with GTF (sjdbOverhang 149), default parameters. "Diff" counts mates whose primary differs and that are not multi-mapper ties (same NH, same AS, same loci set).
| same | ties | diff | only rustar maps | only STAR maps | |
|---|---|---|---|---|---|
| main | 332 262 | 4 501 | 237 | 68 mates | 34 mates |
| #295 | 332 408 | 4 505 | 91 | 68 mates | 30 mates |
Remaining themes on top of #295 (one PR each, if a STAR-faithful fix exists):
- 1. Insertion placement in repeats (same AS,
Iat a different read position), ~15 mates: root cause was the seed search, #300 (padding compared on the wrong side in the SA binary search; on main it fixes 77 mates and the mates only rustar maps go from 68 to 12) - 2. Short-range alignments STAR finds with a higher AS (short exon at a read end), ~20 mates: #302 (seed overlap in rStart order, negative genome gap as insertion, sjdb overhang per side; stacked on #301)
- 3. Long-range splices with
alignIntronMax 0(window formation), both directions, ~20 mates: #304 (no 589 kb pair cap when alignMatesGapMax is 0, flanks stop at chromosome ends, STAR's per-window dedup; stacked on #302). Fixes ROADMAP reads .13842 and .15864. - 4. Chromosome X 120.7-121.3 kb (gene with several short annotated introns), ~25 mates: #301 (same-diagonal seeds are never stitched, STAR's PE junction-consistency walk; 70 mates fixed on top of #295)
- 5. Pairs only one tool maps (34 only rustar, 15 only STAR): #303 (N-flagged SAindex prefixes are not tight bounds). Remaining: .84534 (STAR finds 16 loci, uT:3), .114807-like mate-start cases.
PRs will be linked here as they open.
Measurement note
The first numbers above counted a mate as matching when chromosome, position and CIGAR matched, even if NH differed. Counting NH too (2026-10-09), each PR was re-checked mate by mate against its base:
| change | base | mates fixed | newly differing |
|---|---|---|---|
| #295 | main | 207 | 0 (the 9 were HAC1's annotated non-canonical intron: fixed on #295 by shifting back by sjdbShiftLeft) |
| #300 | main | 86 | 0 |
| #303 | main | 9 | 0 |
| #301 | #295 | 80 | 0 |
| #302 | #301 | 11 | 0 |
| #304 | #302 | 52 | 0 |
Found while reviewing the work above
-
SAM tags are written in a fixed order; STAR follows the order given to
--outSAMattributes(nM AS NH MDcomes outNH AS nM MD): #306 -
--outSAMtype BAM Unsorted SortedByCoordinate(both files at once) is rejected: #305 (also makes--outStdredirect only the matching output, as STAR) -
Header (#297 now covers all of these): no
@CO user command line:line;--outSAMheaderCommentFilelines get a second@COprefix; the TranscriptomeSAM BAM has@HD/@PGwhere STAR writes only@SQ/@RG; a user@HDwithoutVNstill getsVN:1.4 -
max_mappable_lengthupdates its i1a/i1b history in the opposite order to STAR: checked, cannot change the SA range found, no change made -
#226: barcode/gene tags without BAM output were dropped silently; now refused like STAR
-
Unmapped records carry
AS:i:0 nM:i:0; STAR writes the best transcript's values: #310 (with MAPQ, uT:4 and half-mapped mate fields). With #311: all 62,966 unmapped records of the 200k pairs identical to STAR, from 0 -
Fully unmapped records have MAPQ 255; STAR writes 0: #310
-
MCandchattributes are not implemented (STAR'sAllincludes both): #309 -
Chimeric WithinBAM records use a fixed
SA NM ASset and ignore--outSAMattributes: checked with main's #307 + #309, tags and order match STAR on every chimeric record in 7 attribute configurations -
An explicit
XSin--outSAMattributesis dropped unless--outSAMstrandField intronMotif; STAR switches to intronMotif instead: #314 (with the parity stack, branchmerge/xs-on-parity-stack: XS identical to STAR at all 332,692 common loci of the 200k pairs) -
--quantMode GeneCountsrequires--sjdbGTFfileeven when the index already has the annotation; STAR does not: #308 -
With a GTF given at mapping time, annotated non-canonical junctions are keyed on true coordinates rather than STAR's flushed ones: #312 (STAR's on-the-fly sjdb insertion; 0 mates differ on 200k pairs, _STARgenome byte-identical)
-
Yeast PE reads still differing after the whole stack: all fixed by #311 (strict seed-chain bound, junction-scan early exit, pair genomic-length span; with #300 and #303 merged in)
Whole stack
#295 (with its fix) + #301 + #302 + #304, on the first 200k pairs of ERR12389696 against STAR 2.7.11b, NH-aware: 350 mates fixed, 0 newly differing versus main. #300 and #303 are independent of that stack and add 86 and 9 more on main.
- With a GTF given at mapping time, TranscriptomeSAM still prefers the index tables: #313 (and STAR's transcript order; @SQ lines identical)
- #294 superseded by main's #307 (PE nM = pair total)
200k yeast pairs: mate for mate
With #311 (= #295 + #301 + #302 + #304 + #300 + #303 + #311), the first 200k ERR12389696 pairs match STAR 2.7.11b on chromosome, position, CIGAR and NH for every mate, paired-end and single-end, on the index with and without the GTF. The only remaining differences are multimapper primary ties (DIVERGENCE.md §1.1). Versus main: 459 mates fixed with the GTF index, 205 without, 0 newly differing.
-
Chimeric detection (yeast 20k): PE 75/78 WithinBAM records identical, 3 differ in position; SE 82/86, STAR finds 2 chimeric reads rustar misses and one multimapper differs (NH 1 + SA vs NH 2)
-
TranscriptomeSAM records: #315 (STAR's random primary via its mt19937 stream, pair-level soft-clip budget, merged M blocks, MAPQ from nAlignT, STAR's order): all 274,542 records of the 200k pairs identical to STAR --runThreadN 1, in order. Single-end order and BySJout draw order done on #315 too.
-
--outFilterType BySJoutandSJ.out.tabfiltering: #316 (genomic SAM, SJ.out.tab and transcriptome BAM identical to STAR on 200k pairs; Normal-mode SJ.out.tab now identical too) -
--twopassMode Basic: #317 (pass-1 junctions inserted into the genome like STAR; pass-1 and final SJ.out.tab byte-identical, 0 mates differ)
- Lingua principale
- Rust
- Stelle
- 90
- Fork
- 9
- Merge medio
- 21h 12m
- PR unite (30g)
- 21
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di scverse/rustar-aligner
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 1/100
scverse/rustar-aligner#324 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
scverse/rustar-aligner#299 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
scverse/rustar-aligner#277 ·
I maintainer di solito rispondono entro 4 giorni
-
Consider hdf5-pure (pure-Rust HDF5) for optional .h5 outputForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertadependencies file-formats
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
scverse/rustar-aligner#270 ·
I maintainer di solito rispondono entro 4 giorni
-
Enable performance (here speed) benchmarkingForse di nuovo libera @flying-sheep l’ha presa 60 giorni fa e non c’è nessuna pull request aperta. Aperta
scverse/rustar-aligner#245 · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di scverse/rustar-aligner
Issue simili
-
accounts bug decoding
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
wboayue/rust-ibapi#1088 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
`mise doctor` Shows Not Installed Lazy Tools as ProblemsForse già presa @jdx l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
area:kernel needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
bherbruck/solvecraft#7179 · 1 commento ·
-
priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 61/100
storytold/photocraft#9704 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno