ajw2329 / junctioncounts Goto Github PK
View Code? Open in Web Editor NEWUtils for identifying pairwise alternative splicing events and quantifying them using junction reads.
Utils for identifying pairwise alternative splicing events and quantifying them using junction reads.
Assess performance of GLMs on simulated data. TP would be a 'ground truth' dPSI of the same sign as the junctionCounts calculation given a p-value lower than chosen alpha in the case of comparison across levels of a single factor.
In the case of more complicated hypotheses such as testing interaction terms, a TP might be the presence of a 'ground truth' ddPSI of the same sign as junctionCounts calculation between pairs of A levels across B levels (e.g in the case of full: PSI ~ A + B + A:B vs red: PSI ~ A + B
Add weights (sum of included, excluded counts) for PSI_lo and PSI_hi values. This will allow the use of either in binomial GLMs.
Generalize the dPSI code in the benchmarking Rmd files to R scripts with CLI.
Paired-end processing is already set up to use fetching. This could be taken advantage of to only parse reads that overlap events.
TO DO:
Take splice_lib_events.bed as input and parse - while looping through the intervals, pass the coords to bam.fetch() in read_pair_generator. Modify SE read processing to also use bam.fetch().
For bootstrapping, make use of idxstats to get the total number of reads. The all_read_info_list will then contain the subset of informative reads with n 0s for n uninformative reads.
E.g. ZSWIM8 (chr10:75561074-75561606) from A1 hg19 merged.gtf. This gets generated internally but ends up filtered for some reason.
Not only for this but also (and more importantly) for splice_lib.
Currently alternative polyadenylation/alt-TSS events are specified by two exons with the same inner coordinate (splice site) but different outer coordinates. The outer coordinates can differ by as little as 1 nt. This most likely allows for many false positives, particularly when input GTFs come from transcriptome assemblers.
Turn junctionCounts into a proper installable python package.
junctionCounts version 0.1.0
running with option --forward_read unstranded
The following exception Traceback was generated:
File "<PATH TO junctionCounts_0.1.0>/junctionCoutns.py" line 611 in assign_reads_unstranded
TypeError: append_matching() takes exactly 4 arguments (3 given)
It appears that the code was updated in "assign_reads_stranded", which has 2 calls with 4 arguments of this form:
append_matching( candidate_isoforms, matching_events, event_junction_dict, junction)
append_matching( candidate_isoforms, matching_events, event_eij_dict, eij)
But the code in "assign_reads_unstranded" has 2 calls with the old erroneous 3-argument form:
append_matching( matching_events, event_junction_dict, junction)
append_matching( matching_events, event_eij_dict, eij)
Hopefully the associated changes to make this work are not too burdensome.
Sol Katzman
UC Santa Cruz Genomics Institute
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.