- // locate tempId. if it exists, will need to merge, otherwise:
- SequenceI templateSeq = al.findName(tempId);
- // 1. load urlToModel
- modelPath = resolveAbsolute(urlToModel);
- modelProt = AppletFormatAdapter.checkProtocol(modelPath);
- // need to transfer to local temp file ?
- PDBEntry modelpe = new PDBEntry(tempId, null, Type.FILE, modelPath);
- PDBEntry templpe = new PDBEntry(tempId, null, Type.FILE, modelPath);
- refSeq2.addPDBId(modelpe);
- aliPath = resolveAbsolute(urlToPairwise);
- aliProt = AppletFormatAdapter.checkProtocol(aliPath);
- // 2. load urlToPairwise
- AlignmentI pwa = new AppletFormatAdapter().readFile(aliPath, aliProt,
- FileFormat.Fasta);
- SequenceI qPw = null, tPw = null;
- if (pwa != null)
- {
- // resolve query/template sequences in provided alignment
- qPw = pwa.findName(refSeqId);
- tPw = pwa.findName(tempId);
- }
- if (false)
- // (qPw != null && tPw != null)
- {
- // not yet complete
- // refalQ vvva--addrvvvtttddd
- // refalT ---aaaa---sss---ddd
- // profalQ ---v-v-v-a.-.-a---dd--r--vvvtt--td--dd
- // profalT ---.-.-.-aa-a-a---..--.--sss..--.d--dd
- // Pragmatic solution here:
- // Map templpe onto refalT only where refalT and refalQ are both
- // non-gaps
-
- // columns for start..end in refSeq2
- int[] gapMap = refSeq2.gapMap();
- // insert gaps in tPw
- int curi = 0, width = refSeq2.getLength();
- // TBC
- }
- else
- {
- // assume 1:1 - so synthesise sequences to use to construct mapping
- StructureFile pdbf = StructureSelectionManager
- .getStructureSelectionManager().setMapping(false,
- new SequenceI[] { refSeq2.getDatasetSequence() },
- null, modelPath, modelProt);
- refSeq2.getDatasetSequence().addPDBId(modelpe);
- if (templateSeq == null && tPw != null)
- {
- tPw.createDatasetSequence();
- tPw.getDatasetSequence().addPDBId(templpe); // needs to set mapping based on model yet...
- al.addSequence(tPw);
- added = true;
- }
- }
- // 3. pad/insert gaps in urlToPairwise according to gaps already present in
- // refSeq2
- // 4. add padded tempId sequence to alignment
- // 4. associate urlToModel with refSeq2 based on position map provided by
- // urlToPairwise
- // 5. associate urlToModel with tempId based on position map provided by
- // urlToPairwise
- // start a thread to load urlToModel and process/annotate sequences.
- } catch (IOException x)
+ String pdbFile = baseUri + tempId;
+ PDBEntry phyre2PDBEntry = new PDBEntry(tempId, null, Type.FILE,
+ pdbFile);
+ refSeq.getDatasetSequence().addPDBId(phyre2PDBEntry);
+ String phyre2ModelDesc = generatePhyre2InfoHTMLTable(aRange,
+ coverage, confidence, pid, otherInfo);
+ refSeq.setDescription(phyre2ModelDesc);
+ StructureSelectionManager ssm = StructureSelectionManager
+ .getStructureSelectionManager(Desktop.instance);
+ ssm.registerPhyre2Template(pdbFile);
+ added = true;
+
+ } catch (Exception x)