1 package jalview.io.vamsas;
3 import jalview.datamodel.DBRefEntry;
4 import jalview.datamodel.SequenceI;
5 import uk.ac.vamsas.objects.core.DbRef;
6 import uk.ac.vamsas.objects.core.Map;
7 import uk.ac.vamsas.objects.core.Sequence;
8 import jalview.io.VamsasAppDatastore;
10 public class Dbref extends Rangetype
12 jalview.datamodel.SequenceI sq = null;
13 uk.ac.vamsas.objects.core.Sequence sequence = null;
15 DBRefEntry dbentry=null;
16 public Dbref(VamsasAppDatastore datastore, DBRefEntry dbentry, jalview.datamodel.SequenceI sq2, uk.ac.vamsas.objects.core.Sequence sequence2)
19 dbref = (DbRef) getjv2vObj(dbentry);
22 this.dbentry = dbentry;
27 if (dbref.isUpdated())
38 public Dbref(VamsasAppDatastore datastore, DbRef ref, Sequence vdseq, SequenceI dsseq)
44 dbentry = (jalview.datamodel.DBRefEntry) getvObj2jv(dbref);
49 if (dbref.isUpdated())
58 // TODO: verify and update dbrefs in vamsas document
59 // there will be trouble when a dataset sequence is modified to
60 // contain more residues than were originally referenced - we must
61 // then make a number of dataset sequence entries - this info is already stored
62 jalview.bin.Cache.log.debug("TODO verify update of dataset sequence database references.");
65 private void conflict()
67 jalview.bin.Cache.log.debug("Conflict in dbentry update for "+dbref.getAccessionId()+dbref.getSource()+" "+dbref.getVorbaId());
68 // TODO Auto-generated method stub
71 private void addFromDocument()
74 sq.addDBRef(dbentry = new jalview.datamodel.DBRefEntry
76 dbref.getSource().toString(),
77 dbref.getVersion().toString(),
78 dbref.getAccessionId().toString()));
79 if (dbref.getMapCount()>0)
81 // TODO: Jalview ignores all the other maps
82 if (dbref.getMapCount()>1)
84 jalview.bin.Cache.log.debug("Ignoring additional mappings on DbRef: "+dbentry.getSource()+":"+dbentry.getAccessionId());
86 jalview.datamodel.Mapping mp = new jalview.datamodel.Mapping(parsemapType(dbref.getMap(0)));
89 // TODO: jalview ignores links and properties because it doesn't know what to do with them.
91 bindjvvobj(dbentry, dbref);
95 DbRef dbref = new DbRef();
96 bindjvvobj(dbentry, dbref);
97 dbref.setAccessionId(dbentry.getAccessionId());
98 dbref.setSource(dbentry.getSource());
99 dbref.setVersion(dbentry.getVersion());
100 if (dbentry.getMap()!=null)
102 jalview.datamodel.Mapping mp = dbentry.getMap();
103 if (mp.getMap()!=null)
105 Map vMap = new Map();
106 initMapType(vMap, mp.getMap(), true);
109 jalview.bin.Cache.log.debug("Ignoring mapless DbRef.Map "+dbentry.getSrcAccString());
112 sequence.addDbRef(dbref);