예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
파일: test_iq.py 프로젝트: minzastro/pymix
    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])
예제 #6
0
                                    [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)