Repository navigation
Split the annotation into separate axes, and widen what it reports - #13
Merged
Merged
Conversation
`location` answered two questions at once, so a guide could not be genic and exonic and in a promoter, which is the ordinary case for a first exon. It is now `genic`/`intergenic`, with `feature` holding `exon`/`intron` beside it. A gene has as many promoters as it has transcript starts, and the TSS set was one per gene taken from the reference transcript, so a guide at an alternative promoter read FALSE. Every transcript now contributes a site, and `promoter_enst`, `promoter_ensg` and `promoter_gene` name the ones a protospacer sits in. A `--promoters` BED supplies transcript ids in an eighth column; without them those columns are empty. The calls stay protein-coding. The store keeps one gene row for every other type so `other_gene_types` and `other_genes` can report a lncRNA overlap without it deciding where the guide sits; `rows()` defaults to the annotated types so nothing widens by accident. An old store lacks `gene_type` and is refused by name. `distance_to_gene_start` tells a canonical promoter from an alternative one: both are flagged, and only the distance from the gene's annotated 5' end separates 27 from 497. Distances now measure from the protospacer midpoint, since this is CRISPRi and dCas9 occupies the whole protospacer; `--distance-from target_site` restores the nuclease convention, and `cds_position` keeps it regardless. `cut_site` is renamed `target_site` throughout for the same reason. 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.
Why
locationanswered two questions at once, so a guide could not be genic andexonic and in a promoter, which is the ordinary case for a first exon. And
the TSS set was one site per gene taken from the reference transcript, so a
guide at an alternative promoter read FALSE.
What changed
The calls stay protein-coding. The store keeps one gene row for every other
type so a lncRNA overlap can be reported without it deciding where the guide
sits;
rows()defaults to the annotated types so nothing widens by accident.A store built before this lacks
gene_typeand is refused by name.cut_siteis renamedtarget_sitethroughout, and distances now measurefrom the protospacer midpoint: this is CRISPRi, and dCas9 occupies the whole
protospacer rather than acting at one base.
--distance-from target_siterestores the nuclease convention, and
cds_positionkeeps it regardless.Checked on the hiPSC-to-EC library, 43,778 guides
Faithful where it should be:
Gained only, never lost. It also finds 6,262 rows overlapping a gene of
another type, 5,899 of them lncRNA, which the old store could not see at all.
In the IGVF export, 284 elements change class, all of them into
promoter:115 from
exon, 160 fromintron, 9 fromdistal element. The nine werechecked individually: in 9 of 9 the reference transcript's TSS is not the
gene's annotated 5' end, inset by 69 bp to 72 kb, so they were measured from
the wrong place before rather than reclassified by accident.
This changes what would be submitted: 3,419 guides, 7.8% of the library,
move to
promoter.🤖 Generated with Claude Code