Package org.biojava.nbio.structure
Class PdbId
java.lang.Object
org.biojava.nbio.structure.PdbId
- All Implemented Interfaces:
Serializable
,Comparable<PdbId>
A wrapper class for the PDB identifier.
It handles conversion between current (short)
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).
[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:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Pattern
A regular expression that matches a PDB ID in the extended format.static final Pattern
A regular expression that matches a PDB ID in the short format.static final Pattern
/ * A regular expression that matches an extended PDB ID that is compatible with the short format. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected Object
clone()
int
boolean
getId()
Get aString
representation of this PdbId instance.
By default this function will try to get the PdbId in the short (4 letters) format.getId
(boolean prefereShort) Get aString
representation of this PdbId instance, using the passed in behavior.Get the PDB Id in the short format.int
hashCode()
static boolean
isShortCompatible
(String extendedId) Checks whether an Extended PDB ID is shortable, assuming it is a valid extended PDB ID.static boolean
Check whetherid
represents a valid PDB ID in the extended format.static boolean
Check whetherid
represents a valid PDB ID in the short format.static String
toExtendedId
(String shortId) ConvertsshortId
to the PDB ID extended format.static String
ConvertsextendedId
to the PDB ID short format.toString()
-
Field Details
-
PATTERN_SHORT_PDBID
A regular expression that matches a PDB ID in the short format. -
PATTERN_EXTENDED_PDBID
A regular expression that matches a PDB ID in the extended format. -
PATTERN_SHORTABLE_EXTENDED_PDBID
/ * A regular expression that matches an extended PDB ID that is compatible with the short format.
-
-
Constructor Details
-
PdbId
- Parameters:
id
- A valid PDB ID in either short (case insensitive) or extended format.- Throws:
IllegalArgumentException
- Ifid
is not a valid identifier.NullPointerException
- Ifid
isnull
.
-
-
Method Details
-
isValidShortPdbId
Check whetherid
represents a valid PDB ID in the short format.- Parameters:
id
- Prospect ID- Returns:
true
ifid
is a valid short PDB ID,false
otherwise.- Throws:
NullPointerException
- ifid
isnull
.- See Also:
-
isValidExtendedPdbId
Check whetherid
represents a valid PDB ID in the extended format.- Parameters:
id
- Prospect ID- Returns:
true
ifid
is a valid extended PDB ID,false
otherwise.- Throws:
NullPointerException
- ifid
isnull
.- See Also:
-
isShortCompatible
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
ifextendedId
can be shortened (ie. it matches the regular expression "(pdb|PDB)_0000[1-9][a-zA-Z0-9]{3}"),false
otherwise.- See Also:
-
hashCode
-
equals
-
clone
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
toString
-
getId
Get aString
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
Get aString
representation of this PdbId instance, using the passed in behavior.- Parameters:
prefereShort
- when it istrue
, the class will try to produce the short ID whenever possible.- Returns:
- The PdbId in short format if possible and
prefereShort
istrue
, the extended PDB ID form otherwise.
-
getShortId
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
ConvertsshortId
to the PDB ID extended format. IfshortId
is a valid short PDB ID, it would be converted to an extended ID, ifshortId
is a valid extended PDB ID, it would be returned in UPPER CASE, aStructureException
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
ConvertsextendedId
to the PDB ID short format. IfextendedId
is a valid extended PDB ID, it would be converted to a short ID, ifextendedId
is a valid short PDB ID, it would be returned in UPPER CASE, aStructureException
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
- Specified by:
compareTo
in interfaceComparable<PdbId>
-