Functional Tags for Monomers in QSPy
In QSPy, functional tags annotate monomers with biologically or computationally meaningful labels. These tags express a class/function relationship—such as marking a species as a receptor
, adding additional expressiveness to model species while also supporting another way to filter monomers.
Tagging Semantics
- Tags indicate class and function/subclass roles.
- Each monomer can have a single tag.
- Tags improve:
- Model expressiveness
- Filtering by biological function
Functional tags are in all caps and have the following pattern in model definitions:
CLASS.FUNCTION
Python Example
Functional tags are accesible by a monomer's functional_tag
attribute:
FunctionalTag(class_='drug', function='inhibitor')
Recognized Classes and Functions
The table below lists standardized tags currently used in QSPy.
Class Tag | Function/Subclass | Description |
---|---|---|
DRUG |
SMALL_MOLECULE , BIOLOGIC , ANTIBODY , MAB , INHIBITOR , AGONIST , ANTAGONIST , INVERSE_AGONIST , MODULATOR , ADC , RLT , PROTAC , IMMUNOTHERAPY , CHEMOTHERAPY |
Therapeutic agents |
PROTEIN |
LIGAND , RECEPTOR , RECEPTOR_DECOY , KINASE , PHOSPHATASE , ADAPTOR , TRANSCRIPTION_FACTOR , ENZYME , ANTIBODY |
Biologically active protein-based macromolecules |
RNA |
MESSENGER , MICRO , SMALL_INTERFERING , LONG_NONCODING |
Transcribed nucleic acids involved in gene expression, regulation, or signal propagation |
METABOLITE |
SUBSTRATE , PRODUCT , COFACTOR |
Small molecules involved in biochemical reactions, such as intermediates, reactants, and regulatory modulators |
LIPID |
EICOSANOID , PHOSPHOLIPID , GLYCOLIPID , STEROL |
Hydrophobic or amphipathic molecules involved in signaling or other biological functions |
ION |
CALCIUM , CHLORIDE , MAGNESIUM , SODIUM , POTASSIUM |
Charged atoms or small molecules involved in electrochemical signaling, osmotic balance, and catalysis |
NANOPARTICLE |
DRUG_DELIVERY , IMAGING , SENSING , THERMAL , THERANOSTIC |
Engineered nanoscale particles designed for targeted delivery, imaging enhancement, or localized therapeutic functions |
Custom tags
Users can define custom tags. For consistency, follow the schema above when possible.
Functional tags are subclasses of the enum.Enum
object and can be defined as below:
from enum import Enum
from qspy.functionaltags import prefixer
MY_TAG_PREFIX = "mytag"
class MY_TAG(Enum):
FUNCTION = prefixer("function", MY_TAG_PREFIX)
SUBCLASS = prefixer("subclass", MY_TAG_PREFIX)
Then, you can use the custom tag like any other: