mutcleaner.cleaners.proteingym_dms_substitutions_cleaner#
Functions
Clean ProteinGym dataset using configurable pipeline |
|
Create ProteinGym dataset cleaning pipeline |
Classes
|
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:
BaseCleanerConfigConfiguration 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.zipconfig (
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:
- 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")