Update app.py
Browse files
app.py
CHANGED
|
@@ -16,14 +16,14 @@ tokenizer = AutoTokenizer.from_pretrained(model_checkpoint1)
|
|
| 16 |
class MyModel(nn.Module):
|
| 17 |
def __init__(self):
|
| 18 |
super().__init__()
|
| 19 |
-
self.bert1 = EsmForSequenceClassification.from_pretrained(model_checkpoint1, num_labels=
|
| 20 |
# for param in self.bert1.parameters():
|
| 21 |
# param.requires_grad = False
|
| 22 |
self.bn1 = nn.BatchNorm1d(256)
|
| 23 |
self.bn2 = nn.BatchNorm1d(128)
|
| 24 |
self.bn3 = nn.BatchNorm1d(64)
|
| 25 |
self.relu = nn.LeakyReLU()
|
| 26 |
-
self.fc1 = nn.Linear(
|
| 27 |
self.fc2 = nn.Linear(256, 128)
|
| 28 |
self.fc3 = nn.Linear(128, 64)
|
| 29 |
self.output_layer = nn.Linear(64, 2)
|
|
@@ -75,41 +75,56 @@ def classify_sequence(sequence):
|
|
| 75 |
else:
|
| 76 |
return "Invalid Sequence"
|
| 77 |
|
|
|
|
| 78 |
# 加载模型
|
| 79 |
model = MyModel()
|
| 80 |
-
model.load_state_dict(torch.load("best_model.pth", map_location=torch.device('cpu'))
|
| 81 |
-
|
| 82 |
|
| 83 |
if __name__ == "__main__":
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
This is an antimicrobial peptide recognition model derived from Diff-AMP, which is a branch of a comprehensive system integrating generation, recognition, and optimization. In this recognition model, you can simply input a sequence, and it will predict whether it is an antimicrobial peptide. Due to limited website capacity, we can only perform simple predictions.
|
| 91 |
-
If you require large-scale computations, please contact my email at wangrui66677@gmail.com. Feel free to reach out if you have any questions or inquiries.
|
| 92 |
|
| 93 |
-
|
|
|
|
| 94 |
|
| 95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
examples = [
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
|
| 102 |
-
|
| 103 |
iface = gr.Interface(
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
|
|
|
| 111 |
|
| 112 |
demo.launch()
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
|
|
|
| 16 |
class MyModel(nn.Module):
|
| 17 |
def __init__(self):
|
| 18 |
super().__init__()
|
| 19 |
+
self.bert1 = EsmForSequenceClassification.from_pretrained(model_checkpoint1, num_labels=512) # 3000
|
| 20 |
# for param in self.bert1.parameters():
|
| 21 |
# param.requires_grad = False
|
| 22 |
self.bn1 = nn.BatchNorm1d(256)
|
| 23 |
self.bn2 = nn.BatchNorm1d(128)
|
| 24 |
self.bn3 = nn.BatchNorm1d(64)
|
| 25 |
self.relu = nn.LeakyReLU()
|
| 26 |
+
self.fc1 = nn.Linear(512, 256)
|
| 27 |
self.fc2 = nn.Linear(256, 128)
|
| 28 |
self.fc3 = nn.Linear(128, 64)
|
| 29 |
self.output_layer = nn.Linear(64, 2)
|
|
|
|
| 75 |
else:
|
| 76 |
return "Invalid Sequence"
|
| 77 |
|
| 78 |
+
|
| 79 |
# 加载模型
|
| 80 |
model = MyModel()
|
| 81 |
+
model.load_state_dict(torch.load("best_model.pth", map_location=torch.device('cpu')))
|
|
|
|
| 82 |
|
| 83 |
if __name__ == "__main__":
|
| 84 |
+
title = """<h1 align="center">🔥AMP Sequence Detector</h1>"""
|
| 85 |
+
css = ".json {height: 527px; overflow: scroll;} .json-holder {height: 527px; overflow: scroll;}"
|
| 86 |
+
theme = gr.themes.Soft(primary_hue="zinc", secondary_hue="blue", neutral_hue="lime",
|
| 87 |
+
text_size=gr.themes.sizes.text_lg)
|
| 88 |
+
with gr.Blocks(css = """#col_container { margin-left: auto; margin-right: auto;} #chatbot {height: 520px; overflow: auto;}""",
|
| 89 |
+
theme=theme) as demo:
|
|
|
|
|
|
|
| 90 |
|
| 91 |
+
gr.Markdown("<h1>Diff-AMP</h1>")
|
| 92 |
+
gr.HTML(title)
|
| 93 |
|
| 94 |
+
|
| 95 |
+
gr.Markdown(
|
| 96 |
+
"<p align='center' style='font-size: 20px;'>🔥Welcome to Antimicrobial Peptide Recognition Model. See our <a href='https://github.com/wrab12/diff-amp'>Project</a></p>")
|
| 97 |
+
gr.HTML(
|
| 98 |
+
'''<center><a href="https://huggingface.co/spaces/jackrui/diff-amp-AMP_Sequence_Detector?duplicate=true"><img src="https://bit.ly/3gLdBN6" alt="Duplicate Space"></a></center>''')
|
| 99 |
+
gr.HTML(
|
| 100 |
+
'''<center>🌟Note: This is an antimicrobial peptide recognition model derived from Diff-AMP, which is a branch of a comprehensive system integrating generation, recognition, and optimization. In this recognition model, you can simply input a sequence, and it will predict whether it is an antimicrobial peptide. Due to limited website capacity, we can only perform simple predictions.
|
| 101 |
+
If you require large-scale computations, please contact my email at wangrui66677@gmail.com. Feel free to reach out if you have any questions or inquiries.</center>''')
|
| 102 |
+
|
| 103 |
+
# gr.Markdown(
|
| 104 |
+
# """
|
| 105 |
+
#
|
| 106 |
+
# # Welcome to Antimicrobial Peptide Recognition Model
|
| 107 |
+
# This is an antimicrobial peptide recognition model derived from Diff-AMP, which is a branch of a comprehensive system integrating generation, recognition, and optimization. In this recognition model, you can simply input a sequence, and it will predict whether it is an antimicrobial peptide. Due to limited website capacity, we can only perform simple predictions.
|
| 108 |
+
# If you require large-scale computations, please contact my email at wangrui66677@gmail.com. Feel free to reach out if you have any questions or inquiries.
|
| 109 |
+
#
|
| 110 |
+
# """)
|
| 111 |
+
|
| 112 |
+
# 添加示例输入和输出
|
| 113 |
examples = [
|
| 114 |
+
["QGLFFLGAKLFYLLTLFL"],
|
| 115 |
+
["FLGLLFHGVHHVGKWIHGLIHGHH"],
|
| 116 |
+
["GLMSTLKGAATNAAVTLLNKLQCKLTGTC"]
|
| 117 |
+
]
|
| 118 |
|
| 119 |
+
# 创建 Gradio 接口并应用美化样式和示例
|
| 120 |
iface = gr.Interface(
|
| 121 |
+
fn=classify_sequence,
|
| 122 |
+
inputs="text",
|
| 123 |
+
outputs="text",
|
| 124 |
+
# title="AMP Sequence Detector",
|
| 125 |
+
examples=examples
|
| 126 |
+
)
|
| 127 |
+
gr.Markdown(
|
| 128 |
+
"<p align='center'><img src='https://pic4.zhimg.com/v2-eb2a7c0e746e67d1768090eec74f6787_b.jpg'></p>")
|
| 129 |
|
| 130 |
demo.launch()
|
|
|
|
|
|
|
|
|