mutcleaner.cleaners.proteingym_dms_substitutions_cleaner#

Functions

clean_proteingym_dms_substitutions_dataset(...)

Clean ProteinGym dataset using configurable pipeline

create_proteingym_dms_substitutions_cleaner(...)

Create ProteinGym dataset cleaning pipeline

Classes

ProteinGymCleanerConfig([pipeline_name, ...])

Configuration class for ProteinGym dataset cleaner.

class mutcleaner.cleaners.proteingym_dms_substitutions_cleaner.ProteinGymCleanerConfig(pipeline_name='ProteinGym Pipeline', num_workers=16, validate_config=True, column_mapping=<factory>, filters=<factory>, type_conversions=<factory>, validation_workers=16, infer_wt_workers=16, handle_multiple_wt='error', label_columns=<factory>, primary_label_column='DMS_score')[source]#

Bases: BaseCleanerConfig

Configuration class for ProteinGym dataset cleaner. Inherits from BaseCleanerConfig and adds ProteinGym-specific configuration options.

Simply run mutcleaner.download_protein_gym_source_file() to download the dataset.

Alternatively, the raw ProteinGym file can be obtained from:

Attributes:
column_mappingDict[str, str]

Mapping from source to target column names

filtersDict[str, Any]

Filter conditions for data cleaning

type_conversionsDict[str, str]

Data type conversion specifications

is_zero_basedbool

Whether mutation positions are zero-based

validation_workersint

Number of workers for mutation validation

infer_wt_workersint

Number of workers for wildtype sequence inference

handle_multiple_wtLiteral[“error”, “first”, “separate”]

Strategy for handling multiple wildtype sequences

label_columnsList[str]

List of score columns to process

primary_label_columnstr

Primary score column for the dataset

Methods

from_dict(config_dict)

Create configuration object from dictionary

from_json(json_path)

Load configuration from JSON file

get_summary()

Get a human-readable summary of the configuration

merge(partial_config)

Merge partial configuration with current configuration

to_dict([exclude_callables])

Convert configuration to dictionary

to_json(json_path, **json_kwargs)

Save configuration to JSON file

validate()

Validate ProteinGym-specific configuration parameters

column_mapping: Dict[str, str]#
filters: Dict[str, Any]#
handle_multiple_wt: Literal['error', 'first', 'separate'] = 'error'#
infer_wt_workers: int = 16#
label_columns: List[str]#
pipeline_name: str = 'ProteinGym Pipeline'#
primary_label_column: str = 'DMS_score'#
type_conversions: Dict[str, str]#
validate()[source]#

Validate ProteinGym-specific configuration parameters

Raises:

ValueError – If configuration is invalid

Return type:

None

validation_workers: int = 16#
mutcleaner.cleaners.proteingym_dms_substitutions_cleaner.clean_proteingym_dms_substitutions_dataset(pipeline)[source]#

Clean ProteinGym dataset using configurable pipeline

Parameters:

pipeline (Pipeline) – ProteinGym dataset cleaning pipeline

Return type:

Tuple[Pipeline, MutationDataset]

Returns:

  • Pipeline: The cleaned pipeline - MutationDataset: The cleaned ProteinGym dataset

mutcleaner.cleaners.proteingym_dms_substitutions_cleaner.create_proteingym_dms_substitutions_cleaner(data_path, config=None)[source]#

Create ProteinGym dataset cleaning pipeline

Parameters:
  • data_path (Union[str, Path]) – Path to directory containing ProteinGym CSV files or path to zip file - Download from: https://proteingym.org/download - File: DMS_ProteinGym_substitutions.zip

  • config (Union[ProteinGymCleanerConfig, Dict[str, Any], str, Path, None]) – Configuration for the cleaning pipeline. Can be: - ProteinGymCleanerConfig object - Dictionary with configuration parameters (merged with defaults) - Path to JSON configuration file (str or Path) - None (uses default configuration)

Return type:

Pipeline

Returns:

The cleaning pipeline

Raises:
  • TypeError – If config has invalid type

  • ValueError – If configuration validation fails

Examples

Process directory of ProteinGym CSV files:

>>> pipeline = create_protein_gym_cleaner("DMS_ProteinGym_substitutions/")
>>> pipeline, dataset = clean_protein_gym_dataset(pipeline)

Process zip file:

>>> pipeline = create_protein_gym_cleaner("DMS_ProteinGym_substitutions.zip")
>>> pipeline, dataset = clean_protein_gym_dataset(pipeline)

Custom configuration:

>>> config = {
...     "validation_workers": 8,
...     "handle_multiple_wt": "first"
... }
>>> pipeline = create_protein_gym_cleaner("data/", config=config)

Load configuration from file:

>>> pipeline = create_protein_gym_cleaner("data/", config="config.json")