Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions sparcur/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -1673,8 +1673,8 @@ def protocols(self):
inst = [i for i in wat]
res = Async(rate=5)(deferred(i.dereference)(idlib.Auto) for i in inst)
pis = [i for i in res if isinstance(i, idlib.Pio)]
#dat = Async(rate=5)(deferred(lambda p: p.data)(i) for i in pis)
#dois = [d['protocol']['doi'] for d in dat if d]
# dat = Async(rate=5)(deferred(lambda p: p.data)(i) for i in pis)
# dois = [d['protocol']['doi'] for d in dat if d]
dois = [p.doi for p in pis]
breakpoint()

Expand All @@ -1690,6 +1690,38 @@ def integration(self):
#apj = [pj for c in intr.anchor.children for pj in c.protocol_jsons]
breakpoint()

def ontologyIDPopulation(self):
""" Update ontology id col based on exact column label

# https://gspread.readthedocs.io/en/latest/oauth2.html#oauth-client-id
# with google drive api enabled you can access each google sheet by name!
"""
import gspread
import pandas as pd
from pyontutils.scigraph import Graph, Vocabulary

sgv = Vocabulary(cache=True, verbose=False) # direct import seemed simple

gc = gspread.oauth() # add OAuth2 as ~/.config/gspread/credentials.json; will prop if missing something
sparc_proctur = gc.open('sparc protcur annotation tags')
worksheet = sparc_proctur.worksheet('working-ilxtr:technique')
header, *body = worksheet.get_all_values()
df = pd.DataFrame(body, columns=header)

iris = []
for row in df.itertuples():
matches = sgv.findByTerm(term=row.exact)
_iris = [match['iri'] for match in matches]
if not iris:
iris.append(None)
elif len(iris) == 0:
iris.append(_iris[0])
else:
iris.append(', '.join(_iris))
df['ontology id'] = iris

worksheet.update([df.columns.values.tolist()] + df.values.tolist())


class Fix(Shell):

Expand Down