X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fmc_view%2FPDBChain.java;h=2970ccf05e136b2b3a04a9d5f2a19e62c7b8ae55;hb=b4151f8875efd004ab1b4c9501ae8a5b265a36c4;hp=dc2536891665f850e77fb04578714534bcc2ad32;hpb=2260a3ddeaf260a591ba32ad6b3f162583a6d3c6;p=jalview.git diff --git a/src/mc_view/PDBChain.java b/src/mc_view/PDBChain.java index dc25368..2970ccf 100755 --- a/src/mc_view/PDBChain.java +++ b/src/mc_view/PDBChain.java @@ -28,6 +28,7 @@ import java.util.Vector; import jalview.analysis.AlignSeq; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.Annotation; +import jalview.datamodel.ContactMatrixI; import jalview.datamodel.Mapping; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; @@ -38,6 +39,7 @@ import jalview.schemes.ResidueProperties; import jalview.structure.StructureImportSettings; import jalview.structure.StructureMapping; import jalview.util.Comparison; +import jalview.ws.datamodel.MappableContactMatrixI; public class PDBChain { @@ -81,7 +83,7 @@ public class PDBChain public String pdbid = ""; AnnotationRowBuilder tfacTemplate = new AnnotationRowBuilder( - "TemperatureFactor"); + "Temperature Factor"); public PDBChain(String thePdbid, String theId, AnnotationRowBuilder template) @@ -535,6 +537,7 @@ public class PDBChain ? tfacTemplate.getDescription() : tfacTemplate.getName()) + " for " + pdbid + id, annots, min, max, AlignmentAnnotation.LINE_GRAPH); + tfactorann.setTFType(tfacTemplate.getTFType()); tfactorann.setCalcId(getClass().getName()); tfactorann.setSequenceRef(sequence); @@ -664,10 +667,16 @@ public class PDBChain ana.getCalcId(), ana.label, ana.description); if (transfer == null || transfer.size() == 0) { + ContactMatrixI cm = shadow.getContactMatrixFor(ana); ana = new AlignmentAnnotation(ana); + // TODO map contact matrix under mapping ana.liftOver(sequence, shadowMap); ana.liftOver(dsq, sqmpping); dsq.addAlignmentAnnotation(ana); + if (cm != null) + { + dsq.addContactListFor(ana, cm); + } } else { @@ -688,10 +697,15 @@ public class PDBChain ana.description); if (transfer == null || transfer.size() == 0) { + ContactMatrixI cm = sequence.getContactMatrixFor(ana); ana = new AlignmentAnnotation(ana); ana.liftOver(dsq, sqmpping); dsq.addAlignmentAnnotation(ana); - // mapping.transfer(ana); + if (cm != null && cm instanceof MappableContactMatrixI) + { + dsq.addContactListFor(ana, ((MappableContactMatrixI) cm) + .liftOver(dsq, sqmpping)); + } } else { @@ -705,8 +719,8 @@ public class PDBChain // Useful for debugging mappings - adds annotation for mapped position float min = -1, max = 0; Annotation[] an = new Annotation[sq.getEnd() - sq.getStart() + 1]; - for (int i = sq.getStart(), j = sq.getEnd(), - k = 0; i <= j; i++, k++) + for (int i = sq.getStart(), j = sq + .getEnd(), k = 0; i <= j; i++, k++) { int prn = mapping.getPDBResNum(k + 1);