public void test_25_exon_bases() {
		System.out.println("Loading config file");
		config = new Config("testCase", Config.DEFAULT_CONFIG_FILE);
		config.loadSnpEffectPredictor();

		System.out.println("Loading fasta file");
		String fastaFile = "tests/testCase.fa";
		String seq = GprSeq.fastaSimpleRead(fastaFile);

		// Test all bases in all exons
		int countOk = 0, countErr = 0;
		for (Gene gint : config.getGenome().getGenes()) {
			for (Transcript tr : gint) {
				System.out.println("Transcript: " + tr.getId());
				List<Exon> exons = tr.sortedStrand();
				for (Exon exon : exons) {
					for (int i = exon.getStart(); i <= exon.getEnd(); i++) {
						String base = seq.substring(i, i + 1);
						String exonBase = exon.basesAt(i - exon.getStart(), 1);

						if (base.equalsIgnoreCase(exonBase)) {
							countOk++;
						} else {
							countErr++;
							String msg = "ERROR:\tPosition: " + i + "\tExpected: " + base + "\tGot: " + exonBase;
							Gpr.debug(msg);
							throw new RuntimeException(msg);
						}
					}
				}
			}
		}

		System.out.println("Count OK: " + countOk + "\tCount Err: " + countErr);
	}