iphasimulator.pha_filepath_manager
PHA structure database management.
This module provides lightweight management classes for a PHA-specific structure database.
Classes
- PHAFileManager
Handles directory creation, filepath construction and simple file lookup.
- PHAResidueCodeManager
Handles the residue code registry stored in residue_codes.csv.
Notes
This module should not contain chemistry-building logic. Parameterisation, prepin generation and polymer construction should live in the polymer builder layer.
Classes
Manage paths for a PHA structure database. |
|
Manage the PHA residue code registry. |
Module Contents
- class iphasimulator.pha_filepath_manager.PHAFileManager(root_dir='structure_database')
Manage paths for a PHA structure database.
- root_dir
- PHA_types_dir
- built_PHAs_dir
- PHA_melts_dir
- dry_PHAs_dir
- solvated_PHAs_dir
- solvated_ions_PHAs_dir
- temp_dir
- residue_codes_csv
- polymer_smiles_csv
- get_root_dir()
- get_temp_dir()
- get_residue_codes_csv()
- get_polymer_smiles_csv()
- get_PHA_type_dir(PHA_type)
- create_PHA_type_dir(PHA_type)
- get_PHA_input_dir(PHA_type)
- get_PHA_trimer_dir(PHA_type)
- get_PHA_monomer_units_dir(PHA_type)
- get_PHA_leap_template_dir(PHA_type)
- get_PHA_monomer_unit_files(PHA_type)
- get_built_PHA_name(PHA_type, length)
- parse_built_PHA_name(polymer_name)
- get_built_PHA_dir(PHA_type, length)
- create_built_PHA_dir(PHA_type, length)
- get_built_PHA_leap_dir(PHA_type, length)
- get_built_PHA_amber_dir(PHA_type, length)
- get_built_PHA_gromacs_dir(PHA_type, length)
- get_built_PHA_amber_files(polymer_name)
- get_dry_PHAs_dir()
- get_dry_PHA_system_name(polymer_name)
- get_dry_PHA_dir(polymer_name)
- get_dry_PHA_inputs_dir(polymer_name)
- get_dry_PHA_simulations_dir(polymer_name)
- create_dry_PHA_dir(polymer_name)
- get_solvated_PHAs_dir()
- get_solvated_PHA_system_name(polymer_name)
- get_solvated_PHA_dir(polymer_name)
- get_solvated_PHA_inputs_dir(polymer_name)
- get_solvated_PHA_simulations_dir(polymer_name)
- create_solvated_PHA_dir(polymer_name)
- get_solvated_ions_PHAs_dir()
- format_ion_label(ion_names)
- format_concentration_label(ion_concentration)
- get_solvated_ions_PHA_system_name(polymer_name, ion_names, ion_concentration)
- get_solvated_ions_PHA_dir(polymer_name, ion_names, ion_concentration)
- get_solvated_ions_PHA_inputs_dir(polymer_name, ion_names, ion_concentration)
- get_solvated_ions_PHA_simulations_dir(polymer_name, ion_names, ion_concentration)
- create_solvated_ions_PHA_dir(polymer_name, ion_names, ion_concentration)
- get_PHA_melt_name(polymer_names, number_of_polymers)
- get_PHA_melt_dir(polymer_names, number_of_polymers)
- create_PHA_melt_dir(polymer_names, number_of_polymers)
- get_PHA_melt_inputs_dir(polymer_names, number_of_polymers)
- get_PHA_melt_simulations_dir(polymer_names, number_of_polymers)
- create_PHA_melt_simulation_run_dir(polymer_names, number_of_polymers, timestamp=None)
- create_named_PHA_melt_simulation_run_dir(polymer_names, number_of_polymers, run_name)
- find_file(directory, extension)
- find_files(directory, extension)
- class iphasimulator.pha_filepath_manager.PHAResidueCodeManager(paths)
Manage the PHA residue code registry.
The residue code CSV links user-facing PHA names to internal Amber-style residue codes.
Expected CSV format:
PHA_type,component,readable_name,residue_code,smiles
3HB,trimer,P3HB_3,AAA,… 3HB,head,hP3HB,AAB,… 3HB,mainchain,mP3HB,AAC,… 3HB,tail,tP3HB,AAD,…
- Parameters:
paths (PHAFileManager) – Filepath manager used to locate residue_codes.csv.
- forbidden_codes
- header = ['PHA_type', 'component', 'readable_name', 'residue_code', 'smiles']
- paths
- csv_path
- load_rows()
Load all rows from residue_codes.csv.
- Returns:
List of CSV entries.
- Return type:
list[dict]
- get_used_codes()
Return all residue codes currently stored in the CSV.
- Returns:
Set of used residue codes.
- Return type:
set
- PHA_type_exists(PHA_type)
Check whether a PHA type has already been registered.
- Parameters:
PHA_type (str)
- Return type:
bool
- get_code(PHA_type, component)
Return the residue code for a given PHA component.
- Parameters:
PHA_type (str)
component (str) –
One of:
trimer head mainchain tail
- Return type:
str or None
- generate_unique_codes(number_of_codes)
Generate multiple unique residue codes.
Examples
Existing CSV:
AAA AAB
generate_unique_codes(4)
- Returns:
AAC AAD AAE AAF
- Parameters:
number_of_codes (int)
- Return type:
list[str]
- register_PHA_type(PHA_type, trimer_name, trimer_smiles, monomer_smiles)
Register a new PHA type.
Creates four residue entries:
trimer head mainchain tail
Example
PHA_type = “3HB”
trimer_name = “P3HB_3”
Generates:
AAA trimer AAB head AAC mainchain AAD tail
- Parameters:
PHA_type (str)
trimer_name (str)
trimer_smiles (str)
monomer_smiles (str)