A quick calculator to calculate TCID50 based on different dilution infected and uninfected counts, provided in a csv (comma delimited) format.

# TCID50_Calculator

## Pip Package Reference

https://pypi.org/project/tcid50-calculator/

## What does this calculate?

1. Calculate cumulative infected and uninfected wells adding infected wells totaling everything under dilution and uninfected wells totaling everything above dilution.

2. Find PD. PD=(A-50)/(A-B)
A=% response above 50% closest to 50
B=% response below 50% closest to 50

3. Find TCID 50
Log(10) TCID50 = Dilution giving above 50% response minus PD

4. Take reciprocal of TCID50 and multiply by 100 to get TCID50/mL

5. Multiply by 0.69 to get pfu/mL

6. Output all the aforementioned step results per calculation to be executed.

## How to run a new calculation?

### Input

Input should be a csv with the following layout (start and end block per calculation in the file if you want one file to calculate multiple results):

START
Dilution,Infected,Uninfected
0.00001,8,0
0.000001,5,3
0.0000001,1,7
0.00000001,0,8
END
START
Dilution,Infected,Uninfected
0.00001,8,0
0.000001,5,3
0.0000001,1,7
0.00000001,0,8
END

### How to run?

2. Install pip: https://pip.pypa.io/en/stable/installing/

3. Install the pip package via command line: pip install tcid50_calculator

4. Execute the module via command line: tcid50_calculator calculate_tcid50 "FULL_PATH_TO_CSV"

Example Command:
python ./TCID50_Calculator/application/main.py calculate_tcid50 "C:\Users\USER\Desktop\Projects\TCID50_Calculator\test.csv"

### Output

Output will match the same input csv in the same directory.

It will have the same name of the provided csv, with _result suffixed.

The result file will have additional columns for cumulative totals, Percent_Infected, PD, TCID50, TCID50/mL, and pfu/mL.

START
Dilution,Infected,Uninfected,Cumulative_Infected,Cumulative_Uninfected,Percent_Infected,BLANK_COLUMN,PD,TCID50,TCID50_per_mL,pfu_per_mL
0.00001,8,0,14,0,100,,0.29,0.000000512,0.0000000195,0.0000000134
0.000001,5,3,6,3,66.7
0.0000001,1,7,1,10,9.1
0.00000001,0,8,0,18,0
END
START
Dilution,Infected,Uninfected,Cumulative_Infected,Cumulative_Uninfected,Percent_Infected,BLANK_COLUMN,PD,TCID50,TCID50_per_mL,pfu_per_mL
0.00001,8,0,14,0,100,,0.29,0.000000512,0.0000000195,0.0000000134
0.000001,5,3,6,3,66.7
0.0000001,1,7,1,10,9.1
0.00000001,0,8,0,18,0
END

## Project details

Uploaded Python 3