!pip install -q yamlmagic
!pip install -q ..
Requirement already satisfied: yamlmagic in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (0.2.0) Processing /Users/solbrig/git/biolink/biolinkml Requirement already satisfied: argparse>=1.4.0 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (1.4.0) Requirement already satisfied: click>=7.0 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (7.0) Requirement already satisfied: graphviz>=0.10.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (0.13) Requirement already satisfied: jsonasobj>=1.2.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (1.2.1) Requirement already satisfied: jsonschema>=3.0.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (3.1.1) Requirement already satisfied: prefixcommons>=0.1.7 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (0.1.7) Requirement already satisfied: prologterms in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (0.0.6) Requirement already satisfied: pyjsg>=0.9.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (0.9.1) Requirement already satisfied: pyshex>=0.7.11 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (0.7.12) Requirement already satisfied: pyshexc in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (0.7.0) Requirement already satisfied: pyyaml>=5.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (5.1.2) Requirement already satisfied: rdflib-jsonld in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (0.4.0) Requirement already satisfied: rdflib>=4.2.2 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (4.2.2) Requirement already satisfied: requests>=2.22 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from biolinkml==1.4.5.dev50) (2.22.0) Requirement already satisfied: six>=1.11.0 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from jsonschema>=3.0.1->biolinkml==1.4.5.dev50) (1.12.0) Requirement already satisfied: attrs>=17.4.0 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from jsonschema>=3.0.1->biolinkml==1.4.5.dev50) (19.3.0) Requirement already satisfied: pyrsistent>=0.14.0 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from jsonschema>=3.0.1->biolinkml==1.4.5.dev50) (0.15.4) Requirement already satisfied: setuptools in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from jsonschema>=3.0.1->biolinkml==1.4.5.dev50) (41.4.0) Requirement already satisfied: importlib-metadata in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from jsonschema>=3.0.1->biolinkml==1.4.5.dev50) (0.23) Requirement already satisfied: cachier in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from prefixcommons>=0.1.7->biolinkml==1.4.5.dev50) (1.2.6) Requirement already satisfied: antlr4-python3-runtime>=4.7 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from pyjsg>=0.9.1->biolinkml==1.4.5.dev50) (4.7.2) Requirement already satisfied: sparqlwrapper in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from pyshex>=0.7.11->biolinkml==1.4.5.dev50) (1.8.4) Requirement already satisfied: shexjsg>=0.6.5 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from pyshex>=0.7.11->biolinkml==1.4.5.dev50) (0.6.8) Requirement already satisfied: urllib3 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from pyshex>=0.7.11->biolinkml==1.4.5.dev50) (1.25.6) Requirement already satisfied: cfgraph>=0.2.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from pyshex>=0.7.11->biolinkml==1.4.5.dev50) (0.2.1) Requirement already satisfied: sparql-slurper>=0.2.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from pyshex>=0.7.11->biolinkml==1.4.5.dev50) (0.2.2) Requirement already satisfied: certifi in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from pyshexc->biolinkml==1.4.5.dev50) (2019.9.11) Requirement already satisfied: isodate in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from rdflib>=4.2.2->biolinkml==1.4.5.dev50) (0.6.0) Requirement already satisfied: pyparsing in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from rdflib>=4.2.2->biolinkml==1.4.5.dev50) (2.4.2) Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from requests>=2.22->biolinkml==1.4.5.dev50) (3.0.4) Requirement already satisfied: idna<2.9,>=2.5 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from requests>=2.22->biolinkml==1.4.5.dev50) (2.8) Requirement already satisfied: zipp>=0.5 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from importlib-metadata->jsonschema>=3.0.1->biolinkml==1.4.5.dev50) (0.6.0) Requirement already satisfied: watchdog in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from cachier->prefixcommons>=0.1.7->biolinkml==1.4.5.dev50) (0.9.0) Requirement already satisfied: portalocker in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from cachier->prefixcommons>=0.1.7->biolinkml==1.4.5.dev50) (1.5.1) Requirement already satisfied: more-itertools in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from zipp>=0.5->importlib-metadata->jsonschema>=3.0.1->biolinkml==1.4.5.dev50) (7.2.0) Requirement already satisfied: argh>=0.24.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from watchdog->cachier->prefixcommons>=0.1.7->biolinkml==1.4.5.dev50) (0.26.2) Requirement already satisfied: pathtools>=0.1.1 in /Users/solbrig/.local/share/virtualenvs/biolinkml_notebooks-E0eie4i6/lib/python3.7/site-packages (from watchdog->cachier->prefixcommons>=0.1.7->biolinkml==1.4.5.dev50) (0.1.2) Building wheels for collected packages: biolinkml Building wheel for biolinkml (setup.py) ... done Created wheel for biolinkml: filename=biolinkml-1.4.5.dev50-cp37-none-any.whl size=83751 sha256=350a703fd7fec786c2bd82de64cb8fb8e26c273af010dd032be88e8568e157dd Stored in directory: /private/var/folders/5f/82515x2x1cl_5c4zqvyd15nm0000gp/T/pip-ephem-wheel-cache-sm36oig8/wheels/6c/69/a8/bacbeba530bdf1dbbc4c414a00b26a368f2e430da2819d3e13 Successfully built biolinkml Installing collected packages: biolinkml Found existing installation: biolinkml 1.4.5.dev50 Uninstalling biolinkml-1.4.5.dev50: Successfully uninstalled biolinkml-1.4.5.dev50 Successfully installed biolinkml-1.4.5.dev50
%load_ext yamlmagic
%%yaml model
# Every model must have a globally unique URI. This is the external name of the model
id: http://example.org/examples/distributeExample
# Every model should also have a globally unique name (well, global within the context of the particular modeling environment)
name: dist1
# Descriptions are always useful, but not required
description: A toy extension to the base biolink model
# Versions are recommended but not required. The version is copied into the output artifacts. An error will be raised
# if two different versions of the same model are imported
version: 0.0.1
# A license is not required at this point -- should it be?
license: https://creativecommons.org/publicdomain/zero/1.0/
# Prefixes can be assigned specifically. We define two below:
# biolink -- the prefix used by the biolink-model
# dist1 -- the URI prefix used by this example. Note that the dist1 prefix may or may not align with the model id
prefixes:
biolink: https://w3id.org/biolink/vocab/
biolinkml: https://w3id.org/biolink/biolinkml/
dist: http://example.org/examples/dist1#
# Prefixes can also be pulled from a prefixcommons compliant site. The map below uses the definitions found in
# https://github.com/prefixcommons/biocontext/blob/master/registry/semweb_context.yaml.
default_curi_maps:
- semweb_context
# The default prefix is what is used in the subsets, types, slots, classes sections below if not otherwise supplied
default_prefix: dist
default_range: string
# The list of prefixes to emit target files. Note that all prefixes that are used elsewhere in the model are automatically
# emitted, with the exception of
emit_prefixes:
- skos
- rdf
- dist
# List of models to import. Note that import specifications can (currently) be URI's, absolute (file://...file), curies
# (biolink:model), or relative (includes/myfile) file names. Note, however, that this latter form is being deprecated.
# The location of imported files can now be specified in an accompanying mapping file. The imports below reference:
# https://w3id.org/biolink/biolink-model -- the biolink model
# https://w3id.org/biolink/biolinkml/types -- the biolink modeling language types definitions
imports:
- https://w3id.org/biolink/biolink-model
- biolinkml:types
# Subsets that are defined in this model extension
subsets:
experimental:
# A subset should have a description
description: model elements that have not yet been tested
# Types that are defined in this model extension
types:
gene sequence:
uri: dist:seq
typeof: string
description: A gene sequence
# Slots that are defined in this model extension
slots:
gene has sequence:
description: A gene pattern
domain: gene
range: gene sequence
slot_uri: dist:hasSeq
required: true
# Classes that are defined in this model extension
classes:
# The class name. For most generators, this will be transformed to CamelCase (MyGene)
my gene:
description: This is an example extension. Doesn't do a lot
is_a: gene
slots:
- gene has sequence
from biolinkml.generators.pythongen import PythonGenerator
from logging import ERROR
# Note: Jupyter appears to generate output even if the log_level is set.
gen = PythonGenerator(model, log_level=ERROR)
print(gen.serialize())
# Auto generated from None by pythongen.py version: 0.3.0 # Generation date: 2019-10-23 14:25 # Schema: dist1 # # id: http://example.org/examples/distributeExample # description: A toy extension to the base biolink model # license: https://creativecommons.org/publicdomain/zero/1.0/ from typing import Optional, List, Union, Dict, ClassVar from dataclasses import dataclass from biolinkml.utils.metamodelcore import empty_list, empty_dict, bnode from biolinkml.utils.yamlutils import YAMLRoot from biolinkml.utils.formatutils import camelcase, underscore, sfx from rdflib import Namespace, URIRef from biolinkml.utils.curienamespace import CurieNamespace from biolink.model import AnatomicalEntityId, BiologicalSequence, DiseaseOrPhenotypicFeatureId, Gene, GeneId, GeneOrGeneProductId, GeneProductId, GenomicEntityId, IdentifierType, IriType, LabelType, MolecularEntityId, NamedThingId, NarrativeText, OrganismTaxonId, PhenotypicFeatureId, SymbolType, TranscriptId from biolinkml.utils.metamodelcore import ElementIdentifier, URIorCURIE from includes.types import String, Uriorcurie metamodel_version = "1.4.4" # Namespaces BFO = CurieNamespace('BFO', 'http://purl.obolibrary.org/obo/BFO_') BIOSAMPLE = CurieNamespace('BioSample', 'http://example.org/UNKNOWN/BioSample/') CHEBI = CurieNamespace('CHEBI', 'http://purl.obolibrary.org/obo/CHEBI_') CHEMBL_COMPOUND = CurieNamespace('CHEMBL_COMPOUND', 'http://identifiers.org/chembl.compound/') CHEMBL_TARGET = CurieNamespace('CHEMBL_TARGET', 'http://identifiers.org/chembl.target/') CIO = CurieNamespace('CIO', 'http://purl.obolibrary.org/obo/CIO_') CIVIC = CurieNamespace('CIViC', 'http://example.org/UNKNOWN/CIViC/') CL = CurieNamespace('CL', 'http://purl.obolibrary.org/obo/CL_') CLO = CurieNamespace('CLO', 'http://purl.obolibrary.org/obo/CLO_') CLINVAR = CurieNamespace('ClinVar', 'http://www.ncbi.nlm.nih.gov/clinvar/') ECO = CurieNamespace('ECO', 'http://purl.obolibrary.org/obo/ECO_') ECTO = CurieNamespace('ECTO', 'http://example.org/UNKNOWN/ECTO/') EFO = CurieNamespace('EFO', 'http://purl.obolibrary.org/obo/EFO_') ENSEMBL = CurieNamespace('ENSEMBL', 'http://ensembl.org/id/') EXO = CurieNamespace('ExO', 'http://example.org/UNKNOWN/ExO/') FAO = CurieNamespace('FAO', 'http://purl.obolibrary.org/obo/FAO_') GENO = CurieNamespace('GENO', 'http://purl.obolibrary.org/obo/GENO_') GO = CurieNamespace('GO', 'http://purl.obolibrary.org/obo/GO_') GOLD_META = CurieNamespace('GOLD_META', 'http://identifiers.org/gold.meta/') HANCESTRO = CurieNamespace('HANCESTRO', 'http://example.org/UNKNOWN/HANCESTRO/') HGNC = CurieNamespace('HGNC', 'http://www.genenames.org/cgi-bin/gene_symbol_report?hgnc_id=') HP = CurieNamespace('HP', 'http://purl.obolibrary.org/obo/HP_') IAO = CurieNamespace('IAO', 'http://purl.obolibrary.org/obo/IAO_') INTACT = CurieNamespace('IntAct', 'http://example.org/UNKNOWN/IntAct/') MGI = CurieNamespace('MGI', 'http://www.informatics.jax.org/accession/MGI:') MIR = CurieNamespace('MIR', 'http://identifiers.org/mir/') MONDO = CurieNamespace('MONDO', 'http://purl.obolibrary.org/obo/MONDO_') NCBIGENE = CurieNamespace('NCBIGene', 'http://www.ncbi.nlm.nih.gov/gene/') NCIT = CurieNamespace('NCIT', 'http://purl.obolibrary.org/obo/NCIT_') OBAN = CurieNamespace('OBAN', 'http://purl.org/oban/') OBI = CurieNamespace('OBI', 'http://purl.obolibrary.org/obo/OBI_') OGMS = CurieNamespace('OGMS', 'http://purl.obolibrary.org/obo/OGMS_') PANTHER = CurieNamespace('PANTHER', 'http://www.pantherdb.org/panther/family.do?clsAccession=') PMID = CurieNamespace('PMID', 'http://www.ncbi.nlm.nih.gov/pubmed/') PO = CurieNamespace('PO', 'http://purl.obolibrary.org/obo/PO_') PR = CurieNamespace('PR', 'http://purl.obolibrary.org/obo/PR_') PW = CurieNamespace('PW', 'http://purl.obolibrary.org/obo/PW_') POMBASE = CurieNamespace('PomBase', 'https://www.pombase.org/spombe/result/') RHEA = CurieNamespace('RHEA', 'http://identifiers.org/rhea/') RNACENTRAL = CurieNamespace('RNAcentral', 'http://example.org/UNKNOWN/RNAcentral/') RO = CurieNamespace('RO', 'http://purl.obolibrary.org/obo/RO_') REACTOME = CurieNamespace('Reactome', 'http://example.org/UNKNOWN/Reactome/') SEMMEDDB = CurieNamespace('SEMMEDDB', 'http://example.org/UNKNOWN/SEMMEDDB/') SGD = CurieNamespace('SGD', 'https://www.yeastgenome.org/locus/') SIO = CurieNamespace('SIO', 'http://semanticscience.org/resource/SIO_') SO = CurieNamespace('SO', 'http://purl.obolibrary.org/obo/SO_') UBERON = CurieNamespace('UBERON', 'http://purl.obolibrary.org/obo/UBERON_') UMLSSC = CurieNamespace('UMLSSC', 'https://uts-ws.nlm.nih.gov/rest/semantic-network/semantic-network/current/TUI/') UMLSSG = CurieNamespace('UMLSSG', 'https://uts-ws.nlm.nih.gov/rest/semantic-network/semantic-network/current/GROUP/') UMLSST = CurieNamespace('UMLSST', 'https://uts-ws.nlm.nih.gov/rest/semantic-network/semantic-network/current/STY/') UO = CurieNamespace('UO', 'http://purl.obolibrary.org/obo/UO_') UPHENO = CurieNamespace('UPHENO', 'http://purl.obolibrary.org/obo/UPHENO_') UNIPROTKB = CurieNamespace('UniProtKB', 'http://identifiers.org/uniprot/') VMC = CurieNamespace('VMC', 'http://example.org/UNKNOWN/VMC/') WB = CurieNamespace('WB', 'http://identifiers.org/wb/') WD = CurieNamespace('WD', 'http://example.org/UNKNOWN/WD/') ZFIN = CurieNamespace('ZFIN', 'http://zfin.org/') BIOLINK = CurieNamespace('biolink', 'https://w3id.org/biolink/vocab/') DCT = CurieNamespace('dct', 'http://example.org/UNKNOWN/dct/') DCTERMS = CurieNamespace('dcterms', 'http://purl.org/dc/terms/') DICTYBASE = CurieNamespace('dictyBase', 'http://dictybase.org/gene/') DIST = CurieNamespace('dist', 'http://example.org/examples/dist1#') FALDO = CurieNamespace('faldo', 'http://biohackathon.org/resource/faldo#') OWL = CurieNamespace('owl', 'http://www.w3.org/2002/07/owl#') PAV = CurieNamespace('pav', 'http://purl.org/pav/') QUD = CurieNamespace('qud', 'http://qudt.org/1.1/schema/qudt#') RDF = CurieNamespace('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') RDFS = CurieNamespace('rdfs', 'http://www.w3.org/2000/01/rdf-schema#') SHEX = CurieNamespace('shex', 'http://www.w3.org/ns/shex#') SKOS = CurieNamespace('skos', 'https://www.w3.org/TR/skos-reference/#') VOID = CurieNamespace('void', 'http://rdfs.org/ns/void#') WGS = CurieNamespace('wgs', 'http://www.w3.org/2003/01/geo/wgs84_pos') XSD = CurieNamespace('xsd', 'http://www.w3.org/2001/XMLSchema#') DEFAULT_ = DIST # Types class GeneSequence(String): """ A gene sequence """ type_class_uri = DIST.seq type_class_curie = "dist:seq" type_name = "gene sequence" type_model_uri = DIST.GeneSequence # Class references class MyGeneId(GeneId): pass @dataclass class MyGene(Gene): """ This is an example extension. Doesn't do a lot """ _inherited_slots: ClassVar[List[str]] = ["related_to", "interacts_with", "has_phenotype", "molecularly_interacts_with", "affects_abundance_of", "increases_abundance_of", "decreases_abundance_of", "affects_activity_of", "increases_activity_of", "decreases_activity_of", "affects_expression_of", "increases_expression_of", "decreases_expression_of", "affects_folding_of", "increases_folding_of", "decreases_folding_of", "affects_localization_of", "increases_localization_of", "decreases_localization_of", "affects_metabolic_processing_of", "increases_metabolic_processing_of", "decreases_metabolic_processing_of", "affects_molecular_modification_of", "increases_molecular_modification_of", "decreases_molecular_modification_of", "affects_synthesis_of", "increases_synthesis_of", "decreases_synthesis_of", "affects_degradation_of", "increases_degradation_of", "decreases_degradation_of", "affects_mutation_rate_of", "increases_mutation_rate_of", "decreases_mutation_rate_of", "affects_response_to", "increases_response_to", "decreases_response_to", "affects_splicing_of", "increases_splicing_of", "decreases_splicing_of", "affects_stability_of", "increases_stability_of", "decreases_stability_of", "affects_transport_of", "increases_transport_of", "decreases_transport_of", "affects_secretion_of", "increases_secretion_of", "decreases_secretion_of", "affects_uptake_of", "increases_uptake_of", "decreases_uptake_of", "regulates_entity_to_entity", "biomarker_for", "in_taxon", "in_pathway_with", "in_complex_with", "in_cell_population_with", "expressed_in", "genetically_interacts_with", "has_gene_product", "gene_associated_with_condition"] class_class_uri: ClassVar[URIRef] = DIST.MyGene class_class_curie: ClassVar[str] = "dist:MyGene" class_name: ClassVar[str] = "my gene" class_model_uri: ClassVar[URIRef] = DIST.MyGene id: Union[ElementIdentifier, MyGeneId] = None name: Union[str, SymbolType] = None category: List[Union[str, IriType]] = empty_list() gene_has_sequence: Union[str, GeneSequence] = None def __post_init__(self): if self.id is None: raise ValueError(f"id must be supplied") if not isinstance(self.id, MyGeneId): self.id = MyGeneId(self.id) super().__post_init__()
No namespace defined for URI: http://bio2rdf.org/wormbase_vocabulary:Gene-GO-Association No namespace defined for URI: http://bio2rdf.org/wormbase_vocabulary:Gene-Phenotype-Association