Commit 26e992a1 authored by Carlos de Lannoy's avatar Carlos de Lannoy
Browse files

first commit

parents
# FRETboard: data and performance evaluation
The simulated and *in vitro* data in this repository were used to evaluate the performance of
the FRETboard FRET trace analysis tool. Each can be found in their respective directories.
Scripts to rerun the performance evaluation are included as well.
## Contents
Directories `simulated` and `in_vitro` are structured as follows:
- data
- `experiment_1`
- `dats_unlabeled`: plain text files containing traces as accepted by FRETboard
- `dats_labeled`: plain text files of the traces with additional column with ground truth labels
- `experiment_2`
- ...
- eval
- experiment_1_fb: FRETboard results experiment 1
- `dat_files`: plain text files with traces and predicted labels
- `FRETboard_report.html`: the html report as generated by FRETboard
- `FRETboard_data_transition_rates.csv`: transition rate estimates. This file can be extracted
- experiment_1_eval: performance evaluation results
- `summary_stats`: evaluation in text and figures as produced by scripts/evaluate_traces.py
- `trace_csvs`: individual traces in plain text files, with predicted and ground truth label columns
- `trace_plots`: visualized traces with two colored strips denoting predicted (upper) and ground
truth (lower) classifications.
from the FRETboard report by opening it in a browser and clicking "Download csv" under transition rate matrix.
- `experiment_2_fb`: FRETboard results experiment 2
- ...
## Rerunning analysis
To re-run the data evaluation, download this repo and cd to the root folder.
First install the included conda environment:
```
conda install -f scripts/env.yml
```
The analysis can then be rerun (from the root folder) from the command line:
```
bash execute_analysis.sh
```
Of course, the FRETboard results can be replaced by your own if you would like
to redo the analysis from scratch. In that case, remember to adhere to the
structure of the 'eval' folder as described above.
#!/bin/bash
# EXECUTE_ANALYSIS.sh
#
# description: Analyze FRET trace analyses generated by FRETboard and generate figures as shown in
# the FRETboard paper.
# usage: In the repo main directory, execute this script using bash. ensure that the conda
# environment in scripts/env.yml is installed first!
source activate FRETboard_evaluation
# Analyze simulated data classification --> works
for f in simulated/data/*; do
bn=$(basename $f)
python scripts/evaluate_traces.py --fb "simulated/eval/${bn}_fb/" --manual "${f}/dats_labeled" \
--target-states $(cat "${f}/target_states.txt") \
--outdir "simulated/eval/${bn}_eval/"
done
python scripts/evaluate_traces.py --fb "simulated/eval_supplementary/5_10_state_equidist_fb/" \
--manual "simulated/data/4_10_state_equidist/dats_labeled/" \
--target-states 1 2 3 4 5 6 7 8 9 10 11 \
--outdir "simulated/eval_supplementary/5_10_state_equidist_eval/"
# Generate fig. 3
python scripts/generate_sim_fig.py --eval-dirs simulated/eval/*_eval --cat-names 1_2_state_don_eval 2_3_state_don 3_3_state_kinetic 4_10_state_equidist --out-svg "simulated/eval/sim_figure.svg"
# Generate supplementary figure S3
python scripts/generate_sim_fig.py --eval-dirs simulated/eval_supplementary/*_eval --cat-names 5_10_state_equidist --out-svg "simulated/eval_supplementary/sim_10_state_equidist_vanilla.svg"
# Analyze in vitro data classification
for f in in_vitro/data/*; do
bn=$(basename $f)
python scripts/evaluate_traces.py --fb "in_vitro/eval/${bn}_fb/" --manual "${f}/dats_labeled" \
--target-states $(cat "${f}/target_states.txt") \
--outdir "in_vitro/eval/${bn}_eval/"
done
for f in in_vitro/data/*; do
bn=$(basename $f)
python scripts/evaluate_traces.py --fb "in_vitro/eval_supplementary/${bn}_fb/" --manual "${f}/dats_labeled" \
--target-states $(cat "${f}/target_states.txt") \
--outdir "in_vitro/eval_supplementary/${bn}_eval/"
done
# Generate figure 4
python scripts/generate_invitro_fig.py --eval-dirs in_vitro/eval/*_eval --cat-names 1_2_state_donor_immobilized 2_2_state_acceptor_immobilized 3_tandem_10nt 4_kinetic_fingerprint --out-svg "in_vitro/eval/in_vitro_fig.svg" --example-traces "in_vitro/eval/example_traces.tsv"
# Generate supplementary figure S4
python scripts/generate_invitro_fig.py --eval-dirs in_vitro/eval_supplementary/*_eval --cat-names 1_2_state_donor 2_2_state_acceptor 3_tandem_10nt 4_kinetic_fingerprint --out-svg "in_vitro/eval_supplementary/in_vitro_fig_supplementary.svg"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment