private List<SequenceAnnotation> getORFsForFrame(Sequence seq, int startSite) {
		List<SequenceAnnotation> orfs = new ArrayList<SequenceAnnotation>();
		StringBuilder codon = new StringBuilder();
		
		boolean inORF = false;
		int currentStart = 0;
		//System.out.println("Starting at site: " + startSite + " base is : " + seq.at(startSite));
		for(int i=startSite; i<seq.length(); i++) {
			
			if (codon.length()==3) {
				AminoAcid aa = geneticCode.translate(codon.toString());
				//System.out.println("Translating codon : " + codon);
				if (aa==AminoAcid.Met && inORF==false) {
					inORF = true;
					currentStart = i-3;
					//System.out.println("Found start codon at pos " + currentStart);
				}
				if (aa==AminoAcid.Stop && inORF==true) {
					inORF = false;
					//System.out.println("Found stop codon at pos : " + (i-2));
					if (i - currentStart > 59){
						SequenceAnnotation orf = new SequenceAnnotation(seq, annotationType, currentStart, i-1);
						orfs.add(orf);
					
					}

				}
				codon.setLength(0);
			}
			
			if (! seq.isGap(i)) {
				codon.append(seq.at(i));
			}
			
		}
		
		return orfs;
	}