cgevans / mixes

BSD 3-Clause "New" or "Revised" License
0 stars 1 forks source link

master mixes #24

Closed dave-doty closed 1 year ago

dave-doty commented 1 year ago

For instance, if 10 sample tubes all contain water, buffer, scaffold, staples, and differ only in a 5th component, then you'd want to make a master mix of the shared components, with enough volume to split into 10 tubes to reduce the amount of pipetting. Even better (but maybe this is overcomplicating it) would be if we have an optional threshold parameter master_mix_combine to Experiment that does the following. If at least two (or some configurable number) Mixes contain identical volumes of at least master_mix_combine components, then the Experiment object can automatically create the master mix. This can be done by adding a method Experiment.instructions that normally would just iterate over the Mixes in order and call instructions on each of them, but in this special case would actually create new Mixes using the master mix approach. Or maybe a cleaner way to do this is to add a method Experiment.use_master_mixes that returns a new Experiment object with master mixes substituted where appropriate. (But would still be nice to have a method Experiment.instructions).

This should use the split_mix function implemented for issue #22.