updatePDBEntry method to add any PDBEntry from the list of DBRefEntries
authorjprocter <Jim Procter>
Sat, 29 Sep 2007 13:52:28 +0000 (13:52 +0000)
committerjprocter <Jim Procter>
Sat, 29 Sep 2007 13:52:28 +0000 (13:52 +0000)
src/jalview/datamodel/Sequence.java
src/jalview/datamodel/SequenceI.java

index 65857ce..1c33ab1 100755 (executable)
@@ -957,6 +957,52 @@ public class Sequence
     return anns;
   }
 
+  public boolean updatePDBIds()
+  {
+    if (dbrefs==null || dbrefs.length==0)
+    {
+      return false;
+    }
+    Vector newpdb = new Vector();
+    for (int i=0; i<dbrefs.length;i++)
+    {
+      if (DBRefSource.PDB.equals(dbrefs[i].getSource()))
+      {
+        PDBEntry pdbe = new PDBEntry();
+        pdbe.setId(dbrefs[i].getAccessionId());
+        if (pdbIds==null || pdbIds.size()==0)
+        {
+          newpdb.addElement(pdbe);
+        } else {
+          Enumeration en  = pdbIds.elements();
+          boolean matched=false;
+          while (!matched && en.hasMoreElements())
+          {
+            PDBEntry anentry = (PDBEntry) en.nextElement();
+            if (anentry.getId().equals(pdbe.getId()))
+            {
+              matched=true;
+            }
+          }
+          if (!matched)
+          {
+            newpdb.addElement(pdbe);
+          }
+        }
+      }
+    }
+    if (newpdb.size()>0)
+    {
+      Enumeration en = newpdb.elements();
+      while (en.hasMoreElements())
+      {
+        addPDBId((PDBEntry) en.nextElement());
+      }
+      return true;
+    }
+    return false;
+  }
+
 }
 
 
index c11ebc2..9fdd02a 100755 (executable)
@@ -29,78 +29,70 @@ import java.util.*;
 public interface SequenceI
 {
   /**
-   * DOCUMENT ME!
+   * Set the display name for the sequence
    *
-   * @param name DOCUMENT ME!
+   * @param name 
    */
   public void setName(String name);
 
   /**
-   * DOCUMENT ME!
-   *
-   * @return DOCUMENT ME!
+   * Get the display name
    */
   public String getName();
 
   /**
-   * DOCUMENT ME!
+   * Set start position of first non-gapped symbol in sequence
    *
-   * @param start DOCUMENT ME!
+   * @param start new start position
    */
   public void setStart(int start);
 
   /**
-   * DOCUMENT ME!
-   *
-   * @return DOCUMENT ME!
+   * get start position of first non-gapped residue in sequence
+   * @return 
    */
   public int getStart();
 
   /**
-   * DOCUMENT ME!
-   *
-   * @return DOCUMENT ME!
+   * get the displayed id of the sequence
+   * @return true means the id will be returned in the form DisplayName/Start-End
    */
   public String getDisplayId(boolean jvsuffix);
 
   /**
-   * DOCUMENT ME!
-   *
-   * @param end DOCUMENT ME!
+   * set end position for last residue in sequence
+   * @param end 
    */
   public void setEnd(int end);
 
   /**
-   * DOCUMENT ME!
+   * get end position for last residue in sequence
+   * getEnd()>getStart() unless sequence only consists of gap characters
    *
-   * @return DOCUMENT ME!
+   * @return 
    */
   public int getEnd();
 
   /**
-   * DOCUMENT ME!
-   *
-   * @return DOCUMENT ME!
+   * @return length of sequence including gaps
+
    */
   public int getLength();
 
   /**
-   * DOCUMENT ME!
+   * Replace the sequence with the given string
    *
-   * @param sequence DOCUMENT ME!
+   * @param sequence new sequence string
    */
   public void setSequence(String sequence);
 
   /**
-   * DOCUMENT ME!
-   *
-   * @return DOCUMENT ME!
+   * @return sequence as string
    */
   public String getSequenceAsString();
 
   /**
-   * DOCUMENT ME!
-   *
+   * get a range on the seuqence as a string
    * @param start DOCUMENT ME!
    * @param end DOCUMENT ME!
    *
@@ -235,6 +227,11 @@ public interface SequenceI
   public Vector getPDBId();
 
   public void addPDBId(PDBEntry entry);
+  /**
+   * update the list of PDBEntrys to include any DBRefEntrys citing structural databases 
+   * @return true if PDBEntry list was modified
+   */
+  public boolean updatePDBIds();
 
   public String getVamsasId();