File: PopGen.hs

package info (click to toggle)
bali-phy 3.4%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 10,608 kB
  • sloc: cpp: 67,094; xml: 4,074; perl: 3,715; haskell: 1,861; yacc: 1,067; python: 555; lex: 528; sh: 259; makefile: 20
file content (27 lines) | stat: -rw-r--r-- 1,507 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
module PopGen where

import Distributions
import Range

builtin builtin_read_phase_file 1 "read_phase_file" "PopGen"
builtin remove_2nd_allele 1 "remove_2nd_allele" "PopGen"
builtin allele_frequency_spectrum 1 "allele_frequency_spectrum" "PopGen"
builtin ewens_sampling_group_probability 2 "ewens_sampling_group_probability" "PopGen"
builtin ewens_sampling_probability 2 "ewens_sampling_probability" "PopGen"
builtin builtin_ewens_sampling_mixture_probability 3 "ewens_sampling_mixture_probability" "PopGen"
builtin builtin_selfing_coalescence_probability 3 "selfing_coalescence_probability" "PopGen"

read_phase_file filename = map list_from_vector $ list_from_vector $ builtin_read_phase_file $ listToString filename

ewens_sampling_mixture_probability thetas ps x = builtin_ewens_sampling_mixture_probability (list_to_vector thetas) (list_to_vector ps) x

selfing_coalescence_probability n_loci s i = builtin_selfing_coalescence_probability n_loci s (list_to_vector i)

afs args = ProbDensity (ewens_sampling_probability args) (error "afs has no quantile") () ()

afsGroup args = ProbDensity (ewens_sampling_group_probability args) (error "afsGroup has no quantile") () ()

afsMixture thetas ps = ProbDensity (ewens_sampling_mixture_probability thetas ps) (error "afsMixture has no quantile") () ()

selfing_coalescence n_loci s = ProbDensity (selfing_coalescence_probability n_loci s) (error "selfing_coalescence has no quantile") (replicate n_loci False) (ListRange (replicate n_loci TrueFalseRange))