PNNL-CompBio / SERGIO

A simulator for single-cell expression data guided by gene regulatory networks
GNU General Public License v3.0
0 stars 1 forks source link

Run SERGIO with CRISPRa/i gene perturbations. #13

Open djinnome opened 8 months ago

djinnome commented 8 months ago

So far, we can simulate the E. coli regulatory network using SERGIO in a "wild-type" scenario.

To simulate the E. coli regulatory network under a CRISPRa/i perturbation, we need to disconnect the target TF from its regulators, and either increase the production rate (CRISPRa) or decrease the production rate (CRISPRi).

Disconnecting a TF from its regulators essentially makes the TF a master regulator.

Since we have a separate input file for master regulators and a separate intput file for regulators that are targets of other regulators, the requested action is to move the TF from the input_file_targets to input_file_regs.

The file format description for these two files is described here: https://github.com/PNNL-CompBio/SERGIO/blob/501c569a3541ae16457bfad8b206af07c9c9bb44/SERGIO/sergio.py#L132-L136

Since # 4- input_file_taregts should not contain any line for master regulators we need to cut the line that refers to the target TF. But when we paste it into input_file_regs, we just need to proved the index of the target TF, and a production rate, one for each "bin". The production rate should be small for CRISPRi and large for CRISPRa compared to the production rate of other TFs.

djinnome commented 8 months ago
  1. With no noise
  2. Technical noise: https://github.com/PNNL-CompBio/SERGIO/blob/18584f98d2ca7aefc6ec471184ff9685ddffe3cf/Demo_CRISPRai_pertub/sergio.py#L859-L945
  3. Generate t-SNE plots of the transcriptomics generated from the pertubation, compare with wild-type
djinnome commented 8 months ago

CRISPRi of fadR, tyrR, and lacI.

djinnome commented 8 months ago

convert UMIcounts to anndata format: https://anndata.readthedocs.io/en/latest/

from anndata -> t-SNE

djinnome commented 8 months ago

The code to map gene indexes to gene names is here:

https://github.com/PNNL-CompBio/SERGIO/blob/MN_ConIndependence-/GRN_Analysis/ParseInteractions.ipynb

djinnome commented 8 months ago

compare the same 100 genes in MicroSPLIT to the 100 genes in SERGIO. In other words, filter the MicroSPLIT data to just the 100 genes in the SERGIO 100 gene DAG (including FadR) so that the SERGIO t-SNE can be compared to the MicroSPIT t-SNE

djinnome commented 7 months ago
yhan0410 commented 7 months ago

The code to map gene indexes to gene names is here:

https://github.com/PNNL-CompBio/SERGIO/blob/MN_ConIndependence-/GRN_Analysis/ParseInteractions.ipynb

Genes 'rutA', 'rutB', 'rutE', 'rutD', 'rutC' are not detected in the MicroSPLIT data. Gene 'gmr' is named 'pdeR' now.