- int commonrpositions[][] = new int[files.length][alignment.getWidth()];
- String isel[] = new String[files.length];
- String[] targetC = new String[files.length];
- String[] chainNames = new String[files.length];
- String[] atomSpec = new String[files.length];
- for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++)
- {
- StructureMapping[] mapping = getSsm().getMapping(files[pdbfnum]);
- // RACE CONDITION - getMapping only returns Jmol loaded filenames once
- // Jmol callback has completed.
- if (mapping == null || mapping.length < 1)
- {
- throw new Error(MessageManager.getString("error.implementation_error_chimera_getting_data"));
- }
- int lastPos = -1;
- final int seqCountForPdbFile = getSequence()[pdbfnum].length;
- for (int s = 0; s < seqCountForPdbFile; s++)
- {
- for (int sp, m = 0; m < mapping.length; m++)
- {
- final SequenceI theSequence = getSequence()[pdbfnum][s];
- if (mapping[m].getSequence() == theSequence
- && (sp = alignment.findIndex(theSequence)) > -1)
- {
- if (refStructure == -1)
- {
- refStructure = pdbfnum;
- }
- SequenceI asp = alignment.getSequenceAt(sp);
- for (int r = 0; r < matched.length; r++)
- {
- if (!matched[r])
- {
- continue;
- }
- matched[r] = false; // assume this is not a good site
- if (r >= asp.getLength())
- {
- continue;
- }