- StructureMapping curChainMapping = siftsClient
- .getSiftsStructureMapping(seq, pdbFile, targetChainId);
- seqToStrucMapping.add(curChainMapping);
- maxChainId = targetChainId;
- PDBChain chain = pdb.findChain(targetChainId);
- if (chain != null)
+ // fall back to NW alignment
+ System.err.println(e.getMessage());
+ StructureMapping nwMapping = getNWMappings(seq, pdbFile,
+ targetChainId, maxChain, pdb, maxAlignseq);
+ seqToStrucMapping.add(nwMapping);
+ maxChain.makeExactMapping(maxAlignseq, seq);
+ maxChain.transferRESNUMFeatures(seq, null); // FIXME: is this
+ // "IEA:Jalview" ?
+ maxChain.transferResidueAnnotation(nwMapping, sqmpping);
+ ds.addPDBId(maxChain.sequence.getAllPDBEntries().get(0));
+ }
+ }
+ else
+ {
+ List<StructureMapping> foundSiftsMappings = new ArrayList<>();
+ for (PDBChain chain : pdb.getChains())
+ {
+ try
+ {
+ StructureMapping siftsMapping = getStructureMapping(seq,
+ pdbFile, chain.id, pdb, chain, sqmpping, maxAlignseq);
+ foundSiftsMappings.add(siftsMapping);
+ } catch (SiftsException e)