def doAutomata(N,K,nkAutomata=None,ordinalNumber=-1):
    drawGraphObject = DrawGraph()

    currentFolderPath = os.path.dirname(__file__)
    
    if nkAutomata == None:
        nkAutomata = NK_Automata(N, K)
        nkAutomata.generateRandomAutomata()
    
    nkAutomata.ordinalNumber = ordinalNumber
    print nkAutomata
    
    nkAutomata.spanAutomata()
    print "satespan",nkAutomata.stateSpan
    
    nkAutomata.analyseAutomata()
    print nkAutomata.stateList
    
    nkAutomata.makeAttractorStatDictionary()
    print nkAutomata.attractorDict
    
    nkAutomata.countStability()
    print "Stability:", nkAutomata.stability
    
    nkAutomata.countExpectedReturnTime()
    print "ExpectedReturnTime:", nkAutomata.expectedReturnTime

    drawGraphObject.drawGeneConnecionsGraph(nkAutomata.linksList, currentFolderPath)
    
    drawGraphObject.drawStatesGraph(nkAutomata.stateSpan, currentFolderPath)

    drawGraphObject.drawSimplfiedStatesGraph(nkAutomata.attractorDict,2**nkAutomata.N,currentFolderPath)
def doAutomata(N,K,drawGraphObject,nkAutomata=None,ordinalNumber=-1):
    currentFolderPath = os.path.dirname(__file__)
    
    if nkAutomata == None:
        nkAutomata = NK_Automata(N, K)
        nkAutomata.generateRandomAutomata()
    
    nkAutomata.ordinalNumber = ordinalNumber
    
    drawGraphObject.drawGeneConnecionsGraph(nkAutomata.linksList, currentFolderPath)
    
    #print nkAutomata
    
    nkAutomata.spanAutomata()
    
    # print "satespan",nkAutomata.stateSpan
    
    
    nkAutomata.analyseAutomata()
    
    # print nkAutomata.stateList
    
    nkAutomata.makeAttractorStatDictionary()
    
    # print nkAutomata.attractorDict
    
    
    # print "stateList", nkAutomata.stateList
    
    nkAutomata.countStability()
    
    nkAutomata.countExpectedReturnTime()
    
    
    
    drawGraphObject.drawSimplfiedStatesGraph(nkAutomata.makeAttractorsDictionary(),2**nkAutomata.N,currentFolderPath)
    
    drawGraphObject.drawStatesGraph(nkAutomata.stateSpan, currentFolderPath)
    
    SaveLoad.saveNKAutomata(currentFolderPath, nkAutomata, True)
def doAutomata(N, K, drawGraphObject, nkAutomata=None, ordinalNumber=-1):
    currentFolderPath = os.path.dirname(__file__)

    if nkAutomata == None:
        nkAutomata = NK_Automata(N, K)
        nkAutomata.generateRandomAutomata()

    nkAutomata.ordinalNumber = ordinalNumber

    drawGraphObject.drawGeneConnecionsGraph(nkAutomata.linksList,
                                            currentFolderPath)

    #print nkAutomata

    nkAutomata.spanAutomata()

    # print "satespan",nkAutomata.stateSpan

    nkAutomata.analyseAutomata()

    # print nkAutomata.stateList

    nkAutomata.makeAttractorStatDictionary()

    # print nkAutomata.attractorDict

    # print "stateList", nkAutomata.stateList

    nkAutomata.countStability()

    nkAutomata.countExpectedReturnTime()

    drawGraphObject.drawSimplfiedStatesGraph(
        nkAutomata.makeAttractorsDictionary(), 2**nkAutomata.N,
        currentFolderPath)

    drawGraphObject.drawStatesGraph(nkAutomata.stateSpan, currentFolderPath)

    SaveLoad.saveNKAutomata(currentFolderPath, nkAutomata, True)