salt_calibration_folder = "salt_calibration"
plate_file = os.path.join(salt_calibration_folder, "salt_calibration_plate.dat")
output_name = os.path.join(salt_calibration_folder, "salt_calibration_experiment")

"""
Explanation: Define where things go.
End of explanation
"""


# Build an EchoRun object
txtl_plate = mt_echo.SourcePlate(filename = plate_file)
txtl_echo_calculator = mt_echo.EchoRun(plate = txtl_plate)

"""
Explanation: Declare source plate and run objects:
End of explanation
"""


mg_conc = 100 # stock concentration
k_conc = 3000 # stock concentration

# Final concentrations
mg_concs = [3, 5, 7, 9, 11]
k_conc = [60, 80, 100, 120, 140]

# Define master mix:
txtl            = mt_echo.EchoSourceMaterial("TX-TL extract", 1, 0, None) # x
PEG             = mt_echo.EchoSourceMaterial("PEG-8000", 1, 0, None) # x
energy_solution = mt_echo.EchoSourceMaterial("Energy Solution", 1, 0, None) # x
amino_acids     = mt_echo.EchoSourceMaterial("Amino Acids", 6, 0, None) # mM
water           = mt_echo.EchoSourceMaterial("Water", 1, 0, None) # x
gfp_plasmid     = mt_echo.EchoSourceMaterial("pBEST-GFP", 9, 0, None) # nM

master_mix = mt_echo.Mixture(name = "Master Mix")
master_mix.add_material(txtl, 0.33)
master_mix.fill_with(water)

master_mix.vol = 200000
print(master_mix.text_recipe())

"""
Explanation: Define input materials. Here, we're adding a dilution series of Mg+ and K+ salts. The master mix is going to be a buffer-minus-salts plus extract, which is not the standard master mix.
End of explanation
"""


