Class PdbId

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<PdbId>

    public class PdbId
    extends java.lang.Object
    implements java.lang.Comparable<PdbId>, java.io.Serializable
    A wrapper class for the PDB identifier. It handles conversion between current (short) [1-9][0-9A-Z]{3} and upcoming (extended) PDB_\d{4}[1-9][09-A-Z] PDB ID format.
    Instances of this class are immutable.
    Creation of PdBId instance follows strict PDB ID convention. There is only one exception to this rule which is XXXX. XXXX objects are not considered equal (unless they are the one and the same object).
    Since:
    6.0.0
    Author:
    Amr ALHOSSARY
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.regex.Pattern PATTERN_EXTENDED_PDBID
      A regular expression that matches a PDB ID in the extended format.
      static java.util.regex.Pattern PATTERN_SHORT_PDBID
      A regular expression that matches a PDB ID in the short format.
      static java.util.regex.Pattern PATTERN_SHORTABLE_EXTENDED_PDBID
      / * A regular expression that matches an extended PDB ID that is compatible with the short format.
    • Constructor Summary

      Constructors 
      Constructor Description
      PdbId​(java.lang.String id)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.Object clone()  
      int compareTo​(PdbId o)  
      boolean equals​(java.lang.Object obj)  
      java.lang.String getId()
      Get a String representation of this PdbId instance.
      By default this function will try to get the PdbId in the short (4 letters) format.
      java.lang.String getId​(boolean prefereShort)
      Get a String representation of this PdbId instance, using the passed in behavior.
      java.lang.String getShortId()
      Get the PDB Id in the short format.
      int hashCode()  
      static boolean isShortCompatible​(java.lang.String extendedId)
      Checks whether an Extended PDB ID is shortable, assuming it is a valid extended PDB ID.
      static boolean isValidExtendedPdbId​(java.lang.String id)
      Check whether id represents a valid PDB ID in the extended format.
      static boolean isValidShortPdbId​(java.lang.String id)
      Check whether id represents a valid PDB ID in the short format.
      static java.lang.String toExtendedId​(java.lang.String shortId)
      Converts shortId to the PDB ID extended format.
      static java.lang.String toShortId​(java.lang.String extendedId)
      Converts extendedId to the PDB ID short format.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • PATTERN_SHORT_PDBID

        public static final java.util.regex.Pattern PATTERN_SHORT_PDBID
        A regular expression that matches a PDB ID in the short format.
      • PATTERN_EXTENDED_PDBID

        public static final java.util.regex.Pattern PATTERN_EXTENDED_PDBID
        A regular expression that matches a PDB ID in the extended format.
      • PATTERN_SHORTABLE_EXTENDED_PDBID

        public static final java.util.regex.Pattern PATTERN_SHORTABLE_EXTENDED_PDBID
        / * A regular expression that matches an extended PDB ID that is compatible with the short format.
    • Constructor Detail

      • PdbId

        public PdbId​(java.lang.String id)
        Parameters:
        id - A valid PDB ID in either short (case insensitive) or extended format.
        Throws:
        java.lang.IllegalArgumentException - If id is not a valid identifier.
        java.lang.NullPointerException - If id is null.
    • Method Detail

      • isValidShortPdbId

        public static boolean isValidShortPdbId​(java.lang.String id)
        Check whether id represents a valid PDB ID in the short format.
        Parameters:
        id - Prospect ID
        Returns:
        true if id is a valid short PDB ID, false otherwise.
        Throws:
        java.lang.NullPointerException - if id is null.
        See Also:
        isValidExtendedPdbId(String)
      • isValidExtendedPdbId

        public static boolean isValidExtendedPdbId​(java.lang.String id)
        Check whether id represents a valid PDB ID in the extended format.
        Parameters:
        id - Prospect ID
        Returns:
        true if id is a valid extended PDB ID, false otherwise.
        Throws:
        java.lang.NullPointerException - if id is null.
        See Also:
        isValidShortPdbId(String)
      • isShortCompatible

        public static boolean isShortCompatible​(java.lang.String extendedId)
        Checks whether an Extended PDB ID is shortable, assuming it is a valid extended PDB ID.
        Parameters:
        extendedId - the supposedly valid extended PDB ID.
        Returns:
        true if extendedId can be shortened (ie. it matches the regular expression "(pdb|PDB)_0000[1-9][a-zA-Z0-9]{3}"), false otherwise.
        See Also:
        isValidExtendedPdbId(String)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • clone

        protected java.lang.Object clone()
                                  throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class java.lang.Object
        Throws:
        java.lang.CloneNotSupportedException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getId

        public java.lang.String getId()
        Get a String representation of this PdbId instance.
        By default this function will try to get the PdbId in the short (4 letters) format. If not possible, it will return the long format. N.B. This default behavior may change later;
        Returns:
        the PdbId code, preferably in short format.
      • getId

        public java.lang.String getId​(boolean prefereShort)
        Get a String representation of this PdbId instance, using the passed in behavior.
        Parameters:
        prefereShort - when it is true, the class will try to produce the short ID whenever possible.
        Returns:
        The PdbId in short format if possible and prefereShort is true, the extended PDB ID form otherwise.
      • getShortId

        public java.lang.String getShortId()
                                    throws StructureException
        Get the PDB Id in the short format. Throws an exception if the conversion is not possible.
        Use this method only if you know that this PDB ID is shortable.
        Returns:
        the PDB ID in the short format.
        Throws:
        StructureException - if the conversion was not possible.
      • toExtendedId

        public static java.lang.String toExtendedId​(java.lang.String shortId)
                                             throws StructureException
        Converts shortId to the PDB ID extended format. If shortId is a valid short PDB ID, it would be converted to an extended ID, if shortId is a valid extended PDB ID, it would be returned in UPPER CASE, a StructureException is thrown otherwise.
        Parameters:
        shortId - the PDB ID to convert to extended format
        Returns:
        the ID in the extended UPPER CASE format.
        Throws:
        StructureException - if the conversion was not possible.
      • toShortId

        public static java.lang.String toShortId​(java.lang.String extendedId)
                                          throws StructureException
        Converts extendedId to the PDB ID short format. If extendedId is a valid extended PDB ID, it would be converted to a short ID, if extendedId is a valid short PDB ID, it would be returned in UPPER CASE, a StructureException is thrown otherwise.
        Parameters:
        extendedId - the PDB ID to convert to short format
        Returns:
        the ID in the short UPPER CASE format.
        Throws:
        StructureException - if the conversion was not possible.
      • compareTo

        public int compareTo​(PdbId o)
        Specified by:
        compareTo in interface java.lang.Comparable<PdbId>