- return viewStructures(getViewerType(), pdbs, seqsForPdbs, ap);
+
+ ViewerType viewerType = getViewerType();
+
+ // old way:
+ // PDBEntry[] pdbsForFile = getUniquePdbFiles(pdbs);
+
+ // new way:
+ Map<PDBEntry, SequenceI[]> seqsForPdb = getSequencesForPdbs(pdbs,
+ seqsForPdbs);
+ PDBEntry[] pdbsForFile = seqsForPdb.keySet().toArray(
+ new PDBEntry[seqsForPdb.size()]);
+ SequenceI[][] theSeqs = seqsForPdb.values().toArray(
+ new SequenceI[seqsForPdb.size()][]);
+ JalviewStructureDisplayI sview = null;
+ if (viewerType.equals(ViewerType.JMOL))
+ {
+ sview = new AppJmol(ap, pdbsForFile, theSeqs);
+ // ap.av.collateForPDB(pdbsForFile));
+ }
+ else if (viewerType.equals(ViewerType.CHIMERA))
+ {
+ sview = new ChimeraViewFrame(pdbsForFile, theSeqs, ap);
+ // ap.av.collateForPDB(pdbsForFile), ap);
+ }
+ else
+ {
+ Cache.log.error("Unknown structure viewer type "
+ + getViewerType().toString());
+ }
+ return sview;