void parse(String table) {
		table = table.toUpperCase();

		String entries[] = table.split(",");
		for (String entry : entries) {
			entry = entry.trim();
			if (entry.length() > 0) {
				String t[] = entry.split("/");
				if (t.length == 2) {
					String codon = t[0];
					String aa = t[1];

					// If it contains a '+' then is is a START codon as well
					if (aa.indexOf('+') >= 0) {
						startCodons.add(codon);
						aa = aa.replaceAll("\\+", ""); // Remove all '+' signs
					}

					// If it contains a '*' then is is a STOP codon
					if (aa.indexOf('*') >= 0) stopCodons.add(codon);

					aa2codon.put(aa, codon);
					codon2aa.put(codon, aa);
				} else throw new RuntimeException("Error reading codon table. Cannot parse entry: '" + entry + "'\n\tTable: '" + table + "'");
			}
		}
	}