napistu.modify.curation

Functions

curate_sbml_dfs(curation_dir, sbml_dfs[, ...])

Curate SBML_dfs

format_curated_entities(entity_type, ...[, ...])

Format Curated Entities

format_curations(curation_dict, sbml_dfs)

Format Curations

read_pathway_curations(curation_dir)

Read Pathway Curations

napistu.modify.curation._add_entity_foreign_keys(new_curated_entities: DataFrame, entity_type: str, type_schema: dict[str, Any], new_entities: dict[str, DataFrame], sbml_dfs: SBML_dfs) DataFrame

Add foreign key columns to curated entities.

napistu.modify.curation._add_entity_identifiers(new_curated_entities: DataFrame, type_schema: dict[str, Any]) DataFrame

Add identifier column to curated entities.

napistu.modify.curation._add_entity_labels(new_curated_entities: DataFrame, entity_type: str, type_schema: dict[str, Any]) DataFrame

Add label column to curated entities.

napistu.modify.curation._add_entity_primary_keys(new_curated_entities: DataFrame, entity_type: str, type_schema: dict[str, Any], sbml_dfs: SBML_dfs) DataFrame

Add primary key column to curated entities.

napistu.modify.curation._add_entity_sources(new_curated_entities: DataFrame, type_schema: dict[str, Any], curation_id: str) DataFrame

Add source column to curated entities.

napistu.modify.curation._expand_entities_by_fks(sbml_dfs: SBML_dfs, pk_dict: dict) dict

Expand Entities By Foreign Keys

Starting with a dictionary of foreign keys, add all primary keys that are defined by these foreign keys

Params

sbml_dfs: SBML_dfs

A pathway model

pk_dict: dict

Dictionary where keys are types of primary keys in sbml_dfs

returns:

pk_dict – Input where additional primary keys may have been added

rtype:

dict

napistu.modify.curation._find_invalid_entities(sbml_dfs: SBML_dfs, invalid_entities: DataFrame) dict[str, set]

Find Invalid Entities

Based on a set of entity names or attributes, find each entities corresponding primary key

Params

sbml_dfs: SBML_dfs

A pathway model

invalid_entities: pd.DataFrame

A table containing entities to be removed (“remove”), the table where the entity resides (“table”) and variable used to find the entity (“variable”)

returns:

invalid_entities_dict – A dictionary containing the primary keys of invalid entities

rtype:

dict

napistu.modify.curation._format_explicit_reaction_species(curation_dict: dict[str, DataFrame]) DataFrame | None

Format reaction species which are deirectly defined among curated species.

napistu.modify.curation._format_implicit_reaction_species(curation_dict: dict[str, DataFrame]) DataFrame

Construct reaction species which are defined in reactions’ stoichiometry.

napistu.modify.curation._remove_entities(sbml_dfs: SBML_dfs, pk_dict: dict) SBML_dfs

Remove Entities

Remove entities whose primary keys are in pk_dict

Params

sbml_dfs: SBML_dfs

A pathway model

pk_dict: dict

Dictionary where keys are types of primary keys in sbml_dfs

returns:

sbml_dfs – Input with some entities removed

rtype:

SBML_dfs

napistu.modify.curation._validate_format_curated_entities_inputs(entity_type: str, new_curated_entities: DataFrame, new_entities: dict[str, DataFrame], sbml_dfs: SBML_dfs, curation_id: str) None

Validate inputs for format_curated_entities.

napistu.modify.curation.curate_sbml_dfs(curation_dir: str, sbml_dfs: SBML_dfs, verbose: bool = True) SBML_dfs

Curate SBML_dfs

Update a pathway model using manual annotations.

The current workflow is to: - annotate pathways in https://docs.google.com/spreadsheets/d/1waVXSVMOthL5QAT0PITgLMDdXGHIS50LZ2P1_F_c-6s/edit#gid=101210748 - parse annotations into flat files using parse_manual_annotation.Rmd - call this function to format flat files and update a current SBML_dfs pathway model

Params

curation_dir: str

Directory containing annotations generated using parse_manual_annotation.Rmd

sbml_dfs: SBML_dfs

A pathway model

verbose: bool

Extra reporting

returns:

sbml_df – A curated pathway model

rtype:

SBML_dfs

napistu.modify.curation.format_curated_entities(entity_type: str, new_curated_entities: dict[Any, DataFrame], new_entities: dict[str, DataFrame], sbml_dfs: SBML_dfs, curation_id: str = 'Calico curations') DataFrame

Format Curated Entities

Convert entities from the curation format to the stucture of SBML_dfs tables

Params

entity_type: str

The type of entity to update (e.g., reactions, species, …)

new_curated_entities: dict

Curation pd.DataFrames generated using read_pathway_curations

new_entities: dict

Curations formatted as SBML_dfs tables

sbml_dfs: SBML_dfs

A pathway model

curation_id: str

Name to use as a pathway id in Source objects

returns:

new_entity_df – Input for entity_type formatted as an SBML_dfs table

rtype:

pd.DataFrame

napistu.modify.curation.format_curations(curation_dict: dict[str, DataFrame], sbml_dfs: SBML_dfs) dict[str, DataFrame]

Format Curations

Format manual curations into a set of table that can be appended to an sbml_dfs’s tables

Params

curation_dict:

Curations imported using read_pathway_curations

sbml_dfs:

A pathway model

returns:

new_entities – Curations formatted as SBML_dfs tables

rtype:

dict

napistu.modify.curation.read_pathway_curations(curation_dir: str) dict[str, DataFrame]

Read Pathway Curations

Load curations that were prepared by parse_manual_annotations.Rmd

Params

curation_dir: str

Directory containing annotations generated using parse_manual_annotation.Rmd

returns:

curations – Dictionary containing different types of annoations

rtype:

dict