idopnetwork-app 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- idopnetwork_app-0.1.0/PKG-INFO +25 -0
- idopnetwork_app-0.1.0/README.md +15 -0
- idopnetwork_app-0.1.0/pyproject.toml +30 -0
- idopnetwork_app-0.1.0/setup.cfg +4 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/Home.py +286 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/__init__.py +1 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/auth.py +103 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/cli.py +14 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/data/M3.csv +12 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/data/a.csv +7 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/data/tiger_demo.R +420 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/pages/1_Curve Fitting.py +566 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/pages/2_FunClu.py +534 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/pages/3_NetRecon.py +1682 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/pages/4_NetAnal.py +526 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/static/SimHei.ttf +0 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/static/css/custom_style.css +50 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/static/images/IDOP.png +0 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/static/images/TSA.png +0 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/static/images/wu.jpg +0 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app/utils.py +109 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app.egg-info/PKG-INFO +25 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app.egg-info/SOURCES.txt +25 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app.egg-info/dependency_links.txt +1 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app.egg-info/entry_points.txt +2 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app.egg-info/requires.txt +2 -0
- idopnetwork_app-0.1.0/src/idopnetwork_app.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: idopnetwork-app
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: idopNetwork Streamlit web application
|
|
5
|
+
License: MIT
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: idopnetwork>=0.1.0
|
|
9
|
+
Requires-Dist: streamlit>=1.52
|
|
10
|
+
|
|
11
|
+
# idopNetwork App
|
|
12
|
+
|
|
13
|
+
Streamlit-based web application for the idopNetwork complex systems analysis platform.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install idopnetwork-app
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
idopnetwork-app
|
|
25
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "idopnetwork-app"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "idopNetwork Streamlit web application"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
dependencies = [
|
|
13
|
+
"idopnetwork>=0.1.0",
|
|
14
|
+
"streamlit>=1.52",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
[project.scripts]
|
|
18
|
+
idopnetwork-app = "idopnetwork_app.cli:main"
|
|
19
|
+
|
|
20
|
+
[tool.setuptools.packages.find]
|
|
21
|
+
where = ["src"]
|
|
22
|
+
|
|
23
|
+
[tool.setuptools.package-data]
|
|
24
|
+
idopnetwork_app = [
|
|
25
|
+
"static/css/*.css",
|
|
26
|
+
"static/images/*",
|
|
27
|
+
"static/SimHei.ttf",
|
|
28
|
+
"data/*.csv",
|
|
29
|
+
"data/*.R",
|
|
30
|
+
]
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import streamlit as st
|
|
4
|
+
from importlib.resources import files
|
|
5
|
+
from idopnetwork_app.utils import _is_admin_user, load_css, setup_sidebar
|
|
6
|
+
from idopnetwork_app.auth import show_login_ui
|
|
7
|
+
|
|
8
|
+
_ICON = str(files("idopnetwork_app.static.images") / "TSA.png")
|
|
9
|
+
_WU = str(files("idopnetwork_app.static.images") / "wu.jpg")
|
|
10
|
+
|
|
11
|
+
# ==========================================
|
|
12
|
+
# 1. 基础设置 (必须在第一行)
|
|
13
|
+
# ==========================================
|
|
14
|
+
st.set_page_config(
|
|
15
|
+
page_title="idopNetwork",
|
|
16
|
+
page_icon=_ICON,
|
|
17
|
+
layout="wide",
|
|
18
|
+
initial_sidebar_state="expanded"
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
# 加载全局样式和侧边栏
|
|
22
|
+
load_css()
|
|
23
|
+
setup_sidebar()
|
|
24
|
+
|
|
25
|
+
# ==========================================
|
|
26
|
+
# 2. 核心拦截门禁
|
|
27
|
+
# ==========================================
|
|
28
|
+
if not st.session_state.get("logged_in", False):
|
|
29
|
+
# 如果没登录,显示右上角登录按钮
|
|
30
|
+
show_login_ui()
|
|
31
|
+
|
|
32
|
+
# 显示一个漂亮的门面介绍
|
|
33
|
+
st.markdown("<h1 style='color:#0f172a;margin-top:0.5rem;font-size:3.2rem;'>idopNetwork 在线计算平台</h1>", unsafe_allow_html=True)
|
|
34
|
+
st.markdown("<p style='color:#475569;font-size:1.2rem;'>一个面向复杂系统数据的可视化分析工作台。</p>", unsafe_allow_html=True)
|
|
35
|
+
st.info("💡 请点击右上角的 **[🔑 登录 / 注册]** 认证身份后解锁全部功能。")
|
|
36
|
+
|
|
37
|
+
# 强制切断!
|
|
38
|
+
st.stop()
|
|
39
|
+
|
|
40
|
+
# ==========================================
|
|
41
|
+
# 3. 登录后的世界 (只有认证用户可见)
|
|
42
|
+
# ==========================================
|
|
43
|
+
else:
|
|
44
|
+
# --- 主页专属 CSS 样式 ---
|
|
45
|
+
st.markdown("""
|
|
46
|
+
<style>
|
|
47
|
+
/* IDOP 静态标签 */
|
|
48
|
+
.idop-badges { display: flex; gap: 1rem; margin-top: 2rem; flex-wrap: wrap; }
|
|
49
|
+
.badge-item { background: #f1f5f9; color: #334155; border: 1px solid #cbd5e1; padding: 0.65rem 1.4rem; border-radius: 8px; font-size: 1.1rem; font-weight: 600; box-shadow: 0 2px 4px rgba(0,0,0,0.03); }
|
|
50
|
+
|
|
51
|
+
/* 工作流卡片样式 */
|
|
52
|
+
.card-link {text-decoration: none !important;}
|
|
53
|
+
.card { background:#fff; padding:1.2rem; border-radius:8px; border:1px solid #e2e8f0; box-shadow:0 2px 4px rgba(0,0,0,0.02); margin-bottom: 0.8rem; transition:0.3s; }
|
|
54
|
+
.card:hover { border-color:#3b82f6; box-shadow:0 4px 12px rgba(59,130,246,0.15); transform: translateY(-2px); }
|
|
55
|
+
.card-title { font-size: 1.1rem; font-weight: bold; color: #0f172a; margin-bottom: 0.4rem; display: flex; justify-content: space-between; }
|
|
56
|
+
.card-desc { font-size: 0.95rem; color: #64748b; line-height: 1.5; margin-bottom:0; }
|
|
57
|
+
|
|
58
|
+
/* 论文滚动框样式 */
|
|
59
|
+
.scroll-box { height:480px; overflow-y:auto; background:#fff; padding:1.2rem; border-radius:8px; border:1px solid #e2e8f0; }
|
|
60
|
+
.paper-item { margin-bottom: 1.2rem; padding-bottom: 0.8rem; border-bottom: 1px dashed #e2e8f0; }
|
|
61
|
+
.paper-item:last-child {border-bottom: none;}
|
|
62
|
+
.paper-title {font-weight: 600; color: #0f172a; font-size: 1.05rem;}
|
|
63
|
+
.paper-authors {color: #475569; font-size: 0.9rem; line-height: 1.5; margin-top: 0.3rem;}
|
|
64
|
+
.paper-link {color: #3b82f6; font-size: 0.85rem; text-decoration: none;}
|
|
65
|
+
|
|
66
|
+
/* 个人主页按钮样式 */
|
|
67
|
+
.profile-btn {
|
|
68
|
+
display: inline-block;
|
|
69
|
+
margin-top: 10px;
|
|
70
|
+
padding: 6px 20px;
|
|
71
|
+
background-color: #3b82f6;
|
|
72
|
+
color: white !important;
|
|
73
|
+
text-decoration: none !important;
|
|
74
|
+
border-radius: 5px;
|
|
75
|
+
font-size: 0.85rem;
|
|
76
|
+
font-weight: 600;
|
|
77
|
+
}
|
|
78
|
+
.profile-btn:hover {
|
|
79
|
+
background-color: #2563eb;
|
|
80
|
+
box-shadow: 0 4px 10px rgba(59,130,246,0.3);
|
|
81
|
+
}
|
|
82
|
+
</style>
|
|
83
|
+
""", unsafe_allow_html=True)
|
|
84
|
+
|
|
85
|
+
# --- 首屏横幅区 ---
|
|
86
|
+
col_hero1, col_hero2 = st.columns([1.3, 1], gap="large")
|
|
87
|
+
with col_hero1:
|
|
88
|
+
st.markdown(f"<h1 style='color:#0f172a;margin-top:0.5rem;font-size:3.2rem;'>欢迎回来, {st.session_state['current_user']}</h1>", unsafe_allow_html=True)
|
|
89
|
+
st.markdown("""
|
|
90
|
+
<p style='color:#475569;font-size:1.15rem;line-height:1.7;margin-top:1.2rem;'>
|
|
91
|
+
idopNetwork 是一套基于 <b>邬荣领教授</b> 提出的统计力学框架构建的复杂系统分析体系。
|
|
92
|
+
通过将静态的观测数据映射到高维拓扑空间,我们能够突破传统统计学的局限,实现对系统内部运作机理的深度还原。
|
|
93
|
+
</p>
|
|
94
|
+
""", unsafe_allow_html=True)
|
|
95
|
+
|
|
96
|
+
st.markdown("""
|
|
97
|
+
<div class="idop-badges">
|
|
98
|
+
<div class="badge-item" title="将复杂数据转化为可解释的生物/物理逻辑">💡 Informative</div>
|
|
99
|
+
<div class="badge-item" title="刻画系统随时间与环境变化的演化轨迹">🔄 Dynamic</div>
|
|
100
|
+
<div class="badge-item" title="覆盖从分子到表型的全尺度互作网络">🌐 Omnidirectional</div>
|
|
101
|
+
<div class="badge-item" title="生成针对单样本或个体的特异性精准分析">🎯 Personalized</div>
|
|
102
|
+
</div>
|
|
103
|
+
""", unsafe_allow_html=True)
|
|
104
|
+
|
|
105
|
+
with col_hero2:
|
|
106
|
+
# 右侧:邬教授专家名片
|
|
107
|
+
_, img_col, _ = st.columns([1.5, 4, 1.5])
|
|
108
|
+
with img_col:
|
|
109
|
+
st.markdown("<div style='margin-top: 1rem;'></div>", unsafe_allow_html=True)
|
|
110
|
+
_, center_img_col, _ = st.columns([1, 2, 1])
|
|
111
|
+
with center_img_col:
|
|
112
|
+
st.image(_WU, width=150) # 通过子列居中,确保与下方文字同轴
|
|
113
|
+
st.markdown("<p style='text-align:center; font-weight:bold; font-size:1.15rem; color:#0f172a; margin-top:4px; margin-bottom:2px;'>邬荣领 教授</p>", unsafe_allow_html=True)
|
|
114
|
+
st.markdown("<p style='text-align:center; color:#475569; font-size:0.95rem; margin-top:0; margin-bottom:4px;'>BIMSA 副院长 / 首席科学家</p>", unsafe_allow_html=True)
|
|
115
|
+
st.markdown("""
|
|
116
|
+
<div style="text-align:center;">
|
|
117
|
+
<a href="https://www.bimsa.cn/zh-CN/detail/ronglingwu.html" target="_blank" class="profile-btn">
|
|
118
|
+
查看个人主页 →
|
|
119
|
+
</a>
|
|
120
|
+
</div>
|
|
121
|
+
""", unsafe_allow_html=True)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
st.divider()
|
|
125
|
+
|
|
126
|
+
# --- 核心内容区 ---
|
|
127
|
+
col_left, col_right = st.columns([1.15, 1], gap="large")
|
|
128
|
+
|
|
129
|
+
with col_left:
|
|
130
|
+
st.markdown("<h4 style='color:#0f172a;margin-bottom:1rem;font-size:1.3rem;'>核心计算模块</h4>", unsafe_allow_html=True)
|
|
131
|
+
st.markdown("""
|
|
132
|
+
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded" rel="stylesheet" />
|
|
133
|
+
|
|
134
|
+
<a href=" " target="_self" class="card-link">
|
|
135
|
+
<div class='card'>
|
|
136
|
+
<div class='card-title'>
|
|
137
|
+
<span style='display:flex; align-items:center; gap:6px;'>
|
|
138
|
+
<span class="material-symbols-rounded" style="color:#16a34a; font-size:1.4rem;">timeline</span>
|
|
139
|
+
曲线拟合 (Curve Fitting)
|
|
140
|
+
</span>
|
|
141
|
+
<span style='font-size:0.9rem;color:#3b82f6;'>进入 →</span>
|
|
142
|
+
</div>
|
|
143
|
+
<div class='card-desc'>基于生态位理论与异速生长定律,实现静态数据的拟动态幂律曲线转化,为后续微分方程的构建提供底层数学基础。</div>
|
|
144
|
+
</div>
|
|
145
|
+
</a >
|
|
146
|
+
|
|
147
|
+
<a href="FunClu" target="_self" class="card-link">
|
|
148
|
+
<div class='card'>
|
|
149
|
+
<div class='card-title'>
|
|
150
|
+
<span style='display:flex; align-items:center; gap:6px;'>
|
|
151
|
+
<span class="material-symbols-rounded" style="color:#ea580c; font-size:1.4rem;">category</span>
|
|
152
|
+
功能聚类 (FunClu)
|
|
153
|
+
</span>
|
|
154
|
+
<span style='font-size:0.9rem;color:#3b82f6;'>进入 →</span>
|
|
155
|
+
</div>
|
|
156
|
+
<div class='card-desc'>通过多元高斯混合模型实现功能模块聚类,降低高维网络解析复杂度。</div>
|
|
157
|
+
</div>
|
|
158
|
+
</a >
|
|
159
|
+
|
|
160
|
+
<a href="NetRecon" target="_self" class="card-link">
|
|
161
|
+
<div class='card'>
|
|
162
|
+
<div class='card-title'>
|
|
163
|
+
<span style='display:flex; align-items:center; gap:6px;'>
|
|
164
|
+
<span class="material-symbols-rounded" style="color:#7c3aed; font-size:1.4rem;">hub</span>
|
|
165
|
+
idop网络重构 (NetRecon)
|
|
166
|
+
</span>
|
|
167
|
+
<span style='font-size:0.9rem;color:#3b82f6;'>进入 →</span>
|
|
168
|
+
</div>
|
|
169
|
+
<div class='card-desc'>基于进化博弈论构建微分方程,通过带约束多任务稀疏回归,求解变量自身表达与交互效应,构建动态个性化复杂网络。</div>
|
|
170
|
+
</div>
|
|
171
|
+
</a >
|
|
172
|
+
|
|
173
|
+
<a href="NetAnal" target="_self" class="card-link">
|
|
174
|
+
<div class='card'>
|
|
175
|
+
<div class='card-title'>
|
|
176
|
+
<span style='display:flex; align-items:center; gap:6px;'>
|
|
177
|
+
<span class="material-symbols-rounded" style="color:#e11d48; font-size:1.4rem;">insights</span>
|
|
178
|
+
idop网络解析 (NetAnal)
|
|
179
|
+
</span>
|
|
180
|
+
<span style='font-size:0.9rem;color:#3b82f6;'>进入 →</span>
|
|
181
|
+
</div>
|
|
182
|
+
<div class='card-desc'>采用 GLMY 拓扑同调方法解析动态网络高阶结构,也可通过网络深度与 “网络中位数” 理论,刻画群体共性拓扑特征。</div>
|
|
183
|
+
</div>
|
|
184
|
+
</a >
|
|
185
|
+
""", unsafe_allow_html=True)
|
|
186
|
+
|
|
187
|
+
with col_right:
|
|
188
|
+
st.markdown("<h4 style='color:#0f172a;margin-bottom:1rem;font-size:1.3rem;'>idopnetwork代表性学术成果</h4>", unsafe_allow_html=True)
|
|
189
|
+
|
|
190
|
+
# 这里就是你那长长的 46 篇论文列表
|
|
191
|
+
papers_html = """
|
|
192
|
+
<div class='scroll-box'>
|
|
193
|
+
<div class="scroll-box">
|
|
194
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2026</h4>
|
|
195
|
+
<div class="paper-item"><div class="paper-title">📄 Graph statistics theory of individualized quantitative genetics under haplotype-resolved genome assembly.</div><div class="paper-authors">Sun, L., Bian, Y., Yang, D., et al. (<b>2026</b>). <i>Proceedings of the National Academy of Sciences</i>.<br><a class="paper-link" href="https://doi.org/10.1073/pnas.2600004123" target="_blank">🔗 doi: 10.1073/pnas.2600004123</a></div></div>
|
|
196
|
+
<div class="paper-item"><div class="paper-title">📄 A statistical mechanics model to decode tissue crosstalk during graft formation.</div><div class="paper-authors">Dong, A., Meng, Y., Yau, S. S.-T., et al. (<b>2026</b>). <i>Advanced Science</i>.<br><a class="paper-link" href="https://doi.org/10.1002/advs.202523373" target="_blank">🔗 doi: 10.1002/advs.202523373</a></div></div>
|
|
197
|
+
<div class="paper-item"><div class="paper-title">📄 An omnigenic interactome model to chart the genetic architecture of individual plants.</div><div class="paper-authors">Fa, C., Wang, G., Pan, W., et al. (<b>2026</b>). <i>Horticulture Research</i>.<br><a class="paper-link" href="https://doi.org/10.1093/hr/uhaf345" target="_blank">🔗 doi: 10.1093/hr/uhaf345</a></div></div>
|
|
198
|
+
<div class="paper-item"><div class="paper-title">📄 Network stress: A wiring diagram of whole stress genes.</div><div class="paper-authors">Wang, Y., & Wu, R. (<b>2026</b>). <i>Horticulture Research</i>.<br><a class="paper-link" href="https://doi.org/10.1093/hr/uhaf302" target="_blank">🔗 doi: 10.1093/hr/uhaf302</a></div></div>
|
|
199
|
+
<div class="paper-item"><div class="paper-title">📄 Statistical learning of stochastic complex systems via the yau-yau nonlinear filter.</div><div class="paper-authors">Xu, S., Wang, Y., Wu, S., et al. (<b>2026</b>). <i>The Innovation</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.xinn.2026.101267" target="_blank">🔗 doi: 10.1016/j.xinn.2026.101267</a></div></div>
|
|
200
|
+
|
|
201
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2025</h4>
|
|
202
|
+
<div class="paper-item"><div class="paper-title">📄 IdopNetwork as a genomic predictor of drug response.</div><div class="paper-authors">Che, J., Jin, Y., Gragnoli, C., et al. (<b>2025</b>). <i>Drug Discovery Today</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.drudis.2024.104252" target="_blank">🔗 doi: 10.1016/j.drudis.2024.104252</a></div></div>
|
|
203
|
+
<div class="paper-item"><div class="paper-title">📄 High-order interaction modeling of tumor-microenvironment crosstalk for tumor growth.</div><div class="paper-authors">Che, J., Wang, Y., Feng, L., et al. (<b>2025</b>). <i>Physics of Life Reviews</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.plrev.2025.05.007" target="_blank">🔗 doi: 10.1016/j.plrev.2025.05.007</div></div>
|
|
204
|
+
<div class="paper-item"><div class="paper-title">📄 Network modeling and topology of aging.</div><div class="paper-authors">Feng, L., Yang, D., Wu, S., et al. (<b>2025</b>). <i>Physics Reports</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.physrep.2024.10.006" target="_blank">🔗 doi: 10.1016/j.physrep.2024.10.006</div></div>
|
|
205
|
+
<div class="paper-item"><div class="paper-title">📄 idopNetwork analysis of salt-responsive transcriptomes reveals hub regulatory modules and genes in populus euphratica.</div><div class="paper-authors">Wu, S., Pan, W., & Dong, A. (<b>2025</b>). <i>International Journal of Molecular Sciences</i>.<br><a class="paper-link" href="https://doi.org/10.3390/ijms26094091" target="_blank">🔗 doi: 10.3390/ijms26094091</div></div>
|
|
206
|
+
<div class="paper-item"><div class="paper-title">📄 Disentangling complex systems: IdopNetwork meets GLMY homology theory.</div><div class="paper-authors">Wu, S., & Zhang, M. (<b>2025</b>). <i>Data Analytics and Topology</i>.</div></div>
|
|
207
|
+
|
|
208
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2024</h4>
|
|
209
|
+
<div class="paper-item"><div class="paper-title">📄 Hypernetwork modeling and topology of high-order interactions for complex systems.</div><div class="paper-authors">Feng, L., Gong, H., Zhang, S., et al. (<b>2024</b>). <i>Proceedings of the National Academy of Sciences</i>.<br><a class="paper-link" href="https://doi.org/10.1073/pnas.2412220121" target="_blank">🔗 doi: 10.1073/pnas.2412220121</div></div>
|
|
210
|
+
<div class="paper-item"><div class="paper-title">📄 Topological change of soil microbiota networks for forest resilience under global warming.</div><div class="paper-authors">Gong, H., Wang, H., Wang, Y., et al. (<b>2024</b>). <i>Physics of Life Reviews</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.plrev.2024.08.001" target="_blank">🔗 doi: 10.1016/j.plrev.2024.08.001</div></div>
|
|
211
|
+
<div class="paper-item"><div class="paper-title">📄 Genome-wide network analysis of above- and below-ground Co-growth in populus euphratica.</div><div class="paper-authors">Lu, K., Gong, H., Yang, D., et al. (<b>2024</b>). <i>Plant Phenomics</i>.<br><a class="paper-link" href="https://doi.org/10.34133/plantphenomics.0131" target="_blank">🔗 doi: 10.34133/plantphenomics.0131</div></div>
|
|
212
|
+
<div class="paper-item"><div class="paper-title">📄 Mapping the influence of light intensity on the transgenerational genetic architecture of arabidopsis thaliana.</div><div class="paper-authors">Mei, J., Che, J., Shi, Y., et al. (<b>2024</b>). <i>Current Issues in Molecular Biology</i>.<br><a class="paper-link" href="https://doi.org/10.3390/cimb46080482" target="_blank">🔗 doi: 10.3390/cimb46080482</div></div>
|
|
213
|
+
|
|
214
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2023</h4>
|
|
215
|
+
<div class="paper-item"><div class="paper-title">📄 idopNetwork: A network tool to dissect spatial community ecology.</div><div class="paper-authors">Dong, A., Wu, S., Che, J., et al. (<b>2023</b>). <i>Methods in Ecology and Evolution</i>.<br><a class="paper-link" href="https://doi.org/10.1111/2041-210X.14172" target="_blank">🔗 doi: 10.1111/2041-210X.14172</div></div>
|
|
216
|
+
<div class="paper-item"><div class="paper-title">📄 A personalized pharmaco-epistatic network model of precision medicine.</div><div class="paper-authors">Feng, L., Yang, W., Ding, M., et al. (<b>2023</b>). <i>Drug Discovery Today</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.drudis.2023.103608" target="_blank">🔗 doi: 10.1016/j.drudis.2023.103608</div></div>
|
|
217
|
+
<div class="paper-item"><div class="paper-title">📄 Competition-cooperation mechanism between escherichia coli and staphylococcus aureus based on systems mapping.</div><div class="paper-authors">Li, C., Yin, L., He, X., et al. (<b>2023</b>). <i>Frontiers in Microbiology</i>.<br><a class="paper-link" href="https://doi.org/10.3389/fmicb.2023.1192574" target="_blank">🔗 doi: 10.3389/fmicb.2023.1192574</div></div>
|
|
218
|
+
<div class="paper-item"><div class="paper-title">📄 The genetic architecture of trait covariation in populus euphratica, a desert tree.</div><div class="paper-authors">Lu, K., Wang, X., Gong, H., et al. (<b>2023</b>). <i>Frontiers in Plant Science</i>.<br><a class="paper-link" href="https://doi.org/10.3389/fpls.2023.1149879" target="_blank">🔗 doi: 10.3389/fpls.2023.1149879</div></div>
|
|
219
|
+
<div class="paper-item"><div class="paper-title">📄 The genomic physics of tumor–microenvironment crosstalk.</div><div class="paper-authors">Sang, M., Feng, L., Dong, A., et al. (<b>2023</b>). <i>Physics Reports</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.physrep.2023.07.006" target="_blank">🔗 doi: 10.1016/j.physrep.2023.07.006</div></div>
|
|
220
|
+
<div class="paper-item"><div class="paper-title">📄 A pleiotropic–epistatic entangelement model of drug response.</div><div class="paper-authors">Wang, Y., Sang, M., Feng, L., et al. (<b>2023</b>). <i>Drug Discovery Today</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.drudis.2023.103790" target="_blank">🔗 doi: 10.1016/j.drudis.2023.103790</div></div>
|
|
221
|
+
<div class="paper-item"><div class="paper-title">📄 The metabolomic physics of complex diseases.</div><div class="paper-authors">Wu, S., Liu, X., Dong, A., et al. (<b>2023</b>). <i>Proceedings of the National Academy of Sciences</i>.<br><a class="paper-link" href="https://doi.org/10.1073/pnas.2308496120" target="_blank">🔗 doi: 10.1073/pnas.2308496120</div></div>
|
|
222
|
+
|
|
223
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2022</h4>
|
|
224
|
+
<div class="paper-item"><div class="paper-title">📄 Modeling spatial interaction networks of the gut microbiota.</div><div class="paper-authors">Cao, X., Dong, A., Kang, G., et al. (<b>2022</b>). <i>Gut Microbes</i>.<br><a class="paper-link" href="https://doi.org/10.1080/19490976.2022.2106103" target="_blank">🔗 doi: 10.1080/19490976.2022.2106103</div></div>
|
|
225
|
+
<div class="paper-item"><div class="paper-title">📄 An eco-evo-devo genetic network model of stress response.</div><div class="paper-authors">Feng, L., Dong, T., Jiang, P., et al. (<b>2022</b>). <i>Horticulture Research</i>.<br><a class="paper-link" href="https://doi.org/10.1093/hr/uhac135" target="_blank">🔗 doi: 10.1093/hr/uhac135</div></div>
|
|
226
|
+
<div class="paper-item"><div class="paper-title">📄 Disentangling leaf-microbiome interactions in arabidopsis thaliana by network mapping.</div><div class="paper-authors">Li, K., Cheng, K., Wang, H., et al. (<b>2022</b>). <i>Frontiers in Plant Science</i>.<br><a class="paper-link" href="https://doi.org/10.3389/fpls.2022.996121" target="_blank">🔗 doi: 10.3389/fpls.2022.996121</div></div>
|
|
227
|
+
<div class="paper-item"><div class="paper-title">📄 A graph model of combination therapies.</div><div class="paper-authors">Sang, M., Dong, A., Wu, S., et al. (<b>2022</b>). <i>Drug Discovery Today</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.drudis.2022.02.001" target="_blank">🔗 doi: 10.1016/j.drudis.2022.02.001</div></div>
|
|
228
|
+
<div class="paper-item"><div class="paper-title">📄 A single-cell omics network model of cell crosstalk during the formation of primordial follicles.</div><div class="paper-authors">Wang, Q., Dong, A., Jiang, L., et al. (<b>2022</b>). <i>Cells</i>.<br><a class="paper-link" href="https://doi.org/10.3390/cells11030332" target="_blank">🔗 doi: 10.3390/cells11030332</div></div>
|
|
229
|
+
<div class="paper-item"><div class="paper-title">📄 Vaginal microbiota networks as a mechanistic predictor of aerobic vaginitis.</div><div class="paper-authors">Wang, Q., Dong, A., Zhao, J., et al. (<b>2022</b>). <i>Frontiers in Microbiology</i>.<br><a class="paper-link" href="https://doi.org/10.3389/fmicb.2022.998813" target="_blank">🔗 doi: 10.3389/fmicb.2022.998813</div></div>
|
|
230
|
+
|
|
231
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2021</h4>
|
|
232
|
+
<div class="paper-item"><div class="paper-title">📄 FunGraph: A statistical protocol to reconstruct omnigenic multilayer interactome networks for complex traits.</div><div class="paper-authors">Dong, A., Feng, L., Yang, D., et al. (<b>2021</b>). <i>STAR Protocols</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.xpro.2021.100985" target="_blank">🔗 doi: 10.1016/j.xpro.2021.100985</div></div>
|
|
233
|
+
<div class="paper-item"><div class="paper-title">📄 The genomic physics of COVID-19 pathogenesis and spread.</div><div class="paper-authors">Dong, A., Zhao, J., Griffin, C., & Wu, R. (<b>2021</b>). <i>Cells</i>.<br><a class="paper-link" href="https://doi.org/10.3390/cells11010080" target="_blank">🔗 doi: 10.3390/cells11010080</div></div>
|
|
234
|
+
<div class="paper-item"><div class="paper-title">📄 Genetic dissection of growth trajectories in forest trees: From FunMap to FunGraph.</div><div class="paper-authors">Feng, L., Jiang, P., Li, C., et al. (<b>2021</b>). <i>Forestry Research</i>.<br><a class="paper-link" href="https://doi.org/10.48130/FR-2021-0019" target="_blank">🔗 doi: 10.48130/FR-2021-0019</div></div>
|
|
235
|
+
<div class="paper-item"><div class="paper-title">📄 Genetic architecture of multiphasic growth covariation as revealed by a nonlinear mixed mapping framework.</div><div class="paper-authors">Gong, H., Zhang, X.-Y., Zhu, S., et al. (<b>2021</b>). <i>Frontiers in Plant Science</i>.<br><a class="paper-link" href="https://doi.org/10.3389/fpls.2021.711219" target="_blank">🔗 doi: 10.3389/fpls.2021.711219</div></div>
|
|
236
|
+
<div class="paper-item"><div class="paper-title">📄 A multilayer interactome network constructed in a forest poplar population mediates the pleiotropic control of complex traits.</div><div class="paper-authors">Gong, H., Zhu, S., Zhu, X., et al. (<b>2021</b>). <i>Frontiers in Genetics</i>.<br><a class="paper-link" href="https://doi.org/10.3389/fgene.2021.769688" target="_blank">🔗 doi: 10.3389/fgene.2021.769688</div></div>
|
|
237
|
+
<div class="paper-item"><div class="paper-title">📄 Network mapping of root–microbe interactions in arabidopsis thaliana.</div><div class="paper-authors">He, X., Zhang, Q., Li, B., et al. (<b>2021</b>). <i>Npj Biofilms and Microbiomes</i>.<br><a class="paper-link" href="https://doi.org/10.1038/s41522-021-00241-4" target="_blank">🔗 doi: 10.1038/s41522-021-00241-4</div></div>
|
|
238
|
+
<div class="paper-item"><div class="paper-title">📄 A behavioral model for mapping the genetic architecture of gut-microbiota networks.</div><div class="paper-authors">Jiang, L., Liu, X., He, X., et al. (<b>2021</b>). <i>Gut Microbes</i>.<br><a class="paper-link" href="https://doi.org/10.1080/19490976.2020.1820847" target="_blank">🔗 doi: 10.1080/19490976.2020.1820847</div></div>
|
|
239
|
+
<div class="paper-item"><div class="paper-title">📄 Adaptive sparse group LASSO in quantile regression.</div><div class="paper-authors">Mendez-Civieta, A., Aguilera-Morillo, M. C., & Lillo, R. E. (<b>2021</b>). <i>Advances in Data Analysis and Classification</i>.<br><a class="paper-link" href="https://doi.org/10.1007/s11634-020-00413-8" target="_blank">🔗 doi: 10.1007/s11634-020-00413-8</div></div>
|
|
240
|
+
<div class="paper-item"><div class="paper-title">📄 Statistical mechanics of clock gene networks underlying circadian rhythms.</div><div class="paper-authors">Sun, L., Dong, A., Griffin, C., & Wu, R. (<b>2021</b>). <i>Applied Physics Reviews</i>.<br><a class="paper-link" href="https://doi.org/10.1063/5.0029993" target="_blank">🔗 doi: 10.1063/5.0029993</div></div>
|
|
241
|
+
<div class="paper-item"><div class="paper-title">📄 Modeling genome-wide by environment interactions through omnigenic interactome networks.</div><div class="paper-authors">Wang, H., Ye, M., Fu, Y., et al. (<b>2021</b>). <i>Cell Reports</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.celrep.2021.109114" target="_blank">🔗 doi: 10.1016/j.celrep.2021.109114</div></div>
|
|
242
|
+
<div class="paper-item"><div class="paper-title">📄 Recovering dynamic networks in big static datasets.</div><div class="paper-authors">Wu, R., & Jiang, L. (<b>2021</b>). <i>Physics Reports</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.physrep.2021.01.003" target="_blank">🔗 doi: 10.1016/j.physrep.2021.01.003</div></div>
|
|
243
|
+
<div class="paper-item"><div class="paper-title">📄 Inferring multilayer interactome networks shaping phenotypic plasticity and evolution.</div><div class="paper-authors">Yang, D., Jin, Y., He, X., et al. (<b>2021</b>). <i>Nature Communications</i>.<br><a class="paper-link" href="https://doi.org/10.1038/s41467-021-25086-5" target="_blank">🔗 doi: 10.1038/s41467-021-25086-5</div></div>
|
|
244
|
+
|
|
245
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2020</h4>
|
|
246
|
+
<div class="paper-item"><div class="paper-title">📄 SEGN: Inferring real-time gene networks mediating phenotypic plasticity.</div><div class="paper-authors">Jiang, L., Griffin, C. H., & Wu, R. (<b>2020</b>). <i>Computational and Structural Biotechnology Journal</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.csbj.2020.08.029" target="_blank">🔗 doi: 10.1016/j.csbj.2020.08.029</div></div>
|
|
247
|
+
<div class="paper-item"><div class="paper-title">📄 Computational identification of gene networks as a biomarker of neuroblastoma risk.</div><div class="paper-authors">Sun, L., Jiang, L., Grant, C. N., et al. (<b>2020</b>). <i>Cancers</i>.<br><a class="paper-link" href="https://doi.org/10.3390/cancers12082086" target="_blank">🔗 doi: 10.3390/cancers12082086</div></div>
|
|
248
|
+
<div class="paper-item"><div class="paper-title">📄 An omnidirectional visualization model of personalized gene regulatory networks.</div><div class="paper-authors">Chen, C., Jiang, L., Fu, G., et al. (<b>2020</b>). <i>Npj Systems Biology and Applications</i>.<br><a class="paper-link" href="https://doi.org/10.1038/s41540-019-0116-1" target="_blank">🔗 doi: 10.1038/s41540-019-0116-1</div></div>
|
|
249
|
+
|
|
250
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2019</h4>
|
|
251
|
+
<div class="paper-item"><div class="paper-title">📄 A drive to driven model of mapping intraspecific interaction networks.</div><div class="paper-authors">Jiang, L., Xu, J., Sang, M., et al. (<b>2019</b>). <i>iScience</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.isci.2019.11.002" target="_blank">🔗 doi: 10.1016/j.isci.2019.11.002</div></div>
|
|
252
|
+
<div class="paper-item"><div class="paper-title">📄 Interrogation of internal workings in microbial community assembly: Play a game through a behavioral network?</div><div class="paper-authors">Wang, Q., Liu, X., Jiang, L., et al. (<b>2019</b>). <i>mSystems</i>.<br><a class="paper-link" href="https://doi.org/10.1128/mSystems.00550-19" target="_blank">🔗 doi: 10.1128/mSystems.00550-19</div></div>
|
|
253
|
+
<div class="paper-item"><div class="paper-title">📄 Complex network approaches to nonlinear time series analysis.</div><div class="paper-authors">Zou, Y., Donner, R. V., Marwan, N., et al. (<b>2019</b>). <i>Physics Reports</i>.<br><a class="paper-link" href="https://doi.org/10.1016/j.physrep.2018.10.005" target="_blank">🔗 doi: 10.1016/j.physrep.2018.10.005</div></div>
|
|
254
|
+
<div class="paper-item"><div class="paper-title">📄 A computational-experimental framework for mapping plant coexistence.</div><div class="paper-authors">Jiang, L., Shi, C., Ye, M., et al. (<b>2019</b>). <i>Methods in Ecology and Evolution</i>.<br><a class="paper-link" href="https://doi.org/10.1111/2041-210X.12981" target="_blank">🔗 doi: 10.1111/2041-210X.12981</div></div>
|
|
255
|
+
|
|
256
|
+
<h4 style="margin:0.6rem 0 0.3rem 0; color:#2563eb; border-bottom:1px solid #e2e8f0; padding-bottom:0.3rem;">2018</h4>
|
|
257
|
+
<div class="paper-item"><div class="paper-title">📄 A computational-experimental framework for mapping plant coexistence.</div><div class="paper-authors">Jiang, L., Shi, C., Ye, M., et al. (<b>2018</b>). <i>Methods in Ecology and Evolution</i>.<br><a class="paper-link" href="https://doi.org/10.1111/2041-210X.12981" target="_blank">🔗 doi: 10.1111/2041-210X.12981</div></div>
|
|
258
|
+
</div>
|
|
259
|
+
|
|
260
|
+
"""
|
|
261
|
+
st.markdown(papers_html, unsafe_allow_html=True)
|
|
262
|
+
|
|
263
|
+
# --- 原有的底部版权 ---
|
|
264
|
+
st.markdown(
|
|
265
|
+
"""<div style="text-align:center; color:#94a3b8; font-size:0.9rem; margin: 3rem 0;">
|
|
266
|
+
复杂系统拓扑统计理论及应用北京市重点实验室
|
|
267
|
+
北京雁栖湖应用数学研究院
|
|
268
|
+
idopNetwork v2.0
|
|
269
|
+
</div>""", unsafe_allow_html=True
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
# 只有当你用 admin 账号登录时才显示
|
|
274
|
+
if _is_admin_user():
|
|
275
|
+
st.divider()
|
|
276
|
+
st.subheader("🛠️ 注册人员信息后台")
|
|
277
|
+
from idopnetwork_app.auth import load_users
|
|
278
|
+
import pandas as pd
|
|
279
|
+
|
|
280
|
+
all_data = load_users()
|
|
281
|
+
# 将复杂的 JSON 转换成整齐的表格
|
|
282
|
+
df = pd.DataFrame.from_dict(all_data, orient='index')
|
|
283
|
+
# 隐藏密码列,保护隐私
|
|
284
|
+
if "password" in df.columns:
|
|
285
|
+
df = df.drop(columns=["password"])
|
|
286
|
+
st.dataframe(df, use_container_width=True)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""idopNetwork Streamlit application."""
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import streamlit as st
|
|
2
|
+
import json
|
|
3
|
+
import os
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
_USER_DATA_DIR = Path.home() / ".idopnetwork"
|
|
7
|
+
_USER_DATA_FILE = _USER_DATA_DIR / "users.json"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def _ensure_data_dir():
|
|
11
|
+
"""确保数据目录存在,并创建默认管理员账号。"""
|
|
12
|
+
_USER_DATA_DIR.mkdir(parents=True, exist_ok=True)
|
|
13
|
+
if not _USER_DATA_FILE.exists():
|
|
14
|
+
default_users = {
|
|
15
|
+
"admin": {
|
|
16
|
+
"password": "admin",
|
|
17
|
+
"real_name": "Administrator",
|
|
18
|
+
"phone": "",
|
|
19
|
+
"organization": "",
|
|
20
|
+
"research_direction": "",
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
save_users(default_users)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def load_users():
|
|
27
|
+
"""读取用户信息"""
|
|
28
|
+
_ensure_data_dir()
|
|
29
|
+
if not _USER_DATA_FILE.exists():
|
|
30
|
+
return {}
|
|
31
|
+
with open(_USER_DATA_FILE, "r", encoding="utf-8") as f:
|
|
32
|
+
return json.load(f)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def save_users(users):
|
|
36
|
+
"""保存用户信息"""
|
|
37
|
+
_ensure_data_dir()
|
|
38
|
+
with open(_USER_DATA_FILE, "w", encoding="utf-8") as f:
|
|
39
|
+
json.dump(users, f, indent=4, ensure_ascii=False)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def show_login_ui():
|
|
43
|
+
"""右上角登录按钮"""
|
|
44
|
+
col_title, col_btn = st.columns([8.5, 1.5])
|
|
45
|
+
with col_btn:
|
|
46
|
+
st.markdown("<div style='margin-top: 10px;'></div>", unsafe_allow_html=True)
|
|
47
|
+
if st.button("🔑 登录 / 注册", type="primary", use_container_width=True):
|
|
48
|
+
show_auth_modal()
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
@st.dialog("🔐 统一身份认证中心", width="large")
|
|
52
|
+
def show_auth_modal():
|
|
53
|
+
"""弹窗内部:登录与详细信息注册"""
|
|
54
|
+
tab_login, tab_register = st.tabs(["🔑 登录已有账户", "📝 注册新账户"])
|
|
55
|
+
users = load_users()
|
|
56
|
+
|
|
57
|
+
with tab_login:
|
|
58
|
+
log_user = st.text_input("用户名", key="log_user")
|
|
59
|
+
log_pwd = st.text_input("密码", type="password", key="log_pwd")
|
|
60
|
+
st.markdown("<br>", unsafe_allow_html=True)
|
|
61
|
+
if st.button("验证并进入系统", type="primary", use_container_width=True):
|
|
62
|
+
user_info = users.get(log_user)
|
|
63
|
+
if user_info and isinstance(user_info, dict) and user_info.get("password") == log_pwd:
|
|
64
|
+
st.session_state["logged_in"] = True
|
|
65
|
+
st.session_state["current_user"] = log_user
|
|
66
|
+
st.session_state["user_details"] = user_info
|
|
67
|
+
st.rerun()
|
|
68
|
+
elif user_info == log_pwd:
|
|
69
|
+
st.session_state["logged_in"] = True
|
|
70
|
+
st.session_state["current_user"] = log_user
|
|
71
|
+
st.rerun()
|
|
72
|
+
else:
|
|
73
|
+
st.error("用户名或密码错误")
|
|
74
|
+
|
|
75
|
+
with tab_register:
|
|
76
|
+
st.markdown("##### 请填写您的真实研究信息")
|
|
77
|
+
reg_user = st.text_input("用户名 *", placeholder="用于登录的唯一ID", key="reg_user")
|
|
78
|
+
reg_pwd = st.text_input("设置密码 *", type="password", key="reg_pwd")
|
|
79
|
+
col_reg1, col_reg2 = st.columns(2)
|
|
80
|
+
with col_reg1:
|
|
81
|
+
reg_real_name = st.text_input("真实姓名", placeholder="张三", key="reg_real_name")
|
|
82
|
+
reg_phone = st.text_input("电话号", placeholder="138XXXXXXXX", key="reg_phone")
|
|
83
|
+
with col_reg2:
|
|
84
|
+
reg_org = st.text_input("所属单位", placeholder="XX大学/XX研究院", key="reg_org")
|
|
85
|
+
reg_field = st.text_input("研究方向", placeholder="复杂网络/生物信息等", key="reg_field")
|
|
86
|
+
st.markdown("<br>", unsafe_allow_html=True)
|
|
87
|
+
st.info("ℹ️ **声明**:您填写的个人信息仅用于学术交流及课题组内部成员身份核验,平台将严格保护您的隐私。")
|
|
88
|
+
|
|
89
|
+
if st.button("提交注册申请", use_container_width=True, type="primary"):
|
|
90
|
+
if not reg_user or not reg_pwd:
|
|
91
|
+
st.warning("请至少填写用户名和密码")
|
|
92
|
+
elif reg_user in users:
|
|
93
|
+
st.error("该用户名已存在,请更换")
|
|
94
|
+
else:
|
|
95
|
+
users[reg_user] = {
|
|
96
|
+
"password": reg_pwd,
|
|
97
|
+
"real_name": reg_real_name,
|
|
98
|
+
"phone": reg_phone,
|
|
99
|
+
"organization": reg_org,
|
|
100
|
+
"research_direction": reg_field,
|
|
101
|
+
}
|
|
102
|
+
save_users(users)
|
|
103
|
+
st.success("🎉 注册成功!请切换到『登录』页进行验证。")
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""idopNetwork-app CLI entry point."""
|
|
2
|
+
import sys
|
|
3
|
+
from streamlit.web import cli as stcli
|
|
4
|
+
from importlib.resources import files
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def main():
|
|
8
|
+
home = str(files("idopnetwork_app") / "Home.py")
|
|
9
|
+
sys.argv = ["streamlit", "run", home] + sys.argv[1:]
|
|
10
|
+
sys.exit(stcli.main())
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
if __name__ == "__main__":
|
|
14
|
+
main()
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
S <- c(9.95, 24.45, 31.75, 35.00, 25.02, 16.86, 14.38, 9.60, 24.35, 27.50,
|
|
2
|
+
17.08, 37.00, 41.95, 11.66, 21.65, 17.89, 69.00, 10.30, 34.93, 46.59,
|
|
3
|
+
44.88, 54.12, 56.63, 22.13, 21.15)
|
|
4
|
+
L <- c(2, 8, 11, 10, 8, 4, 2, 2, 9, 8, 4, 11, 12,
|
|
5
|
+
2, 4, 4, 20, 1, 10, 15, 15, 16, 17, 6, 5)
|
|
6
|
+
H <- c(50, 110, 120, 550, 295, 200, 375, 52, 100, 300, 412, 400, 500,
|
|
7
|
+
360, 205,400, 600, 585, 540, 250, 290, 510, 590, 100, 400)
|