/*
- * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
- * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.io.vamsas;
updateMapTo(mp);
}
}
- else
- {
- jalview.bin.Cache.log.debug("Ignoring mapless DbRef.Map "
- + jvobj.getSrcAccString());
- }
-
+ else
+ {
+ jalview.bin.Cache.log.debug("Ignoring mapless DbRef.Map "
+ + jvobj.getSrcAccString());
+ }
+
}
+
/**
- * ugly hack to try to get the embedded sequences within a database reference to be stored in the document's dataset.
+ * ugly hack to try to get the embedded sequences within a database reference
+ * to be stored in the document's dataset.
+ *
* @param mp
*/
private void updateMapTo(jalview.datamodel.Mapping mp)
{
log.info("Performing updateMapTo remove this message when we know what we're doing.");
- // TODO determine how sequences associated with database mappings are stored in the document
- if (mp!=null && mp.getTo() != null)
+ // TODO determine how sequences associated with database mappings are stored
+ // in the document
+ if (mp != null && mp.getTo() != null)
{
if (mp.getTo().getDatasetSequence() == null)
{
- // sync the dataset sequence, if it hasn't been done already.
- Datasetsequence dssync = new Datasetsequence(
- datastore, mp.getTo(),
- (mp.getMappedWidth() == mp.getWidth()) ? sequence
- .getDictionary()
- : ((mp.getMappedWidth() == 3) ? uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_AA
- : uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_NA),
- ds);
- // add a mapping between new dataset sequence and sequence associated with the database reference
-
- } else {
- log.debug("Ignoring non-dataset sequence mapping.");
+ // TODO: fix this hinky sh!t
+ DatastoreItem dssync = dsReg.getDatastoreItemFor(mp.getTo());
+ if (dssync == null)
+ {
+ // sync the dataset sequence, if it hasn't been done already.
+ // TODO: ensure real dataset sequence corresponding to getTo is
+ // recovered
+ dssync = new Datasetsequence(
+ datastore,
+ mp.getTo(),
+ (mp.getMappedWidth() == mp.getWidth()) ? sequence
+ .getDictionary()
+ : ((mp.getMappedWidth() == 3) ? uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_NA
+ : uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_AA),
+ ds);
+ }
+ //
+ // TODO: NOW add a mapping between new dataset sequence and sequence
+ // associated with the database reference
+
+ // dna mappings only...
+ // new jalview.io.vamsas.Sequencemapping(datastore, mp, sequence, ds);
+
}
+
+ }
+ else
+ {
+ log.debug("Ignoring non-dataset sequence mapping.");
}
}
+
public void updateFromDoc()
{
DbRef vobj = (DbRef) this.vobj;
}
jalview.datamodel.Mapping mp = new jalview.datamodel.Mapping(
parsemapType(vobj.getMap(0)));
- if (jvobj.getMap()==null || !mp.equals(jvobj.getMap()))
+ if (jvobj.getMap() == null || !mp.equals(jvobj.getMap()))
{
jvobj.setMap(mp);
}
}
}
-
+
public void conflict()
{
DbRef vobj = (DbRef) this.vobj;
dbref.setAccessionId(jvobj.getAccessionId());
dbref.setSource(jvobj.getSource());
dbref.setVersion(jvobj.getVersion());
+ sequence.addDbRef(dbref);
if (jvobj.getMap() != null)
{
jalview.datamodel.Mapping mp = jvobj.getMap();
Map vMap = new Map();
initMapType(vMap, mp.getMap(), true);
dbref.addMap(vMap);
+ updateMapTo(mp);
}
else
{
+ jvobj.getSrcAccString());
}
}
- sequence.addDbRef(dbref);
}
}