ihm_validation package

Submodules

ihm_validation.cx module

Crosslinking-MS validation for PDB-IHM

class ihm_validation.cx.CxValidation(*args, **kwargs)[source]

Bases: GetInputInformation

assign_ertypes()[source]
assign_rtdtypes()[source]
check_conditional_flag(data: DataFrame) None[source]

Check consistency of conditional flags in a restraint group

static format_pct_count(pct, count)[source]
get_best_distance_per_restraint(data)[source]
get_best_distances_per_model_group()[source]
get_cx_data() -> (<class 'pandas.core.frame.DataFrame'>, <class 'pandas.core.frame.DataFrame'>)[source]

Extract crosslinking-MS data from mmcif file

get_ertype(row)[source]
get_ertypes()[source]
get_ertypes_df()[source]
get_ertypes_df_html()[source]
get_measured_restraints()[source]
get_models()[source]
get_number_of_restraint_groups() int[source]
get_number_of_restraints() int[source]
get_per_model_satifaction_rates() list[source]
get_pride_data(code)[source]

get data from PRIDE

get_pride_ids() list[source]

get a list of all PRIDE ids from entry

static get_pyhmmer_version()[source]

return pyhmmer version

get_raw_restraints()[source]

Get all restraints

get_residue_pairs_pride(pid: str, page_size: int = 99) dict[source]

get sequences from PRIDE entry

get_restraint_group_chain_type(data)[source]
get_restraint_group_entity_type(data)[source]
get_rtdtype(row)[source]
get_rtdtypes()[source]
get_sequences_pride(pid: str) dict[source]

get sequences from PRIDE entry

get_stats_per_model_group()[source]
is_restraint_group_satisfied(data)[source]
measure_restraint(model, row)[source]
plot_distograms_per_model_group(imgDirname='.')[source]

plot all restraints in the dataset

plot_satisfaction_per_ensemble(imgDirname='.')[source]
process_restraint_groups(data, mode='entity')[source]
static pyhmmer_alignment_to_map(hit) -> (<class 'dict'>, <class 'list'>)[source]

Convert HMMER alignment into residue map

quality_check(data: DataFrame) None[source]

Check consistency of crosslink restraints

static request_pride(url: str) dict[source]

pull data from PRIDE using crosslinking PDB-IHM API

save_plots(plot, title, imgDirname='.')[source]
select_atom_by_asym_id_seq_id_atom_id(asym_id, seq_id, atom_id)[source]
validate_all_pride_data() list[source]

perform data quality validation for all crosslinking-MS datasets

validate_pride_data(data: dict) tuple[source]

Match sequences, residues pairs and return stats

ihm_validation.em module

3DEM validation for PDB-IHM

class ihm_validation.em.EMValidation(*args, **kwargs)[source]

Bases: GetInputInformation

VA_TIMEOUT = 900
static get_chimera_version() str[source]

return chimera version

static get_chimerax_version() str[source]

return chimera version

static get_em_reconstruction_method(map_metadata)[source]

Get EM reconsruction method from the conrolled vocabulary

get_emdb_data(code)[source]

get data from EMDB

get_emdb_ids() list[source]

get a list of all EMDB ids from entry

get_emdb_map(code, fname) str[source]

download validation data from EMDB

get_emdb_map_images(code, map_validation) dict[source]
get_emdb_map_metadata(code) dict[source]

download validation data from EMDB

get_emdb_map_validation(code) dict[source]

download validation data from EMDB

static get_emdb_numerical_code(code) str[source]

Extract only numerical part of the EMDB ID

static get_level_from_primary_contour(data: dict) float[source]

Get recommended level for the map

get_map_image(code, name, rawmap=False, extension='jpeg')[source]
static get_mapq_version() str[source]

return mapq version

static get_resolution_estimates(map_data, val_data)[source]
static get_va_version() str[source]

return va version

static request_emdb(url: str) dict[source]

pull data from EMDB

run_va(data, mid, outpath)[source]

Run EMDB va validation pipeline for map and model

save_plots(plot, title, imageDirName='.')[source]

Save bokeh plots as svg images and json blobs

validate_all_emdb_data(imageDirName='.') list[source]

perform data quality validation for all crosslinking-MS datasets

validate_emdb_data(data: dict, imageDirName='.') tuple[source]

Match sequences, residues pairs and return stats

ihm_validation.excludedvolume module

Excluded volume assessment for PDB-IHM

class ihm_validation.excludedvolume.GetExcludedVolume(*args, **kwargs)[source]

Bases: GetInputInformation

get_all_spheres(fname: str | None = None) dict[source]

Get spheres and atoms for each model

get_excluded_volume()[source]
get_nCr(n: int, r: int) int[source]

get all combinations

static get_radii(atoms: list) dict[source]

Get VdW radii for all atom types

get_violation_dict(model_spheres_df: DataFrame) dict[source]

get violation from model_sphere df

get_violation_percentage(viols: dict, n: int) float[source]

get information on all spheres for each model

get_xyzr(spheres: list) DataFrame[source]

get X,Y, Z coords from sphere objects

ihm_validation.format_checker module

Detect file format and check residue and atom names in IHMCIF file.

This module provides functionality to: - Detect file format (PDB, mmCIF, or IHMCIF) - Validate CIF files against PDBx dictionary - Validate IHMCIF files against combined PDBx+IHM dictionary (following the approach

  • Check residue and atom names in IHMCIF files

class ihm_validation.format_checker.FileFormat(value)[source]

Bases: Enum

Enumeration of supported file formats

IHMCIF = 'IHMCIF'
MMCIF = 'PDBx/mmCIF'
PDB = 'PDB'
UNKNOWN = 'UNKNOWN'
ihm_validation.format_checker.check_all_exception(system: System)[source]

Perform all checks. Throw an exception if a check fails.

ihm_validation.format_checker.check_all_log(system: System) int[source]

Perform all checks. Throw a message in the log if a check fails and return a non-zero exit code

ihm_validation.format_checker.check_atom_names_chimerax(cif_file, timeout=180)[source]

Run ChimeraX on a CIF file and extract warnings about atoms not in residue templates.

Parameters:
  • cif_file – Path to the CIF file

  • timeout – Timeout in seconds (default: 180)

Returns:

List of warning messages (empty list if no warnings)

ihm_validation.format_checker.check_entities_histidines(system: System, histidines=frozenset({'HID', 'HIE', 'HIP'}))[source]

Find any non-standard histidine chemical components

ihm_validation.format_checker.check_file_exception(fname: str, check_format: bool = True, validate_dictionary: bool = True)[source]

Parse a file, do all checks, throw an exception if a check fails.

Parameters:
  • fname – Path to the file to check

  • check_format – If True, verify the file format before checking

  • validate_dictionary – If True, validate CIF/IHMCIF files against dictionaries

ihm_validation.format_checker.check_file_format(fname: str, validate_dictionary: bool = True, raise_on_error: bool = True)[source]

Check file format and validate that it is IHMCIF.

Parameters:
  • fname – Path to the file to check

  • validate_dictionary – If True, validate IHMCIF files against dictionaries

  • raise_on_error – If True, raise ValueError on format errors; if False, return error message

Returns:

(success: bool, error_msg: str or None) If raise_on_error is True: None (raises ValueError on error)

Return type:

If raise_on_error is False

Raises:

ValueError – If file format is not IHMCIF (when raise_on_error is True)

ihm_validation.format_checker.check_file_log(fname: str, check_format: bool = True, validate_dictionary: bool = True) int[source]

Parse a file, do all checks, throw a log message if a check fails and return a non-zero exit code

Parameters:
  • fname – Path to the file to check

  • check_format – If True, verify the file format before checking

  • validate_dictionary – If True, validate PDBx/mmCIF or IHMCIF files against dictionaries

Returns:

0 for success, non-zero for failure

Return type:

Exit code

ihm_validation.format_checker.check_models(system: System)[source]

Find any non-standard histidine chemical components

ihm_validation.format_checker.detect_format(file_path: str, max_lines: int = 3000) Tuple[FileFormat, str][source]

Detect the format of a structural biology file.

Parameters:
  • file_path – Path to the file to analyze

  • max_lines – Maximum number of lines to read for detection (default: 1000)

Returns:

Tuple of (FileFormat enum, reason string)

Raises:
  • FileNotFoundError – If the file does not exist

  • IOError – If the file cannot be read

ihm_validation.format_checker.parse_ihm_cif(fname, encoding='utf8') tuple[source]

Parse an IHMCIF file using the ihm library

ihm_validation.format_checker.validate_cif_against_dictionary(file_path: str, dictionary) None[source]

Validate a CIF file against a dictionary.

Parameters:
  • file_path – Path to the CIF file to validate

  • dictionary – Dictionary object to validate against

Raises:
  • ihm.dictionary.ValidatorError – If validation fails

  • IOError – If file cannot be read

ihm_validation.format_checker.validate_ihmcif(file_path: str) None[source]

Validate an IHMCIF file against the combined PDBx/mmCIF+IHMCIF dictionary.

Deposited integrative models should conform to both the PDBx dictionary (used to define basic structural information such as residues and chains) and the IHM dictionary (used for information specific to integrative modeling). Some entries also use the FLRCIF dictionary for FRET/fluorescence data.

Parameters:

file_path – Path to the IHMCIF file to validate

Raises:

ihm.dictionary.ValidatorError – If validation fails

ihm_validation.format_checker.validate_mmcif(file_path: str) None[source]

Validate a PDBx/mmCIF file against the PDBx dictionary.

Parameters:

file_path – Path to the PDBx/mmCIF file to validate

Raises:

ihm.dictionary.ValidatorError – If validation fails

ihm_validation.futures module

This is a beta-version of a new validation framework

class ihm_validation.futures.CXMSValidator[source]

Bases: Validator

property ertypes

Get all extendend restraint types

property ertypes_df
load_restraint(restraint: CrossLinkRestraint) None[source]

Extract crosslinking-MS data from mmcif file

property number_of_restraint_groups: int
property number_of_restraints: int
property rtdtypes

Get all crosslink types

validate_ensemble(models: list) dict[source]

Validate the ensemble against the data

validate_model(model: Model) dict[source]

Validate the model against the data

class ihm_validation.futures.StereoChemistryValidator[source]

Bases: Validator

validate_model(model: Model) dict[source]

Validate the model against the data

class ihm_validation.futures.Validator[source]

Bases: object

Base validator class

dataset = None
load_restraint(restraint: Restraint)[source]

Parse the restraint data

restraint = None
validate_ensemble(ensemble) dict[source]

Validate the ensemble against the data

validate_model(model: Model) dict[source]

Validate the model against the data

ihm_validation.futures.get_hierarchy_from_atoms(atoms)[source]
ihm_validation.futures.get_hierarchy_from_model(model)[source]
ihm_validation.futures.is_model_atomic(model: Model) bool[source]

Check if model is atomic

ihm_validation.futures.is_model_cg(model: Model) bool[source]

Check if model is atomic

ihm_validation.futures.is_model_mixed(model: Model) bool[source]

Check if model is atomic

ihm_validation.generate_static_html_pages module

A script for generation of validation_help.html and about_validation.html

ihm_validation.generate_static_html_pages.createdirs(dirNames: dict)[source]
ihm_validation.generate_static_html_pages.write_html(template_dict: dict, template_list: list, dirName: str, overwrite=False)[source]

Generate HTML pages from templates

ihm_validation.get_plots module

Generate overview plots

class ihm_validation.get_plots.Plots(*args, imageDirName, **kwargs)[source]

Bases: GetInputInformation

plot_quality_at_glance(molprobity_data: dict | None = None, exv_data: dict | None = None, sas_data_quality: dict | None = None, sas_fit: dict | None = None, cx_data_quality: dict | None = None, cx_fit: dict | None = None, em_data_quality: dict | None = None, em_fit: dict | None = None) dict[source]
save_plots(p, plot_name: str) dict[source]

Save html and svg plots

ihm_validation.ihm_validator module

Main running script

ihm_validation.ihm_validator.createdirs(dirNames: dict)[source]
ihm_validation.ihm_validator.load_json_plot(fname)[source]
ihm_validation.ihm_validator.write_html(prefix: str, template_dict: dict, template_list: list, dirName: str)[source]
ihm_validation.ihm_validator.write_json(mmcif_file: str, template_dict: dict, dirName: str, dirName_Outputs: str)[source]
ihm_validation.ihm_validator.write_pdf(prefix: str, template_dict: dict, template_file: str, dirName: str, dirName_Output: str)[source]
ihm_validation.ihm_validator.write_supplementary_table(prefix: str, template_dict: dict, template_file: str, dirName: str, dirName_supp: str)[source]

ihm_validation.images module

BASE64 encoded images for the report

ihm_validation.mmcif_io module

Read/write IHMCIF file

class ihm_validation.mmcif_io.GetInputInformation(mmcif_file: str | None = None, system: System | None = None, encoding: str = 'utf-8', cache: str = '.', nocache: bool = False)[source]

Bases: object

property atomic
property cg
check_ensembles() int[source]

check if ensembles exist

check_for_em(dataset: dict) bool[source]

check if em is in the dataset

check_sphere() int[source]

check resolution of structure, returns 0 if its atomic and 1 if the model is multires

dataset_id_type_dic() dict[source]

dataset id and data items

delete_extra_loops(some_text=[]) list[source]

function to help re-write mmcif file for molprobity this cleans up extra loops in the cif file

property deposition_date

Return initial deposition date

get_RB_flex_dict() -> (<class 'dict'>, <class 'dict'>, <class 'int'>, <class 'int'>)[source]

get RB and flexible segments from model information

get_all_asym() list[source]

get all asym units

get_assembly_ID_of_models() list[source]

Assembly info i.e. model assemblies in the file

get_atomic_coverage() str[source]

Measure amount of atomic residues

get_authors() str[source]

get authors of the structure; fallback to authors of primary citation

get_chain_subunit_dict() dict[source]

Get chains of subunits

get_composition() dict[source]

Get composition dictionary

get_databases()[source]

get all datasets from the mmcif file

get_dataset_comp() dict[source]

detailed dataset composition

get_dataset_details() dict[source]

get information on dataset and databases

get_dataset_dict()[source]

get dataset dictionary

get_dataset_length() int[source]
get_dataset_xl_info(id: int) str[source]

Get dataset XL info given dataset ID

get_empty_chain_dict() dict[source]
get_ensembles()[source]

details on ensembles, if it exists

get_file_id()[source]

Return _entry.id; Requires compliant CIF file

get_id()[source]

Return _entry.id; Requires compliant CIF file

get_model_assem_dict() dict[source]

Map models to assemblies

get_model_id_column(atom_site: {}) int[source]
get_model_names() list[source]

Names of models

get_model_rep_dict() dict[source]

Map models to representations useful especially for multi-state systems

get_number_of_assemblies() int[source]
get_number_of_chains() int[source]

get number of chains per protein per assembly

get_number_of_entities() int[source]
get_number_of_models() int[source]

Get total number of models

get_pdb_dev_id() str[source]

Check database2 table for PDB-DEV ID

get_pdb_id() str[source]

Check database2 table for PDB ID

get_pdbx_id() str[source]

Check database2 table for PDBx ID

get_primary_citation_info() tuple[source]

get title and authors for the primary citation

get_protocol_number() int[source]

number of protocols/methods used to create model

get_ranked_id_list() list[source]

Get sorted list of multiple ids

get_representation()[source]

get details on number of model composition based on types of representation listed

get_representation_ID_of_models() list[source]

Number of representations in model

get_representation_details() dict[source]

Extract details about representation (atomic/coarse-grained)

get_representation_info()[source]
get_representation_scale(rep, chid=None) dict[source]

Extract details about representation (atomic/coarse-grained)

get_residues(asym)[source]

Get residues per chain

get_residues_subunit_dict() dict[source]

Get residues of chains in subunits

get_restraints() dict[source]

get restraints table from cif file

get_sampling() dict[source]

sampling composition/details

get_software_comp() dict[source]

get software composition to write out as a table

get_software_length() int[source]
get_struc_title() str[source]

get name of molecule

property has_crosslinking_ms_dataset
property has_em_dataset
property has_sas_dataset
mmcif_get_lists(filetemp=None) -> (<class 'list'>, <class 'dict'>, <class 'dict'>, <class 'list'>)[source]

function to help re-write mmcif file for molprobity this function reads the atom_site dictionary terms and returns a list

property num_models
pretty_print_scale(reprs_: dict) list[source]

Pretty print information about representation scales

read_all_references() None[source]
remove_flr(some_text=[]) list[source]

function to help re-write mmcif file for molprobity this deletes all flr related text/key-value pairs

property sequences: dict

Return dictionary with sequences of polymeric entities from mmcif entry

class ihm_validation.mmcif_io.IHMVAvailableModes(value)[source]

Bases: Enum

An enumeration.

DEVELOPMENT = 1
PRODUCTION = 0
ihm_validation.mmcif_io.get_operational_mode() IHMVAvailableModes[source]

Check environment variables and set the operational mode

ihm_validation.molprobity module

Perform MolProbit assessment

class ihm_validation.molprobity.AtomSiteVariant(model_id: int | None = None)[source]

Bases: Variant

Used to select typical PDBx/IHM file output. See write().

get_dumpers()[source]

Get the Dumper objects to use to write output.

Returns:

a list of Dumper objects.

class ihm_validation.molprobity.GetMolprobityInformation(*args, **kwargs)[source]

Bases: GetInputInformation

convert = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ihmvalidation/checkouts/v3.1/ihm_validation/molprobity_convert.py')
data = {}
get_internal_version(tool: str = 'molprobity.clashscore') str[source]

Get internal molprobity version. We assume that all tools belong to the same release.

get_mp_data()[source]
get_mq_plot_data()[source]
get_summary_table_stats()[source]
property models: list
property molprobity_version: str

Get MolProbity version. We assume that all tools belong to the same release.

run_molprobity(fname) dict | None[source]

Run MolProbity

summarize_angles()[source]
summarize_bonds()[source]
summarize_clashes()[source]
summarize_clashscores()[source]
summarize_mp_data()[source]
summarize_rama_rota(mode: Literal['rama', 'rota'])[source]
summarize_rama_rota_stats(mode: Literal['rama', 'rota'])[source]
verify_molprobity_installation()[source]

Stub for a validation function

class ihm_validation.molprobity.MyModelDumper(model_id: int | None = None)[source]

Bases: _ModelDumper

dump(system, writer)[source]

Use writer to write information about system to mmCIF or BinaryCIF.

Parameters:
  • system (ihm.System) – The ihm.System object containing all information about the system.

  • writer (ihm.format.CifWriter or ihm.format_bcif.BinaryCifWriter.) – Utility class to write data to the output file.

dump_atoms(system, writer, add_ihm=True)[source]
model_id = None

ihm_validation.molprobity_convert module

Convert MolProbity output from json to a pickled object

ihm_validation.molprobity_convert.get_atom_tuple(atom)[source]
ihm_validation.molprobity_convert.rota_rama_result_to_tuple(r)[source]

ihm_validation.precision module

Run local precision assessment (PrISM)

class ihm_validation.precision.PRISM(*args, timeout=120, **kwargs)[source]

Bases: GetInputInformation

data = {}
get_data()[source]
get_plots(imgDirname='.')[source]

Render PrISM images with PyMOL

property prism_version

This is a stub. Using hardoced commit id for now.

property pymol_version
timeout = 120

ihm_validation.report module

Generation of PDF and HTML reports

class ihm_validation.report.WriteReport(mmcif_file: str, db: str = '.', cache: str = '.', nocache: bool = False, enable_sas: bool = False, enable_cx: bool = False, enable_em: bool = False, enable_prism: bool = False)[source]

Bases: object

clean() None[source]

cleanup

report_version = '3.1'
run_cx_validation(Template_Dict: dict) dict[source]

get cx validation information from mmcif files NOTE: this function is incomplete it currently evaluates satisfaction from mmcif files and not the enetire ensemble

run_cx_validation_plots(Template_Dict: dict, imageDirName: str) None[source]

create validation plots for cx datasets NOTE: this function is incomplete, the plots are also ugly and need to be refined

run_em_validation(Template_Dict: dict, imageDirName: str) dict[source]

3DEM validation

run_entry_composition(Template_Dict: dict) dict[source]

get entry composition, relies on IHM library

run_model_quality(Template_Dict: dict, csvDirName: str, htmlDirName: str) -> (<class 'dict'>, <class 'dict'>, <class 'dict'>, <class 'dict'>, <class 'dict'>)[source]

get excluded volume for multiscale models get MolProbity info for atomic models exception: models with DNA–we need a way to assess models with DNA

run_prism(Template_Dict: dict, imageDirName: str) dict[source]
run_quality_glance(molprobity_dict: dict, exv_data: dict, sas_data_quality: dict, sas_fit: dict, cx_data_quality: dict, cx_fit: dict, em_data_quality: dict, em_fit: dict, imageDirName: str) dict[source]

get quality at glance image; will be updated as validation report is updated

run_sas_validation(Template_Dict: dict) -> (<class 'dict'>, <class 'dict'>, <class 'dict'>)[source]

get sas validation information from SASCIF or JSON files

run_sas_validation_plots(Template_Dict: dict, imageDirName: str)[source]

get sas validation information from SASCIF or JSON files

run_supplementary_table(Template_Dict, location='N/A', physics=['Information about physical principles was not provided'], method_details='N/A', sampling_validation=None, validation_input=['-'], cross_validation='N/A', Data_quality=['-'], clustering=None, resolution='N/A')[source]

get supplementary table, will be updated as validation report is updated

ihm_validation.sas module

SAS assessment for PDB-IHM

class ihm_validation.sas.SasValidation(*args, **kwargs)[source]

Bases: GetInputInformation

check_sascif_dicts()[source]
findMinDiff(listn: list, num: int) int[source]

quick min diff operation for calculating errors

get_Guinier_data() -> (<class 'dict'>, <class 'dict'>)[source]

get Guinier plot data from JSON files

get_atsas_version(tool: str = 'datcmp') str[source]

Get ATSAS version

get_fit_data() dict[source]

get fit information to make plots

get_fit_r2(df: DataFrame) int[source]
get_fits_for_plot() dict[source]

get chi-squared values from SASCIF files

get_intensities() dict[source]

get intensity data from SASCIF file

get_number_of_fits() dict[source]

get number of fits

get_parameters_mw_many() dict[source]

get MW details from SASCIF files

get_parameters_vol_many() dict[source]

get volume details from SASCIF files

get_pddf() dict[source]

get p(r) data from JSON

get_pddf_info() dict[source]

get p(r) related info from JSON

get_pofr() dict[source]

get pair-dist distribution from SASCIF files

get_pofr_errors() dict[source]

get pair-distance details and errors from JSON files

get_pofr_ext() dict[source]

get pair-distance details from SASCIF files

get_pvals() dict[source]

get p-values from ATSAS

get_rg_and_io() dict[source]

get rg information from SASCIF file

get_rg_for_plot() dict[source]

get Rg values from SASCIF file, if unavailabel, get it from JSON

get_rg_table_many() dict[source]

get rg information from multiple SASCIF files

get_sas_ids() list[source]

function to get all SASBDB codes used in the model, returns a list of SASBDB codes

get_sasbdb_ids() list[source]

function to get all SASBDB codes used in the model, returns a list of SASBDB codes

get_sascif_dicts()[source]
get_sascif_file(code, output_dir='.')[source]

get data from SASCIF files

get_sasdb_code_fits() list[source]

get asumber of fits per SASBDB ID

static get_scan_unit_mult(unit) int[source]
get_total_number_of_fits() int[source]
modify_intensity() dict[source]

modify intensity data to calcualte errors and log values

ihm_validation.sas_plots module

Generate plots for SAS assessment

class ihm_validation.sas_plots.SasValidationPlots(*args, imageDirName, **kwargs)[source]

Bases: SasValidation

Guinier_plot_fit_rwt(sasbdb: str, df: DataFrame, score: float)[source]

Gunier plot with fit

plot_Guinier()[source]
plot_fit_rwt(sasbdb: str, fit: int, score: float, df: DataFrame)[source]

plot chi-squared fit

plot_fits()[source]
plot_intensities(sasbdb: str, df: DataFrame)[source]

plot intensities with errors

plot_intensities_log(sasbdb: str, df: DataFrame)[source]

plot intensities on a log scale with errors

plot_kratky(sasbdb: str, df: DataFrame)[source]

plot dimensionless kratky

plot_multiple()[source]
plot_pddf(sasbdb: str, df: DataFrame, Rg=None, Dmax=None)[source]

p(r) plot, deprecated function

plot_pddf_int_rwt(sasbdb: str, df_int: DataFrame, df_pofr: DataFrame, df_error: DataFrame)[source]

p(r) with fit

plot_pf()[source]
plot_porod_debye(sasbdb: str, df: DataFrame)[source]

Porod-Debye plot for flexibility

save_plots(p, plot_name: str) dict[source]

Save html and svg plots

static set_plot_style(p)[source]

ihm_validation.utility module

Various helper functions

ihm_validation.utility.all_same(items: list)[source]

minor func

ihm_validation.utility.calc_optimal_range(counts: list) tuple[source]

heuristics to find optimal range for plots

>>> calc_optimal_range((10, 1567))
(9.0, 1568.5669999999998)
ihm_validation.utility.cat_list_string(listn: list) str[source]

minor func

ihm_validation.utility.check_for_dataset_type(dataset_list: list | None = None, dataset_type=None) bool[source]

check if the specific dataset type is present in the dataset list

ihm_validation.utility.clean_all(report=None)[source]

delete all generated files

ihm_validation.utility.compress_cx_stats(cx_stats: dict) list[source]

Extract per-model satisfactions stats as a flat list

ihm_validation.utility.dict_to_JSlist(d: dict) list[source]

convert dictionary to list of lists

ihm_validation.utility.dict_to_JSlist_rows(dict1: dict, dict2: dict) list[source]

format rigid and flexible segments

ihm_validation.utility.encode_img(buffer)[source]
ihm_validation.utility.format_RB_text(tex: list) str[source]

convert RB information to text for supp table

ihm_validation.utility.format_flex_text(tex: list) str[source]

convert flex information to text for supp table

ihm_validation.utility.format_list_text(sublist: list) str[source]

minor func

ihm_validation.utility.format_pdb_dev_id(pdb_dev_id: str) str[source]

Format PDB-DEV ID

ihm_validation.utility.format_pdb_id(pdb_id: str) str[source]

Format short PDB ID

ihm_validation.utility.format_pdbx_id(pdbx_id: str) str[source]

Format all PDB IDs to extended format

ihm_validation.utility.format_range(data, format='.2f')[source]
ihm_validation.utility.format_tuple(tex: list) str[source]
ihm_validation.utility.format_wwpdb_url(pdb_id: str) str[source]

Generate a url to the wwPDB entry page

ihm_validation.utility.get_RB(data_list: list) list[source]

format RB for supplementary/summary table

ihm_validation.utility.get_all_files(path_dir)[source]

minor func

Format link for AlphaFold DB

ihm_validation.utility.get_bead_size(sphere: Sphere) int[source]

Number of residues per bead

ihm_validation.utility.get_copy(name)[source]

minor func

ihm_validation.utility.get_cx_data_fits(cx_dict: dict) list[source]

format crosslinking-MS data for supplementary/summary table

ihm_validation.utility.get_datasets(data_dict: dict) list[source]

format datasets for supplementary/summary table

ihm_validation.utility.get_datasets_summary(system: System) list[source]

Get counts for all data types used for modeling

ihm_validation.utility.get_flex(data_list: list) list[source]

format flexible regions for supplementary/summary table

ihm_validation.utility.get_hierarchy_from_atoms(atoms) dict[source]

Construct polymer hierarchy from a list of atoms

ihm_validation.utility.get_hierarchy_from_model(model) dict[source]

Construct polymer hierarchy from atoms and beads in the model

ihm_validation.utility.get_key_from_val(dict1: dict, val1: str) list[source]

minor func

ihm_validation.utility.get_method_name(sample_dict: dict) str[source]

format method name for supplementary/summary table

ihm_validation.utility.get_method_type(sample_dict: dict) str[source]

format method type for supplementary/summary table

ihm_validation.utility.get_name(name) str[source]

minor func

ihm_validation.utility.get_output_file_html(prefix: str) str[source]

minor func

ihm_validation.utility.get_output_file_json(prefix: str) str[source]

minor func

ihm_validation.utility.get_output_file_pdf(prefix: str) str[source]

minor func

ihm_validation.utility.get_output_file_temp_html(prefix: str) str[source]

minor func

ihm_validation.utility.get_python_ihm_version() str[source]

returns Python-IHM version

ihm_validation.utility.get_restraints_info(restraints: dict) list[source]

format restraints info for supplementary/summary table

ihm_validation.utility.get_rg_data(rg_dict: dict) list[source]

format rg data for supplementary/summary table

ihm_validation.utility.get_rg_data_fits(rg_dict: dict) list[source]

format sas model fits for supplementary/summary table

ihm_validation.utility.get_software(data_dict: dict) list[source]

format software for supplementary/summary table

ihm_validation.utility.get_subunits(sub_dict: dict) list[source]

format chains for supplementary/summary table

ihm_validation.utility.get_supp_file_html(prefix: str) str[source]

minor func

ihm_validation.utility.get_supp_file_pdf(prefix: str) str[source]

minor func

ihm_validation.utility.get_unique_datasets(name: dict) list[source]

get all datatypes that are yet to be validated the ones that can’t or the ones that have already been validated are in the sub_data set

ihm_validation.utility.get_val_from_key(dict1: dict, key1: str) list[source]

minor func

ihm_validation.utility.is_atomic(data: System | Model)[source]
ihm_validation.utility.is_cg(data: System | Model)[source]
ihm_validation.utility.is_pdb_dev_id(pdb_dev_id: str) bool[source]

Check if the PDB-DEV ID

ihm_validation.utility.is_pdb_id(pdb_id: str) bool[source]

Check if the PDB ID is in PDB format

ihm_validation.utility.is_pdbx_id(pdbx_id: str) bool[source]

Check if the PDB ID is in extended format

ihm_validation.utility.islistempty(inlist: list) bool[source]

minor func

ihm_validation.utility.load_img(path)[source]
ihm_validation.utility.mp_readable_format(mp: dict) list[source]

Format MolProbity results for supplementary/summary table

ihm_validation.utility.order_of_magnitude(value: float) float[source]

calculate the order of magnitude for a given number

>>> order_of_magnitude(135)
2.0
ihm_validation.utility.parse_ihm_cif(fname, encoding='utf8') tuple[source]
ihm_validation.utility.pretty_print_representations(reprs: dict) list[source]

Pretty print information about representation scales

ihm_validation.utility.ranges(i)[source]
ihm_validation.utility.runInParallel(*fns)[source]

minor func

ihm_validation.utility.runInParallel_noargs(*fns)[source]

minor func

ihm_validation.utility.summarize_entities(rep_info: dict) list[source]
ihm_validation.utility.summarize_segments(rep_info: dict) list[source]
class ihm_validation.utility.timeout(seconds=1, error_message='Timeout')[source]

Bases: object

handle_timeout(signum, frame)[source]

Module contents

__init__.py - Init file for the package