@Override
	public SnpEffectPredictor create() {
		// Create chromo
		chromo = new Chromosome(genome, 0, 2 * maxGeneLen, 1, "chr1");
		genome.add(chromo);

		// Create sequence
		chromoSequence = GprSeq.randSequence(random, chromo.size());

		// Create gene
		int start = random.nextInt(maxGeneLen);
		int end = start + Math.max(minGeneSize, random.nextInt(maxGeneLen));
		int strand = random.nextBoolean() ? 1 : -1;
		if (forcePositive) strand = 1;
		Gene gene = new Gene(chromo, start, end, strand, "gene1", "gene1", "gene");
		add(gene);

		// Create transcripts
		int numTr = Math.max(random.nextInt(maxTranscripts), 1);
		for (int nt = 0; nt < numTr; nt++)
			createTranscript(gene, "" + nt);

		return snpEffectPredictor;
	}