/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
{
return StructureSelectionManager.getStructureSelectionManager(Desktop.instance);
}
+
+ /**
+ *
+ * @param pdbEntries
+ * @return a series of SequenceI arrays, one for each PDBEntry, listing which sequence in the alignment holds a reference to it
+ */
+ public SequenceI[][] collateForPDB(PDBEntry[] pdbEntries)
+ {
+ ArrayList<SequenceI[]> seqvectors = new ArrayList<SequenceI[]>();
+ for (PDBEntry pdb: pdbEntries) {
+ ArrayList<SequenceI> seqs = new ArrayList<SequenceI>();
+ for (int i = 0; i < alignment.getHeight(); i++)
+ {
+ Vector pdbs = alignment.getSequenceAt(i)
+ .getDatasetSequence().getPDBId();
+ if (pdbs == null)
+ continue;
+ SequenceI sq;
+ for (int p = 0; p < pdbs.size(); p++)
+ {
+ PDBEntry p1 = (PDBEntry) pdbs.elementAt(p);
+ if (p1.getId().equals(pdb.getId()))
+ {
+ if (!seqs.contains(sq=alignment.getSequenceAt(i)))
+ seqs.add(sq);
+
+ continue;
+ }
+ }
+ }
+ seqvectors.add(seqs.toArray(new SequenceI[seqs.size()]));
+ }
+ return seqvectors.toArray(new SequenceI[seqvectors.size()][]);
+ }
}