X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequence.java;h=7b05649b790a5408bfe1c90c08299c53e716fbbd;hb=c6c67aaa8e2d236305a3495f4edfc8cc88e22b79;hp=532a11b5174ab035c24ba35ca57a324bb623fd4f;hpb=ace4dda1b45a307e7f115c95d53175f9caeb39fa;p=jalview.git diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index 532a11b..7b05649 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -21,6 +21,7 @@ package jalview.datamodel; import jalview.analysis.AlignSeq; +import jalview.api.DBRefEntryI; import jalview.util.StringUtils; import java.util.ArrayList; @@ -55,6 +56,8 @@ public class Sequence extends ASequence implements SequenceI String vamsasId; + DBRefEntryI sourceDBRef; + DBRefEntry[] dbrefs; RNA rna; @@ -216,6 +219,7 @@ public class Sequence extends ASequence implements SequenceI initSeqAndName(seq.getName(), seq.getSequence(), seq.getStart(), seq.getEnd()); description = seq.getDescription(); + sourceDBRef = seq.getSourceDBRef(); if (seq.getSequenceFeatures() != null) { SequenceFeature[] sf = seq.getSequenceFeatures(); @@ -225,10 +229,10 @@ public class Sequence extends ASequence implements SequenceI } } setDatasetSequence(seq.getDatasetSequence()); - if (datasetSequence == null && seq.getDBRef() != null) + if (datasetSequence == null && seq.getDBRefs() != null) { // only copy DBRefs if we really are a dataset sequence - DBRefEntry[] dbr = seq.getDBRef(); + DBRefEntry[] dbr = seq.getDBRefs(); for (int i = 0; i < dbr.length; i++) { addDBRef(new DBRefEntry(dbr[i])); @@ -284,6 +288,7 @@ public class Sequence extends ASequence implements SequenceI @Override public synchronized void addSequenceFeature(SequenceFeature sf) { + // TODO add to dataset sequence instead if there is one? if (sequenceFeatures == null) { sequenceFeatures = new SequenceFeature[0]; @@ -907,18 +912,18 @@ public class Sequence extends ASequence implements SequenceI } @Override - public void setDBRef(DBRefEntry[] dbref) + public void setDBRefs(DBRefEntry[] dbref) { dbrefs = dbref; } @Override - public DBRefEntry[] getDBRef() + public DBRefEntry[] getDBRefs() { if (dbrefs == null && datasetSequence != null && this != datasetSequence) { - return datasetSequence.getDBRef(); + return datasetSequence.getDBRefs(); } return dbrefs; } @@ -926,6 +931,7 @@ public class Sequence extends ASequence implements SequenceI @Override public void addDBRef(DBRefEntry entry) { + // TODO add to dataset sequence instead if there is one? if (dbrefs == null) { dbrefs = new DBRefEntry[0]; @@ -1076,8 +1082,8 @@ public class Sequence extends ASequence implements SequenceI datasetSequence.setDescription(getDescription()); setSequenceFeatures(null); // move database references onto dataset sequence - datasetSequence.setDBRef(getDBRef()); - setDBRef(null); + datasetSequence.setDBRefs(getDBRefs()); + setDBRefs(null); datasetSequence.setPDBId(getAllPDBEntries()); setPDBId(null); datasetSequence.updatePDBIds(); @@ -1252,7 +1258,7 @@ public class Sequence extends ASequence implements SequenceI } } // transfer database references - DBRefEntry[] entryRefs = entry.getDBRef(); + DBRefEntry[] entryRefs = entry.getDBRefs(); if (entryRefs != null) { for (int r = 0; r < entryRefs.length; r++) @@ -1352,4 +1358,16 @@ public class Sequence extends ASequence implements SequenceI return null; } + @Override + public void setSourceDBRef(DBRefEntryI dbRef) + { + this.sourceDBRef = dbRef; + } + + @Override + public DBRefEntryI getSourceDBRef() + { + return this.sourceDBRef; + } + }