import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ContactMatrix;
+import jalview.datamodel.ContactMatrixI;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.GeneLocus;
import jalview.datamodel.GraphLine;
import jalview.viewmodel.seqfeatures.FeatureRendererModel;
import jalview.viewmodel.seqfeatures.FeatureRendererSettings;
import jalview.viewmodel.seqfeatures.FeaturesDisplayed;
+import jalview.ws.datamodel.alphafold.PAEContactMatrix;
import jalview.ws.jws2.Jws2Discoverer;
import jalview.ws.jws2.dm.AAConSettings;
import jalview.ws.jws2.jabaws2.Jws2Instance;
import jalview.xml.binding.jalview.MapListType.MapListFrom;
import jalview.xml.binding.jalview.MapListType.MapListTo;
import jalview.xml.binding.jalview.Mapping;
+import jalview.xml.binding.jalview.MatrixType;
import jalview.xml.binding.jalview.NoValueColour;
import jalview.xml.binding.jalview.ObjectFactory;
import jalview.xml.binding.jalview.PcaDataType;
line.setColour(annotation.getThreshold().colour.getRGB());
an.setThresholdLine(line);
}
+ if (annotation.graph==AlignmentAnnotation.CONTACT_MAP)
+ {
+ if (annotation.sequenceRef.getContactMaps()!=null)
+ {
+ ContactMatrixI cm = annotation.sequenceRef.getContactMatrixFor(annotation);
+ if (cm!=null)
+ {
+ MatrixType xmlmat = new MatrixType();
+ xmlmat.setType(cm.getType());
+ xmlmat.setRows(BigInteger.valueOf(cm.getWidth()));
+ xmlmat.setCols(BigInteger.valueOf(cm.getHeight()));
+ xmlmat.setValue(ContactMatrix.contactToFloatString(cm));
+ an.getContactmatrix().add(xmlmat);
+ }
+ }
+ }
}
else
{
jaa.setProperty(prop.getName(), prop.getValue());
}
}
+ if (jaa.graph == AlignmentAnnotation.CONTACT_MAP)
+ {
+ if (annotation.getContactmatrix() != null
+ && annotation.getContactmatrix().size() > 0)
+ {
+ for (MatrixType xmlmat : annotation.getContactmatrix())
+ {
+ if (PAEContactMatrix.PAEMATRIX.equals(xmlmat.getType()))
+ {
+ if (!xmlmat.getRows().equals(xmlmat.getCols()))
+ {
+ Console.error("Can't handle non square PAE Matrices");
+ }
+ else
+ {
+ float[][] elements = ContactMatrix
+ .fromFloatStringToContacts(xmlmat.getValue(),
+ xmlmat.getCols().intValue(),
+ xmlmat.getRows().intValue());
+
+ PAEContactMatrix newpae = new PAEContactMatrix(
+ jaa.sequenceRef, elements);
+ jaa.sequenceRef.addContactListFor(jaa, newpae);
+ }
+ }
+ else
+ {
+ Console.error("Ignoring CONTACT_MAP annotation with type "
+ + xmlmat.getType());
+ }
+ }
+ }
+ }
+
if (jaa.autoCalculated)
{
autoAlan.add(new JvAnnotRow(i, jaa));