INNER CODE UNIT · Python
bit_score_expr
BortonWrightonLabs/DRAM · bin/combine_annotations.py:38
def bit_score_expr(column_name: str) -> pl.Expr:
return pl.col(column_name).fill_null(0)
def assign_rank_expr(columns: list[str]) -> pl.Expr:
kegg_score = (
bit_score_expr("kegg_bitScore") if "kegg_bitScore" in columns else pl.lit(0)
)
uniref_score = (
bit_score_expr("uniref_bitScore") if "uniref_bitScore" in columns else pl.lit(0)
)
motif_checks = [
bit_score_expr(f"{db}_bitScore") > 60
for db in ["pfam", "dbcan", "merops"]
if f"{db}_bitScore" in columns
]
motif_expr = pl.any_horizontal(motif_checks) if motif_checks else pl.lit(False)