Spaces:
Running
Running
File size: 4,634 Bytes
be6deff 834978e 5769515 be6deff 8392b33 d8a8ced 4b96e78 d8a8ced 6aaa0db d8a8ced 0ecf059 b18cd84 6f9e91f 78b66c2 1ecd2bc a23a68c 2b0664d 78b66c2 1ecd2bc bb0161f 1ecd2bc 6aaa0db 1ecd2bc 4b96e78 1ecd2bc 4b96e78 1ecd2bc 624e912 1ecd2bc 2b0664d c129d7d 4c644f1 bb0161f bc0561b bb0161f 7d4e93a bb0161f 5769515 bb0161f 4ae9174 1ecd2bc 834978e 34da184 78b66c2 4863bc1 cf70e4a 78b66c2 969d05d 48963dc 78b66c2 b855d19 4863bc1 e06b52f 1ed3b9f 82337f1 6caedd6 78b66c2 8392b33 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
import gradio as gr
import subprocess
import pandas as pd
'''
import gradio as gr
def greet(name):
return "Hello " + name + "!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()
'''
def greet(name1, name2):
# Storing each input in a variable, you can process or save them as you like
str1_openai = name1 ## openai
str2_bioportal = "213e22ba-4c3b-402b-bd36-6e9d4e86b1b5" #bioportal
str3_huggingface = "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" # huggingface
str4_input = name2
with open('abstractsave.txt', 'w') as f:
f.write(str4_input)
def run_command(command):
result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
output_string = result.stdout
error_string = result.stderr
return output_string, error_string
##### output_string1, error_string1= run_command("pip install optogpt")
output_string1, error_string1 = run_command("curl -sSL https://install.python-poetry.org | python3 -")
output_string2, error_string2 = run_command(f"poetry run runoak set-apikey -e openai {str1_openai}")
run_command(f"poetry run runoak set-apikey -e bioportal {str2_bioportal}")
run_command(f"poetry run runoak set-apikey -e hfhub-key {str3_huggingface}")
##### output = run_command(f"ontogpt extract -t gocam.GoCamAnnotations -i ./abstract.txt")
output = run_command(f"cancerontogpt extract -t cancer.CancerAnnotations -i ./abstractsave.txt")
output = output[0].replace('\\n', '\n')
# Find the positions of the start and end markers
start_marker = "raw_completion_output: |-"
end_marker = "prompt: "
start_position = output.find(start_marker)
end_position = output.find(end_marker)
# Extract the text between the start and end positions
output = output[start_position + len(start_marker):end_position].strip()
# Splitting the data string into lines and then split each line into key-value pairs
key_value_pairs = [line.split(": ", 1) for line in output.split("\n")[1:] if line.strip()]
def format_identifier(identifier: str) -> str:
# Split the string by underscores
words = identifier.strip().split('_')
# Capitalize each word
capitalized_words = [word.capitalize() for word in words]
# Join the words with spaces
formatted_identifier = ' '.join(capitalized_words)
return formatted_identifier
key_value_pairs = [[format_identifier(x[0]), *x[1:]] for x in key_value_pairs]
# Convert the key-value pairs into a table format (a list of lists)
df_pred = pd.DataFrame(key_value_pairs, columns = ["Ontology Attribute", "Value"]).iloc[:19,:]
# data = {
# "Name": ['fawef', 'fseaf', 'asef'],
# "Age": [30, 25, 35],
# "City": ["New York", "San Francisco", "Los Angeles"]
# }
# df = pd.DataFrame(data)
return df_pred.to_html()
#### output_string1, error_string1=run_command("poetry")# ontogpt")
# return location
# For the purpose of this example, I'm just returning the values concatenated
# return f"Inputs received: {str1} \n, {str2}, {str3}, {str4}, '--------------', '--------------', {output_string1},{error_string1},{output_string2},{error_string2},{output}"
# # return location
# For the purpose of this example, I'm just returning the values concatenated
# return f"{str4_input}"
# Define 5 text input boxes with labels
input_boxes = [
gr.inputs.Textbox(label="openai api key"),
gr.inputs.Textbox(lines=20,label="Input cencer report"),
]
# iface = gr.Interface(fn=greet, inputs=input_boxes, outputs="text")
iface = gr.Interface(fn=greet, inputs=input_boxes, outputs=gr.outputs.HTML(label="Output Table"),
examples="Patient John Smith (HSI-5421) underwent a tissue biopsy at the bladder collection site. The histopathology report confirmed the presence of cancer in the bladder. The tumor, identified as T-BC5421, measures 4 cm in its longest dimension. The cancer has been staged as T2, indicating its progression beyond the bladder wall. The cancer was asserted on January 10, 2022. The tumor marker test revealed elevated levels of urinary bladder tumor antigen (UBTA). John Smith, a Caucasian male born on April 15, 1975, is non-Hispanic and resides in zip code 90210. He is still alive, with no reported death date at this time. For any further information, please contact John Smith at [email protected] or (555) 123-4567."
)
iface.launch()
|