In [3]:
from __future__ import print_function, absolute_import, unicode_literals
from prov.model import ProvDocument, Namespace, Literal, PROV, Identifier
import datetime
In [7]:
g = ProvDocument()
# namespaces
g.add_namespace('w3', 'http://www.w3.org/')
g.add_namespace('tr', 'http://www.w3.org/TR/2018/')
g.add_namespace('prov', 'http://www.w3.org/ns/prov#')
g.add_namespace('xsd', 'http://www.w3.org/2001/XMLSchema#')
g.add_namespace('foaf', "http://xmlns.com/foaf/0.1/")
g.add_namespace('vkb', 'http://www.venomkb.org/')
g.add_namespace('tp', 'http://www.uniprot.org/program/Toxins')
# entitites
g.entity('vkb:protein')
g.entity('vkb:species')
g.entity('vkb:genome')
g.entity('vkb:systemicEffect')
g.entity('vkb:molecularEffect')
g.entity('vkb:expressionProfile')
g.entity('tp:protein')
# agents
g.agent('vkb:jdr', {
'prov:type': PROV["Person"],
'foaf:givenName': "Joseph",
'foaf:familyName': "Romano",
'foaf:mbox': "<mailto:jdr2160@cumc.columbia.edu>",
'foaf:geekcode': "GCS/IT/LS/MU/S d-(+)>++ s-:+>- a- C++$ UBCX+++(++)$ P- L+ E++$>+++ !W++ !N !o K+ w !O !M !V PS+ PE !Y !PGP t++ !5 X+ !R tv+ b++ DI D+ G+ e+++$>++++ h--- r++ y?"
})
g.agent('vkb:vtn', {
'prov:type': PROV["Person"],
'foaf:givenName': "Victor",
'foaf:familyName': "Nwankwo"
})
g.agent('tp:uniprot' {
'prov:type': PROV["Organization"]
})
# activities corresponding to single python scripts
g.activity('vkb:add_go_data')
g.activity('vkb:add_literature_refs')
g.activity('vkb:add_predications_to_mongo')
g.activity('vkb:add_taxonomic_data')
g.activity('vkb:add_uniprot_descriptions')
g.activity('vkb:build_mongo_index')
g.activity('vkb:deploy_protein_image_urls')
g.activity('vkb:deploy_species_image_urls')
g.activity('vkb:fetch_images_wikidata')
g.activity('vkb:generate_annotation_scores')
g.activity('vkb:get_protein_image_urls')
g.activity('vkb:infer_effects_go')
g.activity('vkb:infer_effects_mesh')
g.activity('vkb:make_uniprot_to_vkb_map')
g.activity('vkb:replace_protein_refs_in_venoms')
g.activity('vkb:restructure_db_refs')
g.activity('vkb:integrate_venomkb_v1')
# derivation
g.wasDerivedFrom('vkb:protein', 'tp:protein')
Out[7]:
In [20]:
# write g to a file in PROV-N format (see https://www.w3.org/TR/prov-n/)
with open('../../index/assets/prov/venomkb.pn', 'w') as fp:
fp.write(g.get_provn())
In [ ]: