alifestd_mark_sample_tips_lineage_stratified_polars
- alifestd_mark_sample_tips_lineage_stratified_polars(phylogeny_df: ~polars.dataframe.frame.DataFrame, n_sample: int | None = None, seed: int | None = None, *, criterion_delta: str | ~polars.expr.expr.Expr = 'origin_time', criterion_stratify: str | ~polars.expr.expr.Expr = 'origin_time', criterion_target: str | ~polars.expr.expr.Expr = 'origin_time', n_tips_per_stratum: int = 1, progress_wrap: ~typing.Callable = <function <lambda>>, mark_as: str = 'alifestd_mark_sample_tips_lineage_stratified_polars') DataFrame
Mark leaves per stratified group, chosen by proximity to the lineage of a target leaf.
Adds a boolean column
mark_asindicating retained tips.Only supports asexual phylogenies.
Parameters
- phylogeny_dfpolars.DataFrame or polars.LazyFrame
The phylogeny as a dataframe in alife standard format.
Must represent an asexual phylogeny.
- n_sampleint, optional
Desired number of retained tips. If
None, every distinctcriterion_stratifyvalue forms its own group.- seedint, optional
Random seed for reproducible target-leaf selection.
- criterion_deltastr or polars.Expr, default “origin_time”
Column name or polars expression used to compute the off-lineage delta for each leaf.
- criterion_stratifystr or polars.Expr, default “origin_time”
Column name or polars expression used to stratify leaves into groups.
- criterion_targetstr or polars.Expr, default “origin_time”
Column name or polars expression used to select the target leaf.
- n_tips_per_stratumint, default 1
Number of tips to retain per stratified group.
- progress_wrapCallable, optional
Pass tqdm or equivalent to display a progress bar.
- mark_asstr, default “alifestd_mark_sample_tips_lineage_stratified_polars”
Column name for the boolean mark.
Raises
- NotImplementedError
If phylogeny_df has no “ancestor_id” column or if ids are non-contiguous or not topologically sorted.
- ValueError
If criterion_delta, criterion_stratify, or criterion_target is not a column in phylogeny_df.
- ValueError
If
n_sampleis notNoneandn_tips_per_stratumdoes not evenly dividen_sample.
Returns
- polars.DataFrame
The phylogeny with an added boolean mark column.
See Also
- alifestd_mark_sample_tips_lineage_stratified_asexual :
Pandas-based implementation.