Trait libprosic::model::priors::PairModel [] [src]

pub trait PairModel<A: AlleleFreqs, B: AlleleFreqs> {
    fn prior_prob(&self, af1: AlleleFreq, af2: AlleleFreq, variant: Variant) -> LogProb;
    fn joint_prob<L, O>(&self, af1: &A, af2: &B, likelihood1: &L, likelihood2: &O, variant: Variant) -> LogProb where L: Fn(AlleleFreq, AlleleFreq) -> LogProb, O: Fn(AlleleFreq, AlleleFreq) -> LogProb;
    fn marginal_prob<L, O>(&self, likelihood1: &L, likelihood2: &O, variant: Variant) -> LogProb where L: Fn(AlleleFreq, AlleleFreq) -> LogProb, O: Fn(AlleleFreq, AlleleFreq) -> LogProb;
    fn map<L, O>(&self, likelihood1: &L, likelihood2: &O, variant: Variant) -> (AlleleFreq, AlleleFreq) where L: Fn(AlleleFreq, AlleleFreq) -> LogProb, O: Fn(AlleleFreq, AlleleFreq) -> LogProb;
    fn allele_freqs(&self) -> (&A, &B);
}

Required Methods

fn prior_prob(&self, af1: AlleleFreq, af2: AlleleFreq, variant: Variant) -> LogProb

Calculate prior probability of given combination of allele frequencies.

fn joint_prob<L, O>(&self, af1: &A, af2: &B, likelihood1: &L, likelihood2: &O, variant: Variant) -> LogProb where L: Fn(AlleleFreq, AlleleFreq) -> LogProb, O: Fn(AlleleFreq, AlleleFreq) -> LogProb

Calculate joint probability of prior with likelihoods for given allele frequency ranges.

fn marginal_prob<L, O>(&self, likelihood1: &L, likelihood2: &O, variant: Variant) -> LogProb where L: Fn(AlleleFreq, AlleleFreq) -> LogProb, O: Fn(AlleleFreq, AlleleFreq) -> LogProb

Calculate marginal probability.

fn map<L, O>(&self, likelihood1: &L, likelihood2: &O, variant: Variant) -> (AlleleFreq, AlleleFreq) where L: Fn(AlleleFreq, AlleleFreq) -> LogProb, O: Fn(AlleleFreq, AlleleFreq) -> LogProb

Calculate maximum a posteriori probability estimate of allele frequencies.

fn allele_freqs(&self) -> (&A, &B)

Return allele frequency spectra.

Implementors