void readFile(String fastqFileName) {
		// Initialize
		seqIndex = new SequenceIndexer<DnaAndQualitySequence>(new DnaQualSubsequenceComparator(false));
		references = new ArrayList<Long>();
		int referencesPerSequence = 10;
		int seqIdx = 0;

		// Read file
		for( Fastq fastq : new FastqFileIterator(fastqFileName, FastqVariant.FASTQ_ILLUMINA) ) {
			String seq = fastq.getSequence();

			if( seq.indexOf('N') < 0 ) {
				// Create sequence and add it to indexer
				String qual = fastq.getQuality();
				DnaAndQualitySequence bseq = new DnaAndQualitySequence(seq, qual, FastqVariant.FASTQ_ILLUMINA);
				seqIndex.add(bseq);

				// Create random references to this sequence
				for( int i = 0; i < referencesPerSequence; i++ ) {
					int start = (int) (Math.random() * bseq.length());
					long ref = SequenceReference.getReference(seqIdx, start);
					references.add(ref);
				}

				seqIdx++;
			}
		}
	}