Ejemplo n.º 1
0
def main():

    toParse = sys.stdin.read()

    HMMstructures = BaulmWelch()
    sequence, transitionDict, emissionDict, availableStates = HMMstructures.parseInput(
        toParse)

    forwardGraph = HMMstructures.makeGraph(sequence, availableStates,
                                           transitionDict)
    reversedGraph = HMMstructures.reverseGraph(availableStates, forwardGraph)

    dagProb = DirectedAcyclicGraph()
    forwardWeights, forwardSum = dagProb.longestPath(1, len(sequence), 1,
                                                     sequence, forwardGraph,
                                                     emissionDict)

    backWeights, backSum = dagProb.longestPath(
        len(sequence) - 1, 0, -1, sequence, reversedGraph, emissionDict)
    stateProbabilities = HMMstructures.calcEachNode(forwardSum, forwardWeights,
                                                    backWeights, sequence,
                                                    availableStates)

    for prob in stateProbabilities:
        print(*prob, sep="\t")
Ejemplo n.º 2
0
def main():

    toParse = sys.stdin.read()

    HMMstructures = HMM()
    sequence, transitionDict, emissionDict, availableStates = HMMstructures.parseInput(
        toParse)
    sys.stdin = open('/dev/tty')

    forwardGraph = HMMstructures.makeGraph(sequence, availableStates,
                                           transitionDict)
    reversedGraph = HMMstructures.reverseGraph(availableStates, forwardGraph)
    print(forwardGraph)
    print('*************')
    print(reversedGraph)
    dagProb = DirectedAcyclicGraph()
    forwardWeights, forwardSum = dagProb.longestPath(1, len(sequence), 1,
                                                     sequence, forwardGraph,
                                                     emissionDict)
    #    print(forwardWeights)
    print('forward Done')
    print(forwardSum)

    backWeights, backSum = dagProb.longestPath(
        len(sequence) - 1, 0, -1, sequence, reversedGraph, emissionDict)
Ejemplo n.º 3
0
def main():

    toParse = sys.stdin.read()

    HMMstructures = ForwardBackward()
    sequence, transitionDict, emissionDict, availableStates = HMMstructures.parseInput(
        toParse)

    dagProb = DirectedAcyclicGraph()
    forwardWeights, forwardSum = dagProb.longestPath(1, len(sequence), 1,
                                                     sequence, emissionDict)

    backWeights, backSum = dagProb.longestPath(
        len(sequence) - 1, 0, -1, sequence, reversedGraph, emissionDict)
    accurateProbs, printProbs = HMMstructures.calcEachNode(
        forwardSum, forwardWeights, backWeights, sequence, availableStates)

    for prob in printProbs:
        print(*prob, sep="\t")
Ejemplo n.º 4
0
def main():

    toParse = sys.stdin.read()

    HMMstructures = HMM()
    sequence, transitionDict, emissionDict, availableStates = HMMstructures.parseInput(
        toParse)

    dagGraph = HMMstructures.makeGraph(sequence, availableStates,
                                       transitionDict)
    dagProb = DirectedAcyclicGraph()

    getViterbi = dagProb.longestPath(sequence, dagGraph, transitionDict,
                                     emissionDict)