diff --git a/biojava3-core/src/main/java/org/biojava3/core/sequence/ProteinSequence.java b/biojava3-core/src/main/java/org/biojava3/core/sequence/ProteinSequence.java index 637228f1ef..de59607684 100644 --- a/biojava3-core/src/main/java/org/biojava3/core/sequence/ProteinSequence.java +++ b/biojava3-core/src/main/java/org/biojava3/core/sequence/ProteinSequence.java @@ -24,6 +24,7 @@ import org.biojava3.core.sequence.compound.AminoAcidCompound; import org.biojava3.core.sequence.compound.AminoAcidCompoundSet; +import org.biojava3.core.sequence.compound.NucleotideCompound; import org.biojava3.core.sequence.loader.StringProxySequenceReader; import org.biojava3.core.sequence.template.AbstractSequence; import org.biojava3.core.sequence.template.CompoundSet; @@ -83,7 +84,9 @@ public ProteinSequence(ProxySequenceReader proxyLoader, Compo * @param begin * @param end */ - public void setParentDNASequence(AbstractSequence parentDNASequence, Integer begin, Integer end) { + //TODO - Someone needs to check if this is a bug. Shouldn't a parentDNASequence be something other then AminoAcid? + //However, due to the derivation of this class, this is the only possible type argument for this parameter... + public void setParentDNASequence(AbstractSequence parentDNASequence, Integer begin, Integer end) { this.setParentSequence(parentDNASequence); setBioBegin(begin); setBioEnd(end); diff --git a/biojava3-core/src/main/java/org/biojava3/core/sequence/template/AbstractSequence.java b/biojava3-core/src/main/java/org/biojava3/core/sequence/template/AbstractSequence.java index 5c446e5cec..7ccf7cdaae 100644 --- a/biojava3-core/src/main/java/org/biojava3/core/sequence/template/AbstractSequence.java +++ b/biojava3-core/src/main/java/org/biojava3/core/sequence/template/AbstractSequence.java @@ -62,7 +62,7 @@ public abstract class AbstractSequence implements Sequence userCollection; private Integer bioBegin = null; private Integer bioEnd = null; - private AbstractSequence parentSequence = null; + private AbstractSequence parentSequence = null; private String source = null; private ArrayList notesList = new ArrayList(); private Double sequenceScore = null; @@ -226,14 +226,14 @@ public void setOriginalHeader(String originalHeader) { /** * @return the parentSequence */ - public AbstractSequence getParentSequence() { + public AbstractSequence getParentSequence() { return parentSequence; } /** * @param parentSequence the parentSequence to set */ - public void setParentSequence(AbstractSequence parentSequence) { + public void setParentSequence(AbstractSequence parentSequence) { this.parentSequence = parentSequence; } @@ -474,9 +474,13 @@ public CompoundSet getCompoundSet() { if (compoundSet != null) { return compoundSet; } + // This is invalid since the parentSequence isn't guaranteed to have the same compound set as this sequence, + // e.g., the case where the parent sequence for a protein is a CDS. + /* if (parentSequence != null) { return parentSequence.getCompoundSet(); } + */ return null; @@ -495,9 +499,11 @@ private SequenceReader getSequenceStorage() { if (sequenceStorage != null) { return sequenceStorage; } + /* if (parentSequence != null) { return parentSequence.getSequenceStorage(); } + */ return null; }