Repository navigation
Carry the measured gene, the element's location, and the channel - #16
Merged
Merged
Conversation
Three gaps, each found by reading the assembled object and asking where something had gone. `guide_element_mapping.tsv` named no gene, so the mapping could not stand on its own. It now takes the same --genes pairs table igvf-export does, through the same lookup, so the two cannot disagree: 3,380 of 3,890 promoter rows and 180 of 379 e2g_validated rows gain one. `genomic_element` cannot say whether an element sits in a gene, because promoter and enhancer win on precedence before the gene body is tested. The cross-tab shows why that matters: exon, intron and distal are determined, but 499 promoter and 110 enhancer guides sit outside any gene. `element_location` is computed from the overlap igvf-export already had, so no new input and no second source of truth. And the object said nothing about which channel it was. --channel NAME=VALUE joins every cell's obs and is kept in uns, so replicate, day, chip and batch travel with the counts. Stated rather than parsed: the names live in FASTQ paths, and reading them there would tie the tool to one lab's scheme. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Each addition is something a user has to be told, not inferred: --genes on element-mapping, --channel on mudata-builder, and why element_location exists when genomic_element already names a class. The last carries the cross-tab, because the argument for the column is the 499 promoter and 110 enhancer guides that sit outside any gene while every exon and intron guide is inside one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Three gaps, each found by reading the assembled MuData and asking where
something had gone.
The measured gene, in the element mapping
guide_element_mapping.tsvnamed no gene, so the mapping could not stand onits own. It now takes the same
--genespairs tableigvf-exportdoes,through the same
_measured_geneslookup, so the two tables cannot disagreeabout which gene an element was measured against.
element_locationgenomic_elementcannot say whether an element sits in a gene: promoter andenhancer win on precedence before the gene body is ever tested. The cross-tab
is the argument for a separate column.
Computed from the same
in_geneoverlapigvf_exportalready had, so no newinput and no second source of truth.
What the channel is
The object said nothing about which channel it held.
--channel NAME=VALUE,repeatable, joins every cell's
obsand is kept inuns['channel'], soreplicate, day, chip and batch travel with the counts.
Stated rather than parsed. The names live in FASTQ paths, and reading them
there would tie the tool to one lab's naming scheme.
730 tests pass.
🤖 Generated with Claude Code