public void readFile(RegulationFileIterator regulationFileIterator) {
		String chromo = "";
		int lineNum = 1;
		for (Regulation reg : regulationFileIterator) {

			// Different chromosome? flush all
			if (!chromo.equals(reg.getChromosomeName())) {
				if (verbose) Timer.showStdErr("\tChromosome '" + reg.getChromosomeName() + "'\tline: " + regulationFileIterator.getLineNum());
				for (RegulationConsensus regCons : regConsByName.values())
					regCons.flush();
				chromo = reg.getChromosomeName();
			}

			// Create consensus
			consensus(reg);

			// Show every now and then
			// if( lineNum % 100000 == 0 ) System.err.println("\t" + lineNum + " / " + totalCount + "\t" + String.format("%.1f%%", (100.0 * totalCount / lineNum)));
			lineNum++;
			totalLineNum++;
		}

		// Finished, flush all
		for (RegulationConsensus regCons : regConsByName.values())
			regCons.flush();

		// Show stats
		Timer.showStdErr("Done");
		double perc = (100.0 * totalCount / totalLineNum);
		System.err.println("\tTotal lines                 : " + lineNum);
		System.err.println("\tTotal annotation count      : " + totalCount);
		System.err.println("\tPercent                     : " + String.format("%.1f%%", perc));
		System.err.println("\tTotal annotated length      : " + totalLength);
		System.err.println("\tNumber of cell/annotations  : " + regConsByName.size());
	}