drugforge.data.services.postera.manifold_data_validation.rename_output_columns_for_manifold

drugforge.data.services.postera.manifold_data_validation.rename_output_columns_for_manifold(df: DataFrame, target: str, output_enums: list[Enum], manifold_validate: bool | None = True, drop_non_output: bool | None = True, allow: list[str] | None = []) DataFrame[source]

Rename columns of a result dataframe that are available to be updated in the Postera Manifold for a specific target. i.e inject the target name into the column name to satisfy validation for Postera Manifold. for example:

Also optionally drop columns of a result dataframe that are not allowed output tags ie the members of OutputTags.get_values() and StaticTags.get_values()

docking-pose-POSIT -> in-silico_SARS-CoV-2-Mpro_docking-pose-POSIT_msk

Parameters:
  • df (pd.DataFrame) – Pandas dataframe of docking results

  • target (str) – Target name

  • output_enums (list[Enum]) – List of enums to rename the columns of

  • manifold_validate (bool, optional) – If True, validate that the columns are valid for Postera Manifold

  • drop_non_output (bool, optional) – If True, drop columns that are not allowed output tags

  • allow (list[str], optional) – List of additional columns to allow when dropping

Returns:

  • df (pd.DataFrame)

  • Pandas dataframe with invalid columns dropped and valid columns renamed