2.8 KiB
2.8 KiB
03 Genotyping - variant 表录入说明
来源:docs/architecture/03-genotyping-data-flow.md
录入目标
variant 表示具体变异位点,例如 SNP、Indel 或结构变异。它是位点定义,不是某个样本的结果;样本上的 genotype 结果写入 allele_call。
上下游关系
| 类型 | 内容 |
|---|---|
| 表 | variant |
| Java 实体 | VariantEntity |
| 前置依赖 | reference_set、variantset |
| 下游引用 | allele_call、marker_position |
| API | /brapi/v2/variants |
字段录入
| 字段 | 业务意义 | 录入方式 | 校验规则 |
|---|---|---|---|
id |
variant 主键 | 系统生成;导入时可指定 | 必填、唯一 |
auth_user_id |
数据所属用户 | 登录上下文自动写入 | 不允许前端手填 |
variant_name |
位点名称/marker 名称 | 用户录入/导入 | 建议必填 |
variant_type |
位点类型,如 SNP/INDEL/SV | 下拉/导入 | 可选,建议枚举 |
reference_set_id |
参考集合 | ReferenceSet 选择器 | 可选,若填需存在 |
variant_set_id |
所属 variantset | VariantSet 选择器 | 建议必选,若填需存在 |
reference_bases |
参考碱基 | 文本/导入 | 可选 |
variant_start |
起始位置 | 数字输入/导入 | 可选,非负 |
variant_end |
结束位置 | 数字输入/导入 | 可选,不能小于 start |
svlen |
结构变异长度 | 数字输入/导入 | 可选 |
filters_applied |
是否做过过滤 | 开关/导入 | 可选 |
filters_passed |
是否通过过滤 | 开关/导入 | 可选 |
created |
创建时间 | 系统写入/导入 | 可选 |
updated |
更新时间 | 系统写入/导入 | 可选 |
附属集合字段
| 附属表 | 内容 |
|---|---|
variant_entity_alternate_bases |
alternateBases 列表 |
variant_entity_ciend |
CIEND 区间 |
variant_entity_cipos |
CIPOS 区间 |
variant_entity_filters_failed |
未通过的 filter 列表 |
页面与交互
- Variant 列表页支持按 variantSet、referenceSet、variantName、variantType 查询。
- 详情页展示 allele_call 数量和 marker_position 入口。
- 本版本不做:单条删除、批量删除、大批量文件导入;放到下一版本实现。
- 本版本仅支持少量位点的表单逐条录入;大批量位点导入下一版本再做。
关键校验
variant是位点定义,不能把样本 genotype 写在本表。variant_set_id和reference_set_id应与所属 variantset 保持一致。- 下一版本再做:删除 variant 前检查
allele_call和marker_position引用(含单条删除与批量删除)。
开发状态
已完成(2026-05-28):列表查询、新增、编辑、详情。
下一版本:单条删除、批量删除、大批量文件导入。