X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FPdb.java;h=b8ab8eda8e9de45ee1087c5713fc2401014b348e;hb=6fb502e4a8749d1d98f5442c3b8156ab47996b77;hp=219008d4567769932b154083dcb8ffefeec6b840;hpb=5730402f9459bf91e9eab40755433bc7c85a326d;p=jalview.git diff --git a/src/jalview/ws/dbsources/Pdb.java b/src/jalview/ws/dbsources/Pdb.java index 219008d..b8ab8ed 100644 --- a/src/jalview/ws/dbsources/Pdb.java +++ b/src/jalview/ws/dbsources/Pdb.java @@ -23,6 +23,8 @@ import jalview.datamodel.DBRefSource; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; +import java.util.ArrayList; +import java.util.List; import java.util.Vector; import MCview.PDBChain; @@ -133,6 +135,7 @@ public class Pdb extends EbiFileRetrievedProxy implements DbSourceProxy jalview.io.AppletFormatAdapter.FILE, "PDB"); if (pdbfile != null) { + List toremove=new ArrayList(); for (SequenceI pdbcs : pdbfile.getSequences()) { String chid = null; @@ -177,17 +180,23 @@ public class Pdb extends EbiFileRetrievedProxy implements DbSourceProxy } else { - // remove this sequence from the alignment - since it's not from the - // right chain - pdbfile.deleteSequence(pdbcs); + // mark this sequence to be removed from the alignment + // - since it's not from the right chain + toremove.add(pdbcs); } } + // now remove marked sequences + for (SequenceI pdbcs:toremove) { + pdbfile.deleteSequence(pdbcs); + } } + if (pdbfile == null || pdbfile.getHeight() < 1) { throw new Exception("No PDB Records for " + id + " chain " + ((chain == null) ? "' '" : chain)); } + } catch (Exception ex) // Problem parsing PDB file { stopQuery(); @@ -220,4 +229,9 @@ public class Pdb extends EbiFileRetrievedProxy implements DbSourceProxy return "PDB"; // getDbSource(); } + @Override + public int getTier() + { + return 0; + } }