import jalview.analysis.AlignSeq;
import jalview.api.DBRefEntryI;
import jalview.datamodel.features.SequenceFeatures;
+import jalview.datamodel.features.SequenceFeaturesI;
import jalview.util.Comparison;
import jalview.util.DBRefUtils;
import jalview.util.MapList;
@Override
public synchronized boolean addSequenceFeature(SequenceFeature sf)
{
+ if (sf.getType() == null)
+ {
+ System.err.println("SequenceFeature type may not be null: "
+ + sf.toString());
+ return false;
+ }
+
if (sequenceFeatures == null && datasetSequence != null)
{
return datasetSequence.addSequenceFeature(sf);
}
@Override
+ public SequenceFeaturesI getFeatures()
+ {
+ return datasetSequence != null ? datasetSequence.getFeatures()
+ : sequenceFeatureStore;
+ }
+
+ @Override
public boolean addPDBId(PDBEntry entry)
{
if (pdbIds == null)
// move features and database references onto dataset sequence
dsseq.sequenceFeatures = sequenceFeatures;
sequenceFeatures = null;
+ dsseq.sequenceFeatureStore = sequenceFeatureStore;
+ sequenceFeatureStore = null;
dsseq.dbrefs = dbrefs;
dbrefs = null;
// TODO: search and replace any references to this sequence with
}
}
+ /**
+ * {@inheritDoc}
+ */
@Override
- public List<SequenceFeature> findFeatures(String type, int from, int to)
+ public List<SequenceFeature> findFeatures(int from, int to,
+ String... types)
{
if (datasetSequence != null)
{
- return datasetSequence.findFeatures(type, from, to);
+ return datasetSequence.findFeatures(from, to, types);
}
- return sequenceFeatureStore.findFeatures(from, to, type);
+ return sequenceFeatureStore.findFeatures(from, to, types);
}
}