Config
This Python configuration file (config.py) is part of the pharmbio, designed for managing various settings and parameters related to logging, database connections, data schemas, and quality control in a biomedical or pharmaceutical research context.
Logging Level Setting
- Description: Defines the logging level for the application.
- Variable:
LOGGING_LEVEL - Type:
logging(module from Python's standard library) - Usage: Set to
logging.DEBUGfor detailed debugging information. Can be changed to other levels likeINFO,WARNING,ERROR, etc.
Database Connection Setting
- Description: Manages the Database URI connection settings.
- Variable:
DB_URI - Type:
string - Usage: The URI is stored as an environment variable for security reasons. It can be set in a Jupyter notebook, using the os.environ module, or as a system environment variable in bash.
Database Schema
- Description: Describes the schema for the experiment metadata and plate layout in the database.
- Variables:
DATABASE_SCHEMA,PLATE_LAYOUT_INFO - Type:
dict,list - Usage: Outlines the structure and column names for the experiment metadata and plate layout tables.
Image Quality Metadata Schema
- Description: Defines metadata type for image quality.
- Variable:
IMAGE_QUALITY_METADATA_TYPE - Type:
string - Usage: Used to specify the metadata type for image quality data, typically retrieved from ImageDB.
Image Quality Module Data
- Description: Specifies file prefix for image quality data files.
- Variable:
IMAGE_QUALITY_FILE_PREFIX - Type:
string - Usage: Indicates the prefix for raw files containing image quality data.
Cell Morphology Metadata Schema
- Description: Defines metadata type for cell morphology data.
- Variable:
CELL_MORPHOLOGY_METADATA_TYPE - Type:
string - Usage: Used to specify the metadata type for cell morphology data files.
Metadata Columns in Image Quality and Morphology File
- Description: Lists the metadata columns used in image quality and morphology data files.
- Variables:
METADATA_ACQID_COLUMN,METADATA_BARCODE_COLUMN,METADATA_WELL_COLUMN,METADATA_SITE_COLUMN,METADATA_IMAGE_NUMBER_COLUMN - Type:
string - Usage: Identifies specific metadata columns in the data files for referencing acquisition, barcode, well, site, and image number.
Object Morphology Data File
- Description: Details the configuration for object morphology data files.
- Variables:
OBJECT_FILE_NAMES,OBJECT_ID_COLUMN,OBJECT_PARENT_CELL_COLUMN,CELL_CYTOPLASM_COUNT_COLUMN,CELL_NUCLEI_COUNT_COLUMN - Type:
list,string - Usage: Specifies file names and column names for data related to object morphology, such as cell nuclei and cytoplasm.
Image and Cell ID Construction
- Description: Constructs unique identifiers for images and cells.
- Variables:
IMAGE_ID_COLUMN_NAME,CELL_ID_COLUMN_NAME,CONSTRUCTING_IMAGE_ID,CONSTRUCTING_CELL_ID - Type:
string,polarsexpression - Usage: Combines various metadata fields to create unique identifiers for images and cells.
Aggregation Method for Each Level
- Description: Defines aggregation methods for different levels (cell, site, well, etc.).
- Variable:
AGGREGATION_METHOD_DICT - Type:
dict - Usage: Specifies the aggregation method (mean, median, sum, etc.) for different levels of data analysis.
Grouping Column Map
- Description: Maps aggregation levels to their respective grouping columns.
- Variable:
GROUPING_COLUMN_MAP - Type:
dict - Usage: Details the columns used for grouping data at different levels (cell, site, well, etc.).
QC Modules Setting
- Description: Specifies default quality control modules to consider.
- Variable:
DEFAULT_QC_MODULES - Type:
set - Usage: Lists the default modules used for quality control assessment.
Plot Discrete Color
- Description: Provides color settings for plots.
- Variable:
COLORS - Type:
plotly.express.colors - Usage: Defines a set of colors from Plotly's qualitative Set1 for use in data visualizations.
Notes
- Security: Care should be taken with
DB_URIto ensure that database connections are secure. - Flexibility: The configuration allows for customization of data schemas, aggregation methods, and quality control modules, making it adaptable to various research needs.
- Dependencies: The configuration relies on external libraries like
logging,os,polars, andplotly.