これは、メンデルランダム化のための包括的なフレームワークである GRAPPLE (Genome-wide mR Analysis under Pervasive PLEiotropy) の R パッケージです。
GRAPPLE フレームワークの詳細については、原稿を参照してください。
GRAPPLE パッケージは、次の Github リポジトリから R にインストールできます。
library(devtools)
install_github("jingshuw/grapple")
GRAPPLE でデータ前処理を実行する必要がある場合は、LD クランプ用に PLINK をインストールし、PLINK 用の適切な LD クランプ参照データセットを準備する必要がある場合もあります。 GRAPPLE 論文でも使用されている、ヨーロッパ集団のクランピングに関する参照データセットのリソースの 1 つは、ここからダウンロードできる 1000 ゲノムのヨーロッパ参照パネルです。 http://fileserve.mrcieu.ac.uk/ld/data_maf0.01_rs_ref.tgz 、MRCIEUの引用より。
GRAPPLE による分析は、生の GWAS 概要統計の前処理から始まります。これには、遺伝的手段の選択、同じ効果と参照対立遺伝子を共有するようにデータセットを調和させること、SNP 間で共有される推定周辺関連性のノイズの相関行列の計算が含まれます。モードマーカー検出のための候補 SNP のリストを選択します。
これを行うには、GRAPPLE には生の GWAS 概要統計ファイルのリストが必要です。各 GWAS ファイルは、次の列名を持つ少なくとも 6 列のデータ フレームを含む「.csv」または「.txt」ファイルです: SNP
、 effect_allele
、 other_allele
、 beta
、 se
、 pval
。 SNP
列には、各 SNP の rsID が含まれます。 effect_allele
とother_allele
列の両方に大文字を使用する必要があります。 beta
列には、連続形質の推定効果量とバイナリ形質の対数オッズ比が含まれ、 se
列は対応するbeta
の標準偏差です。
GRAPPLE 論文で使用されている上記形式のすべての GWAS 要約統計ファイルは、データセットからダウンロードできます。各ファイルの公開されているオリジナルのソースについては、原稿の補足情報のセクション 3 を参照してください。
GRAPPLE のデータ前処理には、疾患に対して 1 つのファイル (結果ファイル) と、各危険因子に対して 2 つのファイルが必要です。1 つは SNP 選択用 (選択ファイル) で、もう 1 つはこの危険因子に対する SNP の限界効果の推定用です (露出ファイル)。結果ファイルと曝露ファイルの GWAS データでは重複する個人を許可します。SNP 選択のバイアスを避けるために、選択ファイルと他のファイルの間で重複する個人はできる限り少なくする必要があります。 SNP 選択用のこのような GWAS データセットを見つけるのが難しい場合があります。オプションとして、他の祖先からの GWAS データを使用することもできます。
たとえば、データセットから BMI と T2D の概要統計ファイルをダウンロードしたり、参照パネルをダウンロードして現在のフォルダーに「.tgz」ファイルを解凍したりすることができます。次に、これらのファイルから遺伝的手段として SNP を選択することから始めることができます。
library(GRAPPLE)
sel.file <- "BMI-ukb.csv"
exp.file <- "BMI-giant17eu.csv"
out.file <- "T2D-diagram12-M.csv"
plink_refdat <- "./data_maf0.01_rs_ref/data_maf0.01_rs_ref"
独立した SNP の抽出には、GWAS 要約統計ファイルのサイズによっては数分かかる場合があります。
data.list <- getInput(sel.file, exp.file, out.file, plink_refdat, max.p.thres = 0.01, plink_exe = 'plink')
この関数は、選択 p 値が 0.01 を超えないすべての独立 SNP を抽出します。 3 つの要素を返します。 1 つは、選択された SNP の要約統計量のデータ フレームである「data」であり、もう 1 つは、すべての候補マーカー SNP のデータ フレームである「mark.data」です。 「data」と「marker.data」の違いは、独立性を保証する遺伝的手段の選択のための LD 凝集において、候補マーカー SNP の選択 (r2 = 0.05) よりも厳しい r2 (0.001) を使用することです。 3 番目の要素は、GWAS コホートの推定相関行列です。
PLINK を使用して LD のクランプを実行します。 plink コマンドのデフォルトの名前/パスは「plink」です (引数plink_exe
によって渡されます)。 Linux/Windows システムを使用しているユーザーの場合、このコマンドは機能しないため、plink をインストールする場所に応じて、「./plink」などの exe ファイルのパスを指定する必要があります。 R が plink コマンドの実行に失敗すると、固まったファイルが見つからないというエラーが表示されます。
危険因子の数が 1 の場合、GRAPPLE は、p 値選択閾値を指定して、ロバスト化されたプロファイル尤度内のモードの数を見つけることによって、多面発現経路の数を検出できます。
上記の例を試してみましょう。
## Here we take the p-value threshold be 1e-4, but one can try a series of p-values and see if the result is consistent
diagnosis <- findModes(data.list$data, p.thres = 1e-4)
diagnosis$modes
diagnosis$p
可能性のあるモードは 1 つだけであるため、複数の多面発現経路の証拠は見つかりません。これにより、リスク要因の因果関係を推定するために MR-RAP を使用することがある程度保証されます。
result <- grappleRobustEst(data.list$data, p.thres = 1e-4)
この関数は推定結果を返します。
複数のモードを検出できる別の例を次に示します。
library(GRAPPLE)
sel.file <- "CRP-Prins17.csv"
exp.file <- "CRP-Dehghan11.csv"
out.file <- "CAD-Nelson17.csv"
data.list <- getInput(sel.file, exp.file, out.file, plink_refdat, max.p.thres = 0.01)
diagnosis <- findModes(data.list$data, p.thres = 1e-4, marker.data = data.list$marker.data)
diagnosis$p
プロファイル尤度には 3 つのモードが見つかります。マーカー SNP、マーカー遺伝子、およびマッピングされた GWAS 形質をチェックすると、LDL-C が交絡形質である可能性があることがわかります。その後、LDL-C 効果を調整する GRAPPLE を実行できます。
library(GRAPPLE)
sel.file <-c(sel.file, "LDL-gera18.csv")
exp.file <- c(exp.file, "LDL-glgc13.csv")
out.file <- "CAD-Nelson17.csv"
data.list <- getInput(sel.file, exp.file, out.file, plink_refdat, max.p.thres = 0.01)
result <- grappleRobustEst(data.list$data, p.thres = 1e-4)
LDL-Cを調整した後、CADに対するCRPの因果関係があるという証拠は見つかりませんでした。