d35fc8c17788a5fd2b739a6515de842bf79e3a44 kent Tue Sep 11 19:19:49 2012 -0700 Rearranging order so integrateOrphans gets called before markovChains are made. diff --git src/kehayden/alphaAsm/alphaAsm.c src/kehayden/alphaAsm/alphaAsm.c index 7280e49..0b801f4 100644 --- src/kehayden/alphaAsm/alphaAsm.c +++ src/kehayden/alphaAsm/alphaAsm.c @@ -1195,35 +1195,35 @@ for (monomer = store->monomerList; monomer != NULL; monomer = monomer->next) { if (monomer->type == NULL) { struct monomerType *type = monomer->type = fillInTypeFromReads(monomer, store); verbose(2, "Got %p %s\n", type, (type != NULL ? type->name : "n/a")); } } } void alphaAsm(char *readsFile, char *monomerOrderFile, char *outFile) /* alphaAsm - Create Markov chain of words and optionally output chain in two formats. */ { struct alphaStore *store = alphaStoreNew(maxChainSize); alphaReadListFromFile(readsFile, store); -makeMarkovChains(store); -struct wordTree *wt = store->markovChains; alphaStoreLoadMonomerOrder(store, readsFile, monomerOrderFile); fillInTypes(store); integrateOrphans(store); +makeMarkovChains(store); +struct wordTree *wt = store->markovChains; alphaStoreNormalize(store, outSize); if (optionExists("chain")) { char *fileName = optionVal("chain", NULL); wordTreeWrite(wt, store->maxChainSize, fileName); } wordTreeGenerateFile(store, store->maxChainSize, pickRandom(wt->children), outSize, outFile); if (optionExists("afterChain")) { char *fileName = optionVal("afterChain", NULL); wordTreeWrite(wt, store->maxChainSize, fileName); }