58 lines
2.4 KiB
Markdown
58 lines
2.4 KiB
Markdown
# 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 入口。
|
|
|
|
## 关键校验
|
|
|
|
1. `variant` 是位点定义,不能把样本 genotype 写在本表。
|
|
2. `variant_set_id` 和 `reference_set_id` 应与所属 variantset 保持一致。
|
|
3. 删除 variant 前检查 `allele_call` 和 `marker_position` 引用。
|