def getBayesModel(G,p, mixPrior = None): """ Constructs a PWM CSI BayesMixtureModel. @param G: number of components @param p: number of positions of the binding site @return: BayesMixtureModel object """ if not mixPrior: piPrior = mixture.DirichletPrior(G,[1.0]*G) compPrior= [] for i in range(p): compPrior.append( mixture.DirichletPrior(4,[1.02,1.02,1.02,1.02]) ) # arbitrary values of struct and comp parameters. Values should be # reset by user using the structPriorHeuristic method. mixPrior = mixture.MixtureModelPrior(0.05,0.05,piPrior, compPrior) DNA = mixture.Alphabet(['A','C','G','T']) comps = [] for i in range(G): dlist = [] for j in range(p): phi = mixture.random_vector(4) dlist.append( mixture.DiscreteDistribution(4,phi,DNA)) comps.append(mixture.ProductDistribution(dlist)) pi = mixture.random_vector(G) m = mixture.BayesMixtureModel(G,pi, comps, mixPrior, struct =1) return m
def getBayesModel(G, p, mixPrior=None): """ Constructs a PWM CSI BayesMixtureModel. @param G: number of components @param p: number of positions of the binding site @return: BayesMixtureModel object """ if not mixPrior: piPrior = mixture.DirichletPrior(G, [1.0] * G) compPrior = [] for i in range(p): compPrior.append( mixture.DirichletPrior(4, [1.02, 1.02, 1.02, 1.02])) # arbitrary values of struct and comp parameters. Values should be # reset by user using the structPriorHeuristic method. mixPrior = mixture.MixtureModelPrior(0.05, 0.05, piPrior, compPrior) DNA = mixture.Alphabet(['A', 'C', 'G', 'T']) comps = [] for i in range(G): dlist = [] for j in range(p): phi = mixture.random_vector(4) dlist.append(mixture.DiscreteDistribution(4, phi, DNA)) comps.append(mixture.ProductDistribution(dlist)) pi = mixture.random_vector(G) m = mixture.BayesMixtureModel(G, pi, comps, mixPrior, struct=1) return m
def getModel(G,p): """ Constructs a PWM MixtureModel. @param G: number of components @param p: number of positions of the binding site @return: MixtureModel object """ DNA = mixture.Alphabet(['A','C','G','T']) comps = [] for i in range(G): dlist = [] for j in range(p): phi = mixture.random_vector(4) dlist.append( mixture.DiscreteDistribution(4,phi,DNA)) comps.append(mixture.ProductDistribution(dlist)) pi = mixture.random_vector(G) m = mixture.MixtureModel(G,pi, comps) return m
def getModel(G, p): """ Constructs a PWM MixtureModel. @param G: number of components @param p: number of positions of the binding site @return: MixtureModel object """ DNA = mixture.Alphabet(['A', 'C', 'G', 'T']) comps = [] for i in range(G): dlist = [] for j in range(p): phi = mixture.random_vector(4) dlist.append(mixture.DiscreteDistribution(4, phi, DNA)) comps.append(mixture.ProductDistribution(dlist)) pi = mixture.random_vector(G) m = mixture.MixtureModel(G, pi, comps) return m
math_sigma = random.uniform( 1.0,28.0) missing_math = mixture.NormalDistribution(-9999.9,0.00001) dist_math = mixture.NormalDistribution(math_mu, math_sigma) mix_math = mixture.MixtureModel(2,[0.999,0.001],[dist_math, missing_math],compFix=[0,2]) spelling_mu = float(random.randint(80,120)) spelling_sigma =random.uniform( 1.0,28.0) missing_spelling = mixture.NormalDistribution(-9999.9,0.00001) dist_spelling = mixture.NormalDistribution(spelling_mu, spelling_sigma) mix_spelling = mixture.MixtureModel(2,[0.999,0.001],[dist_spelling, missing_spelling],compFix=[0,2]) # diagnoses for cormobidit disorders #"ODD" "CONDUCT" "SOC PHO" "SEP ANX" "SPEC PHO" "ENUR NOC" "ENUR DIU" "ENCOPRES" "TOURET" "TIC CRON" "TIC TRAN" comor= [] for j in range(COMOR): p_comor = [0.0] + mixture.random_vector(3) comor_missing = mixture.MultinomialDistribution(1,4,[1.0,0.0,0.0,0.0],DIAG) comor_mult = mixture.MultinomialDistribution(1,4,p_comor,DIAG) comor_mix = mixture.MixtureModel(2,[0.999,0.001],[comor_mult,comor_missing],compFix=[0,2]) comor.append(comor_mix) pd_comor = mixture.ProductDistribution(comor) # the drd4 VNTR are represented as a discrete distribution over the observed lengths, # the specific repeat sequence tpyes are not considered at this time p_drd4_vntr_len = [0.0]+ mixture.random_vector(10) dist_drd4_vntr_len = mixture.MultinomialDistribution(1, 11, p_drd4_vntr_len,VNTR) vntr_missing = mixture.MultinomialDistribution(1, 11, [1.0]+[0.0]*10,VNTR) mix_drd4_vntr_len = mixture.MixtureModel(2,[0.999,0.001],[dist_drd4_vntr_len,vntr_missing],compFix=[0,2])
[dist_math, missing_math], compFix=[0, 2]) spelling_mu = float(random.randint(80, 120)) spelling_sigma = random.uniform(1.0, 28.0) missing_spelling = mixture.NormalDistribution(-9999.9, 0.00001) dist_spelling = mixture.NormalDistribution(spelling_mu, spelling_sigma) mix_spelling = mixture.MixtureModel(2, [0.999, 0.001], [dist_spelling, missing_spelling], compFix=[0, 2]) # diagnoses for cormobidit disorders #"ODD" "CONDUCT" "SOC PHO" "SEP ANX" "SPEC PHO" "ENUR NOC" "ENUR DIU" "ENCOPRES" "TOURET" "TIC CRON" "TIC TRAN" comor = [] for j in range(COMOR): p_comor = [0.0] + mixture.random_vector(3) comor_missing = mixture.MultinomialDistribution( 1, 4, [1.0, 0.0, 0.0, 0.0], DIAG) comor_mult = mixture.MultinomialDistribution(1, 4, p_comor, DIAG) comor_mix = mixture.MixtureModel(2, [0.999, 0.001], [comor_mult, comor_missing], compFix=[0, 2]) comor.append(comor_mix) pd_comor = mixture.ProductDistribution(comor) # the drd4 VNTR are represented as a discrete distribution over the observed lengths, # the specific repeat sequence tpyes are not considered at this time p_drd4_vntr_len = [0.0] + mixture.random_vector(10) dist_drd4_vntr_len = mixture.MultinomialDistribution( 1, 11, p_drd4_vntr_len, VNTR)