@Override
	public SnpEffectPredictor create() {
		// Read gene intervals from a file
		if (fileName == null) fileName = config.getBaseFileNameGenes() + ".txt";

		if (verbose) System.out.print("Reading gene intervals file : '" + fileName + "'\n\t\t");
		readRefSeqFile(); // Read gene info

		beforeExonSequences(); // Some clean-up before readng exon sequences

		// Read chromosome sequences and set exon sequences
		if (readSequences) readExonSequences();
		else if (createRandSequences) createRandSequences();

		finishUp(); // Perform adjustments

		// Check that exons have sequences
		System.out.println(config.getGenome());
		boolean error = config.getGenome().isMostExonsHaveSequence();
		if (error && readSequences) throw new RuntimeException("Most Exons do not have sequences!");

		return snpEffectPredictor;
	}