Closed jcaucb closed 2 years ago
Example from assembly1 of a sequence of 3 construction files, each requiring the previous editor plasmid.zip :
May require doing #74 first
There is a bug in this portion of the code. A folder of CFs where there is no ordering of execution is causing it to terminate with an exception about being unable to put things in order. See video'd zoom session: Topic: Chris Anderson (BioE, he/him)'s Personal Meeting Room Date: Apr 8, 2022 08:59 AM Pacific Time (US and Canada)
Meeting Recording: https://berkeley.zoom.us/rec/share/HGqXhfhTVhJn0HDfdPdgqA9HHrBrZLYh_7vCWpSvrsIv3tWJWRt8vpDsmEYDyn6H.VE9iUzRMGsC3mSdJ
I suspect this relates to the fact that there are multiple of the same backbone PCR shared amongst the CFs.
We should examine that situation, fix the code, and make a junit test about shared intermediates.
A private method called orderOfExecution is added to the SimulateExperimentDirectory class. It checks the dependencies between construction files in an experiment and comes up with the right ordering of the simulation of construction files in the experiment. A JUnit test (CFOrderExecutionTest) has also been added to test for different dependency scenarios. After user testing, we realized that the error messages from this piece of code were not clear enough. Those have also been modified now. But currently there is no code for the shared backbone issue.
The run method of SimulateExperimentDirectory is also modified to return an experiment object instead of void. This is in lines with SimulateConstructionFile returning a construction file. To follow the same pattern, SimulateExperimentDirectory is also modified.
In one Experiment, there can be many ConstructionFile. Often there is an order to those ConstructionFile such that some must be executed in the wetlab prior to the commencement of others. I don't know if CFS currently handles this. We need to start with some testing with examples with dependencies like this and see if things are automatically ordered. And if not, make it be so.