indra

所属分类:自然语言处理
开发工具:Python
文件大小:45161KB
下载次数:0
上传日期:2023-04-19 19:56:33
上 传 者sh-1993
说明:  indra,indra(集成网络和动态推理汇编程序)是一个与NLP接口的自动化模型汇编系统...
(INDRA (Integrated Network and Dynamical Reasoning Assembler) is an automated model assembly system interfacing with NLP systems and databases to collect knowledge, and through a process of assembly, produce causal graphs and dynamical models.)

文件列表:
.mailmap (1755, 2023-05-26)
CNAME (13, 2023-05-26)
CONTRIBUTING.md (9000, 2023-05-26)
LICENSE (1314, 2023-05-26)
MANIFEST.in (759, 2023-05-26)
_config.yml (26, 2023-05-26)
doc (0, 2023-05-26)
doc\Makefile (7405, 2023-05-26)
doc\conf.py (11114, 2023-05-26)
doc\ext (0, 2023-05-26)
doc\ext\citations.py (1373, 2023-05-26)
doc\getting_started.rst (6452, 2023-05-26)
doc\images (0, 2023-05-26)
doc\images\assembly.png (53006, 2023-05-26)
doc\images\example_graph.png (11033, 2023-05-26)
doc\index.rst (1137, 2023-05-26)
doc\indra_logo.png (52953, 2023-05-26)
doc\installation.rst (10239, 2023-05-26)
doc\license.rst (576, 2023-05-26)
doc\make.bat (7242, 2023-05-26)
doc\modules (0, 2023-05-26)
doc\modules\assemblers (0, 2023-05-26)
doc\modules\assemblers\bmi_wrapper.rst (233, 2023-05-26)
doc\modules\assemblers\cx_assembler.rst (184, 2023-05-26)
doc\modules\assemblers\cyjs_assembler.rst (196, 2023-05-26)
doc\modules\assemblers\english_assembler.rst (195, 2023-05-26)
doc\modules\assemblers\graph_assembler.rst (189, 2023-05-26)
doc\modules\assemblers\html_assembler.rst (233, 2023-05-26)
doc\modules\assemblers\index.rst (403, 2023-05-26)
doc\modules\assemblers\index_card_assembler.rst (210, 2023-05-26)
doc\modules\assemblers\indranet_assembler.rst (293, 2023-05-26)
doc\modules\assemblers\kami_assembler.rst (174, 2023-05-26)
... ...

# INDRA [![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause) [![Build](https://github.com/sorgerlab/indra/workflows/Tests/badge.svg)](https://github.com/sorgerlab/indra/actions) [![Documentation](https://readthedocs.org/projects/indra/badge/?version=latest)](https://indra.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/indra.svg)](https://badge.fury.io/py/indra) [![Python 3](https://img.shields.io/pypi/pyversions/indra.svg)](https://www.python.org/downloads/release/python-357/) INDRA (Integrated Network and Dynamical Reasoning Assembler) is an automated model assembly system, originally developed for molecular systems biology and then generalized to other domains (see [INDRA World](https://github.com/indralab/indra_world)). INDRA draws on natural language processing systems and structured databases to collect mechanistic and causal assertions, represents them in a standardized form (INDRA Statements), and assembles them into various modeling formalisms including causal graphs and dynamical models. At the core of INDRA are its knowledge-level assembly procedures, allowing sources to be assembled into coherent models, a process that involves correcting systematic input errors, finding and resolving redundancies, inferring missing information, filtering to a relevant scope and assessing the reliability of causal information. The detailed INDRA documentation is available at [http://indra.readthedocs.io](http://indra.readthedocs.io). ## Contents - [INDRA Modules](#indra-modules) - [Knowledge sources](#knowledge-sources) - [Output model assemblers](#output-model-assemblers) - [Internal knowledge assembly](#internal-knowledge-assembly) - [Other modules](#other-modules) - [Citation](#citation) - [Installation](#installation) - [INDRA REST API](#indra-rest-api) - [INDRA Docker](#indra-docker) - [Using INDRA](#using-indra) - [Funding](#funding) ## INDRA Modules ### Knowledge sources INDRA is currently integrated with the following natural language processing systems and structured databases. These input modules (available in `indra.sources`) all produce INDRA Statements. Reading systems: | Reader | Module | Reference | |------------|--------------------------------------------------------------------------------------------------------|-------------------------------------------------| | TRIPS/DRUM | [`indra.sources.trips`](https://indra.readthedocs.io/en/latest/modules/sources/trips/index.html) | http://trips.ihmc.us/parser/cgi/drum | | REACH | [`indra.sources.reach`](https://indra.readthedocs.io/en/latest/modules/sources/reach/index.html) | https://github.com/clulab/reach | | Sparser | [`indra.sources.sparser`](https://indra.readthedocs.io/en/latest/modules/sources/sparser/index.html#) | https://github.com/ddmcdonald/sparser | | Eidos | [`indra.sources.eidos`](https://indra.readthedocs.io/en/latest/modules/sources/eidos/index.html#) | https://github.com/clulab/eidos | | TEES | [`indra.sources.tees`](https://indra.readthedocs.io/en/latest/modules/sources/tees/index.html) | https://github.com/jbjorne/TEES | | MedScan | [`indra.sources.medscan`](https://indra.readthedocs.io/en/latest/modules/sources/medscan/index.html) | https://doi.org/10.1093/bioinformatics/btg207 | | RLIMS-P | [`indra.sources.rlimsp`](https://indra.readthedocs.io/en/latest/modules/sources/rlimsp/index.html) | https://research.bioinformatics.udel.edu/rlimsp | | ISI/AMR | [`indra.sources.isi`](https://indra.readthedocs.io/en/latest/modules/sources/isi/index.html) | https://github.com/sgarg87/big_mech_isi_gg | | Geneways | [`indra.sources.geneways`](https://indra.readthedocs.io/en/latest/modules/sources/geneways/index.html) | https://www.ncbi.nlm.nih.gov/pubmed/15016385 | | GNBR | [`indra.sources.gnbr`](https://indra.readthedocs.io/en/latest/modules/sources/gnbr/index.html) | https://zenodo.org/record/3459420 | | SemRep | [`indra.sources.semrep`](https://indra.readthedocs.io/en/latest/modules/sources/semrep.html) | https://github.com/lhncbc/SemRep | Biological pathway databases: | Database / Exchange format | Module | Reference | |----------------------------|----------------------------|-----------------------------------------------------------------| | PathwayCommons / BioPax | [`indra.sources.biopax`](https://indra.readthedocs.io/en/latest/modules/sources/biopax/index.html) | http://pathwaycommons.org/
http://www.biopax.org/ | | Large Corpus / BEL | [`indra.sources.bel`](https://indra.readthedocs.io/en/latest/modules/sources/bel/index.html) | https://github.com/pybel/pybel
https://github.com/OpenBEL | | Signor | [`indra.sources.signor`](https://indra.readthedocs.io/en/latest/modules/sources/signor/index.html) | https://signor.uniroma2.it/ | | BioGRID | [`indra.sources.biogrid`](https://indra.readthedocs.io/en/latest/modules/sources/biogrid/index.html) | https://thebiogrid.org/ | | Target Affinity Spectrum | [`indra.sources.tas`](https://indra.readthedocs.io/en/latest/modules/sources/tas/index.html#) | https://doi.org/10.1101/358978 | | HPRD | [`indra.sources.hprd`](https://indra.readthedocs.io/en/latest/modules/sources/hprd/index.html) | http://www.hprd.org | | | TRRUST | [`indra.sources.trrust`](https://indra.readthedocs.io/en/latest/modules/sources/trrust.html) | https://www.grnpedia.org/trrust/ | | | Phospho.ELM | [`indra.sources.phosphoelm`](https://indra.readthedocs.io/en/latest/modules/sources/phosphoelm/index.html) | http://phospho.elm.eu.org/ | | VirHostNet | [`indra.sources.virhostnet`](https://indra.readthedocs.io/en/latest/modules/sources/virhostnet/index.html) | http://virhostnet.prabi.fr/ | | CTD | [`indra.sources.ctd`](https://indra.readthedocs.io/en/latest/modules/sources/ctd/index.html) | http://ctdbase.org | | DrugBank | [`indra.sources.drugbank`](https://indra.readthedocs.io/en/latest/modules/sources/drugbank/index.html) | https://www.drugbank.ca/ | | OmniPath | [`indra.sources.omnipath`](https://indra.readthedocs.io/en/latest/modules/sources/omnipath/index.html) | https://omnipathdb.org/ | | DGI | [`indra.sources.dgi`](https://indra.readthedocs.io/en/latest/modules/sources/dgi/index.html) | https://www.dgidb.org/ | | CRoG | [`indra.sources.crog`](https://indra.readthedocs.io/en/latest/modules/sources/crog/index.html) | https://github.com/chemical-roles/chemical-roles | | CREEDS | [`indra.sources.creeds`](https://indra.readthedocs.io/en/latest/modules/sources/creeds/index.html) | https://maayanlab.cloud/CREEDS/ | | UbiBrowser | [`indra.sources.ubibrowser`](https://indra.readthedocs.io/en/latest/modules/sources/ubibrowser.html) | http://ubibrowser.ncpsb.org.cn/ | | ACSN | [`indra.sources.acsn`](https://indra.readthedocs.io/en/latest/modules/sources/acsn.html) | https://acsn.curie.fr/ACSN2/ACSN2.html | Custom knowledge bases: | Database / Exchange format | Module | Reference | |----------------------------|-------------------------------|--------------------------------------| | NDEx / CX | [`indra.sources.ndex_cx`](https://indra.readthedocs.io/en/latest/modules/sources/ndex_cx/index.html) | http://ndexbio.org | | INDRA DB / INDRA Statements| [`indra.sources.indra_db_rest`](https://indra.readthedocs.io/en/latest/modules/sources/indra_db_rest/index.html) | https://github.com/indralab/indra_db | | Hypothes.is | [`indra.sources.hypothesis`](https://indra.readthedocs.io/en/latest/modules/sources/hypothesis/index.html) | https://hypothes.is | | Biofactoid | [`indra.sources.biofactoid`](https://indra.readthedocs.io/en/latest/modules/sources/biofactoid/index.html) | https://biofactoid.org/ | | MINERVA | [`indra.sources.minerva`](https://indra.readthedocs.io/en/latest/modules/sources/minerva/index.html) | https://covid19map.elixir-luxembourg.org/minerva/ | ### Output model assemblers INDRA also provides several model output assemblers that take INDRA Statements as input. The most sophisticated model assembler is the PySB Assembler, which implements a policy-guided automated assembly procedure of a rule-based executable model (that can then be further compiled into other formats such as SBML, Kappa, BNGL and SBGN to connect to a vast ecosystem of downstream tools). Several other model assembly modules target various network formats for visualization, and graph/structural analysis (PyBEL, CyJS, Graphviz, SBGN, CX, SIF, etc.) and curation (HTML, TSV, IndexCards). Finally, the English Assembler produces English language descriptions of a set of INDRA Statements. INDRA also supports extension by outside model assembly tools which take INDRA Statements as input and produce models. One such example is Delphi (https://github.com/ml4ai/delphi), which is a Dynamic Bayesian Network model assembler. Similarly, outside tools that support INDRA Statements can implement custom visualization methods, such as CauseMos, developed by Uncharted Software (https://uncharted.software/). Assemblers aimed at model-driven discovery and analysis: | Modeling formalism / Exchange format | Purpose | Module | Reference | |------------------------------------------------|------------------------------------------------------|-------------------------|---------------------| | PySB (-> SBML, SBGN, BNGL, Kappa, etc.) | Detailed, mechanistic modeling, simulation, analysis | [`indra.assemblers.pysb`](https://indra.readthedocs.io/en/latest/modules/assemblers/pysb_assembler.html#) | http://pysb.org | | PyBEL | Causal analysis, visualization | [`indra.assemblers.pybel`](https://indra.readthedocs.io/en/latest/modules/assemblers/pybel_assembler.html)| https://github.com/pybel/pybel
https://bel-commons.scai.fraunhofer.de/ | | IndraNet | Causal analysis, signed and unsigned | [`indra.assemblers.indranet`](https://indra.readthedocs.io/en/latest/modules/assemblers/indranet_assembler.html) | | | SIF | Network analysis, logic modeling, visualization | [`indra.assemblers.sif`](https://indra.readthedocs.io/en/latest/modules/assemblers/sif_assembler.html) | [SIF format](http://manual.cytoscape.org/en/stable/Supported_Network_File_Formats.html#sif-format) | | KAMI | Knowledge aggregation of protein sites/states and Kappa modeling | [`indra.assemblers.kami`](https://indra.readthedocs.io/en/latest/modules/assemblers/kami_assembler.html) | https://github.com/Kappa-Dev/KAMI | Assemblers primarily aimed at visualization: | Network / Exchange format | Purpose | Module | Reference | |------------------------------------------------|------------------------------------------------------|-------------------------|---------------------| | Causal Analysis Graph | General causal graph visualization | [`indra.assemblers.cag`](https://indra.readthedocs.io/en/latest/modules/assemblers/cag_assembler.html) | | | CX | Network browsing, versioning on NDEx | [`indra.assemblers.cx`](https://indra.readthedocs.io/en/latest/modules/assemblers/cx_assembler.html) | http://ndexbio.org | | Cytoscape JS | Interactive Cytoscape JS network to embed in websites| [`indra.assemblers.cyjs`](https://indra.readthedocs.io/en/latest/modules/assemblers/cyjs_assembler.html) | http://js.cytoscape.org/ | | Graphviz | Static PDF/PNG visualization with powerful automated layout using Graphviz | [`indra.assemblers.graph`](https://indra.readthedocs.io/en/latest/modules/assemblers/graph_assembler.html) | https://www.graphviz.org/ | | SBGN | Visualization with Systems Biology Graphical Notation| [`indra.assemblers.sbgn`](https://indra.readthedocs.io/en/latest/modules/assemblers/sbgn_assembler.html) | http://sbgn.org | Assemblers primarily aimed at expert curation and browsing: | Output format | Purpose | Module | Reference | |------------------------------------------------|------------------------------------------------------ |-------------------------|---------------------| | English language | Human-readable descriptions, reports, dialogue | [`indra.assemblers.english`](https://indra.readthedocs.io/en/latest/modules/assemblers/english_assembler.html) | | | HTML | Web-based browsing, linking out to provenance, curation| [`indra.assemblers.html`](https://indra.readthedocs.io/en/latest/modules/assemblers/html_assembler.html) | [Curation tutorial](https://indra.readthedocs.io/en/latest/tutorials/html_curation.html) | | TSV (Tab/Comma Separated Values) | Spreadsheet-based browsing and curation | [`indra.assemblers.tsv`](https://indra.readthedocs.io/en/latest/modules/assemblers/tsv_assembler.html) | | | Index Cards | Custom JSON format for curating biological mechanisms | [`indra.assemblers.index_card`](https://indra.readthedocs.io/en/latest/modules/assemblers/index_card_assembler.html) | | ### Internal knowledge assembly A key feature of INDRA is providing internal knowledge-assembly modules that operate on INDRA Statements and perform the following tasks: - Redundancy/subsumption/generalization/contradiction finding and resolution with respect to an ontology with the Preassembler ([`indra.preassembler.Preassembler`](https://indra.readthedocs.io/en/latest/modules/preassembler/index.html#module-indra.preassembler)) - Belief calculation based on evidence using the BeliefEngine ([`indra.belief`](https://indra.readthedocs.io/en/latest/modules/belief/index.html)) - Mapping grounding between multiple ontologies ([`indra.preassembler.ont_mapper.OntMapper`](https://indra.readthedocs.io/en/latest/modules/preassembler/index.html#module-indra.preassembler.ontology_mapper)) - Grounding override and disambiguation ([`indra.preassembler.grounding_mapper.GroundingMapper`](https://indra.readthedocs.io/en/latest/modules/preassembler/index.html#module-indra.preassembler.grounding_mapper)) - Protein sequence mapping ([`indra.preassembler.site_mapper.SiteMapper`](https://indra.readthedocs.io/en/latest/modules/preassembler/index.html#module-indra.preassembler.sitemapper)) The internal assembly steps of INDRA including the ones listed above, and also a large collection of filters (filter by source, belief, the presence of grounding information, semantic filters by entity role, etc.) are exposed in the [indra.tools.assemble_corpus](http://indra.readthedocs.io/en/latest/modules/tools/index.html#module-indra.tools.assemble_corpus) submodule. This submodule contains functions that take Statements as input and produce processed Statements as output. They can be composed to form an assembly pipeline connecting knowledge collected from sources with an output model. This diagram illustrates the assembly pipeline process. ![assembly](doc/images/assembly.png) The choice of assembly functions can vary depending on the domain (i.e, biology or world modeling), the modeling goal (i.e., the type of model that will be assembled and how that model will be used), desired features, and confidence (e.g., filter to human genes only or apply a belief cutoff), and any other user preferences. An example of a typical assembly pipeline for biology statements is as follows. Some of the below steps can be removed, rearranged, and other steps added to change the assembly pipeline. [//]: # (If code is changed here, also update it in tests/test_docs_code.py) ```python from indra.tools import assemble_corpus as ac stmts = stmts = ac.filter_no_hypothesis(stmts) # Filter out hypothetical statements stmts = ac.map_grounding(stmts) # Map grounding stmts = ac.filter_grounded_only(stmts) # Filter out ungrounded agents stmts = ac.filter_human_only(stmts) # Filter out non-human genes stmts = ac.map_sequence(stmts) # Map sequence stmts = ac.run_preassembly(stmts, # Run preassembly return_toplevel=False) stmts = ac.filter_belief(stmts, 0.8) # Apply belief cutoff of 0.8 ``` An example of an assembly pipeline for statements in the world modeling domain is as follows (note how biology-specific functions are not used, and a custom belief_scorer and ontology is passed to `run_preassembly` here, while the biology pipeline used default values). Note that this example requires the `indra_world` package to be installed. [//]: # (If code is changed here, also update it in tests/test_docs_code.py) ```python from indra.tools import assemble_corpus as ac from indra_world.belief.wm_scorer import get_eidos_scorer from indra_world.ontology.world import world_ontology stmts = stmts = ac.filter_grounded_only(stmts) # Filter out ungrounded agents belief_scorer = get_eidos_scorer() stmts = ac.run_preassembly(stmts, # Run preassembly return_toplevel=False, belief_scorer=belief_scorer, ontology=world_ontology, normalize_equivalences=True, # Optional: rewrite equivalent groundings to one standard normalize_opposites=True, # Optional: rewrite opposite groundings to one standard normalize_ns='WM') # Use 'WM' namespace to normalize equivalences and opposites stmts = ac.filter_belief(stmts, 0.8) # Apply belief cutoff of e.g., 0.8 ``` Assembled statements returned after running the assembly pipeline can be passed int ... ...

近期下载者

相关文件


收藏者