import jalview.api.DBRefEntryI;
import jalview.datamodel.AlignmentI;
+import jalview.datamodel.DBRefEntry;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
import jalview.datamodel.features.SequenceFeaturesI;
updateListForFeature(sf);
}
}
- for (DBRefEntryI dbr : seq.getDBRefs())
+ if (seq.getDBRefs() != null)
{
- updateListForDbxref(dbr);
+ for (DBRefEntryI dbr : seq.getDBRefs())
+ {
+ updateListForDbxref(dbr);
+ }
}
}
}
ColumnCell cell = null;
if (col != null)
{
+ SequenceI dseq = seq;
+ while (dseq.getDatasetSequence() != null)
+ {
+ dseq = dseq.getDatasetSequence();
+ }
if (col == STRUCTURES_NUM)
{
- while (seq.getDatasetSequence() != null)
- {
- seq = seq.getDatasetSequence();
- }
- Vector pdbE = seq.getAllPDBEntries();
+ Vector pdbE = dseq.getAllPDBEntries();
if (pdbE == null)
{
return null;
}
if (col.featureTypeName != null)
{
- List<SequenceFeature> np = seq.getFeatures()
+ List<SequenceFeature> np = dseq.getFeatures()
.getNonPositionalFeatures(col.featureTypeName);
if (np != null)
{
for (SequenceFeature npfeat : np)
{
// nb deal with multiplicities!
- if (col.featureGroupName != null && npfeat.featureGroup != null
- && npfeat.featureGroup.equals(col.featureGroupName))
+ if (col.featureGroupName == null || (npfeat.featureGroup != null
+ && npfeat.featureGroup.equals(col.featureGroupName)))
{
Color fg = Color.black;
Color bg = Color.white;
}
if (col.DbRefName != null)
{
- for (DBRefEntryI dbr : seq.getDBRefs())
+ List<DBRefEntryI> refs = new ArrayList<DBRefEntryI>();
+ for (DBRefEntryI dbr : dseq.getDBRefs())
{
if (dbr.getSource().equals(col.DbRefName))
{
- return new ColumnCell(dbr.getAccessionId(), Color.black,
- Color.white);
+ refs.add(dbr);
}
}
+ if (refs.size()==0)
+ {
+ return null;
+ }
+ StringBuilder dbr = new StringBuilder();
+ dbr.append(refs.size());
+ for (DBRefEntryI ref : refs)
+ {
+ dbr.append(" "+ref.getAccessionId());
+ }
+ return new ColumnCell(dbr.toString(), Color.black, Color.white);
+
}
}
// no value for this sequence in given column