第9章: 集団ゲノミクス

9. 集団ゲノミクス

系統解析パイプライン(配列アライメント→モデル選択→系統推定→ブートストラップ評価→可視化)
図 9-1: 系統解析の基本フロー。配列整列と進化モデルの選択が精度に大きく影響する。結果の信頼性はブートストラップ等で検証する。
GWASワークフロー QC/フィルタ 連鎖不平衡/PLINK 共変量調整/回帰 P値補正 解釈/可視化
図 9-2: GWASワークフロー。QC→連鎖不平衡調整→共変量調整回帰→P値補正→解釈・可視化の流れ。

学習目標

  • 本章の主要概念を説明できる(用語/前提条件含む)
  • 現実データ/ユースケースでの適用手順を述べられる
  • ベストプラクティスや落とし穴を理由とともに指摘できる

なぜ IT 技術者に必要か

GWAS、PRS、集団構造解析は、行列処理や可視化だけでなく、サンプル定義、phenotype definition、参照ゲノム、imputation panel、アクセス権限、交絡管理を含むデータ基盤の問題です。IT 技術者がこの章を理解しておくと、summary statistics や scoring file を機械的に取り込む前に、入力データの由来、対象集団、QC、利用条件、外部検証の有無を確認できます。

特に PRS / PGS は、Web アプリやデータパイプラインに組み込める数値に見えますが、研究での予測性能と個人の臨床リスク判定は別物です。本章では、研究・教育用途で集団レベルの結果を扱うための読み方と、臨床判断へ使わないための境界を明確にします。

前提知識

  • 第3章の k-mer、BWT / FM-index、pangenome graph、reference bias の考え方。
  • 第4章の FASTQ / BAM / CRAM / VCF、variant calling、annotation、reference build の記録方法。
  • 第10章の accession、version、checksum、provenance、data license / terms of use の考え方。
  • 第11章のヒトゲノム・表現型データに関するアクセス制御、同意、二次利用条件、監査ログ。
  • 統計の基礎として、線形回帰、ロジスティック回帰、p値、multiple testing / FDR、confidence interval、effect size、PCA を区別できること。

基本概念

概念 IT 技術者が確認する観点 誤解しやすい点
phenotype definition 測定方法、診断基準、case/control 定義、除外条件、欠測処理 同じ疾患名や形質名ならデータセット間で同じ意味だとみなす
sample QC / variant QC missingness、sex check、relatedness、heterozygosity、MAF、HWE、INFO/R2、batch QC閾値を固定値として横展開し、サンプル構成や測定系を見ない
population structure PCA、genetic ancestry、self-reported ancestry、relatedness、batch との分離 ancestry を単純な人種・国籍ラベルとして扱う
linkage disequilibrium / imputation LD pruning、imputation panel、effect allele、strand ambiguity、allele frequency照合 scoring file を座標だけで結合し、allele alignment を確認しない
GWAS summary statistics beta / odds ratio、standard error、p-value、sample size、build、effect allele p-value の小ささだけで因果や臨床有用性を判断する
PRS / PGS discovery cohort、target cohort、external validation、calibration、適用外集団 別集団・別測定系でも同じ性能が出るとみなす

入力データと出力データ

入力 主な処理 出力 確認すること
genotype / VCF / PLINK files sample QC、variant QC、LD pruning、PCA QC済み genotype、PCA scores、除外理由 reference build、sample consent、missingness、relatedness、batch
phenotype / covariates phenotype definition、design matrix 作成 解析対象表、共変量表 case/control 定義、測定単位、欠測、交絡
GWAS summary statistics allele alignment、build確認、p値補正 Manhattan / QQ plot、候補variant一覧 effect allele、sample size、ancestry、multiple testing
PRS / PGS scoring file scoring、calibration、外部検証 score distribution、性能評価表 discovery cohort、target cohort、適用外集団、利用条件

標準的なワークフロー

  1. 研究目的、phenotype definition、対象集団、データ利用条件、除外基準を固定する。
  2. reference build、variant ID、allele alignment、imputation panel、sample / variant QC の条件を記録する。
  3. PCA / relatedness / batch を確認し、population structure と技術的交絡を分けて扱う。
  4. GWAS / PRS では effect size、standard error、p-value、multiple testing、外部検証、calibration を分けて保存する。
  5. 結果は集団レベルの研究・教育用途として読み、個人の診断、治療、保険、雇用などの判断へ転用しない。

実務上の落とし穴

  • ancestry / population label を国籍・人種・自己申告ラベルと同一視しない。
  • scoring file を座標だけで結合し、effect allele、strand、build、allele frequency を確認しない。
  • discovery cohort と target cohort の差、サンプルサイズ、測定系、phenotype definition の違いを無視して性能を一般化しない。
  • p-value や PRS の数値を、因果関係、臨床有用性、個人リスク判定の根拠として単独利用しない。

小さな実例

小さな例では、公開 summary statistics と toy genotype / covariate table を使い、allele alignment、PCA 共変量、p値補正、PRS score 分布を記録する。目的は予測性能を主張することではなく、どの入力列、reference build、cohort、利用条件、外部検証が必要かを説明できる状態にすることである。

結果の読み方

GWAS の候補variantは、effect size、confidence interval、p-value、sample size、LD、近傍遺伝子、既存DBとの関係を合わせて読む。PRS / PGS は、target cohort での calibration、discrimination、ancestry差、適用外集団、説明責任を確認し、個人の臨床判断には用いない。

9.1 ゲノムワイド関連解析(GWAS)

GWAS実装:

以下はGWAS処理の責務を示す説明用断片で、入力QC、欠測処理、集団構造補正、multiple testing、外部検証、依存ライブラリ準備を省略しているため、そのまま実行しない。 🧪 概念例(実行不可: 依存ライブラリ準備(インストール等)・入力前処理を省略した説明用Python断片)

import numpy as np
import pandas as pd
import statsmodels.api as sm
from scipy import stats

class GWASAnalyzer:
    """GWAS解析パイプライン"""
    
    def __init__(self, genotype_matrix, phenotype, covariates=None):
        self.genotypes = genotype_matrix
        self.phenotype = phenotype
        self.covariates = covariates
        
    def run_gwas(self):
        """
        線形回帰によるGWAS
        """
        results = []
        
        for snp_idx in range(self.genotypes.shape[1]):
            snp_data = self.genotypes[:, snp_idx]
            
            # 線形モデルの構築
            X = snp_data
            if self.covariates is not None:
                X = np.column_stack([X, self.covariates])
            X = sm.add_constant(X)
            
            # 回帰分析
            model = sm.OLS(self.phenotype, X)
            result = model.fit()
            
            # P値とベータ値の抽出
            p_value = result.pvalues[1]  # SNPの効果
            beta = result.params[1]
            
            results.append({
                'snp_idx': snp_idx,
                'p_value': p_value,
                'beta': beta
            })
            
        return pd.DataFrame(results)
    
    def manhattan_plot(self, results):
        """マンハッタンプロットの作成"""
        import matplotlib.pyplot as plt
        
        # -log10(p-value)の計算
        results['neglog10p'] = -np.log10(results['p_value'])
        
        plt.figure(figsize=(12, 6))
        plt.scatter(results.index, results['neglog10p'], alpha=0.5)
        plt.axhline(y=-np.log10(5e-8), color='r', linestyle='--')
        plt.xlabel('SNP Position')
        plt.ylabel('-log10(P-value)')
        plt.title('Manhattan Plot')
        plt.show()

9.2 集団構造解析

PCAによる集団構造: 以下はPCAによる集団構造確認の考え方を示す説明用断片で、入力QC、欠測処理、LD pruning、依存ライブラリ準備を省略しているため、そのまま実行しない。 🧪 概念例(実行不可: 依存ライブラリ準備(インストール等)・入力前処理を省略した説明用Python断片)

import numpy as np


class PopulationStructure:
    """集団構造解析"""
    
    def __init__(self, genotype_matrix):
        self.genotypes = genotype_matrix
        
    def perform_pca(self, n_components=10):
        """
        遺伝的主成分分析
        """
        from sklearn.decomposition import PCA
        
        # アレル頻度の標準化
        standardized = self.standardize_genotypes()
        
        # PCA実行
        pca = PCA(n_components=n_components)
        pc_coords = pca.fit_transform(standardized)
        
        return pc_coords, pca.explained_variance_ratio_
    
    def standardize_genotypes(self):
        """Patterson et al. 2006の標準化"""
        p = np.mean(self.genotypes, axis=0) / 2
        
        std_geno = (self.genotypes - 2*p) / np.sqrt(2*p*(1-p))
        return std_geno

9.3 選択圧の検出

自然選択の検出手法: 以下は選択圧指標の計算責務を示す説明用断片で、実務で必要な推定量選択、集団定義、QC、信頼区間評価を省略しているため、そのまま実行しない。 🧪 概念例(実行不可: 推定量選択・QCを省略した説明用Python断片)

import numpy as np


class SelectionDetection:
    """自然選択シグナルの検出"""
    
    def calculate_fst(self, pop1_geno, pop2_geno):
        """
        集団間の遺伝的分化(F_ST)の簡易指標。

        注: Weir & Cockerham などの推定量とは異なる。
        """
        # アレル頻度の計算
        p1 = np.mean(pop1_geno, axis=0) / 2
        p2 = np.mean(pop2_geno, axis=0) / 2
        
        # 全体のアレル頻度
        p_total = (p1 + p2) / 2
        
        # F_ST の単純化した近似(2集団・二値アレル・欠測なし等の前提)
        # 2集団のアレル頻度分散として平均化し、0〜1の範囲を外れにくい概念例にする
        num = ((p1 - p_total)**2 + (p2 - p_total)**2) / 2
        denom = p_total * (1 - p_total)
        
        fst = num / (denom + 1e-10)
        return fst
    
    def integrated_haplotype_score(self, haplotypes, position):
        """
        iHS (integrated Haplotype Score)の計算
        """
        # Extended Haplotype Homozygosityの計算
        # 実装省略(計算集約的)
        pass

9.4 参照ゲノム・パンゲノムを集団解析で選ぶ

集団ゲノミクスでは、参照ゲノムの選択が allele frequency、missingness、LD、imputation、PRS transferability、構造多型の発見率に影響します。GRCh38を捨ててT2Tやpangenomeへ置き換えるのではなく、既存catalog・annotation・臨床互換性を重視する解析ではGRCh38、未解読領域や反復領域を研究する場合はT2T-CHM13、多様な haplotype と構造多型を扱う場合はHPRC pangenome / graph referenceを検討します。

参照 集団解析での主な用途 強み 注意点
GRCh38 / GRCh38.p14 GWAS / PRS、既存variant catalog、array imputation、臨床・研究DBとの比較 座標互換性、annotation、既存catalog、QC手順が成熟 reference bias、複雑領域・反復領域・SVの表現不足、alt / decoy / PAR処理差
T2T-CHM13 centromere / telomere / repeat / segmental duplication 領域の研究、GRCh38未解決領域の探索 gapless領域を含むため、従来見えにくい多型や配列の確認に向く GRCh38上のGWAS/PRS/ClinVar/gnomAD座標との対応、liftover不能領域、annotation coverageを確認する
HPRC pangenome / graph genome 多様集団のSV、graph mapping、haplotype-aware genotyping、reference bias評価 多数の haplotype と構造差分を表現し、単一線形参照の偏りを評価しやすい graph build、GFA/GAF/GBZ、VCFへの射影、node/path ID、annotation連携、publication policyを固定する

結果を比較するときは、reference build / pangenome だけでなく、liftover/remap の成否、変換不能領域、effect allele、imputation panel、annotation release、外部DBのassembly対応を同じ表で管理します。Graph reference を使う場合、GFA は graph 構造、GAF は graph alignment、VCF は線形参照pathへ射影した表現として役割が異なるため、GFA/GAF/VCFを同一の「variant file」として扱わないようにします。

限界と注意点

  • GWAS の association は、因果関係や臨床的有用性を直接示すものではない。機能検証、独立コホートでの再現、交絡・測定バイアスの評価が必要になる。
  • PRS / PGS は discovery cohort、target cohort、ancestry、LD構造、環境、測定法、医療制度に依存する。研究用途のスコアを、個人の診断、治療、保険、雇用、投薬判断に使わない。
  • PCA やクラスタリングは、集団構造、batch、サンプル収集経路、QC後の残存バイアスを反映する。可視化上の距離やクラスタ名を、民族・国籍・社会的属性と短絡的に対応させない。
  • 日本人集団や特定地域集団のデータを扱う場合でも、同意、データアクセス条件、二次利用、再配布、国際共有、少数集団への影響を確認する。公開 summary statistics であっても、再識別リスクや利用条件の確認を省略しない。
  • pangenome や T2T-CHM13 は参照バイアス低減に役立つ可能性があるが、全ての既存GWAS/PRSパイプラインを直ちに置き換えるものではない。座標体系、tool support、annotation、既存 catalog との互換性を記録する。

Source notes / 次の一歩

この節は参考資料として、参照ゲノム、集団差、PRS / PGS、データ利用条件を確認するための導線である。

2026年時点の更新メモ: 参照ゲノム・集団差・PRS

集団ゲノミクスでは、解析対象のサンプル構成だけでなく、どの参照ゲノム・imputation panel・variant set・phenotype definition を使ったかが結果の意味を左右します。GRCh38、T2T-CHM13、ヒトパンゲノムは用途が異なり、線形参照だけに依存した mapping / variant discovery では reference bias が下流の association study に影響し得ます。12

GWAS と PRS / PGS を扱うときは、summary statistics の列名や p-value だけでなく、sample ancestry、sex、phenotype definition、genotyping array、imputation reference、reference build、effect allele、allele frequency、外部検証集団、calibration を記録します。sample ancestry は自己申告属性や race/ethnicity の単純な代替ラベルではなく、データ収集・解析上のメタデータとして扱います。GWAS Catalog と PGS Catalog は、study / trait / sample metadata、scoring file、performance metrics、ancestry description を確認する入口になります。3456

PRS は discovery cohort と target cohort の ancestry、LD構造、環境、測定法、医療制度に依存します。欧州系データ中心のスコアを別集団へそのまま適用すると、予測性能の低下や格差拡大につながり得るため、本章では研究・教育用の概念説明に留め、臨床リスク判定や個人の健康判断には使いません。7

確認項目 なぜ必要か 記録する証跡
reference build / pangenome 座標、variant representation、mapping bias が変わる GRCh38/T2T/HPRC pangenome の別、reference accession、liftover/remap 手順、変換不能領域、checksum、GFA/GAF/VCF version、使用ツールversion
sample ancestry / population structure GWASの交絡、PRS transferability、外部妥当性に影響する PCA、relatedness、self-reported ancestry と genetic ancestry の扱い、除外基準
imputation / allele alignment effect allele の反転、strand ambiguity、panel差で結果が変わる imputation panel、INFO/R2、effect allele、non-effect allele、frequency照合
external validation discovery cohort での性能は別集団・別測定系へ一般化できない 検証集団、performance metric、calibration、適用しない集団・用途

最小入出力(期待成果物/期待ログ)

  • 入力: ジェノタイプ(VCF/BCF等)とサンプル情報、表現型/共変量(GWASを行う場合)
  • 出力(期待成果物): QC後データ、集団構造(PCA等)の要約、GWAS結果(summary statistics)、選択圧検出の結果(最小限)
  • 期待ログ(例): サンプル数/変異数、QCの閾値、解析ステップの正常終了と主要指標が記録されている

前へ: シングルセル・空間解析 目次 次へ: データベース技術

演習

  1. 本章の手順をサンプルデータで再現し、各ステップのログと主要指標を記録して提出せよ。
  2. 代替ツール/パラメータで同等の分析を実施し、結果差分と選定理由を考察せよ。
  3. 小さな人工配列で、線形参照にしか存在しない allele と graph path として表現できる allele を比較し、graph mapping の概念とVCFへ射影したときの情報落ちを説明せよ。

具体課題例

  • 公開データを用いた再現(SRA/GEO/ArrayExpressから実在アクセッションを選定し)、前処理→主解析→結果要約まで実施。
  • 代替ツールの比較 (例: ツールA vs ツールB)。処理時間/メモリ/精度など評価指標を定義し、比較表を作成。
  • 成果物一式(レポート、使用コマンド/パラメータ、ツール/ライブラリのバージョン、入力/出力、実行ログ、MultiQC等のレポート、図表)を添付。

データセット選定ガイダンス(参考)

  • 小規模(総容量≲1GB、サンプル数≲数点)を優先し、短時間で再現可能なものを選ぶ。
  • レビュアブル(権利許諾・再配布条件)を確認。個人情報・機微情報は扱わない。
  • 例: (集団構造)1000 Genomes Project の小規模サブセット/(GWAS・PRS)GWAS Catalog や PGS Catalog の公開 summary statistics・scoring file/(選択圧)公開アレル頻度表やシミュレーション小規模データを用い、GWAS・PCA・選択圧検出のいずれかを再現する。
  1. Human Pangenome Reference Consortium, Human Pangenome Reference Consortium(参照日: 2026-05-13 JST) 

  2. Human Pangenome Reference Consortium, HPRC Data Release 2(参照日: 2026-05-13 JST) 

  3. Human Pangenome Reference Consortium, HPRC Data Use: Best Practices(参照日: 2026-05-13 JST) 

  4. NHGRI-EBI GWAS Catalog, GWAS Catalog documentation(参照日: 2026-05-13 JST) 

  5. PGS Catalog, Download information(参照日: 2026-05-13 JST) 

  6. PGS Catalog, Ancestry description(参照日: 2026-05-13 JST) 

  7. Martin et al., Clinical use of current polygenic risk scores may exacerbate health disparities(参照日: 2026-05-13 JST)