Это пакет R для GRAPPLE (полногеномный мР-анализ при распространенной PLEиотропии), комплексной основы для менделевской рандомизации.
Подробную информацию о системе GRAPPLE можно найти в нашей рукописи.
Пакет GRAPPLE можно установить в R из этого репозитория Github:
library(devtools)
install_github("jingshuw/grapple")
Также может потребоваться установить PLINK для объединения LD и подготовить подходящий эталонный набор данных объединения LD для PLINK, если ему/ей требуется GRAPPLE для выполнения предварительной обработки данных. Одним из ресурсов справочного набора данных европейской популяции для группирования, который также используется в документе GRAPPLE, является Европейская справочная панель из 1000 геномов, загруженная здесь http://fileserve.mrcieu.ac.uk/ld/data_maf0.01_rs_ref.tgz , из цитаты МРЦИЭУ.
Анализ с помощью GRAPPLE начинается с предварительной обработки необработанных сводных статистических данных GWAS, которая включает в себя выбор генетических инструментов, гармонизацию наборов данных для использования одного и того же эффекта и эталонного аллеля, расчет корреляционной матрицы шума в оцененных маргинальных ассоциациях, которая является общей для SNP. и выбирают список кандидатов SNP для обнаружения маркера режима.
Для этого GRAPPLE необходим список необработанных файлов сводной статистики GWAS. Каждый файл GWAS представляет собой файл «.csv» или «.txt», содержащий фрейм данных, состоящий как минимум из 6 столбцов со следующими именами столбцов: SNP
, effect_allele
, other_allele
, beta
, se
, pval
. Столбец SNP
содержит rsID для каждого SNP. Оба столбца effect_allele
other_allele
должны быть написаны заглавными буквами. Столбец beta
содержит расчетную величину эффекта для непрерывных признаков и логарифмическое отношение шансов для двоичных признаков, а столбец se
представляет собой стандартное отклонение соответствующего beta
.
Все файлы сводной статистики GWAS в указанном выше формате, которые используются в документе GRAPPLE, можно загрузить из наборов данных. Оригинальный общедоступный источник каждого файла можно найти в разделе 3 дополнительной информации к рукописи.
Для предварительной обработки данных GRAPPLE требуется один файл для заболевания (файл результатов) и два файла для каждого фактора риска, причем один предназначен для выбора SNP (файл выбора), а другой — для оценки предельного влияния SNP на этот фактор риска ( файл экспозиции). Мы допускаем перекрытие отдельных лиц для данных GWAS в файлах результатов и воздействия, при этом между файлами выбора и другими файлами должно быть как можно меньше перекрывающихся лиц, чтобы избежать систематической ошибки выбора SNP. Иногда бывает сложно найти такие наборы данных GWAS для выбора SNP. Вариант — использовать данные GWAS от других предков.
Например, можно загрузить файлы сводной статистики по ИМТ и СД2 из наборов данных, а также загрузить справочную панель и разархивировать файл «.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')
Эта функция извлекает все независимые SNP, p-значения выбора которых не превышают 0,01. Он возвращает три элемента. Один из них — «данные», который представляет собой кадр данных сводной статистики выбранных SNP, другой — «marker.data», который представляет собой кадр данных для всех SNP-кандидатов-маркеров. Разница между «данными» и «marker.data» заключается в том, что мы используем более строгий r2 (0,001) при группировании LD для выбора генетических инструментов, чтобы гарантировать независимость, чем при выборе SNP-кандидатов-маркеров (r2 = 0,05). Третий элемент — это предполагаемая корреляционная матрица для когорт GWAS.
Мы используем PLINK для объединения LD. Имя/путь по умолчанию для команды plink — «plink» (передается через аргумент plink_exe
). Для пользователей систем Linux/Windows эта команда не будет работать, и вам необходимо указать путь к exe-файлу, например «./plink», в зависимости от того, где они устанавливают plink. Если 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
Вероятность существует только одна мода, поэтому мы не находим никаких доказательств существования множественных плейотропных путей. Это дает нам некоторую гарантию использования 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
Мы находим три режима правдоподобия профиля. Проверяя маркерные SNP, маркерные гены и картированный признак GWAS, мы можем обнаружить, что уровень LDL-C может быть мешающим признаком. Затем мы можем запустить GRAPPLE, корректируя эффекты LDL-C.
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)
После поправки на уровень холестерина ЛПНП мы не можем найти никаких доказательств того, что существует причинное влияние СРБ на ИБС.