plastro.lineage_simulation.simulate_lineage_tracing
- plastro.lineage_simulation.simulate_lineage_tracing(sim_ad: anndata.AnnData, terminal_ad: anndata.AnnData, latent_space_key: str = 'X_dc', number_of_cassettes: int = 100, save_to: str | None = None) cassiopeia.data.CassiopeiaTree[source]
Simulate lineage tracing using Cassiopeia on single-cell data.
Builds a phylogenetic tree from latent space coordinates and simulates CRISPR-based lineage tracing to generate character matrices.
- Parameters:
sim_ad (anndata.AnnData) – Complete simulated single-cell dataset.
terminal_ad (anndata.AnnData) – Subset containing only terminal/observed cells.
latent_space_key (str, optional) – Key in sim_ad.obsm containing latent space coordinates, by default ‘X_dc’.
number_of_cassettes (int, optional) – Number of mutation sites, by default 100 so we can accurately resolve lineage relationships.
save_to (str, optional) – Directory to save tree and results, by default None.
- Returns:
Cassiopeia tree object with character matrix and phylogenetic structure.
- Return type:
cassiopeia.data.CassiopeiaTree
Examples
>>> import plastro >>> # Assume sim_ad contains full simulated data and terminal_ad contains observed cells >>> cass_tree = plastro.simulate_lineage_tracing(sim_ad, terminal_ad, 'X_dc') >>> character_matrix = cass_tree.character_matrix >>> print(f"Character matrix shape: {character_matrix.shape}")
Notes
This function combines tree construction from phenotypic similarity with CRISPR mutation simulation to create realistic lineage tracing data that can be used for plasticity analysis.