1. 输入层
    1. 理论上可以适配任意基于位点的下机结果
    2. 已经适配的下机实验数据
      1. fluidigm 96*96 芯片下机的 csv 文件
      2. qPCR 平台
        1. 自定义的格式,Alleles.csv + 每个位点的 csv 格式结果
        2. ABI excel 下机文件
      3. NGS
        1. vcf 格式文件
        2. annovar 程序输出的 tsv 格式文件
      4. sanger
        1. 自定义的数据格式,一般用于位点验证
    3. PHI
      1. genotrax 数据库
      2. 定义好的格式文件
      3. genopipe 提供 patien_data 模块处理 PHI
    4. 主要是下机的实验数据,其次还包括 PHI
  2. 质控层
    1. 控制下机数据的质控,只有通过质控的数据用于下游分析
    2. 批次质控
      1. 使用空白对照样本和回归测试对照样本
    3. 样本质控
      1. 性别位点
      2. 位点检出率
      3. 杂合度
    4. 位点质控
      1. MAF 检验
      2. 哈迪温伯格平衡检验
      3. 罕见位点验证
    5. 表型质控
      1. 表型结果分布检验
  3. 数据结构层
    1. SNP
    2. GenoType
      1. Variant
    3. Sample
    4. Chip
    5. 将重要的数据概念进行抽象
  4. 算法层
    1. 将基因型转换成表型结果
    2. 依赖于知识库
    3. 部分算法依赖 PHI,如样本的性别和年龄
    4. 已经实现的算法
      1. LookUp,表查找方法
      2. CountRiskAllele,基于风险等位的个数
      3. 药物相关算法
        1. HaplotypeSimulation
        2. DrugMetabolism
        3. DrugEffectVote
      4. 位点加权风险算法
        1. MetabolicDisease
        2. RiskEstimation
        3. wGRS
        4. Haplotype_wGRS
        5. wGRS_Odds
        6. PrevalenceOdds
      5. 其他个性化的算法
        1. 用于饮食推荐的 DietRecommendation
        2. 乳腺癌算法
        3. 耳聋算法
  5. 知识库
    1. 定义每个表型的知识
    2. 每个表型一个文件
    3. 定义表型所使用的位点信息
    4. 指定需要调用的算法
    5. 作为重要的一部分整合在 genopipe 内部
    6. 已经定义 500+ 表型
  6. 渲染层
    1. 用于生成 pdf 报告
    2. 主样式层
      1. 定义了报告的内容结构
      2. 默认样式
    3. 子样式层
      1. 定义不同的样式替换主样式实现个性化
    4. 自定义产品
      1. 通过外部配置定义新产品
      2. 修改公司信息
      3. 定义产品要报道的表型
      4. 等等..
  7. 接口层
    1. json-rpc 的方式提供接口服务
    2. 注:genopipe 本身可以当成 python 包使用
    3. 依赖 genotrax2 的数据库系统
    4. 提供的服务包括
      1. 生成报告
      2. 获取指定样本指定表型的结果
      3. 获取指定产品的结果
      4. 等等..