- final StringBuilder mappingDetails = new StringBuilder(128);
- mappingDetails.append(NEWLINE).append("PDB Sequence is :")
- .append(NEWLINE).append("Sequence = ")
- .append(maxChain.sequence.getSequenceAsString());
- mappingDetails.append(NEWLINE).append("No of residues = ")
- .append(maxChain.residues.size()).append(NEWLINE)
- .append(NEWLINE);
- PrintStream ps = new PrintStream(System.out)
- {
- @Override
- public void print(String x)
- {
- mappingDetails.append(x);
- }
-
- @Override
- public void println()
- {
- mappingDetails.append(NEWLINE);
- }
- };
-
- // mapWithNWAlignment();
- // mapWithSIFTS();
- maxAlignseq.printAlignment(ps);
-
- mappingDetails.append(NEWLINE).append("PDB start/end ");
- mappingDetails.append(String.valueOf(maxAlignseq.seq2start)).append(
- " ");
- mappingDetails.append(String.valueOf(maxAlignseq.seq2end));
- mappingDetails.append(NEWLINE).append("SEQ start/end ");
- // TODO JAL-1887 should be fixed from here
- mappingDetails.append(
- String.valueOf(maxAlignseq.seq1start + seq.getStart() - 1))
- .append(" ");
- mappingDetails.append(String.valueOf(maxAlignseq.seq1end
- + seq.getEnd() - 1));
-
- maxChain.makeExactMapping(maxAlignseq, seq);
- jalview.datamodel.Mapping sqmpping = maxAlignseq
- .getMappingFromS1(false);
- jalview.datamodel.Mapping omap = new jalview.datamodel.Mapping(
- sqmpping.getMap().getInverse());
- maxChain.transferRESNUMFeatures(seq, null);
-
- // allocate enough slots to store the mapping from positions in
- // sequence[s] to the associated chain
- int[][] mapping = new int[seq.findPosition(seq.getLength()) + 2][2];
- int resNum = -10000;
- int index = 0;
-
- do
- {
- Atom tmp = maxChain.atoms.elementAt(index);
- if (resNum != tmp.resNumber && tmp.alignmentMapping != -1)
- {
- resNum = tmp.resNumber;
- if (tmp.alignmentMapping >= -1)
- {
- // TODO (JAL-1836) address root cause: negative residue no in PDB
- // file
- mapping[tmp.alignmentMapping + 1][0] = tmp.resNumber;
- mapping[tmp.alignmentMapping + 1][1] = tmp.atomIndex;
- }
- }
-
- index++;
- } while (index < maxChain.atoms.size());