# 03 Genotyping - variantset_format 表录入说明

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

## 录入目标

`variantset_format` 记录 variantset 可用的数据格式和文件地址，例如 allele matrix、VCF、HapMap 或 CSV。它用于下载、导出和矩阵读取。

## 上下游关系

| 类型 | 内容 |
| --- | --- |
| 表 | `variantset_format` |
| Java 实体 | `VariantSetAvailableFormatEntity` |
| 前置依赖 | `variantset` |
| 下游引用 | 文件下载、allele matrix 展示、导出 |

## 字段录入

| 字段 | 业务意义 | 录入方式 | 校验规则 |
| --- | --- | --- | --- |
| `id` | format 主键 | 系统生成；导入时可指定 | 必填、唯一 |
| `variant_set_id` | 所属 variantset | VariantSet 选择器/导入 | 必选，必须存在 |
| `data_format` | 数据格式，如 VCF/HapMap/矩阵 | 枚举选择 | 建议必填 |
| `file_format` | MIME/文件格式 | 枚举选择 | 建议必填 |
| `fileurl` | 文件 URL | URL 输入/导入 | 可选，URL 格式校验 |
| `expand_homozygotes` | 是否展开纯合位点 | 开关 | 可选 |
| `sep_phased` | phased genotype 分隔符 | 文本 | 可选 |
| `sep_unphased` | unphased genotype 分隔符 | 文本 | 可选 |
| `unknown_string` | 缺失值字符串 | 文本 | 可选 |

## 页面与交互

- 在 VariantSet 详情页以 Formats Tab 维护。
- 支持一组 variantset 配置多个可下载格式。
- 点击 `fileurl` 可下载或预览，对 allele matrix URL 可进入矩阵查看。

## 关键校验

1. `variant_set_id` 必须存在。
2. `fileurl` 如填写需通过 URL 格式校验。
3. 对矩阵格式，`sep_phased/sep_unphased/unknown_string` 会影响解析，应在导入预览时展示。

---

**状态：已完成**
