File size: 8,498 Bytes
36fd9c8 82c6747 0e3c074 82c6747 079ad61 a6ac812 079ad61 36fd9c8 dee53e0 0e3c074 1b924a6 0e3c074 1b924a6 0e3c074 1b924a6 0e3c074 36fd9c8 0f6894d 36fd9c8 079ad61 36fd9c8 fba4b84 36fd9c8 079ad61 |
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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
import gradio as gr
import sys
sys.path.append('/home/user/app/ProteinMPNN-main/')
from helper_scripts.parse_multiple_chains import *
from protein_mpnn_run import *
from helper_scripts.assign_fixed_chains import *
from helper_scripts.make_fixed_positions_dict import *
from helper_scripts.make_tied_positions_dict import *
from helper_scripts.make_bias_AA import *
sys.path.append('/home/user/app/file/')
from Sort_Scores import *
from Preinput_Merge import *
from Sort_Dlkcat import *
from Merge_Dlsc import *
from Sort_Sco_Kcat import *
sys.path.append('/home/user/app/DLKcat/DeeplearningApproach/Code/example/')
# from model import *
from prediction_for_input import *
with gr.Blocks(css=".gradio-container {background-image: url('file=background.jpeg')}") as demo:
gr.Markdown("Welcome using this demo.")
with gr.Tab("HelloWorld"):
gr.Markdown("Welcome using this demo.")
gr.Markdown("This is a succend test")
gr.Markdown("I think this demo can do some things")
gr.Markdown("这一平台主要分为三部分,ProteinMPNN,DLKcat以及对文件的处理,可以在Files and versions 下看各自的README.md文件")
with gr.Tab("helper_scripts"):
with gr.Row():
input_files = gr.Files(label="input_files")
input_file = gr.File(label="input_file")
with gr.Column():
output_file = gr.Textbox(label="output_file")
ca_only = gr.Checkbox(label="ca_only", value=False)
chain_list = gr.Textbox(label="chain_list", value="")
AA_list = gr.Textbox(label="AA_list", value="")
with gr.Column():
position_list = gr.Textbox(label="position_list", value="")
specify_non_fixed = gr.Checkbox(label="specify_non_fixed", value=False)
homooligomer = gr.Number(label="homooligomer", value=0)
bias_list = gr.Textbox(label="bias_list", value="")
output = gr.File()
with gr.Row():
pmc_button = gr.Button("parse_multiple_chains")
afc_button = gr.Button("assign_fixed_chains")
mfpd_button = gr.Button("make_fixed_positions_dict")
mtpd_button = gr.Button("make_tied_positions_dict")
mbA_button = gr.Button("make_bias_AA")
pmc_button.click(p_m_c, inputs=[input_files, output_file, ca_only], outputs=output)
afc_button.click(a_f_c, inputs=[input_file, output_file, chain_list], outputs=output)
mfpd_button.click(m_f_p_d, inputs=[input_file, output_file, chain_list, position_list, specify_non_fixed], outputs=output)
mtpd_button.click(m_t_p_d, inputs=[input_file, output_file, chain_list, position_list, homooligomer], outputs=output)
mbA_button.click(m_b_A, inputs=[output_file, AA_list, bias_list], outputs=output)
with gr.Tab("protein_mpnn_run"):
with gr.Box():
ca_only = gr.Checkbox(label="ca_only", value=False, visible=False)
path_to_model_weights = gr.Textbox(label="path_to_model_weights", value="", visible=False)
model_name = gr.Textbox(label="model_name", value="v_48_020", visible=False)
with gr.Row():
seed = gr.Number(value=int(0), label="seed")
save_score = gr.Number(label="save_score", value=int(0), visible=False)
save_probs = gr.Number(label="save_probs", value=int(0), visible=False)
score_only = gr.Number(label="score_only", value=int(0))
conditional_probs_only = gr.Number(label="conditional_probs_only", value=int(0), visible=False)
conditional_probs_only_backbone = gr.Number(label="conditional_probs_only_backbone", value=int(0), visible=False)
with gr.Row():
unconditional_probs_only = gr.Number(label="unconditional_probs_only", value=int(0))
backbone_noise = gr.Number(label="backbone_noise", value=0.00, visible=False)
num_seq_per_target = gr.Number(value=int(1), label="num_seq_per_target")
with gr.Row():
batch_size = gr.Number(value=int(1), label="batch_size")
max_length = gr.Number(label="max_length", value=int(200000), visible=False)
sampling_temp = gr.Textbox(value="0.1", label="sampling_temp")
out_folder = gr.Textbox(label="out_folder")
pdb_path_chains = gr.Textbox(label="pdb_path_chains", value="")
with gr.Box():
with gr.Row():
pdb_path = gr.File(label="pdb_path")
jsonl_path = gr.File(label="jsonl_path")
with gr.Row():
chain_id_jsonl = gr.File(label="chain_id_jsonl")
fixed_positions_jsonl = gr.File(label="fixed_positions_jsonl")
omit_AAs = gr.Textbox(label="omit_AAs", value="X", visible=False)
with gr.Row():
bias_AA_jsonl = gr.File(label="bias_AA_jsonl")
tied_positions_jsonl = gr.File(label="tied_positions_jsonl")
bias_by_res_jsonl = gr.Textbox(label="bias_by_res_jsonl", value="", visible=False)
omit_AA_jsonl = gr.Textbox(label="omit_AA_jsonl", value="", visible=False)
pssm_jsonl = gr.Textbox(label="pssm_jsonl", value="", visible=False)
pssm_multi = gr.Number(label="pssm_multi", value=0.0, visible=False)
pssm_threshold = gr.Number(label="pssm_threshold", value=0.0, visible=False)
pssm_log_odds_flag = gr.Number(label="pssm_log_odds_flag", value=int(0), visible=False)
pssm_bias_flag = gr.Number(label="pssm_bias_flag", value=int(0), visible=False)
pmroutput = gr.Files()
pmr_button = gr.Button("protein_mpnn_run")
pmr_button.click(p_m_r,
inputs=[ca_only, path_to_model_weights, model_name, seed, save_score, save_probs, score_only,
conditional_probs_only,
conditional_probs_only_backbone
, unconditional_probs_only, backbone_noise, num_seq_per_target, batch_size, max_length,
sampling_temp, out_folder,
pdb_path, pdb_path_chains, jsonl_path, chain_id_jsonl, fixed_positions_jsonl, omit_AAs,
bias_AA_jsonl, bias_by_res_jsonl
, omit_AA_jsonl, pssm_jsonl, pssm_multi, pssm_threshold, pssm_log_odds_flag,
pssm_bias_flag, tied_positions_jsonl], outputs=pmroutput)
with gr.Tab("Sort"):
file1_input = gr.File(label="输入相关文件")
file1_output = gr.File()
with gr.Row():
file1_button1 = gr.Button("Sort Scores")
file1_button2 = gr.Button("Sort Dlkcat")
file1_button3 = gr.Button("Sort Mergekcat")
with gr.Tab("Pre Merge"):
with gr.Row():
file2_input1 = gr.File(label="strip_file")
file2_input2 = gr.File(label="smi_file")
file2_input3 = gr.File(label="seq_file")
file2_output = gr.File()
file2_button1 = gr.Button("Strip")
with gr.Row():
file2_button2 = gr.Button("Merge")
file2_button3 = gr.Button("Merge All")
with gr.Tab("Merge Dlsc"):
with gr.Row():
file4_input1 = gr.File(label="sc_file")
file4_input2 = gr.File(label="cat_file")
file4_output = gr.File()
file4_button = gr.Button("Merge")
with gr.Tab("Prediction Dlkcat"):
file6_input = gr.File(label="输入相关文件")
file6_output = gr.File()
file6_button = gr.Button("Prediction_Dlkcat")
with gr.Accordion("Open for More!"):
gr.Markdown("Look at me...")
file1_button1.click(Sort_Scores, inputs=file1_input, outputs=file1_output)
file1_button2.click(Sort_Dlkcat, inputs=file1_input, outputs=file1_output)
file1_button3.click(Sort_Sco_Kcat, inputs=file1_input, outputs=file1_output)
file2_button1.click(Strip, inputs=file2_input1, outputs=file2_output)
file2_button2.click(Merge, inputs=[file2_input2, file2_input3], outputs=file2_output)
file2_button3.click(Merge_All, inputs=[file2_input2, file2_input3], outputs=file2_output)
file4_button.click(Merge_Dlsc, inputs=[file4_input1, file4_input2], outputs=file4_output)
file6_button.click(test, inputs=file6_input, outputs=file6_output)
if __name__ == "__main__":
demo.launch() |