import java.util.IdentityHashMap;
import java.util.Vector;
-import org.vamsas.client.Vobject;
-import org.vamsas.client.VorbaId;
-import org.vamsas.objects.core.Alignment;
-import org.vamsas.objects.core.AlignmentSequence;
-import org.vamsas.objects.core.AlignmentSequenceAnnotation;
-import org.vamsas.objects.core.AnnotationElement;
-import org.vamsas.objects.core.DataSet;
-import org.vamsas.objects.core.DataSetAnnotations;
-import org.vamsas.objects.core.DbRef;
-import org.vamsas.objects.core.Entry;
-import org.vamsas.objects.core.Glyph;
-import org.vamsas.objects.core.Input;
-import org.vamsas.objects.core.Link;
-import org.vamsas.objects.core.Newick;
-import org.vamsas.objects.core.Param;
-import org.vamsas.objects.core.Property;
-import org.vamsas.objects.core.Provenance;
-import org.vamsas.objects.core.RangeAnnotation;
-import org.vamsas.objects.core.RangeType;
-import org.vamsas.objects.core.Seg;
-import org.vamsas.objects.core.Sequence;
-import org.vamsas.objects.core.Tree;
-import org.vamsas.objects.core.VAMSAS;
-import org.vamsas.test.simpleclient.ClientDoc;
+import uk.ac.vamsas.client.Vobject;
+import uk.ac.vamsas.client.VorbaId;
+import uk.ac.vamsas.objects.core.Alignment;
+import uk.ac.vamsas.objects.core.AlignmentSequence;
+import uk.ac.vamsas.objects.core.AlignmentSequenceAnnotation;
+import uk.ac.vamsas.objects.core.AnnotationElement;
+import uk.ac.vamsas.objects.core.DataSet;
+import uk.ac.vamsas.objects.core.DataSetAnnotations;
+import uk.ac.vamsas.objects.core.DbRef;
+import uk.ac.vamsas.objects.core.Entry;
+import uk.ac.vamsas.objects.core.Glyph;
+import uk.ac.vamsas.objects.core.Input;
+import uk.ac.vamsas.objects.core.Link;
+import uk.ac.vamsas.objects.core.Newick;
+import uk.ac.vamsas.objects.core.Param;
+import uk.ac.vamsas.objects.core.Property;
+import uk.ac.vamsas.objects.core.Provenance;
+import uk.ac.vamsas.objects.core.RangeAnnotation;
+import uk.ac.vamsas.objects.core.RangeType;
+import uk.ac.vamsas.objects.core.Seg;
+import uk.ac.vamsas.objects.core.Sequence;
+import uk.ac.vamsas.objects.core.Tree;
+import uk.ac.vamsas.objects.core.VAMSAS;
+import uk.ac.vamsas.test.simpleclient.ClientDoc;
/*
*
* @param vobj
* @return Jalview datamodel object bound to the vamsas document object
*/
- protected Object getvObj2jv(org.vamsas.client.Vobject vobj)
+ protected Object getvObj2jv(uk.ac.vamsas.client.Vobject vobj)
{
VorbaId id = vobj.getVorbaId();
if (id == null)
return null;
}
- protected void bindjvvobj(Object jvobj, org.vamsas.client.Vobject vobj)
+ protected void bindjvvobj(Object jvobj, uk.ac.vamsas.client.Vobject vobj)
{
VorbaId id = vobj.getVorbaId();
if (id == null)
// this *will* break when alignment contains both nucleotide and amino
// acid sequences.
String dict = jal.isNucleotide() ?
- org.vamsas.objects.utils.SymbolDictionary.STANDARD_NA
- : org.vamsas.objects.utils.SymbolDictionary.STANDARD_AA;
+ uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_NA
+ : uk.ac.vamsas.objects.utils.SymbolDictionary.STANDARD_AA;
for (int i = 0; i < jal.getHeight(); i++)
{
SequenceI sq = jal.getSequenceAt(i).getDatasetSequence(); // only insert
else
{
// todo: verify and update mutable alignment props.
- if (alignment.getModifiable())
+ if (alignment.getModifiable()==null) // TODO: USE VAMSAS LIBRARY OBJECT LOCK METHODS
{
System.out.println("update alignment in document.");
}
}
if (aa[i].sequenceRef != null)
{
- org.vamsas.objects.core.AlignmentSequence alsref = (org.vamsas.
+ uk.ac.vamsas.objects.core.AlignmentSequence alsref = (uk.ac.vamsas.
objects.core.AlignmentSequence) getjv2vObj(aa[i].sequenceRef);
- org.vamsas.objects.core.AlignmentSequenceAnnotation an = (org.
+ uk.ac.vamsas.objects.core.AlignmentSequenceAnnotation an = (uk.ac.
vamsas.objects.core.AlignmentSequenceAnnotation) getjv2vObj(aa[
i]);
int[] gapMap = null;
}
if (an == null)
{
- an = new org.vamsas.objects.core.AlignmentSequenceAnnotation();
+ an = new uk.ac.vamsas.objects.core.AlignmentSequenceAnnotation();
Seg vSeg = new Seg();
vSeg.setStart(1);
vSeg.setInclusive(true);
// we only write an annotation where it really exists.
Glyph ss = new Glyph();
ss
- .setDict(org.vamsas.objects.utils.GlyphDictionary.
+ .setDict(uk.ac.vamsas.objects.utils.GlyphDictionary.
PROTEIN_SS_3STATE);
ss.setContent(String
.valueOf(aa[i].annotations[a].
else
{
// update reference sequence Annotation
- if (an.getModifiable())
+ if (an.getModifiable()==null) // TODO: USE VAMSAS LIBRARY OBJECT LOCK METHODS)
{
// verify existing alignment sequence annotation is up to date
System.out.println("update alignment sequence annotation.");
else
{
// add Alignment Annotation
- org.vamsas.objects.core.AlignmentAnnotation an = (org.vamsas.
+ uk.ac.vamsas.objects.core.AlignmentAnnotation an = (uk.ac.vamsas.
objects.core.AlignmentAnnotation) getjv2vObj(aa[i]);
if (an == null)
{
- an = new org.vamsas.objects.core.AlignmentAnnotation();
+ an = new uk.ac.vamsas.objects.core.AlignmentAnnotation();
an.setType("jalview:AnnotationRow");
an.setDescription(aa[i].description);
alignment.addAlignmentAnnotation(an);
{
Glyph ss = new Glyph();
ss
- .setDict(org.vamsas.objects.utils.GlyphDictionary.
+ .setDict(uk.ac.vamsas.objects.utils.GlyphDictionary.
PROTEIN_SS_3STATE);
ss.setContent(String
.valueOf(aa[i].annotations[a].
if (aa[i].editable)
{
//an.addProperty(newProperty("jalview:editable", null, "true"));
- an.setModifiable(true);
+ // an.setModifiable(""); // TODO: This is not the way the modifiable flag is supposed to be used.
}
if (aa[i].graph != jalview.datamodel.AlignmentAnnotation.NO_GRAPH)
{
}
else
{
- if (an.getModifiable())
+ if (an.getModifiable()==null) // TODO: USE VAMSAS LIBRARY OBJECT LOCK METHODS)
{
// verify annotation - update (perhaps)
Cache.log.info(
}
else
{
- if (tree.getModifiable())
+ if (tree.getModifiable()==null) // TODO: USE VAMSAS LIBRARY OBJECT LOCK METHODS)
{
// verify any changes.
System.out.println("Update tree in document.");
}
// LATER: deal sensibly with multiple inputs.
Input vInput = tp.getEntry(pe).getInput(0);
- if (vInput.getObjRef() instanceof org.vamsas.objects.core.Alignment)
+ if (vInput.getObjRef() instanceof uk.ac.vamsas.objects.core.Alignment)
{
// recover an AlignmentView for the input data
- AlignViewport javport = (AlignViewport) getvObj2jv( (org.vamsas.
+ AlignViewport javport = (AlignViewport) getvObj2jv( (uk.ac.vamsas.
client.Vobject) vInput
.getObjRef());
jalview.datamodel.AlignmentI jal = javport.getAlignment();
dsseq = new jalview.datamodel.Sequence(
dataset.getSequence(i).getName(),
dataset.getSequence(i).getSequence(),
- dataset.getSequence(i).getStart(),
- dataset.getSequence(i).getEnd());
+ (int)dataset.getSequence(i).getStart(),
+ (int)dataset.getSequence(i).getEnd());
dsseq.setDescription(dataset.getSequence(i).getDescription());
bindjvvobj(dsseq, dataset.getSequence(i));
dsseq.setVamsasId(dataset.getSequence(i).getVorbaId().getId());
for (int al = 0, nal = dataset.getAlignmentCount(); al < nal; al++)
{
- org.vamsas.objects.core.Alignment alignment = dataset.getAlignment(
+ uk.ac.vamsas.objects.core.Alignment alignment = dataset.getAlignment(
al);
AlignViewport av = (AlignViewport) getvObj2jv(alignment);
jalview.datamodel.AlignmentI jal = null;
alseq = new jalview.datamodel.Sequence(
valseq.getName(),
valseq.getSequence().replace(valGapchar, gapChar),
- valseq.getStart(),
- valseq.getEnd());
+ (int)valseq.getStart(),
+ (int)valseq.getEnd());
Vobject datsetseq = (Vobject) valseq.getRefid();
if (datsetseq != null)
else
{
// update existing annotation - can do this in place
- if (vasannot[a].getModifiable())
+ if (vasannot[a].getModifiable()==null) // TODO: USE VAMSAS LIBRARY OBJECT LOCK METHODS)
{
Cache.log.info(
"UNIMPLEMENTED: not recovering user modifiable sequence alignment annotation");
// ////////////////////////////////////
if (alignment.getAlignmentAnnotationCount() > 0)
{
- org.vamsas.objects.core.AlignmentAnnotation[] an = alignment.
+ uk.ac.vamsas.objects.core.AlignmentAnnotation[] an = alignment.
getAlignmentAnnotation();
for (int j = 0; j < an.length; j++)
// jan.update(getjAlignmentAnnotation(jal, an[a])); // update from another annotation object in place.
Cache.log.debug("update from vamsas alignment annotation to existing jalview alignment annotation.");
- if (an[j].getModifiable())
+ if (an[j].getModifiable()==null) // TODO: USE VAMSAS LIBRARY OBJECT LOCK METHODS)
{
// TODO: user defined annotation is totally mutable... - so load it up or throw away if locally edited.
Cache.log.info(
* @param annotation
* @return { boolean[static int constants ], int[ae.length] - map to annotated object frame, jalview.datamodel.Annotation[], jalview.datamodel.Annotation[] (after)}
*/
- private Object[] parseRangeAnnotation(org.vamsas.objects.core.RangeAnnotation
+ private Object[] parseRangeAnnotation(uk.ac.vamsas.objects.core.RangeAnnotation
annotation)
{
// set these attributes by looking in the annotation to decide what kind of alignment annotation rows will be made
AnnotationElement ae[] = annotation.getAnnotationElement();
for (int aa = 0; aa < ae.length; aa++)
{
- int pos = ae[aa].getPosition() - 1; // pos counts from 1 to (|seg.start-seg.end|+1)
+ int pos = (int) ae[aa].getPosition() - 1; // pos counts from 1 to (|seg.start-seg.end|+1)
if (pos >= 0 && pos < rangeMap.length)
{
int row = ae[aa].getAfter() ? 1 : 0;
Glyph[] glyphs = ae[aa].getGlyph();
for (int g = 0; g < glyphs.length; g++)
{
- if (glyphs[g].getDict().equals(org.vamsas.objects.utils.
+ if (glyphs[g].getDict().equals(uk.ac.vamsas.objects.utils.
GlyphDictionary.PROTEIN_SS_3STATE))
{
ss = glyphs[g].getContent();
AeContent[HASSECSTR] = true;
}
- else if (glyphs[g].getDict().equals(org.vamsas.objects.utils.
+ else if (glyphs[g].getDict().equals(uk.ac.vamsas.objects.utils.
GlyphDictionary.
PROTEIN_HD_HYDRO))
{
c == '-' ? 255 : 0);
}
- else if (glyphs[g].getDict().equals(org.vamsas.objects.utils.
+ else if (glyphs[g].getDict().equals(uk.ac.vamsas.objects.utils.
GlyphDictionary.DEFAULT))
{
dc = glyphs[g].getContent();
*/
private jalview.datamodel.AlignmentAnnotation getjAlignmentAnnotation(jalview.
datamodel.AlignmentI jal,
- org.vamsas.objects.core.RangeAnnotation annotation)
+ uk.ac.vamsas.objects.core.RangeAnnotation annotation)
{
jalview.datamodel.AlignmentAnnotation jan = null;
if (annotation == null)
{
return null;
}
- // boolean hasSequenceRef=annotation.getClass().equals(org.vamsas.objects.core.AlignmentSequenceAnnotation.class);
- //boolean hasProvenance=hasSequenceRef || (annotation.getClass().equals(org.vamsas.objects.core.AlignmentAnnotation.class));
+ // boolean hasSequenceRef=annotation.getClass().equals(uk.ac.vamsas.objects.core.AlignmentSequenceAnnotation.class);
+ //boolean hasProvenance=hasSequenceRef || (annotation.getClass().equals(uk.ac.vamsas.objects.core.AlignmentAnnotation.class));
/*int se[] = getBounds(annotation);
if (se==null)
se=new int[] {0,jal.getWidth()-1};
parsedRangeAnnotation[2];
boolean[] has = (boolean[]) parsedRangeAnnotation[0];
// VAMSAS: getGraph is only on derived annotation for alignments - in this way its 'odd' - there is already an existing TODO about removing this flag as being redundant
- /*if ((annotation.getClass().equals(org.vamsas.objects.core.AlignmentAnnotation.class) && ((org.vamsas.objects.core.AlignmentAnnotation)annotation).getGraph())
- || (hasSequenceRef=true && ((org.vamsas.objects.core.AlignmentSequenceAnnotation)annotation).getGraph())) {
+ /*if ((annotation.getClass().equals(uk.ac.vamsas.objects.core.AlignmentAnnotation.class) && ((uk.ac.vamsas.objects.core.AlignmentAnnotation)annotation).getGraph())
+ || (hasSequenceRef=true && ((uk.ac.vamsas.objects.core.AlignmentSequenceAnnotation)annotation).getGraph())) {
*/
if (has[HASVALS])
{
Cache.log.warn("Ignoring " + annotation.getLinkCount() +
"links added to AlignmentAnnotation.");
}
- if (annotation.getModifiable())
+ if (annotation.getModifiable()==null) // TODO: USE VAMSAS LIBRARY OBJECT LOCK METHODS)
{
jan.editable = true;
}
if (annotation.getPropertyCount() > 0)
{
// look for special jalview properties
- org.vamsas.objects.core.Property[] props = annotation.getProperty();
+ uk.ac.vamsas.objects.core.Property[] props = annotation.getProperty();
for (int p = 0; p < props.length; p++)
{
if (props[p].getName().equalsIgnoreCase("jalview:graphType"))