init public release
This commit is contained in:
@@ -0,0 +1,215 @@
|
||||
# BioCypher ODM Import Schema Configuration with BioLink Model Integration
|
||||
|
||||
# Node types extracted from ODM generators mapped to BioLink classes
|
||||
study:
|
||||
represented_as: node
|
||||
preferred_id: oid
|
||||
label_in_input: Study
|
||||
is_a: biolink:ClinicalTrial
|
||||
properties:
|
||||
OID: str
|
||||
Name: str
|
||||
Description: str
|
||||
Protocol: str
|
||||
ModelID: str
|
||||
|
||||
studyevent:
|
||||
represented_as: node
|
||||
preferred_id: oid
|
||||
label_in_input: StudyEvent
|
||||
is_a: biolink:ClinicalEntity
|
||||
properties:
|
||||
OID: str
|
||||
Name: str
|
||||
Type: str
|
||||
StudyOID: str
|
||||
ModelID: str
|
||||
|
||||
form:
|
||||
represented_as: node
|
||||
preferred_id: oid
|
||||
label_in_input: Form
|
||||
is_a: biolink:InformationContentEntity
|
||||
properties:
|
||||
OID: str
|
||||
Name: str
|
||||
StudyOID: str
|
||||
ModelID: str
|
||||
|
||||
itemgroup:
|
||||
represented_as: node
|
||||
preferred_id: oid
|
||||
label_in_input: ItemGroup
|
||||
is_a: biolink:InformationContentEntity
|
||||
properties:
|
||||
OID: str
|
||||
Name: str
|
||||
StudyOID: str
|
||||
ModelID: str
|
||||
|
||||
item:
|
||||
represented_as: node
|
||||
preferred_id: oid
|
||||
label_in_input: Item
|
||||
is_a: biolink:ClinicalFinding
|
||||
properties:
|
||||
OID: str
|
||||
Name: str
|
||||
DataType: str
|
||||
Question: str
|
||||
StudyOID: str
|
||||
ModelID: str
|
||||
|
||||
alias:
|
||||
represented_as: node
|
||||
preferred_id: [context, name]
|
||||
label_in_input: Alias
|
||||
is_a: biolink:InformationContentEntity
|
||||
properties:
|
||||
Context: str
|
||||
Name: str
|
||||
ItemOID: str
|
||||
StudyOID: str
|
||||
ModelID: str
|
||||
|
||||
measurementunit:
|
||||
represented_as: node
|
||||
preferred_id: oid
|
||||
label_in_input: MeasurementUnit
|
||||
is_a: biolink:Unit
|
||||
properties:
|
||||
OID: str
|
||||
Name: str
|
||||
Symbol: str
|
||||
|
||||
basicdefinitions:
|
||||
represented_as: node
|
||||
preferred_id: [studyoid, modelid]
|
||||
label_in_input: BasicDefinitions
|
||||
is_a: biolink:InformationContentEntity
|
||||
properties:
|
||||
StudyOID: str
|
||||
ModelID: str
|
||||
|
||||
rangecheck:
|
||||
represented_as: node
|
||||
preferred_id: [comparator, constraint, checkvalue]
|
||||
label_in_input: RangeCheck
|
||||
is_a: biolink:ClinicalFinding
|
||||
properties:
|
||||
Comparator: str
|
||||
Constraint: str
|
||||
CheckValue: str
|
||||
|
||||
codelist:
|
||||
represented_as: node
|
||||
preferred_id: oid
|
||||
label_in_input: CodeList
|
||||
is_a: biolink:InformationContentEntity
|
||||
properties:
|
||||
OID: str
|
||||
Name: str
|
||||
DataType: str
|
||||
StudyOID: str
|
||||
ModelID: str
|
||||
|
||||
codelistitem:
|
||||
represented_as: node
|
||||
preferred_id: codedvalue
|
||||
label_in_input: CodeListItem
|
||||
is_a: biolink:ConceptualEntity
|
||||
properties:
|
||||
CodedValue: str
|
||||
Decode: str
|
||||
|
||||
# Edge types extracted from ODM generators mapped to BioLink predicates
|
||||
study_has_studyevent:
|
||||
represented_as: edge
|
||||
label_in_input: STUDY_HAS_STUDYEVENT
|
||||
source: study
|
||||
target: studyevent
|
||||
is_a: biolink:related_to
|
||||
|
||||
itemgroup_has_item:
|
||||
represented_as: edge
|
||||
label_in_input: ITEMGROUP_HAS_ITEM
|
||||
source: itemgroup
|
||||
target: item
|
||||
is_a: biolink:has_part
|
||||
|
||||
form_has_itemgroup:
|
||||
represented_as: edge
|
||||
label_in_input: FORM_HAS_ITEMGROUP
|
||||
source: form
|
||||
target: itemgroup
|
||||
is_a: biolink:has_part
|
||||
|
||||
studyevent_has_form:
|
||||
represented_as: edge
|
||||
label_in_input: STUDYEVENT_HAS_FORM
|
||||
source: studyevent
|
||||
target: form
|
||||
is_a: biolink:has_part
|
||||
|
||||
item_has_alias:
|
||||
represented_as: edge
|
||||
label_in_input: ITEM_HAS_ALIAS
|
||||
source: item
|
||||
target: alias
|
||||
is_a: biolink:same_as
|
||||
|
||||
itemgroup_has_alias:
|
||||
represented_as: edge
|
||||
label_in_input: ITEMGROUP_HAS_ALIAS
|
||||
source: itemgroup
|
||||
target: alias
|
||||
is_a: biolink:same_as
|
||||
|
||||
item_has_measurementunit:
|
||||
represented_as: edge
|
||||
label_in_input: ITEM_HAS_MEASUREMENTUNIT
|
||||
source: item
|
||||
target: measurementunit
|
||||
is_a: biolink:has_attribute
|
||||
|
||||
has_basedef:
|
||||
represented_as: edge
|
||||
label_in_input: HAS_BASEDEF
|
||||
source: study
|
||||
target: basicdefinitions
|
||||
is_a: biolink:has_part
|
||||
|
||||
basedef_has_measurementunit:
|
||||
represented_as: edge
|
||||
label_in_input: BASEDEF_HAS_MEASUREMENTUNIT
|
||||
source: basicdefinitions
|
||||
target: measurementunit
|
||||
is_a: biolink:has_part
|
||||
|
||||
item_has_rangecheck:
|
||||
represented_as: edge
|
||||
label_in_input: ITEM_HAS_RANGECHECK
|
||||
source: item
|
||||
target: rangecheck
|
||||
is_a: biolink:has_attribute
|
||||
|
||||
item_has_codelist:
|
||||
represented_as: edge
|
||||
label_in_input: ITEM_HAS_CODELIST
|
||||
source: item
|
||||
target: codelist
|
||||
is_a: biolink:has_attribute
|
||||
|
||||
codelist_has_codelistitem:
|
||||
represented_as: edge
|
||||
label_in_input: CODELIST_HAS_CODELISTITEM
|
||||
source: codelist
|
||||
target: codelistitem
|
||||
is_a: biolink:has_part
|
||||
|
||||
composite:
|
||||
represented_as: edge
|
||||
label_in_input: COMPOSITE
|
||||
source: alias
|
||||
target: alias
|
||||
is_a: biolink:related_to
|
||||
@@ -0,0 +1,18 @@
|
||||
# add your settings here (overriding the defaults)
|
||||
|
||||
biocypher:
|
||||
dbms: neo4j
|
||||
offline: true
|
||||
#debug: true
|
||||
output_directory: /neo4j_import #comment if you want to debug, so that bc creates a new folder for each run in /biocypher-out
|
||||
schema_config_path: config/automated_schema.yaml #config/automated_schema.yaml
|
||||
|
||||
head_ontology:
|
||||
url: config/head_ontology/biolink-model.owl.ttl
|
||||
root_node: entity
|
||||
|
||||
neo4j:
|
||||
delimiter: '\t'
|
||||
array_delimiter: '|'
|
||||
skip_duplicate_nodes: true
|
||||
skip_bad_relationships: true
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,283 @@
|
||||
Title: BioCypher graph schema configuration file
|
||||
|
||||
# This configuration file establishes the hierarchy and connectivity in a newly
|
||||
# set-up BioCypher property graph database. Naming should adhere to Biolink
|
||||
# nomenclature (available at https://biolink.github.io/biolink-model/ or via
|
||||
# the python module 'biolink-model-toolkit').
|
||||
|
||||
# The BioCypher YAML file specifies only the leaves of the hierarchy tree of
|
||||
# the desired graph; the hierarchical structure of entities will be derived
|
||||
# from the Biolink model + BRO model. Thus, only the immediate constituents
|
||||
# of the graph need to be specified in the schema config.
|
||||
|
||||
|
||||
# ---
|
||||
# "Named Things"
|
||||
# ---
|
||||
# The implementation of named things is fairly straightforward, since they are
|
||||
# usually represented in node form, which is also the Biolink recommendation.
|
||||
# The same is not true for associations.
|
||||
#
|
||||
# A little more complex is the representation of aggregates of named things.
|
||||
|
||||
clinicalStatus:
|
||||
is_a: ClinicalEntity
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: clinicalStatus
|
||||
properties:
|
||||
coding_system: str
|
||||
label: str
|
||||
coding_code: str
|
||||
|
||||
Condition:
|
||||
is_a: ClinicalEntity
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: Condition
|
||||
properties:
|
||||
input_format: HL7 FHIR
|
||||
data_specification: Medical Informatics Initiative Germany Core Data Set, Basic Modules
|
||||
|
||||
diagnosis:
|
||||
is_a: ClinicalEntity
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: diagnosis
|
||||
properties:
|
||||
type.coding_code: str
|
||||
sequence: str
|
||||
label: str
|
||||
type.coding_system: str
|
||||
|
||||
DiagnosticReport:
|
||||
is_a: ClinicalEntity
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: DiagnosticReport
|
||||
properties:
|
||||
resourceType: str
|
||||
label: str
|
||||
status: str
|
||||
id: str
|
||||
|
||||
Encounter:
|
||||
is_a: ClinicalEntity
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: Encounter
|
||||
properties:
|
||||
resourceType: str
|
||||
label: str
|
||||
status: str
|
||||
id: str
|
||||
|
||||
identifier:
|
||||
is_a: Attribute
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: identifier
|
||||
properties:
|
||||
label: str
|
||||
value: str
|
||||
system: str
|
||||
|
||||
interpretation: #
|
||||
is_a: named thing
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: interpretation
|
||||
properties:
|
||||
extension.valueCoding_system: str
|
||||
extension_url: str
|
||||
extension.valueCoding_display: str
|
||||
coding_code: str
|
||||
coding_system: str
|
||||
label: str
|
||||
extension.valueCoding_code: str
|
||||
|
||||
maritalStatus:
|
||||
is_a: OrganismAttribute
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: maritalStatus
|
||||
properties:
|
||||
label: str
|
||||
coding_system: str
|
||||
coding_code: str
|
||||
|
||||
Observation:
|
||||
is_a: ClinicalEntity
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: Observation
|
||||
properties:
|
||||
resourceType: str
|
||||
label: str
|
||||
effectiveDateTime: str
|
||||
status: str
|
||||
id: str
|
||||
|
||||
Organization:
|
||||
is_a: AdministrativeEntity
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: Organization
|
||||
properties:
|
||||
label: str
|
||||
id: str
|
||||
name: str
|
||||
resourceType: str
|
||||
|
||||
Patient:
|
||||
is_a: Human
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: Patient
|
||||
properties:
|
||||
resourceType: str
|
||||
label: str
|
||||
gender: str
|
||||
id: str
|
||||
birthDate: str
|
||||
|
||||
procedure:
|
||||
is_a: named thing
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: Procedure
|
||||
properties:
|
||||
label: str
|
||||
performedDateTime: str
|
||||
resourceType: str
|
||||
status: str
|
||||
id: str
|
||||
|
||||
referenceRange: #
|
||||
is_a: named thing
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: referenceRange
|
||||
properties:
|
||||
high_system: str
|
||||
high_value: str
|
||||
high_code: str
|
||||
label: str
|
||||
high_unit: str
|
||||
|
||||
search: #
|
||||
is_a: named thing
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: search
|
||||
properties:
|
||||
label: str
|
||||
mode: str
|
||||
|
||||
type:
|
||||
is_a: Attribute
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: type
|
||||
properties:
|
||||
coding_system: str
|
||||
label: str
|
||||
coding_code: str
|
||||
coding_display: str
|
||||
|
||||
verificationStatus:
|
||||
is_a: Attribute
|
||||
represented_as: node
|
||||
preferred_id: fhir_id
|
||||
label_in_input: verificationStatus
|
||||
properties:
|
||||
coding_system: str
|
||||
label: str
|
||||
coding_code: str
|
||||
coding_display: str
|
||||
|
||||
|
||||
# ---
|
||||
# Associations
|
||||
# ---
|
||||
# Associations are not supposed to be represented in node form as per the
|
||||
# specifications of Biolink. However, in an analytic context, it often makes
|
||||
# sense to represent interactions as nodes in Neo4j, because it enables, for
|
||||
# instance, the annotation of a relationship with a publication as source of
|
||||
# evidence (also known as reification in the knowledge graph world).
|
||||
|
||||
# The Biolink specifications for these types of relationships do
|
||||
# not go into depth; for example, the hierarchy for molecular interactions
|
||||
# (ie, "associations") ends at "PairwiseMolecularInteraction", there are no
|
||||
# explicit terms for protein-protein-interaction, phosphorylation, miRNA-
|
||||
# targeting, etc. Biolink proposes to use interaction identifiers from
|
||||
# ontologies, such as https://www.ebi.ac.uk/ols/ontologies/mi/.
|
||||
|
||||
# association to connect anything to an identifier node
|
||||
# if functional, includes:
|
||||
# IDENTIFIED_BY_Condition_Identifier,
|
||||
# IDENTIFIED_BY_DiagnosticReport_Identifier,
|
||||
# IDENTIFIED_BY_Encounter_Identifier,
|
||||
# IDENTIFIED_BY_Observation_Identifier,
|
||||
# IDENTIFIED_BY_Organization_Identifier
|
||||
# IDENTIFIED_BY_Patient_Identifier,
|
||||
# IDENTIFIED_BY_Procedure_Identifier
|
||||
|
||||
condition to identifier association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: IDENTIFIED_BY_Condition_Identifier
|
||||
|
||||
diagnostic report to identifier association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: IDENTIFIED_BY_DiagnosticReport_Identifier
|
||||
|
||||
observation to identifier association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: IDENTIFIED_BY_Observation_Identifier
|
||||
|
||||
observation derived from observation association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: DERIVED_FROM_Observation_Observation
|
||||
|
||||
observation has member observation association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: HAS_MEMBER_Observation_Observation
|
||||
|
||||
procedure to identifier association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: IDENTIFIED_BY_Procedure_Identifier
|
||||
|
||||
procedure to diagnostic report association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: IDENTIFIED_BY_Procedure_Identifier
|
||||
|
||||
procedure reasoned by observation association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: HAS_REASON_REFERENCE_Procedure_Observation
|
||||
|
||||
procedure performer is practitioner association:
|
||||
is_a: association
|
||||
represented_as: edge
|
||||
label_in_input: HAS_ACTOR_ProcedurePerformer_Practitioner
|
||||
|
||||
#represented_as: edge
|
||||
#label_in_input: DERIVED_FROM_Observation_Observation:
|
||||
#represented_as: edge
|
||||
#label_in_input: DERIVED_FROM_Observation_Observation
|
||||
#protein interaction:
|
||||
# is_a: Pairwise molecular interaction
|
||||
# represented_as: edge
|
||||
# label_in_input: protein_protein_interaction
|
||||
|
||||
#protein to disease association:
|
||||
# is_a: Association
|
||||
# represented_as: edge
|
||||
# label_in_input: protein_disease_association
|
||||
Reference in New Issue
Block a user