feat: 支持绑定外部 bt_toxin 数据库 (2025-11-04 更新)
- docker_client.py: run_bttoxin_digger() 新增 bttoxin_db_dir 参数,支持挂载外部数据库 - run_single_fna_pipeline.py: 新增 --bttoxin_db_dir 参数,自动检测 external_dbs/bt_toxin - README.md: 添加 bttoxin_db 更新说明和 Docker 绑定文档 - external_dbs/bt_toxin: 添加 2025-11-04 版本数据库文件 测试验证: HAN055 样本毒素命名版本号变化 (Cry2Aa9→22, Cry2Ab35→41, Cry1Ia40→42, Vip3Aa7→79)
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
<template>
|
||||
<n-config-provider :theme="darkTheme">
|
||||
<n-layout>
|
||||
<n-layout-header bordered>
|
||||
<n-space align="center" justify="space-between" style="padding: 16px">
|
||||
<n-h2>BtToxin Pipeline</n-h2>
|
||||
<n-menu mode="horizontal" :options="menuOptions" />
|
||||
</n-space>
|
||||
</n-layout-header>
|
||||
|
||||
<n-layout-content style="padding: 24px">
|
||||
<router-view />
|
||||
</n-layout-content>
|
||||
|
||||
<n-layout-footer bordered style="padding: 16px; text-align: center">
|
||||
BtToxin Pipeline © 2025
|
||||
</n-layout-footer>
|
||||
</n-layout>
|
||||
</n-config-provider>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { darkTheme } from 'naive-ui'
|
||||
import { h } from 'vue'
|
||||
import { RouterLink } from 'vue-router'
|
||||
|
||||
const menuOptions = [
|
||||
{
|
||||
label: () => h(RouterLink, { to: '/' }, { default: () => 'Home' }),
|
||||
key: 'home'
|
||||
},
|
||||
{
|
||||
label: () => h(RouterLink, { to: '/upload' }, { default: () => 'Upload' }),
|
||||
key: 'upload'
|
||||
},
|
||||
{
|
||||
label: () => h(RouterLink, { to: '/jobs' }, { default: () => 'Jobs' }),
|
||||
key: 'jobs'
|
||||
}
|
||||
]
|
||||
</script>
|
||||
@@ -1,14 +0,0 @@
|
||||
import { createApp } from 'vue'
|
||||
import { createPinia } from 'pinia'
|
||||
import naive from 'naive-ui'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
|
||||
const app = createApp(App)
|
||||
const pinia = createPinia()
|
||||
|
||||
app.use(pinia)
|
||||
app.use(router)
|
||||
app.use(naive)
|
||||
|
||||
app.mount('#app')
|
||||
@@ -1,31 +0,0 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'Home',
|
||||
component: () => import('./views/Home.vue')
|
||||
},
|
||||
{
|
||||
path: '/upload',
|
||||
name: 'Upload',
|
||||
component: () => import('./views/Upload.vue')
|
||||
},
|
||||
{
|
||||
path: '/jobs',
|
||||
name: 'Jobs',
|
||||
component: () => import('./views/Jobs.vue')
|
||||
},
|
||||
{
|
||||
path: '/jobs/:id',
|
||||
name: 'JobDetail',
|
||||
component: () => import('./views/JobDetail.vue')
|
||||
}
|
||||
]
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(),
|
||||
routes
|
||||
})
|
||||
|
||||
export default router
|
||||
@@ -1,22 +0,0 @@
|
||||
import axios from 'axios'
|
||||
|
||||
const api = axios.create({
|
||||
baseURL: '/api/v1',
|
||||
timeout: 30000
|
||||
})
|
||||
|
||||
export default {
|
||||
createJob(formData) {
|
||||
return api.post('/jobs/create', formData, {
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
},
|
||||
|
||||
getJob(jobId) {
|
||||
return api.get(`/jobs/${jobId}`)
|
||||
},
|
||||
|
||||
getJobProgress(jobId) {
|
||||
return api.get(`/jobs/${jobId}/progress`)
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<template>
|
||||
<n-space vertical size="large">
|
||||
<n-card title="Welcome to BtToxin Pipeline">
|
||||
<p>Automated Bacillus thuringiensis toxin mining system</p>
|
||||
</n-card>
|
||||
</n-space>
|
||||
</template>
|
||||
@@ -1,5 +0,0 @@
|
||||
<template>
|
||||
<n-card title="Job Details">
|
||||
<p>Job ID: {{ $route.params.id }}</p>
|
||||
</n-card>
|
||||
</template>
|
||||
@@ -1,5 +0,0 @@
|
||||
<template>
|
||||
<n-card title="Job List">
|
||||
<n-empty description="No jobs yet" />
|
||||
</n-card>
|
||||
</template>
|
||||
@@ -1,7 +0,0 @@
|
||||
<template>
|
||||
<n-card title="Upload Genome Files">
|
||||
<n-upload multiple>
|
||||
<n-button>Select Files</n-button>
|
||||
</n-upload>
|
||||
</n-card>
|
||||
</template>
|
||||
Reference in New Issue
Block a user