# 03 Genotyping - marker_position 表录入说明

来源：`docs/architecture/03-genotyping-data-flow.md`

## 录入目标

`marker_position` 记录 marker/variant 在 linkage group 上的位置，是遗传图谱定位侧与 variant 位点侧的连接表。

## 上下游关系

| 类型 | 内容 |
| --- | --- |
| 表 | `marker_position` |
| Java 实体 | `MarkerPositionEntity` |
| 前置依赖 | `linkageGroup` / `linkage_group`、`variant` |
| 下游引用 | 无 |
| API | `/brapi/v2/markerpositions` |

## 字段录入

| 字段 | 业务意义 | 录入方式 | 校验规则 |
| --- | --- | --- | --- |
| `id` | marker position 主键 | 系统生成；导入时可指定 | 必填、唯一 |
| `auth_user_id` | 数据所属用户 | 登录上下文自动写入 | 不允许前端手填 |
| `linkage_group_id` | 所属 linkage group | LinkageGroup 选择器/导入 | 必选，必须存在 |
| `variant_id` | 对应 variant | Variant 选择器/导入 | 必选，必须存在 |
| `position` | 图谱位置 | 数字输入/导入 | 必填，非负 |

## 页面与交互

- 可在 GenomeMap/LinkageGroup 详情页批量维护。
- 列表页支持按 map、linkageGroup、variant 查询。
- Variant 详情页可展示 marker_position 信息。

## 关键校验

1. `linkage_group_id` 和 `variant_id` 必须存在。
2. 同一 linkage group 下同一 variant 不应重复。
3. `position` 不应超过 linkage group 的 `max_marker_position`。

---

**状态：已完成**
