@basic-genomics/hivtrace-viz 1.0.0
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.
- package/README.md +161 -0
- package/dist/060b2710bdbbe3dfe48b.svg +288 -0
- package/dist/1815e00441357e01619e.ttf +0 -0
- package/dist/2463b90d9a316e4e5294.woff2 +0 -0
- package/dist/2582b0e4bcf85eceead0.ttf +0 -0
- package/dist/4692b9ec53fd5972caa2.ttf +0 -0
- package/dist/5be1347c682810f199c7.eot +0 -0
- package/dist/82b1212e45a2bc35dd73.woff +0 -0
- package/dist/89999bdf5d835c012025.woff2 +0 -0
- package/dist/914997e1bdfc990d0897.ttf +0 -0
- package/dist/be810be3a3e14c682a25.woff2 +0 -0
- package/dist/c210719e60948b211a12.woff2 +0 -0
- package/dist/da94ef451f4969af06e6.ttf +0 -0
- package/dist/ea8f94e1d22e0d35ccd4.woff2 +0 -0
- package/dist/embed/060b2710bdbbe3dfe48b.svg +288 -0
- package/dist/embed/1815e00441357e01619e.ttf +0 -0
- package/dist/embed/2463b90d9a316e4e5294.woff2 +0 -0
- package/dist/embed/2582b0e4bcf85eceead0.ttf +0 -0
- package/dist/embed/4692b9ec53fd5972caa2.ttf +0 -0
- package/dist/embed/5be1347c682810f199c7.eot +0 -0
- package/dist/embed/82b1212e45a2bc35dd73.woff +0 -0
- package/dist/embed/89999bdf5d835c012025.woff2 +0 -0
- package/dist/embed/914997e1bdfc990d0897.ttf +0 -0
- package/dist/embed/be810be3a3e14c682a25.woff2 +0 -0
- package/dist/embed/c210719e60948b211a12.woff2 +0 -0
- package/dist/embed/da94ef451f4969af06e6.ttf +0 -0
- package/dist/embed/ea8f94e1d22e0d35ccd4.woff2 +0 -0
- package/dist/embed/hivtrace.css +19152 -0
- package/dist/embed/hivtrace.css.map +1 -0
- package/dist/embed/hivtrace.js +3 -0
- package/dist/embed/hivtrace.js.LICENSE.txt +38 -0
- package/dist/embed/hivtrace.js.map +1 -0
- package/dist/embed/index.html +1318 -0
- package/dist/embed/locales/en-US.json +168 -0
- package/dist/embed/locales/zh-CN.json +168 -0
- package/dist/hivtrace.css +19152 -0
- package/dist/hivtrace.css.map +1 -0
- package/dist/hivtrace.js +3 -0
- package/dist/hivtrace.js.LICENSE.txt +38 -0
- package/dist/hivtrace.js.map +1 -0
- package/dist/react/HivtraceViz.d.ts +8 -0
- package/dist/react/HivtraceViz.d.ts.map +1 -0
- package/dist/react/HivtraceViz.js +169 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +1 -0
- package/dist/react/types.d.ts +82 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +5 -0
- package/dist/vite-plugin/index.d.ts +13 -0
- package/dist/vite-plugin/index.d.ts.map +1 -0
- package/dist/vite-plugin/index.js +83 -0
- package/package.json +106 -0
package/README.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# @basic-genomics/hivtrace-viz
|
|
2
|
+
|
|
3
|
+
HIV-TRACE 分子传播网络可视化组件,支持 React 集成和 Vite 开发服务器。
|
|
4
|
+
|
|
5
|
+
## 功能特性
|
|
6
|
+
|
|
7
|
+
- 🔬 HIV 分子传播网络可视化
|
|
8
|
+
- ⚛️ React 组件封装
|
|
9
|
+
- 🔌 Vite 插件支持
|
|
10
|
+
- 🌐 国际化支持(中文/英文)
|
|
11
|
+
- 📦 支持 iframe 嵌入模式
|
|
12
|
+
|
|
13
|
+
## 安装
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @basic-genomics/hivtrace-viz
|
|
17
|
+
# 或
|
|
18
|
+
yarn add @basic-genomics/hivtrace-viz
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 使用方式
|
|
22
|
+
|
|
23
|
+
### React 组件
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { HivtraceViz } from '@basic-genomics/hivtrace-viz/react';
|
|
27
|
+
|
|
28
|
+
function App() {
|
|
29
|
+
return (
|
|
30
|
+
<HivtraceViz
|
|
31
|
+
data={analysisData}
|
|
32
|
+
options={{
|
|
33
|
+
enableClusterTracking: true,
|
|
34
|
+
threshold: 0.015,
|
|
35
|
+
expand: ['cluster_1']
|
|
36
|
+
}}
|
|
37
|
+
onTrackCluster={(clusterInfo, networkInfo) => {
|
|
38
|
+
console.log('跟踪簇:', clusterInfo);
|
|
39
|
+
}}
|
|
40
|
+
onReady={() => console.log('可视化已就绪')}
|
|
41
|
+
error={fetchError?.message}
|
|
42
|
+
/>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Vite 插件
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
// vite.config.ts
|
|
51
|
+
import { hivtraceVizPlugin } from '@basic-genomics/hivtrace-viz/vite';
|
|
52
|
+
|
|
53
|
+
export default defineConfig({
|
|
54
|
+
plugins: [
|
|
55
|
+
hivtraceVizPlugin({
|
|
56
|
+
base: '/hivtrace-viz' // 可选,默认 '/hivtrace-viz'
|
|
57
|
+
})
|
|
58
|
+
]
|
|
59
|
+
});
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### iframe 嵌入
|
|
63
|
+
|
|
64
|
+
```html
|
|
65
|
+
<iframe
|
|
66
|
+
src="/hivtrace-viz/index.html"
|
|
67
|
+
style="width: 100%; height: 600px; border: none;">
|
|
68
|
+
</iframe>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 开发指南
|
|
72
|
+
|
|
73
|
+
### 环境要求
|
|
74
|
+
|
|
75
|
+
- Node.js >= 18
|
|
76
|
+
- Yarn 1.22+
|
|
77
|
+
|
|
78
|
+
### 开发模式
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# 安装依赖
|
|
82
|
+
yarn install
|
|
83
|
+
|
|
84
|
+
# 启动开发服务器(热更新 + 预览页面)
|
|
85
|
+
yarn dev
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
开发服务器启动后:
|
|
89
|
+
- 自动打开 `http://localhost:8080/preview.html`
|
|
90
|
+
- 支持核心库热更新
|
|
91
|
+
- 支持 embed 模板热更新
|
|
92
|
+
|
|
93
|
+
### 生产构建
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# 完整构建(推荐)
|
|
97
|
+
yarn build
|
|
98
|
+
|
|
99
|
+
# 分步构建
|
|
100
|
+
yarn build:core # 核心可视化库
|
|
101
|
+
yarn build:react # React 组件
|
|
102
|
+
yarn build:vite # Vite 插件
|
|
103
|
+
yarn build:embed # 嵌入资源
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 测试
|
|
107
|
+
|
|
108
|
+
在宿主应用中测试:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# 1. 在 hivtrace-viz 目录构建
|
|
112
|
+
yarn build
|
|
113
|
+
|
|
114
|
+
# 2. 在宿主应用目录
|
|
115
|
+
yarn add file:../hivtrace-viz-github
|
|
116
|
+
|
|
117
|
+
# 3. 启动宿主应用
|
|
118
|
+
yarn dev
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## 项目结构
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
hivtrace-viz/
|
|
125
|
+
├── src/
|
|
126
|
+
│ ├── *.js # 核心可视化逻辑
|
|
127
|
+
│ ├── locales/ # 国际化文件
|
|
128
|
+
│ ├── react/ # React 组件
|
|
129
|
+
│ └── vite-plugin/ # Vite 插件
|
|
130
|
+
├── template/
|
|
131
|
+
│ └── embed.html # 嵌入模板
|
|
132
|
+
├── dist/ # 构建产物
|
|
133
|
+
│ ├── hivtrace.js # 核心库
|
|
134
|
+
│ ├── hivtrace.zh.js # 中文版本
|
|
135
|
+
│ ├── react/ # React 组件
|
|
136
|
+
│ ├── vite-plugin/ # Vite 插件
|
|
137
|
+
│ └── embed/ # 嵌入资源
|
|
138
|
+
└── preview.html # 开发预览
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Props API
|
|
142
|
+
|
|
143
|
+
| 属性 | 类型 | 说明 |
|
|
144
|
+
|------|------|------|
|
|
145
|
+
| `data` | `HivtraceVizData` | 分析数据 |
|
|
146
|
+
| `options` | `HivtraceVizOptions` | 配置选项 |
|
|
147
|
+
| `error` | `string` | 错误信息(API 错误时传入) |
|
|
148
|
+
| `loadingState` | `ReactNode \| null` | 自定义加载态,`null` 禁用 |
|
|
149
|
+
| `onTrackCluster` | `(info, data) => void` | 簇追踪回调 |
|
|
150
|
+
| `onReady` | `() => void` | 渲染完成回调 |
|
|
151
|
+
|
|
152
|
+
## 国际化
|
|
153
|
+
|
|
154
|
+
语言在构建时确定。默认生成中文版本。
|
|
155
|
+
|
|
156
|
+
- `zh-CN` - 简体中文(默认)
|
|
157
|
+
- `en-US` - English
|
|
158
|
+
|
|
159
|
+
## License
|
|
160
|
+
|
|
161
|
+
MIT
|