SMR は何をしますか?
SMR(要約データに基づくメンデルランダム化)C++コードベースで効果的に作業する方法をAIコーディングエージェントに教えます。アーキテクチャ、データ形式、ビルドシステム、統計手法、および一般的な落とし穴をカバーします。
はじめに
SMRは、遺伝子発現データと複雑な疾患の要約統計量を統合して、因果関係を推測するための統計的手法です。このスキルは、SMR C++コードベースの構造と機能について、深い技術的理解を提供するように設計されています。
アーキテクチャの概要
SMRコードベースは、複数のモジュールで構成されています:
- smt:コア統計モデリングとテスト
- sme:メンデルランダム化(MR)推定器
- smt_binary:バイナリアウトカム(疾患)用のSMR
- smt_pleio:多面発現性の検出
- smt_msnp:多重SNPメンデルランダム化
- io:入力/出力のハンドリング
- common:共有ユーティリティとデータ構造
ビルドシステム
SMRは、CMakeをビルドシステムとして使用しています。ソースからビルドするには:
mkdir build
cd build
cmake ..
make
依存関係には、gsl、zlib、boostが含まれます。
データ形式
SMRは、以下を含むいくつかのバイナリおよびテキスト形式を理解しています:
- .besd:バイナリeQTL要約データ形式
- .epi:遺伝子発現プローブ情報
- .summary:GWAS要約統計量テキスト形式
- .flist:SNPリストファイル
統計手法
主要な統計手法には以下が含まれます:
- SMR test (bivariate SMR):McR = 0の帰無仮説を検定します。
- HEIDI test:多面発現性と連鎖不平衡(LD)による交絡を区別します。
- Multi-SNP MR:複数のSNPを用いてMR推定を改善します。
- SMR-PheWAS:フェノームワイド関連解析用のSMR。
一般的な落とし穴
- シグナル名の誤解:
SNP、probe、geneの違いを混同しないでください。 - LDリファレンス:HEIDI testでは、適切なLDリファレンスパネルが必要です。
- マルチSNP解析:インストゥルメンタル変数(IVs)が重複しているSNPがある場合、誤解を招く結果につながる可能性があります。
- メモリ使用量:大規模なデータセット(例:1000万SNP以上)は、メモリ使用量に注意してください。