Description of your analysis
datetime
: Day and time functions for adding the current date to our outputs
hisepy
: The HISE SDK package for Python
os
: Operating System calls in Python
pandas
: DataFrames for Python
tarfile
: .tar format handling in Python
from datetime import date
import hisepy
import os
import pandas
import tarfile
def cache_uuid_path(uuid):
cache_path = '/home/jupyter/cache/{u}'.format(u = uuid)
if not os.path.isdir(cache_path):
hise_res = hisepy.reader.cache_files([uuid])
filename = os.listdir(cache_path)[0]
cache_file = '{p}/{f}'.format(p = cache_path, f = filename)
return cache_file
def element_id(n = 3):
import periodictable
from random import randrange
rand_el = []
for i in range(n):
el = randrange(0,118)
rand_el.append(periodictable.elements[el].name)
rand_str = '-'.join(rand_el)
return rand_str
search_id = 'polonium-tin-curium'
Retrieve the list of files stored in our HISE project store
ps_df = hisepy.list_files_in_project_store('cohorts')
ps_df = ps_df[['id', 'name']]
Filter for files from the previous notebook using our search_id and the .tar extension
search_df = ps_df[ps_df['name'].str.contains(search_id)]
search_df = search_df[search_df['name'].str.contains('.tar')]
search_df = search_df.sort_values('name')
search_df['name'].tolist()
for uuid in search_df['id']:
tar_path = cache_uuid_path(uuid)
print('extracting file: ' + tar_path)
with tarfile.open(tar_path, 'r') as tar:
tar.extractall()
sample_files = ['sample_h5ad/' + f for f in os.listfiles('sample_h5ad')]
out_path = 'output'
if not os.path.isdir(out_path):
os.makedirs(out_path)
out_file = '{p}/analysis_result_{d}.csv'.format(p = out_path, d = date.today())
result.to_csv(out_file)
study_space_uuid = ''
title = 'CertPro Analysis Result {d}'.format(d = date.today())
search_id = element_id()
search_id
in_files = [file_uuid]
in_files
out_files = [out_file]
out_files
hisepy.upload.upload_files(
study_space_id = study_space_uuid,
title = title,
input_file_ids = in_files,
files = out_files,
destination = search_id
)
import session_info
session_info.show()