This PR is primarily focused on increasing the usability of the SlurmController in a real-world setting (i.e. Sherlock). There are two main changes for this:
Orchestrator tries to come up with unique position identifiers for duplicate conditions. It defaults to the last part of the name used to save the site. For example. A5-Site_0 and A5-Site_1 both have condition 'Control'. In Orchestrator, the Pipelines will be saved as 'Control0' and 'Control1' respectively. These are also the names they will have when loaded as a Condition. They will also have an additional metric called position_id to facilitate finding the cells physically if needed. When loaded by Experiment, those two Conditions will be combined along the cell axis and saved under the key Control. If the folder names do not follow the format above, I doubt this will work well. Also, worth noting that position_id must be numeric, otherwise Condition._arr would have dtype object.
A SignalHandler class was added to the JobController class. This class uses signal to catch SIGINT, normally raised by pressing CTRL + C. When this happens, it opens a very basic interface that the user can utilize to display more information about jobs, rerun jobs, and quit the pipeline.
This PR is primarily focused on increasing the usability of the
SlurmController
in a real-world setting (i.e. Sherlock). There are two main changes for this:Orchestrator
tries to come up with unique position identifiers for duplicate conditions. It defaults to the last part of the name used to save the site. For example. A5-Site_0 and A5-Site_1 both have condition 'Control'. InOrchestrator
, thePipelines
will be saved as 'Control0' and 'Control1' respectively. These are also the names they will have when loaded as aCondition
. They will also have an additional metric calledposition_id
to facilitate finding the cells physically if needed. When loaded byExperiment
, those twoConditions
will be combined along the cell axis and saved under the keyControl
. If the folder names do not follow the format above, I doubt this will work well. Also, worth noting thatposition_id
must be numeric, otherwiseCondition._arr
would have dtypeobject
.SignalHandler
class was added to theJobController
class. This class usessignal
to catchSIGINT
, normally raised by pressingCTRL + C
. When this happens, it opens a very basic interface that the user can utilize to display more information about jobs, rerun jobs, and quit the pipeline.