$29.99
Assignment #4
The goal of this project is to create a script that analyzes (real) data taken from competition experiments to
compare fitness between two strains
Positional arguments
Excel file – required, must be a string. An example file is included for you to analyze.
Output file – required must be a string. An example file is included for you to analyze
This script analyzes real life data. The purpose of this data is to measure the fitness between two
strains of C. elegans. The way this works is that you set up a competition experiment between two
strains, seeding a plate with equal amounts of each strain: ~20 animals from strain 1 and ~20 animals
from strain 2. You then let the worms compete against each other for multiple generations, taking DNA
samples after the 2nd, 4th, and 6th.
In order to calculate the relative proportion of the animals that are on the plate at each time point, a
technique called digital PCR is used. All of the DNA samples taken over the course of the experiment
are placed into 96 well plates, which are named by their row/column combination (e.g. C4).
The excel file contains data from this digital PCR experiment. Each well has two measurements, one that
quantifies the amount of DNA from sample 1 and one the amount of DNA from sample 2 (given by the
TargetType column). The number of animals of each strain can be estimated directly by these numbers.
The excel file also contains a worksheet that tells you the exact DNA sample it came from (strains, replicate,
and timepoint).
A. Your script should first read all of this data and output it in a coherent way, as shown in Output1
worksheet.
B. Your script should also average all of the replicates together into a single value, as shown in Output2.
Hints:
1. You can write this entire exercise in a few lines. My solution only has 16 lines!
2. pandas.pivot_table is a useful method for converting a column of values into headers. I.e. getting the
timepoints as header values like the output
3. You might find this useful for adding the Ratio to the table:
https://stackoverflow.com/questions/36619631/how-to-divide-two-column-in-a-dataframe