This repository holds the code to analyze dSHERLOCK reactions.
Explanation of modules in Analysis:
| Module | Use | Input data format | Output data format |
|---|---|---|---|
| Image | extracting fluorescence over time for each partition from image files | .tif (two-channel image series) | .csv (timeseries of intensity for each partition) |
| Timeseries | extracting features from fluorescence over time | .csv (timeseries of intensity for each partition) | .csv (features extracted after selected pseudo-end-timepoint) |
| Auxiliary | helper functions | N.A. | N.A. |
Modules in Figures contain helper functions for plotting.
Explanation of Jupyter notebooks:
| Notebook | Use |
|---|---|
| Image_processing_Example_data.ipynb | applying the Image and Timeseries pipelines to the example image file, giving timeseries and features as results |
| Thresholding_Example_data.ipynb | determining fraction of positive compartments through thresholding (most commonly maximum intensity feat_fq_delta_max) for simple positive vs. negative |
| Classification_Example_data.ipynb | applying a pre-trained classifier for allele fraction quantification |
| Classification.ipynb | training a classifier and subsequently using the classifier for allele fraction quantification. NOTE: using this notebook needs the full training dataset and the full admix dataset which are both very large and its presence is intended more as a read-only reference to understand the training pipeline |
Pipeline explanation: First, the Image and Timeseries scripts need to be applied to newly recorded data. See jupyter notebook Image_processing_Example_data.ipynb for an example. Subsequently, there are two options:
- thresholding on one extracted feature (most commonly maximum intensity feat_fq_delta_max) for simple positive vs. negative. See jupyter notebook Thresholding_Example_data.ipynb for an example.
- classification with pre-trained classifier for allele fraction quantification. See jupyter notebook Classification_Example_data.ipynb for an example.
Example data can be downloaded from figshare with the following DOI: 10.6084/m9.figshare.29944823
It contains some example data folders selected to illustrate each part of the pipeline using the jupyter notebooks.
The model directory contains checkpoints of the trained model for FKS1 SNP quantification.
The environment.yml file contains the necessary packages. For improved reproducibility this entire repository is also available as a containerized code ocean code capsule with the title "Digital CRISPR-based diagnostics for quantification of Candida auris and resistance mutations".
If you would like to contribute, please reach out to Anton Thieme anton@thiemenet.de.