BEAT componenets are tied to a prefix
Throughout all code and components of BEAT, a prefix is required and this requirement makes it impossible to define and run BEAT experiments interactively.
Here is a tentative plan for refactoring the code:
Update BEAT component classes so that they can be created on the fly without pointing to a prefix
Implement a global config object to keep track of user's config such as where the prefix is or what the username is. This will help users provide less information when creating objects on the fly.
Dynamic creation of experiment/toolchain with running the python code in a kind of graph mode. This will be similar to how graphs are constructed in Python using tensorflow or dask.
We would also need a singleton class to hold the prefix objects in memory to avoid passing around caches.