File size: 11,023 Bytes
5b210aa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3d4d537
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5b210aa
 
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
import streamlit as st

# Page title
st.title("🩺🔍 Search Results")

# Date and title
st.markdown("**Date:** 08 Dec 2023")
st.markdown("**Title:** Machine-learned molecular mechanics force field for the simulation of protein-ligand systems and beyond")
st.markdown("[**Abstract Link**](https://arxiv.org/abs/2307.07085)")
st.markdown("[**PDF Link**](https://arxiv.org/pdf/2307.07085)")
st.write("---")

# Sample table
search_data = [
    {"Date": "08 Dec 2023", "Title": "Machine-learned molecular mechanics force field for the simulation of protein-ligand systems and beyond", "Abstract Link": "https://arxiv.org/abs/2307.07085", "PDF Link": "https://arxiv.org/pdf/2307.07085"},
    {"Date": "11 Apr 2023", "Title": "Design, Integration, and Field Evaluation of a Robotic Blossom Thinning System for Tree Fruit Crops", "Abstract Link": "https://arxiv.org/abs/2304.04919", "PDF Link": "https://arxiv.org/pdf/2304.04919"},
    # Add more rows as needed...
]

# Display table in Streamlit
st.write("### 📅 Summary of Search Results")
st.table(search_data)

st.markdown('''


Discovery of Espaloma-0.3 (Hero's Journey)

Ordinary World: Traditional force fields struggle with flexibility and extensibility.
Call to Adventure: Researchers propose a new approach using graph neural networks.
Refusal of the Call: Skeptics doubt the new method's feasibility without extensive computational resources.
Meeting the Mentor: Collaboration with experts in quantum chemistry and machine learning.
Crossing the Threshold: Initial tests show promising results, validating the concept.
Tests, Allies, and Enemies: The method faces challenges with specific molecular systems but gains support.
Approach to the Inmost Cave: Intensive training on a diverse dataset.
Ordeal: Tackling edge cases and ensuring stability in simulations.
Reward: The model achieves impressive accuracy and robustness.
The Road Back: Publication and refinement for real-world applications.
Resurrection: Acceptance and adoption in the wider scientific community.
Return with the Elixir: A new, powerful tool for drug discovery and molecular simulations.
Robotic Blossom Thinning (Rags to Riches)

Initial Wholeness: Apple orchards rely heavily on manual labor.
Fall from Grace: Inefficiency and cost concerns rise.
Journey: Researchers develop a robotic solution for blossom thinning.
Personal Resolve: Field tests reveal the robot's potential.
Self-discovery: Optimizing the end-effector's performance.
Major Victory: Significant reduction in labor and cost.
False Defeat: Encountering technical issues during deployment.
Final Victory: Successful large-scale adoption of the robotic system.
Climax: Recognition of the system’s effectiveness and efficiency.
Happily Ever After: Sustainable and cost-effective orchard management.
Graph-Neural-Network Approach for Force Fields (Quest)

Goals: Develop accurate and extendible force fields for large organic molecules.
Challenges: Accurately modeling complex interactions.
Journey: Combining physics-driven potentials with neural network models.
Teamwork: Collaboration between physicists, chemists, and data scientists.
Trials: Extensive testing on different molecular sizes.
Transformation: The approach proves to be robust and extendible.
Setbacks: Refining the model for diverse chemical domains.
Redemption: Improved predictions for new molecular systems.
Success: Establishing a new standard for force field development.
Homecoming: Adoption in scientific research and industry applications.
''')


# Streamlit app

import streamlit as st

st.title("🩺🔍 Search Results")

# Add Stories
st.header("Discovery of Espaloma-0.3 (Hero's Journey) 🧙‍♂️")
st.markdown("1. **Ordinary World:** Traditional force fields struggle with flexibility and extensibility.")
st.markdown("2. **Call to Adventure:** Researchers propose a new approach using graph neural networks.")
# Continue story steps...

st.header("Robotic Blossom Thinning (Rags to Riches) 🛠️")
st.markdown("1. **Initial Wholeness:** Apple orchards rely heavily on manual labor.")
# Continue story steps...

st.header("Graph-Neural-Network Approach for Force Fields (Quest) 🕵️‍♂️")
st.markdown("1. **Goals:** Develop accurate and extendible force fields for large organic molecules.")
# Continue story steps...

# Display Search Results with a table
st.write("### 📅 Summary of Search Results")

import streamlit as st
import pandas as pd
import plotly.express as px
from datetime import datetime

# Load data
@st.cache_data
def load_data():
    data = [
        {"date": "08 Dec 2023", "title": "Machine-learned molecular mechanics force field for the simulation of protein-ligand systems and beyond", "authors": "Kenichiro Takaba, et al."},
        {"date": "11 Apr 2023", "title": "Design, Integration, and Field Evaluation of a Robotic Blossom Thinning System for Tree Fruit Crops", "authors": "Uddhav Bhattarai, Qin Zhang, Manoj Karkee"},
        {"date": "02 Jun 2021", "title": "An Extendible, Graph-Neural-Network-Based Approach for Accurate Force Field Development of Large Flexible Organic Molecules", "authors": "Xufei Wang, et al."},
        {"date": "20 Jun 2023", "title": "CHGNet: Pretrained universal neural network potential for charge-informed atomistic modeling", "authors": "Bowen Deng, et al."},
        {"date": "18 Apr 2022", "title": "End-to-End Differentiable Molecular Mechanics Force Field Construction", "authors": "Yuanqing Wang, et al."},
        {"date": "30 Oct 2023", "title": "A Planning-and-Exploring Approach to Extreme-Mechanics Force Fields", "authors": "Pengjie Shi, Zhiping Xu"},
        {"date": "15 Sep 2019", "title": "A Genetic Algorithm Enabled Similarity-Based Attack on Cancellable Biometrics", "authors": "Xingbo Dong, et al."},
        {"date": "02 Jun 2021", "title": "Machine-Learning Non-Conservative Dynamics for New-Physics Detection", "authors": "Ziming Liu, et al."},
        {"date": "15 Jun 2021", "title": "Graphical Gaussian Process Regression Model for Aqueous Solvation Free Energy Prediction of Organic Molecules in Redox Flow Battery", "authors": "Peiyuan Gao, et al."},
        {"date": "08 Jun 2021", "title": "BIGDML: Towards Exact Machine Learning Force Fields for Materials", "authors": "Huziel E. Sauceda, et al."},
        {"date": "26 Sep 2022", "title": "Learned Force Fields Are Ready For Ground State Catalyst Discovery", "authors": "Michael Schaarschmidt, et al."},
        {"date": "08 Nov 2023", "title": "General Framework to Evaluate Unlinkability in Biometric Template Protection Systems", "authors": "Marta Gomez-Barrero, et al."},
        {"date": "22 Jan 2023", "title": "Victoria Amazonica Optimization (VAO): An Algorithm Inspired by the Giant Water Lily Plant", "authors": "Seyed Muhammad Hossein Mousavi"},
        {"date": "09 Dec 2019", "title": "Automated Fitting of Neural Network Potentials at Coupled Cluster Accuracy: Protonated Water Clusters as Testing Ground", "authors": "Christoph Schran, et al."},
        {"date": "30 Oct 2022", "title": "Regimes of charged particle dynamics in current sheets: the machine learning approach", "authors": "Alexander Lukin, et al."},
        {"date": "22 Feb 2023", "title": "Controllable Mechanical-domain Energy Accumulators", "authors": "Sung Y. Kim, David J. Braun"},
        {"date": "02 Nov 2023", "title": "Investigating the Behavior of Diffusion Models for Accelerating Electronic Structure Calculations", "authors": "Daniel Rothchild, et al."},
        {"date": "05 Jun 2023", "title": "Machine Learning Force Fields with Data Cost Aware Training", "authors": "Alexander Bukharin, et al."},
        {"date": "23 Jan 2024", "title": "Force sensing to reconstruct potential energy landscapes for cluttered large obstacle traversal", "authors": "Yaqing Wang, et al."},
        {"date": "06 Mar 2024", "title": "Beyond MD17: the reactive xxMD dataset", "authors": "Zihan Pengmei, et al."}
    ]
    df = pd.DataFrame(data)
    df['date'] = pd.to_datetime(df['date'], format='%d %b %Y')
    return df

df = load_data()

# Streamlit app
st.title("🧪 Force Field Research Explorer")

# Sidebar
st.sidebar.header("Filters")
date_range = st.sidebar.date_input("Date Range", [df['date'].min(), df['date'].max()])
filtered_df = df[(df['date'] >= pd.Timestamp(date_range[0])) & (df['date'] <= pd.Timestamp(date_range[1]))]

# Main content
st.header("Research Papers Timeline")
fig = px.timeline(filtered_df, x_start="date", y="title", color="authors", hover_name="title")
fig.update_yaxes(autorange="reversed")
st.plotly_chart(fig)

st.header("Paper Details")
selected_paper = st.selectbox("Select a paper", filtered_df['title'])
paper_details = filtered_df[filtered_df['title'] == selected_paper].iloc[0]
st.write(f"**Date:** {paper_details['date'].strftime('%d %b %Y')}")
st.write(f"**Authors:** {paper_details['authors']}")
st.write(f"**Title:** {paper_details['title']}")

# Word cloud of paper titles
from wordcloud import WordCloud
import matplotlib.pyplot as plt

st.header("Title Word Cloud")
text = " ".join(title for title in filtered_df['title'])
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)

fig, ax = plt.subplots(figsize=(10, 5))
ax.imshow(wordcloud, interpolation='bilinear')
ax.axis('off')
st.pyplot(fig)

# Author network graph
import networkx as nx

st.header("Author Collaboration Network")
G = nx.Graph()
for _, row in filtered_df.iterrows():
    authors = [author.strip() for author in row['authors'].split(',')]
    for i in range(len(authors)):
        for j in range(i+1, len(authors)):
            if G.has_edge(authors[i], authors[j]):
                G[authors[i]][authors[j]]['weight'] += 1
            else:
                G.add_edge(authors[i], authors[j], weight=1)

pos = nx.spring_layout(G)
fig, ax = plt.subplots(figsize=(12, 8))
nx.draw(G, pos, with_labels=True, node_color='lightblue', 
        node_size=1000, font_size=8, font_weight='bold')
edge_labels = nx.get_edge_attributes(G, 'weight')
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)
st.pyplot(fig)

# Topic modeling
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation

st.header("Topic Modeling")
vectorizer = CountVectorizer(stop_words='english')
doc_term_matrix = vectorizer.fit_transform(filtered_df['title'])

LDA = LatentDirichletAllocation(n_components=5, random_state=42)
LDA.fit(doc_term_matrix)

topics = []
for idx, topic in enumerate(LDA.components_):
    top_words = [vectorizer.get_feature_names_out()[i] for i in topic.argsort()[:-10 - 1:-1]]
    topics.append(f"Topic {idx + 1}: {', '.join(top_words)}")

for topic in topics:
    st.write(topic)

st.header("Research Trends")
year_counts = filtered_df.groupby(filtered_df['date'].dt.year).size().reset_index(name='count')
fig = px.line(year_counts, x='date', y='count', title='Number of Papers per Year')
st.plotly_chart(fig)

# Footer
st.markdown("---")
st.write("Data last updated: March 2024")