Available Building Blocks
This section provides general descriptions of existing PerMedCoE Building Blocks, as well as links to building block GitHub repositories. For detailed documentation, see the individual building block folders in the PerMedCoE Building Blocks repository. The repository also contains Singularity (Apptainer) definition files.
High-throughput Mutant Analysis
This building block uses MaBoSS to screen all the possible knockouts of a given Boolean model. It produces a candidate gene list formatted as a text file (single gene per row). More information on MaBoSS can be found in Stoll G. et al. (2017) and in the MaBoSS GitHub repository.
Meta-analysis of PhysiBoSS Output
This building block is designed to analyse the set of simulations generated for each individual in order to assess whether any of the parameters of interest show a differential distribution between the phenotypic subgroups included in a sample. To do so, the building block processes the output generated by the patient-personalized PhysiBoSS runs, including for each individual a given number of replicates of both wild-type and mutant experiments.
With this information, the building block can be used to assess the degree of uncertainty for each parameter and determine whether there are significant differences between the different subgroups, described both graphically and numerically.
Personalise Patient
This building block tailors a given MaBoSS Boolean model to a given RNAseq dataset of interest.
This RNAseq dataset can come from the Single cell processing building block and needs to be
normalised as described in Béal et al. (2019)
and in the PROFILE GitHub repository.
The Single-cell Processing
building block performs this normalisation step.
Another option of this building block is to personalise a given MaBoSS model using cell line information such as mutations, copy number alterations and expression counts.
PhysiBoSS
This building block is used to perform a multiscale simulation of a population of cells using PhysiBoSS.
The tool uses the different Boolean models personalised by the Personalise patient
building block and
with the mutants selected by the High-throughput mutant analysis building block.
More information on this tool can be found in Ponce-de-Leon et al. (2022)
and the PhysiBoSS GitHub repository.
Single-cell Processing
This building block enables the processing and analysis of single-cell RNA-Seq data from each patient in a sample. The first step of the protocol includes quality control, filtering and normalisation of the count matrices at the cellular level. Next, the number of variable genes in each individual is determined and the corresponding scaled matrices are obtained, allowing in the next step the application of dimensionality reduction techniques such as PCA, T-SNE and UMAP.
Finally, cells are clustered using graph-based techniques and annotated to their corresponding cell type, enabling subsequent building blocks to select and work with the set of cells that are relevant to the disease under study (e.g. epithelial cells in COVID19 disease).
Build Model from Genes
This building block performs automatic network construction using OmniPath and pypath. This enables the generation of a Boolean model in MaBoSS format. It takes a list of genes of interest and returns either a simple network as a SIF file or a MaBoSS network as a BND and CFG files.
Print Drug Results
This building block generates reports from raw results of multiple drug screenings (for example multiple cell lines). It takes as input a folder containing multiple results for each individual screening (cell line). It returns multiple reports in a result folder, including figures and summary values.
CARNIVAL
The CARNIVAL building block contains the refactored CARNIVAL C++ with the new Ant Colony Optimisation (ACO) in C++ with support for OpenMP and MPI. The hdf5 file required as an input can be generated with the Export Solver HDF5 building block. For a general overview of what CARNIVAL does, see the CARNIVAL website. This building block uses the new developed ACO algorithm to find solutions without the need of using ILP solvers.
CARNIVALPy
The CARNIVALPy building block is a refactored vanilla CARNIVAL R version for Python with support for many commercial and non-commercial open source MILP solvers. This extends the capabilities of the old CARNIVAL software to support also open-source solvers such as GLPK or CBC, and better integration with the building block ecosystem.
CARNIVAL Feature Merger
This building block is used in Use Case 2 (Drug Synergies Screening) to merge the features extracted by CARNIVAL for each cell line with the original cell line features, in order to produce a final csv file that can be used for prediction with the JAX Drug Prediction building block.
CARNIVAL Gex Preprocess
This building block processes (reshapes and scales) gene expression data from the Genomics of Drug Sensitivity in Cancer (GDSC) database for use by other building blocks.
Export Solver HDF5
Exports input data required by the vanilla version of CARNIVAL (sif file, measurements and perturbations) into a HDF5 file required by the optimised version of CARNIVAL with the parallel ACO C++ solver.
JAX drug prediction
The JAX Drug Prediction building block implements a matrix factorisation approach to predict IC50 response values of cells with different drugs, with or without side features using JAX. This is a wrapper for a script hosted on the Saez Laboratory GitHub repository. This can be used to predict e.g drug responses on cell lines from partial observations of drug/cell responses.
There are two ways of using the building block: for training and for inference (prediction).
OmniPath
Downloads the latest OmniPath database to build an initial PKN network for CARNIVAL.
PROGENy
The PROGENy building block uses PROGENy to extract pathway activities from gene expression data. Further information on PROGENy can be found on the Saez Laboratory website.
TF Enrichment
The TF Enrichment building block uses DecoupleR and Dorothea to estimate transcription factor activities from perturbational data.
CellNOpt
This is the refactored CellNopt in C++ with the ACO solver with OpenMP/MPI support. A description of what CellNopt is and how to use it is available on the Saez Laboratory website.
Invasion Analysis
This building block extracts quantifications about type of invasion from a PhysiBoSS result.
PhysiBoSS Invasion
This building block is used to perform a multiscale simulation of a population of cells using PhysiBoSS. More information on this tool can be found in Ponce-de-Leon et al. (2022) and the PhysiBoSS GitHub repository.
COBREXA
TBD