Currently, when writing custom simulations, you're having to keep track of both cells and and their phenotypes separately and similarly keep track of guides and their frequencies separately. For easy of use and clarity it might help to consolidate them by introducing the following new structs:
GuidePool: Represents an instantiated pool of guides constructed from a Library, which includes the Barcode structs and their relative frequencies in the pool. Should be parameterized on CRISPR type
rand: should randomly instantiate a cell from the guide pool with a specific phenotype aka what build_cell currently does.
Cell: Encapsulates both the guide ID (or a pointer to the actual guide) and the instantiated phenotype for this specific cell
Currently, when writing custom simulations, you're having to keep track of both cells and and their phenotypes separately and similarly keep track of guides and their frequencies separately. For easy of use and clarity it might help to consolidate them by introducing the following new structs:
GuidePool
: Represents an instantiated pool of guides constructed from aLibrary
, which includes the Barcode structs and their relative frequencies in the pool. Should be parameterized on CRISPR typerand
: should randomly instantiate a cell from the guide pool with a specific phenotype aka whatbuild_cell
currently does.Cell
: Encapsulates both the guide ID (or a pointer to the actual guide) and the instantiated phenotype for this specific cell