/*
* The characters of the aligned sequence e.g. "-cGT-ACgTG-"
*/
- private final char[] alignedSeq;
+ private final SequenceI alignedSeq;
/*
* the sequence start residue
*/
public AlignedCodonIterator(SequenceI seq, char gapChar)
{
- this.alignedSeq = seq.getSequence();
+ this.alignedSeq = seq;
this.start = seq.getStart();
this.gap = gapChar;
fromRanges = map.getFromRanges().iterator();
if (toPosition <= currentToRange[1])
{
SequenceI seq = Mapping.this.to;
- char pep = seq.getSequence()[toPosition - seq.getStart()];
+ char pep = seq.getCharAt(toPosition - seq.getStart());
toPosition++;
return String.valueOf(pep);
}
if (!toRanges.hasNext())
{
- throw new NoSuchElementException("Ran out of peptide at position "
- + toPosition);
+ throw new NoSuchElementException(
+ "Ran out of peptide at position " + toPosition);
}
currentToRange = toRanges.next();
toPosition = currentToRange[0];
* allow for offset e.g. treat pos 8 as 2 if sequence starts at 7
*/
int truePos = sequencePos - (start - 1);
- while (alignedBases < truePos && alignedColumn < alignedSeq.length)
+ int length = alignedSeq.getLength();
+ while (alignedBases < truePos && alignedColumn < length)
{
- char c = alignedSeq[alignedColumn++];
+ char c = alignedSeq.getCharAt(alignedColumn++);
if (c != gap && !Comparison.isGap(c))
{
alignedBases++;
to[f * 2] = r[0];
to[f * 2 + 1] = r[1];
}
- copy.setMap(new MapList(from, to, map.getFromRatio(), map
- .getToRatio()));
+ copy.setMap(
+ new MapList(from, to, map.getFromRatio(), map.getToRatio()));
}
return copy;
}
to = tto;
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#finalize()
- */
- @Override
- protected void finalize() throws Throwable
- {
- map = null;
- to = null;
- super.finalize();
- }
-
/**
* Returns an iterator which can serve up the aligned codon column positions
* and their corresponding peptide products
* @param gapChar
* @return
*/
- public Iterator<AlignedCodon> getCodonIterator(SequenceI seq, char gapChar)
+ public Iterator<AlignedCodon> getCodonIterator(SequenceI seq,
+ char gapChar)
{
return new AlignedCodonIterator(seq, gapChar);
}
@Override
public String toString()
{
- return String.format("%s %s", this.map.toString(), this.to == null ? ""
- : this.to.getName());
+ return String.format("%s %s", this.map.toString(),
+ this.to == null ? "" : this.to.getName());
}
/**