+ if (!mappings.contains(sm))
+ {
+ mappings.add(sm);
+ }
+ }
+
+ /**
+ * retrieve a mapping for seq from SIFTs using associated DBRefEntry for
+ * uniprot or PDB
+ *
+ * @param seq
+ * @param pdbFile
+ * @param targetChainId
+ * @param pdb
+ * @param maxChain
+ * @param sqmpping
+ * @param maxAlignseq
+ * @param siftsClient
+ * client for retrieval of SIFTS mappings for this structure
+ * @return
+ * @throws SiftsException
+ */
+ private StructureMapping getStructureMapping(SequenceI seq,
+ String pdbFile, String targetChainId, StructureFile pdb,
+ PDBChain maxChain, jalview.datamodel.Mapping sqmpping,
+ AlignSeq maxAlignseq, SiftsClient siftsClient) throws SiftsException
+ {
+ StructureMapping curChainMapping = siftsClient
+ .getSiftsStructureMapping(seq, pdbFile, targetChainId);
+ try
+ {
+ PDBChain chain = pdb.findChain(targetChainId);
+ if (chain != null)
+ {
+ chain.transferResidueAnnotation(curChainMapping, null);
+ }
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return curChainMapping;
+ }
+
+ private StructureMapping getNWMappings(SequenceI seq, String pdbFile,
+ String maxChainId, PDBChain maxChain, StructureFile pdb,
+ AlignSeq maxAlignseq)
+ {
+ final StringBuilder mappingDetails = new StringBuilder(128);
+ mappingDetails.append(NEWLINE)
+ .append("Sequence \u27f7 Structure mapping details");
+ mappingDetails.append(NEWLINE);
+ mappingDetails
+ .append("Method: inferred with Needleman & Wunsch alignment");
+ 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);
+ }
+ };
+