code: public DNASequence getSequence5PrimeTo3Prime() {
  		String sequence = getSequenceAsString(this.getBioBegin(), this.getBioEnd(), this.getStrand());
  		if (getStrand() == Strand.NEGATIVE) {
  			//need to take complement of sequence because it is negative and we are returning the gene sequence from the opposite strand
  			StringBuilder b = new StringBuilder(getLength());
  			CompoundSet<NucleotideCompound> compoundSet = this.getCompoundSet();
  			for (int i = 0; i < sequence.length(); i++) {
  				String nucleotide = String.valueOf(sequence.charAt(i));
  				NucleotideCompound nucleotideCompound = compoundSet.getCompoundForString(nucleotide);
  				b.append(nucleotideCompound.getComplement().getShortName());
  			}
  			sequence = b.toString();
  		}
  		DNASequence dnaSequence = null;
  		try {
  			dnaSequence = new DNASequence(sequence.toUpperCase());
  		} catch (CompoundNotFoundException e) {
  			// this should not happen, the sequence is DNA originally, if it does, there's a bug somewhere
  			logger.error("Could not create new DNA sequence in getSequence5PrimeTo3Prime(). Error: {}",e.getMessage());
  		}
  		dnaSequence.setAccession(new AccessionID(this.getAccession().getID()));
  		return dnaSequence;
  	}
docs: Try to give method clarity where you want a DNASequence coding in the 5' to 3' direction
  Returns the DNASequence representative of the 5' and 3' reading based on strand
  @return dna sequence