Beispiel #1
0
def setFrequencies(model, mali, prefix=""):
    """set frequencies in a model according to those observed in data.

    prefix: prefix for rate parameters. 

    Frequencies are labelled:
    pa0, pc0, ..., pa1, pc1, ..., pa2, pc2, ...
    """

    try:
        frequencies = Codons.getFrequenciesPerCodonPosition(
            [x.mString for x in mali.values()])
    except XGram.Exceptions.UsageError:
        return

    ## build a dummy grammar to insert frequencies
    dummy_grammar = XGram.Model.Grammar()
    for x in range(0, 3):
        params = []
        for a in ('A', 'C', 'G', 'T'):
            params.append(
                ("%sp%s%i" % (prefix, a.lower(), x), frequencies[x][a]))
        dummy_grammar.addVariable(params)

    model.mGrammar.copyParameters(dummy_grammar, ignore_missing=True)
Beispiel #2
0
def setFrequencies(model, mali, prefix=""):
    """set frequencies in a model according to those observed in data.

    prefix: prefix for rate parameters. 

    Frequencies are labelled:
    pa0, pc0, ..., pa1, pc1, ..., pa2, pc2, ...
    """

    try:
        frequencies = Codons.getFrequenciesPerCodonPosition(
            [x.mString for x in list(mali.values())])
    except XGram.Exceptions.UsageError:
        return

    # build a dummy grammar to insert frequencies
    dummy_grammar = XGram.Model.Grammar()
    for x in range(0, 3):
        params = []
        for a in ('A', 'C', 'G', 'T'):
            params.append(
                ("%sp%s%i" % (prefix, a.lower(), x), frequencies[x][a]))
        dummy_grammar.addVariable(params)

    model.mGrammar.copyParameters(dummy_grammar,
                                  ignore_missing=True)
Beispiel #3
0
def setFrequencies( model, data):
    """set frequencies in a model according to those observed in data.
    """
    
    sequences = getSequencesFromStk( data )
    frequencies = Codons.getFrequenciesPerCodonPosition( sequences.values() )

    ## build a dummy grammar to insert frequencies
    dummy_grammar = XGram.Model.Grammar()
    for x in range(0,3):
        params = []
        for a in ('A', 'C', 'G', 'T'):
            params.append( ("P%i%s" % (x, a), frequencies[x][a]) )
        dummy_grammar.addVariable( params )
    
    model.mGrammar.copyParameters( dummy_grammar, 
                                   ignore_missing = True)
Beispiel #4
0
                                              explicit_extension=True,
                                              fix_kappa=options.kappa == None,
                                              fix_omega=options.omega == None)

        ## set codon usage frequencies
        if options.insert_frequencies:

            mali = Mali.Mali()

            mali.readFromFile(open(options.insert_frequencies, "r"),
                              format=options.input_format)

            if mali.getLength() == 0:
                raise "refusing to process empty alignment."

            frequencies = Codons.getFrequenciesPerCodonPosition(
                map(lambda x: x.mString, mali.values()))

            # build a dummy grammar to insert frequencies
            dummy_grammar = XGram.Model.Grammar()
            for x in range(0, 3):
                params = []
                for a in ('A', 'C', 'G', 'T'):
                    params.append(
                        ("p%s%i" % (a.lower(), x), frequencies[x][a]))
                dummy_grammar.addVariable(params)

            input_model.mGrammar.copyParameters(dummy_grammar,
                                                ignore_missing=True)

        ## count the number of synonymous and non-synonymous sites
        if options.omega or options.kappa:
Beispiel #5
0
                                              fix_kappa = options.kappa == None,
                                              fix_omega = options.omega == None )


        ## set codon usage frequencies
        if options.insert_frequencies:

            mali = Mali.Mali()

            mali.readFromFile( open(options.insert_frequencies, "r"),
                               format = options.input_format )

            if mali.getLength() == 0:
                raise "refusing to process empty alignment."

            frequencies = Codons.getFrequenciesPerCodonPosition( map( lambda x: x.mString, mali.values() ))

            # build a dummy grammar to insert frequencies
            dummy_grammar = XGram.Model.Grammar()
            for x in range(0,3):
                params = []
                for a in ('A', 'C', 'G', 'T'):
                    params.append( ("p%s%i" % (a.lower(), x), frequencies[x][a]) )
                dummy_grammar.addVariable( params )

            input_model.mGrammar.copyParameters( dummy_grammar, 
                                                 ignore_missing = True)

        ## count the number of synonymous and non-synonymous sites
        if options.omega or options.kappa:
            n, s = countSites( input_model )