A comprehensive Python SDK for programmatically accessing and integrating data from Elsevier’s premier knowledgebases, including Resnet, Reaxys, Embase, Pharmapendium, and more.
This repository serves as a centralized hub for Elsevier data integration. It is designed to bridge various knowledgebases into a unified workflow, with a primary focus on the ResnetAPI, which provides programmatic access to the world’s largest molecular biology knowledge graph.
The ResnetAPI interfaces with the Pathway Studio relational database. It leverages the Zeep package for SOAP API communication and transforms relational data into high-performance graph representations using NetworkX.
- Graph Object Query Language (GOQL): All requests to the relational database are made via GOQL. You can build these queries using the
PathwayStudioGOQL.pymodule or pass raw GOQL strings. - APISession Class: This is the primary entry point for data retrieval. It handles iterative data fetching to ensure optimal network performance and stability for large datasets.
- ResnetGraph Object: Query results are loaded into an
APISession.Graphobject, which is aResnetGraphclass derived fromnetworkx.MultiDiGraph.
You can specify which entity and relation properties to load by modifying the session attributes:
APISession.relProps: (Default:['Name', 'RelationNumberOfReferences'])APISession.entProps: (Default:['Name'])
Detailed documentation on property names and object types is available in the Documentation folder.
To use these APIs, you must obtain credentials for the respective Elsevier services:
- Pathway Studio (Resnet): Professional Services
- Reaxys: Contact Sales
- Embase & Pharmapendium: Visit the Elsevier Developer Portal. Swagger documentation is available here.
- Text-Mining API: Elsevier Text Mining
- Locate the
APIconfig.jsontemplate in theElsevierAPIfolder. - Input your login credentials for each respective service.
All SDK requirements are listed in requirements.txt file
pip install -r requirements.txt- Neo4j support Use the
PSnx2Neo4j.pymodule to import Resnet data retrieved via the API directly into a local Neo4j server instance for advanced graph visualization and querying. APISession parameters now support Resnet graph retreival from Neo4j database with references stored in Postgres database. Set parameteruseNeo4jto True to envoke this option.