List<SequenceI[]> seqvectors = new ArrayList<SequenceI[]>();
for (PDBEntry pdb : pdbEntries)
{
- List<SequenceI> seqs = new ArrayList<SequenceI>();
+ List<SequenceI> choosenSeqs = new ArrayList<SequenceI>();
for (SequenceI sq : alignment.getSequences())
{
- Vector<PDBEntry> pdbs = sq.getDatasetSequence().getAllPDBEntries();
- if (pdbs == null)
+ Vector<PDBEntry> pdbRefEntries = sq.getDatasetSequence().getAllPDBEntries();
+ if (pdbRefEntries == null)
{
continue;
}
- for (PDBEntry p1 : pdbs)
+ for (PDBEntry pdbRefEntry : pdbRefEntries)
{
- if (p1.getId().equals(pdb.getId()))
+ if (pdbRefEntry.getId().equals(pdb.getId()))
{
- if (!seqs.contains(sq))
+ if (pdbRefEntry.getChainCode() != null
+ && pdb.getChainCode() != null)
{
- seqs.add(sq);
- continue;
+ if (pdbRefEntry.getChainCode().equalsIgnoreCase(
+ pdb.getChainCode())
+ && !choosenSeqs.contains(sq))
+ {
+ choosenSeqs.add(sq);
+ continue;
+ }
}
+ else
+ {
+ if (!choosenSeqs.contains(sq))
+ {
+ choosenSeqs.add(sq);
+ continue;
+ }
+ }
+
}
}
}
- seqvectors.add(seqs.toArray(new SequenceI[seqs.size()]));
+ seqvectors.add(choosenSeqs.toArray(new SequenceI[choosenSeqs.size()]));
}
return seqvectors.toArray(new SequenceI[seqvectors.size()][]);
}
*
* @param featureSettings
*/
+ @Override
public void applyFeaturesStyle(FeatureSettingsModelI featureSettings)
{
if (featureSettings == null)