Designing Queries for Models
===============
Valid Metadata Keys
^^^^^^^^^^^^^^^^^^^
The structure of the query required by the API is fixed for the current supported model.
You can use ``get_valid_query`` to get a correctly structured example dictionary.
.. code-block:: python
import pysynthbio
# Get the example query structure
example_query = pysynthbio.get_valid_query()
This is the full list of valid metadata keys:
- ``age_years``
- ``cell_line_ontology_id``
- ``cell_type_ontology_id``
- ``developmental_stage``
- ``disease_ontology_id``
- ``ethnicity``
- ``genotype``
- ``perturbation_dose``
- ``perturbation_ontology_id``
- ``perturbation_time``
- ``perturbation_type``
- ``race``
- ``sample_type``
- ``sex``
- ``tissue_ontology_id``
- ``study``
- ``library_selection``
- ``library_layout``
- ``platform``
Valid Metadata Values
^^^^^^^^^^^^^^^^^^^^^
The following are the valid values or expected formats for selected metadata keys:
- ``cell_line_ontology_id``: Requires a `Cellosaurus ID `_.
- ``cell_type_ontology_id``: Requires a `CL ID `_.
- ``disease_ontology_id``: Requires a `MONDO ID `_.
- ``perturbation_ontology_id``: Must be a valid Ensembl gene ID (e.g., ``ENSG00000156127``), `ChEBI ID `_ (e.g., ``CHEBI:16681``), `ChEMBL ID `_ (e.g., ``CHEMBL1234567``), or `NCBI Taxonomy ID `_ (e.g., ``9606``).
- ``tissue_ontology_id``: Requires a `UBERON ID `_.
We highly recommend using the `EMBL-EBI Ontology Lookup Service `_ to find valid IDs for your metadata.
Models have a limited acceptable range of metadata input values.
If you provide a value that is not in the acceptable range, the API will return an error.