--- a +++ b/BioAid/popDub.py @@ -0,0 +1,25 @@ +# This code was developed and authored by Jerzy Twarowski in Malkova Lab at the University of Iowa +# Contact: jerzymateusz-twarowski@uiowa.edu, tvarovski1@gmail.com + +def calculatePopulationDoublings(initial_population: int|float, final_population_ml: int|float, final_culture_volume: int|float) -> None: + """ + Calculates the number of population doublings required to reach a final population size. + + Args: + initial_population (int|float): The initial population size. + final_population_ml (int|float): The final population size in milliliters. + final_culture_volume (int|float): The final culture volume in milliliters. + + Returns: + None: This function does not return anything, but prints the number of population doublings required to reach the final population size. + """ + final_population = final_population_ml * final_culture_volume + doubling_cycle_size = final_population + doublings = 0 + while doubling_cycle_size > initial_population: + if doubling_cycle_size < initial_population*2: + doublings = doublings + (doubling_cycle_size-initial_population)/initial_population + break + doubling_cycle_size = doubling_cycle_size/2.0 + doublings += 1 + print(f"Starting from the population size of {initial_population} to the final size of {final_population} cells,\\nthere were {doublings} population doublings") \ No newline at end of file