Package: emase
EMASE: Expectation-Maximization algorithm for Allele Specific ExpressionNarayanan Raghupathy, Kwangbom Choi, Steve Munger, and Gary ChurchillFree software: GNU General Public License v3 (GPLv3)Documentation:https://emase.readthedocs.org.Note: The documentation for EMASE is still under work.What is EMASE?EMASE is a software program written in Python to quantify allele-specific
expression and gene expression simultaneously from RNA-seq data. EMASE takes in
the diploid transcriptome alignment BAM file and GTF file as inputs and
estimates expression abundance for each isoforms and each alleles using
Expectation Maxmization algorithm.Why Use EMASE?Current RNA-seq analysis pipeline employ two steps to quantify gene expression
and allele-specific expression (ASE); gene expression is estimated from all
read alignments, while ASE is assessed separately by using only reads that
overlap known SNP locations.Large-scale genome sequencing efforts have characterized millions of genetic
variants across in human and model organisms. However development of tools that
can effectively utilize this individual/strain-specific variation to inform
quantitation of gene expression abundance have lagged behind.EMASE, together with g2gtools (https://github.com/churchill-lab/g2gtools), offers an integrated
solution to utilize known genetic variations in quantifying expression abundances at allele
and gene/isoform level.In F1 hybrids from model organisms, EMASE allows us to utilize parental
strain-specific genetic variation in RNA-seq analysis to quantify gene
expression and allele-specific expression (ASE) simultaneouslyIn humans, EMASE allows us to utilize the individual’s genetic variation in
doing personalized RNA-seq analysis and quantify gene expression and
allele-specific expression (ASE) simultaneouslyBriefly, EMASE: EM for allele-specific expression, uses individualized diploid
genomes/transcriptomes adjusted for known genetic variations and quantifies
allele-specific gene expression and total gene expressionsimultaneously. The EM
algorithm employed in EMASE models multi-reads at the level of gene, isoform,
and allele and apportions them probabilistically.Earlier, we developed Seqnature to utilize known genetic variations, bot SNPs
and Indels, to build indivdualized genomes and adjust annotations. One can use
Seqnature to create individualized diploid transcritpme and align RNA-seq reads
simultaneously to the diploid transcriptome and get alignment file in BAM
format. This diploid BAM file can be used as input to EMASE.ApplicationsAllele-specific gene expression in F1 Hybrids from model organismsIf we have F1 hybrids with parental genetic variants information, one can use
Seqnature to build strain specific genomes and extract diploid transcriptome.
RNA-seq alignment bam file obtained by aligbning RNA-seq reads to the diploid
transcriptome is used as input for EMASE.Personalized ASE analysis in HumanEMASE can be used to do personalized RNA-seq analysis in human. For this,  we use the phased genetic
variation (SNP and Indel) information to construct personalized diploid genome and align reads to the diploid transcriptome..Allele-specific Binding using Chip-Seq in F1 HybridsAlthough we explained the use of EMASE to quantify Allele-Specific Expression
from RNA-seq data, the tool can be used with other types of sequencing data. We
have successfully used EMASE to quantify allele-specific binding from ChIP-seq
data. While useing ChIP-seq, one needs to use diploid binding target sequences
instead of diploid transcriptome for alignment target sequences.Mining Diploid alignments and alignment probabilitiesEMASE can be used to glean more information from the alignment, in addition to running EMASE and
obtaining effective read counts for each allele and isoform. For example, we can use EMASE’s count-alignment
program to obtain unique reads at allele-level for every gene, gene unique reads but allele-level multireads,
and the total number of reads aligned to every gene. Having these alignment statistics at for every isoform and gene
can be useful in interpreting expression estimates from EMASE.ReferencesEMASE: Expectation-Maximization algorithm for Allele Specific Expression, Narayanan Raghupathy, Kwangbom Choi, Steve Munger, and Gary Churchill, Manuscript in preparation.[RNA-Seq Alignment to Individualized Genomes Improves Transcript Abundance Estimates in Multiparent Populations](http://www.genetics.org/content/198/1/59.short) Steven C. Munger, Narayanan Raghupathy,Kwangbom Choi, Allen K. Simons, Daniel M. Gatti, Douglas A. Hinerfeld, Karen L. Svenson, Mark P. Keller, Alan D. Attie, Matthew A. Hibbs, Joel H. Graber, Elissa J. Chesler and Gary A. Churchill. Genetics. 2014 Sep;198(1):59-73. doi: 10.1534/genetics.114.165886.[PRDM9 Drives Evolutionary Erosion of Hotspots in Mus musculus through Haplotype-Specific Initiation of Meiotic Recombination](http://journals.plos.org/plosgenetics/article?id=10.1371/journal.pgen.1004916) Christopher L. Baker, Shimpei Kajita, Michael Walker, Ruth L. Saxl, Narayanan Raghupathy, Kwangbom Choi, Petko M. Petkov, Kenneth Paigen PLOS Genetics: published 08 Jan 2015 |info:doi/10.1371/journal.pgen.1004916History0.10.16 (05-10-2016)Modifiedprepare-emaseso it can process the newest Ensembl gene annotation (Release 84)The scriptprepare-emasecan process gzipped filesUpdated documentation0.10.15 (05-04-2016)Uploaded to Anaconda.orgUpdated documentation0.10.14 (04-25-2016)Added option to not having rname when loading/savingAlignmentPropertyMatrixDocumentation updated to reflect recent changes (e.g., processing paired-end data etc.)0.10.12 (04-22-2016)run-emasereport file names changed (effective -> expected)run-emasereport file can have notes0.10.11 (02-15-2016)Minor change in documentation0.10.9 (02-09-2016)Fixed readthedocs compiling fails0.10.5 (01-20-2016)Addedpull_alignments_frommethod inAlignmentPropertyMatrixclassAdded a scriptpull-out-unique-readsthat unsets emase pseudo-alignments that are not uniquely aligning0.10.3 (01-06-2016)Fixed a bug inrun-emaseon handling inbred (reference or one haplotype) alignments0.10.2 (01-04-2016)Addedget-common-alignments: To compute intersection between each of paired ends0.9.10 (01-04-2016)AlignmentMatrixFactorycan handle unmapped reads0.9.8 (07-31-2015)Fixed a bug insimulate-reads: No more duplicate read ID’s0.9.7 (07-28-2015)Addedcreate-hybrid: Build hybrid target directly using custom transcriptsAddedsimulate-reads: Four nested models0.9.6 (06-02-2015)AlignmentPropertyMatrixcan represent an equivalence classFixed a bug in length normalizationSwapped Model ID’s between 1 and 2Model 1: Gene->Allele->Isoform (*)Model 2: Gene->Isoform->Allele (*)Model 3: Gene->Isoform*AlleleModel 4: Gene*Isoform*Allele (RSEM model)0.9.5 (05-17-2015)Fixed length normalization: Depth = Count / (Transcript_Length - Read_Length + 1)0.9.4 (02-23-2015)Fixed a bug inprepare-emase0.9.3 (02-22-2015)Fixed a bug in Model 2 of handling multireadsrun-emasechecks absolute sum of error (in TPM) for termination0.9.2 (02-17-2015)Added three more models of handling multireadsModel 1: Gene->Isoform->AlleleModel 2: Gene->Allele->IsoformModel 3: Gene->Isoform*AlleleModel 4: Gene*Isoform*Allele (RSEM model)0.9.0 (01-31-2015)First release on PyPIOnly implements RSEM model for handling Multiply-mapping reads (or multireads)