@Override public int getLength() { return Math.abs(this.getBioEnd() - this.getBioBegin()) + 1; }
@Override public int getLength() { return Math.abs(this.getBioEnd() - this.getBioBegin()) + 1; }
if (sequence.getStrand() != Strand.NEGATIVE) { featureBioBegin = exonSequence.getBioBegin() - geneBioBegin; featureBioEnd = exonSequence.getBioEnd() - geneBioBegin; } else { featureBioBegin = geneBioEnd - exonSequence.getBioEnd(); featureBioEnd = geneBioEnd - exonSequence.getBioBegin(); logger.warn("Bad Feature, Accession: {}, Sequence Strand: {}, Gene Begin: {}, Gene End: {}, Exon Begin: {}, Exon End: {}", sequence.getAccession().toString(), sequence.getStrand(), geneBioBegin, geneBioEnd, exonSequence.getBioBegin(), exonSequence.getBioEnd()); } else { for (int i = featureBioBegin; i <= featureBioEnd; i++) {
if (sequence.getStrand() != Strand.NEGATIVE) { featureBioBegin = exonSequence.getBioBegin() - geneBioBegin; featureBioEnd = exonSequence.getBioEnd() - geneBioBegin; } else { featureBioBegin = geneBioEnd - exonSequence.getBioEnd(); featureBioEnd = geneBioEnd - exonSequence.getBioBegin(); logger.warn("Bad Feature, Accession: {}, Sequence Strand: {}, Gene Begin: {}, Gene End: {}, Exon Begin: {}, Exon End: {}", sequence.getAccession().toString(), sequence.getStrand(), geneBioBegin, geneBioEnd, exonSequence.getBioBegin(), exonSequence.getBioEnd()); } else { for (int i = featureBioBegin; i <= featureBioEnd; i++) {
ExonSequence exon1 = exonSequenceList.get(i); ExonSequence exon2 = exonSequenceList.get(i + 1); this.addIntron(new AccessionID(this.getAccession().getID() + "-" + "intron" + intronIndex), exon1.getBioEnd() - shift, exon2.getBioBegin() + shift); intronIndex++;
ExonSequence exon1 = exonSequenceList.get(i); ExonSequence exon2 = exonSequenceList.get(i + 1); this.addIntron(new AccessionID(this.getAccession().getID() + "-" + "intron" + intronIndex), exon1.getBioEnd() - shift, exon2.getBioBegin() + shift); intronIndex++;