Graph *importPreGraph(char *preGraphFilename, ReadSet * reads, char * roadmapFilename, boolean readTracking, short int accelerationBits) { boolean double_strand = false; Graph *graph = readPreGraphFile(preGraphFilename, &double_strand); Coordinate referenceMappingCount = 0; IDnum referenceCount = 0; if (nodeCount(graph) == 0) return graph; // If necessary compile reference -> node ReferenceMapping * referenceMappings = computeReferenceMappings(preGraphFilename, reads, &referenceMappingCount, &referenceCount); // Node -> reference maps NodeMask * nodeMasks = computeNodeMasks(referenceMappings, referenceMappingCount, graph); // Map k-mers to nodes KmerOccurenceTable *kmerTable = referenceGraphKmers(preGraphFilename, accelerationBits, graph, double_strand, nodeMasks, referenceMappingCount); free(nodeMasks); // Map sequences -> kmers -> nodes fillUpGraph(reads, kmerTable, graph, readTracking, double_strand, referenceMappings, referenceMappingCount, referenceCount, roadmapFilename); free(referenceMappings); return graph; }
Graph *importPreGraph(char *preGraphFilename, ReadSet * reads, boolean readTracking, short int accelerationBits) { boolean double_strand = false; Graph *graph = readPreGraphFile(preGraphFilename, &double_strand); KmerOccurenceTable *kmerOccurences = referenceGraphKmers(preGraphFilename, accelerationBits, graph, double_strand); fillUpGraph(reads, kmerOccurences, graph, readTracking, double_strand); return graph; }