import jalview.datamodel.MappingType;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
-import jalview.ext.ensembl.EnsemblSeqProxy;
import jalview.util.MapList;
import jalview.util.StringUtils;
String atts = gff[ATTRIBUTES_COL];
Map<String, List<String>> attributes = parseNameValuePairs(atts);
- if (SequenceOntology.getInstance().isProteinMatch(soTerm))
+ SequenceOntologyI so = SequenceOntologyFactory.getInstance();
+ if (so.isA(soTerm, SequenceOntologyI.PROTEIN_MATCH))
{
- sf = processProteinMatch(attributes, seq, gff, align,
- newseqs, relaxedIdMatching);
+ sf = processProteinMatch(attributes, seq, gff, align, newseqs,
+ relaxedIdMatching);
}
- else if (SequenceOntology.getInstance().isNucleotideMatch(soTerm))
+ else if (so.isA(soTerm, SequenceOntologyI.NUCLEOTIDE_MATCH))
{
sf = processNucleotideMatch(attributes, seq, gff, align,
newseqs, relaxedIdMatching);
desc = target.split(" ")[0];
}
- SequenceOntology so = SequenceOntology.getInstance();
+ SequenceOntologyI so = SequenceOntologyFactory.getInstance();
String type = sf.getType();
- if (so.isSequenceVariant(type))
+ if (so.isA(type, SequenceOntologyI.SEQUENCE_VARIANT))
{
/*
* Ensembl returns dna variants as 'alleles'
* extract 'Name' for a transcript (to show gene name)
* or an exon (so 'colour by label' shows exon boundaries)
*/
- if (EnsemblSeqProxy.isTranscript(type)
- || so.isA(type, SequenceOntology.EXON))
+ if (SequenceOntologyI.NMD_TRANSCRIPT_VARIANT.equals(type)
+ || so.isA(type, SequenceOntologyI.TRANSCRIPT)
+ || so.isA(type, SequenceOntologyI.EXON))
{
desc = StringUtils.listToDelimitedString(attributes.get("Name"), ",");
}
+
+ /*
+ * if the above fails, try ID
+ */
+ if (desc == null)
+ {
+ desc = (String) sf.getValue(ID);
+ }
+
return desc;
}
}