Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 21 additions & 14 deletions docs/source/artifacts.rst
Original file line number Diff line number Diff line change
@@ -1,45 +1,52 @@
SeMRA Raw Semantic Mappings Database
====================================
######################################
SeMRA Raw Semantic Mappings Database
######################################

.. automodapi:: semra.database
:no-heading:

Domain-specific Processed Mapping Databases
===========================================
#############################################
Domain-specific Processed Mapping Databases
#############################################

.. automodapi:: semra.landscape
:no-heading:

Disease
-------
*********
Disease
*********

.. automodapi:: semra.landscape.disease
:include-all-objects:
:no-heading:

Cell and Cell Line
------------------
********************
Cell and Cell Line
********************

.. automodapi:: semra.landscape.cell
:include-all-objects:
:no-heading:

Protein Complex
---------------
*****************
Protein Complex
*****************

.. automodapi:: semra.landscape.complex
:include-all-objects:
:no-heading:

Gene
----
******
Gene
******

.. automodapi:: semra.landscape.gene
:include-all-objects:
:no-heading:

Anatomy
-------
*********
Anatomy
*********

.. automodapi:: semra.landscape.anatomy
:include-all-objects:
Expand Down
5 changes: 3 additions & 2 deletions docs/source/cli.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Command Line Interface
======================
########################
Command Line Interface
########################

semra automatically installs the command ``semra``. See ``semra --help`` for usage
details.
Expand Down
20 changes: 12 additions & 8 deletions docs/source/cypher.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Querying with Cypher
====================
######################
Querying with Cypher
######################

SeMRA constructs data artifacts and docker configuration for locally deploying a Neo4j
graph databases and a web application via :func:`semra.io.write_neo4j` (for example
Expand All @@ -21,8 +22,9 @@ The contents of the grpah database have the following schema:
Below, some example Cypher queries are given to show what is possible by direct querying
of the database.

Lookup by CURIE
---------------
*****************
Lookup by CURIE
*****************

The following Cypher queries allow for looking up concepts, mappings, evidences, and
mapping sets.
Expand Down Expand Up @@ -79,8 +81,9 @@ the name:
WHERE n.curie = "cellosaurus:0440"
RETURN n.name

Traversing Mappings
-------------------
*********************
Traversing Mappings
*********************

Get all targets for exact match mappings where ``cellosaurus:0440`` is the source:

Expand Down Expand Up @@ -176,8 +179,9 @@ sets and authors:
(e)-[:hasAuthor]->(author:concept)
RETURN source, target, m, e, mset, author

Neo4j Output Reference
----------------------
************************
Neo4j Output Reference
************************

.. automodapi:: semra.io.neo4j_io
:skip: write_neo4j
Expand Down
135 changes: 79 additions & 56 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
SeMRA |release| Documentation
=============================
###############################
SeMRA |release| Documentation
###############################

The Semantic Mapping Reasoner and Assembler (SeMRA) assembles semantic mappings to
support data- and knowledge integration across domains. This Python package can be used
Expand Down Expand Up @@ -37,14 +38,21 @@ the digital humanities. Get started by loading external mappings:
# load mappings from any standardized SSSOM file as a file path or URL
"https://w3id.org/biopragmatics/biomappings/sssom/biomappings.sssom.tsv",
license="spdx:CC0-1.0",
mapping_set_title="biomappings",
mapping_set_title="biomappings",
)

Or by creating your own mappings:

.. code-block:: python

from semra import Reference, Mapping, EXACT_MATCH, SimpleEvidence, MappingSet, MANUAL_MAPPING
from semra import (
Reference,
Mapping,
EXACT_MATCH,
SimpleEvidence,
MappingSet,
MANUAL_MAPPING,
)

r1 = Reference(prefix="chebi", identifier="107635", name="2,3-diacetyloxybenzoic")
r2 = Reference(prefix="mesh", identifier="C011748", name="tosiben")
Expand All @@ -58,17 +66,22 @@ Or by creating your own mappings:
justification=MANUAL_MAPPING,
confidence=0.99,
author=Reference(
prefix="orcid", identifier="0000-0003-4423-4370", name="Charles Tapley Hoyt"
prefix="orcid",
identifier="0000-0003-4423-4370",
name="Charles Tapley Hoyt",
),
mapping_set=MappingSet(
name="biomappings", license="CC0", confidence=0.90,
name="biomappings",
license="CC0",
confidence=0.90,
),
)
]
],
)

Features
--------
**********
Features
**********

1. An object model for semantic mappings (based on the `Simple Standard for Sharing
Ontological Mappings (SSSOM) <https://mapping-commons.github.io/sssom/>`_ and
Expand All @@ -82,67 +95,76 @@ Here's a conceptual diagram of SeMRA's architecture:

.. image:: img/architecture.svg

What SeMRA Isn't
----------------
SeMRA isn't a tool for predicting semantic mappings like
`Logmap <https://github.com/ernestojimenezruiz/logmap-matcher>`_,
`LOOM <https://www.bioontology.org/wiki/LOOM>`_, or `K-Boom <https://www.biorxiv.org/content/10.1101/048843v3>`_.
Further, it's not a tool for reviewing predicted semantic mappings like
`MapperGPT <https://arxiv.org/abs/2310.03666>`_. However, any of the outputs
from these workflows could be used as inputs to SeMRA's assembly and inference
pipeline.

SeMRA isn't a service that lives on the web, but it does allow you to deploy a local
web application for your use-case specific mapping database.

SeMRA isn't itself a curation tool, but it has the option to integrate :mod:`biomappings`
in deployments of its local web application for curation purposes.

SeMRA isn't an tool for merging ontologies like `CoMerger <https://arxiv.org/abs/2005.02659>`_
or `OntoMerger <https://arxiv.org/abs/2206.02238>`_, but it outputs detailed
and comprehensive semantic mappings that are critical as input for such tools.

Artifacts Overview
------------------

SeMRA was used to produce the `SeMRA Raw Semantic Mappings Database <https://doi.org/10.5281/zenodo.11082038>`_,
a comprehensive raw semantic mappings database, and five domain-specific
mapping databases (each with a landscape analysis). The results of the
domain-specific landscape analyses can be found on the SeMRA `GitHub
******************
What SeMRA Isn't
******************

SeMRA isn't a tool for predicting semantic mappings like `Logmap
<https://github.com/ernestojimenezruiz/logmap-matcher>`_, `LOOM
<https://www.bioontology.org/wiki/LOOM>`_, or `K-Boom
<https://www.biorxiv.org/content/10.1101/048843v3>`_. Further, it's not a tool for
reviewing predicted semantic mappings like `MapperGPT
<https://arxiv.org/abs/2310.03666>`_. However, any of the outputs from these workflows
could be used as inputs to SeMRA's assembly and inference pipeline.

SeMRA isn't a service that lives on the web, but it does allow you to deploy a local web
application for your use-case specific mapping database.

SeMRA isn't itself a curation tool, but it has the option to integrate
:mod:`biomappings` in deployments of its local web application for curation purposes.

SeMRA isn't an tool for merging ontologies like `CoMerger
<https://arxiv.org/abs/2005.02659>`_ or `OntoMerger
<https://arxiv.org/abs/2206.02238>`_, but it outputs detailed and comprehensive semantic
mappings that are critical as input for such tools.

********************
Artifacts Overview
********************

SeMRA was used to produce the `SeMRA Raw Semantic Mappings Database
<https://doi.org/10.5281/zenodo.11082038>`_, a comprehensive raw semantic mappings
database, and five domain-specific mapping databases (each with a landscape analysis).
The results of the domain-specific landscape analyses can be found on the SeMRA `GitHub
repository <https://github.com/biopragmatics/semra/tree/main/landscape>`_.

================== ============================== ================= ===============================================================================================
================== ============================== ================= =============================================================================
Domain Docs and Reproduction Database Download Analysis
================== ============================== ================= ===============================================================================================
Raw :mod:`semra.database` |raw| N/A
Disease :mod:`semra.landscape.disease` |disease| `Disease Analysis <https://github.com/biopragmatics/semra/tree/main/landscape/disease#readme>`_
Cell and Cell Line :mod:`semra.landscape.cell` |cell| `Cell Analysis <https://github.com/biopragmatics/semra/tree/main/landscape/cell#readme>`_
Anatomy :mod:`semra.landscape.anatomy` |anatomy| `Anatomy Analysis <https://github.com/biopragmatics/semra/tree/main/landscape/anatomy#readme>`_
Protein Complex :mod:`semra.landscape.complex` |complex| `Complex Analysis <https://github.com/biopragmatics/semra/tree/main/landscape/complex#readme>`_
Gene :mod:`semra.landscape.gene` |gene| `Gene Analysis <https://github.com/biopragmatics/semra/tree/main/landscape/gene#readme>`_
================== ============================== ================= ===============================================================================================
================== ============================== ================= =============================================================================
Raw :mod:`semra.database` |raw| N/A
Disease :mod:`semra.landscape.disease` |disease| `Disease Analysis
<https://github.com/biopragmatics/semra/tree/main/landscape/disease#readme>`_
Cell and Cell Line :mod:`semra.landscape.cell` |cell| `Cell Analysis
<https://github.com/biopragmatics/semra/tree/main/landscape/cell#readme>`_
Anatomy :mod:`semra.landscape.anatomy` |anatomy| `Anatomy Analysis
<https://github.com/biopragmatics/semra/tree/main/landscape/anatomy#readme>`_
Protein Complex :mod:`semra.landscape.complex` |complex| `Complex Analysis
<https://github.com/biopragmatics/semra/tree/main/landscape/complex#readme>`_
Gene :mod:`semra.landscape.gene` |gene| `Gene Analysis
<https://github.com/biopragmatics/semra/tree/main/landscape/gene#readme>`_
================== ============================== ================= =============================================================================

.. |disease| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.11091885.svg
:target: https://doi.org/10.5281/zenodo.11091885
:target: https://doi.org/10.5281/zenodo.11091885

.. |cell| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.11091580.svg
:target: https://doi.org/10.5281/zenodo.11091580
:target: https://doi.org/10.5281/zenodo.11091580

.. |anatomy| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.11091802.svg
:target: https://doi.org/10.5281/zenodo.11091802
:target: https://doi.org/10.5281/zenodo.11091802

.. |complex| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.11091421.svg
:target: https://doi.org/10.5281/zenodo.11091421
:target: https://doi.org/10.5281/zenodo.11091421

.. |gene| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.11092012.svg
:target: https://doi.org/10.5281/zenodo.11092012
:target: https://doi.org/10.5281/zenodo.11092012

.. |raw| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.11082038.svg
:target: https://doi.org/10.5281/zenodo.11082038

:target: https://doi.org/10.5281/zenodo.11082038

Table of Contents
-----------------
*******************
Table of Contents
*******************

.. toctree::
:maxdepth: 2
Expand All @@ -159,8 +181,9 @@ Table of Contents
cli
cypher

Indices and Tables
------------------
********************
Indices and Tables
********************

- :ref:`genindex`
- :ref:`modindex`
Expand Down
15 changes: 9 additions & 6 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Installation
============
##############
Installation
##############

The most recent release can be installed from `PyPI <https://pypi.org/project/semra>`_
with uv:
Expand All @@ -14,8 +15,9 @@ or with pip:

$ python3 -m pip install semra

Installing from git
-------------------
*********************
Installing from git
*********************

The most recent code and data can be installed directly from GitHub with uv:

Expand All @@ -29,8 +31,9 @@ or with pip:

$ python3 -m pip install git+https://github.com/biopragmatics/semra.git

Installing for development
--------------------------
****************************
Installing for development
****************************

To install in development mode with uv:

Expand Down
5 changes: 3 additions & 2 deletions docs/source/io.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Getting and Writing Semantic Mappings
=====================================
#######################################
Getting and Writing Semantic Mappings
#######################################

.. automodapi:: semra.io
:no-heading:
5 changes: 3 additions & 2 deletions docs/source/pipeline.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Mapping Assembly Pipeline
=========================
###########################
Mapping Assembly Pipeline
###########################

.. automodapi:: semra.pipeline
:no-heading:
Expand Down
5 changes: 3 additions & 2 deletions docs/source/reference.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Reference
=========
###########
Reference
###########

This contains several SeMRA submodules with low-level functionality. You can use these
to build your own mapping processing workflows and I/O.
Expand Down
5 changes: 3 additions & 2 deletions docs/source/struct.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Data Structure
==============
################
Data Structure
################

.. automodapi:: semra.struct
:skip: Reference,Triple
Expand Down
5 changes: 3 additions & 2 deletions docs/source/tutorial.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Prioritizing CURIEs in a Dataframe
==================================
####################################
Prioritizing CURIEs in a Dataframe
####################################

SeMRA provides tools for data scientists to standardize references using semantic
mappings.
Expand Down
Loading
Loading