package jalview.datamodel;
import jalview.api.DBRefEntryI;
-import jalview.io.vamsas.Dbref;
import jalview.util.DBRefUtils;
import jalview.util.MapList;
public class DBRefEntry implements DBRefEntryI
{
- /*
- * the mapping to chromosome (genome) is held as an instance with
- * source = speciesId
- * version = assemblyId
- * accessionId = "chromosome:" + chromosomeId
- * map = mapping from sequence to reference assembly
- */
- public static final String CHROMOSOME = "chromosome";
-
- private String source = "";
+ String source = "";
private String version = "";
int sourceKey = Integer.MIN_VALUE;
String canonicalSourceName;
+
+ boolean isCanonicalAccession;
-
- /**
+ /*
* maps from associated sequence to the database sequence's coordinate system
*/
Mapping map = null;
{
}
-/**
- *
- * @param source may not be null
- * @param version may be null
- * @param accessionId may be null
- */
+
+ /**
+ *
+ * @param source
+ * may not be null
+ * @param version
+ * may be null
+ * @param accessionId
+ * may be null
+ */
public DBRefEntry(String source, String version, String accessionId)
{
- this(source, version, accessionId, null);
+ this(source, version, accessionId, null,false);
}
/**
*
* @param source
+ * may not be null
+ * @param version
+ * may be null
+ * @param accessionId
+ * may be null
+ */
+ public DBRefEntry(String source, String version, String accessionId, Mapping map)
+ {
+ this(source, version, accessionId, map,false);
+ }
+ /**
+ *
+ * @param source
* canonical source (turned to uppercase; cannot be null)
* @param version
* (source dependent version string or null)
* numbering or null)
*/
public DBRefEntry(String source, String version, String accessionId,
- Mapping map)
+ Mapping map,boolean isCanonical)
{
this.source = source.toUpperCase();
setVersion(version);
this.accessionId = accessionId;
this.map = map;
+ this.isCanonicalAccession=isCanonical;
}
/**
}
/**
- * Mappings to chromosome are held with accessionId as "chromosome:id"
- *
- * @return
- */
- public boolean isChromosome()
- {
- return accessionId != null && accessionId.startsWith(CHROMOSOME + ":");
- }
-
- /**
* stores the upper-case canonical name of the source for use in
* Sequence.getPrimaryDBRefs().
*
return (canonicalSourceName == null ? (canonicalSourceName = DBRefUtils.getCanonicalName(this.source)) : canonicalSourceName);
}
-
+ /**
+ *
+ * @param canonical
+ */
+ public void setCanonical(boolean canonical)
+ {
+ isCanonicalAccession = canonical;
+ }
+ /**
+ *
+ * @return true if this is the primary canonical accession for the database source
+ */
+ public boolean isCanonical()
+ {
+ // TODO Auto-generated method stub
+ return isCanonicalAccession;
+ }
}