+
+ public AlignmentAnnotation[] transferResidueAnnotation(SequenceI seq,
+ String status)
+ {
+ AlignmentAnnotation[] transferred = null;
+
+ return transferred;
+
+ }
+
+ /**
+ * copy any sequence annotation onto the sequence mapped using the provided
+ * StructureMapping
+ *
+ * @param mapping
+ */
+ public void transferResidueAnnotation(StructureMapping mapping)
+ {
+ SequenceI sq = mapping.getSequence();
+ if (sq != null)
+ {
+ if (sequence != null && sequence.getAnnotation() != null)
+ {
+
+ }
+ 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++)
+ {
+ int prn = mapping.getPDBResNum(k + 1);
+
+ an[k] = new Annotation((float) prn);
+ if (min == -1)
+ {
+ min = k;
+ max = k;
+ }
+ else
+ {
+ if (min > k)
+ {
+ min = k;
+ }
+ else if (max < k)
+ {
+ max = k;
+ }
+ }
+ }
+ sq
+ .addAlignmentAnnotation(new AlignmentAnnotation("PDB.RESNUM",
+ "PDB Residue Numbering for " + this.pdbid + ":"
+ + this.id, an, (float) min, (float) max,
+ AlignmentAnnotation.LINE_GRAPH));
+ }
+ }