void load(String resFileName) {
		StringBuffer out = new StringBuffer();

		//--- 
		// Read snpEffect results files
		//---
		Gpr.debug("Reading file: " + resFileName);
		String resFile = Gpr.readFile(resFileName);
		String resLines[] = resFile.split("\n");

		int countIgnored = 0, countOk = 0;
		for( String resLine : resLines ) {
			String recs[] = resLine.split("\t");
			if( recs.length > 21 ) {
				String chr = recs[0];
				String pos = recs[1];
				String ref = recs[2];
				String change = recs[3];

				if( change.length() / CODONS_SIZE == 1 ) {
					String codonsAround[] = recs[20].split("/");
					if( codonsAround.length > 1 ) {
						// Analyze codon purity
						String codonsAroundOld = codonsAround[0].trim();
						String codonsAroundNew = codonsAround[1].trim();
						String codonsChange[] = recs[17].split("/");
						String codonsOld = codonsChange[0].trim();
						String codonsNew = codonsChange[1].trim();
						double purityChange = purityChange(codonsOld, codonsAroundOld, codonsNew, codonsAroundNew);

						// Analyze amino acid purity
						String aastr[] = recs[21].split("/");
						String aaAroundOld = aastr[0];
						String aaAroundNew = aastr[1];

						countOk++;
						String lineOut = chr + "\t" + pos + "\t" + ref + "\t" + change //
								+ "\t" + codonsAroundOld + "/" + codonsAroundNew //
								+ "\t" + aaAroundOld + "/" + aaAroundNew //
								+ "\t" + String.format("%.2f", purityChange);

						System.out.println(lineOut);
						out.append(lineOut + "\n");
					} else {
						countIgnored++;
						if( debug ) Gpr.debug("Change is no one codon: ignored");
					}
				} else {
					countIgnored++;
					if( debug ) Gpr.debug("Change '" + change + "' ignored");
				}
			} else {
				countIgnored++;
				if( debug ) Gpr.debug("Line has not enough fields: ignored");
			}
		}

		System.out.println("OK:" + countOk + "\tIgnored:" + countIgnored + "\tTotal:" + (countOk + countIgnored));
		Gpr.toFile("/tmp/purity.txt", out);
	}