addSequenceFeature(new SequenceFeature(sf[i]));
}
}
- if (seq.getDBRef() != null)
+ setDatasetSequence(seq.getDatasetSequence());
+ if (datasetSequence==null && seq.getDBRef() != null)
{
+ // only copy DBRefs if we really are a dataset sequence
DBRefEntry[] dbr = seq.getDBRef();
for (int i = 0; i < dbr.length; i++)
{
addDBRef(new DBRefEntry(dbr[i]));
}
}
- setDatasetSequence(seq.getDatasetSequence());
if (seq.getAnnotation() != null)
{
AlignmentAnnotation[] sqann = seq.getAnnotation();
public DBRefEntry[] getDBRef()
{
+ if (dbrefs==null && datasetSequence!=null && this!=datasetSequence)
+ {
+ return datasetSequence.getDBRef();
+ }
return dbrefs;
}