Skip to content

I/O

momapy.io

IO subpackage for reading and writing maps.

Provides functions and registries for reading and writing molecular maps in various formats (SBGN-ML, CellDesigner, SBML, etc.).

Example

from momapy.io import get_reader, get_writer reader = get_reader("sbgnml") writer = get_writer("sbgnml")

Modules:

Name Description
core

Base classes and functions for reading and writing maps.

Functions:

Name Description
get_reader

Get a reader class by name.

get_writer

Get a writer class by name.

list_readers

List all available reader names.

list_writers

List all available writer names.

register_lazy_reader

Register a reader for lazy loading.

register_lazy_writer

Register a writer for lazy loading.

register_reader

Register a reader class.

register_writer

Register a writer class.

get_reader

get_reader(name: str) -> type[Reader]

Get a reader class by name.

Parameters:

Name Type Description Default
name str

Reader name (e.g., "sbgnml", "celldesigner").

required

Returns:

Type Description
type[Reader]

Reader class for the specified format.

Raises:

Type Description
ValueError

If no reader with that name exists.

Example

from momapy.io import get_reader reader = get_reader("sbgnml")

Source code in src/momapy/io/__init__.py
def get_reader(name: str) -> type[momapy.io.core.Reader]:
    """Get a reader class by name.

    Args:
        name: Reader name (e.g., "sbgnml", "celldesigner").

    Returns:
        Reader class for the specified format.

    Raises:
        ValueError: If no reader with that name exists.

    Example:
        >>> from momapy.io import get_reader
        >>> reader = get_reader("sbgnml")
    """
    reader = reader_registry.get(name)
    if reader is None:
        available = reader_registry.list_available()
        raise ValueError(
            f"No reader named '{name}'. Available readers: {', '.join(available)}"
        )
    return reader

get_writer

get_writer(name: str) -> type[Writer]

Get a writer class by name.

Parameters:

Name Type Description Default
name str

Writer name (e.g., "sbgnml", "celldesigner-pickle").

required

Returns:

Type Description
type[Writer]

Writer class for the specified format.

Raises:

Type Description
ValueError

If no writer with that name exists.

Example

from momapy.io import get_writer writer = get_writer("sbgnml")

Source code in src/momapy/io/__init__.py
def get_writer(name: str) -> type[momapy.io.core.Writer]:
    """Get a writer class by name.

    Args:
        name: Writer name (e.g., "sbgnml", "celldesigner-pickle").

    Returns:
        Writer class for the specified format.

    Raises:
        ValueError: If no writer with that name exists.

    Example:
        >>> from momapy.io import get_writer
        >>> writer = get_writer("sbgnml")
    """
    writer = writer_registry.get(name)
    if writer is None:
        available = writer_registry.list_available()
        raise ValueError(
            f"No writer named '{name}'. Available writers: {', '.join(available)}"
        )
    return writer

list_readers

list_readers() -> list[str]

List all available reader names.

Returns:

Type Description
list[str]

Sorted list of available reader names.

Example

from momapy.io import list_readers list_readers() ['celldesigner', 'sbgnml', ...]

Source code in src/momapy/io/__init__.py
def list_readers() -> list[str]:
    """List all available reader names.

    Returns:
        Sorted list of available reader names.

    Example:
        >>> from momapy.io import list_readers
        >>> list_readers()
        ['celldesigner', 'sbgnml', ...]
    """
    return reader_registry.list_available()

list_writers

list_writers() -> list[str]

List all available writer names.

Returns:

Type Description
list[str]

Sorted list of available writer names.

Example

from momapy.io import list_writers list_writers() ['sbgnml', 'sbgn-pickle', ...]

Source code in src/momapy/io/__init__.py
def list_writers() -> list[str]:
    """List all available writer names.

    Returns:
        Sorted list of available writer names.

    Example:
        >>> from momapy.io import list_writers
        >>> list_writers()
        ['sbgnml', 'sbgn-pickle', ...]
    """
    return writer_registry.list_available()

register_lazy_reader

register_lazy_reader(name: str, import_path: str) -> None

Register a reader for lazy loading.

Parameters:

Name Type Description Default
name str

Name to register the reader under.

required
import_path str

Import path in format "module.path:ClassName".

required
Example

from momapy.io import register_lazy_reader register_lazy_reader("myformat", "mymodule.io:MyFormatReader")

Source code in src/momapy/io/__init__.py
def register_lazy_reader(name: str, import_path: str) -> None:
    """Register a reader for lazy loading.

    Args:
        name: Name to register the reader under.
        import_path: Import path in format "module.path:ClassName".

    Example:
        >>> from momapy.io import register_lazy_reader
        >>> register_lazy_reader("myformat", "mymodule.io:MyFormatReader")
    """
    reader_registry.register_lazy(name, import_path)

register_lazy_writer

register_lazy_writer(name: str, import_path: str) -> None

Register a writer for lazy loading.

Parameters:

Name Type Description Default
name str

Name to register the writer under.

required
import_path str

Import path in format "module.path:ClassName".

required
Example

from momapy.io import register_lazy_writer register_lazy_writer("myformat", "mymodule.io:MyFormatWriter")

Source code in src/momapy/io/__init__.py
def register_lazy_writer(name: str, import_path: str) -> None:
    """Register a writer for lazy loading.

    Args:
        name: Name to register the writer under.
        import_path: Import path in format "module.path:ClassName".

    Example:
        >>> from momapy.io import register_lazy_writer
        >>> register_lazy_writer("myformat", "mymodule.io:MyFormatWriter")
    """
    writer_registry.register_lazy(name, import_path)

register_reader

register_reader(name: str, cls: type[Reader]) -> None

Register a reader class.

Parameters:

Name Type Description Default
name str

Name to register the reader under.

required
cls type[Reader]

Reader class (must inherit from Reader).

required
Example

from momapy.io import register_reader register_reader("myformat", MyFormatReader)

Source code in src/momapy/io/__init__.py
def register_reader(name: str, cls: type[momapy.io.core.Reader]) -> None:
    """Register a reader class.

    Args:
        name: Name to register the reader under.
        cls: Reader class (must inherit from Reader).

    Example:
        >>> from momapy.io import register_reader
        >>> register_reader("myformat", MyFormatReader)
    """
    reader_registry.register(name, cls)

register_writer

register_writer(name: str, cls: type[Writer]) -> None

Register a writer class.

Parameters:

Name Type Description Default
name str

Name to register the writer under.

required
cls type[Writer]

Writer class (must inherit from Writer).

required
Example

from momapy.io import register_writer register_writer("myformat", MyFormatWriter)

Source code in src/momapy/io/__init__.py
def register_writer(name: str, cls: type[momapy.io.core.Writer]) -> None:
    """Register a writer class.

    Args:
        name: Name to register the writer under.
        cls: Writer class (must inherit from Writer).

    Example:
        >>> from momapy.io import register_writer
        >>> register_writer("myformat", MyFormatWriter)
    """
    writer_registry.register(name, cls)