MRCIEU / TwoSampleMR

R package for performing 2-sample MR using MR-Base database
https://mrcieu.github.io/TwoSampleMR
Other
432 stars 176 forks source link

Finding proxies with manually imported exposure files #253

Closed rskl92 closed 3 years ago

rskl92 commented 3 years ago

Hello,

Is there a way to find proxies in an automated way using manually imported exposure data files, the same way it finds proxies using the extract_instruments function?

thanks in advance

mightyphil2000 commented 3 years ago

I don't think so.

You could try ldlink. They have an API and R package for identifying proxies.

bw Philip


From: Roxanna KL notifications@github.com Sent: 17 February 2021 14:35 To: MRCIEU/TwoSampleMR TwoSampleMR@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [MRCIEU/TwoSampleMR] Finding proxies with manually imported exposure files (#253)

Hello,

Is there a way to find proxies in an automated way using manually imported exposure data files, the same way it finds proxies using the extract_instruments function?

thanks in advance

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/MRCIEU/TwoSampleMR/issues/253, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACSDAPQVXT763DQRRLTTNATS7PHZTANCNFSM4XYOYGBA.

explodecomputer commented 3 years ago

If you convert to GWAS-VCF files then the https://github.com/mrcieu/gwasvcf package will do this. Haven't had time to implement in TwoSampleMR yet but if you'd like to contribute a pull request with this we'll credit you for the work

mocksu commented 3 years ago

Hello,

Is there a way to find proxies in an automated way using manually imported exposure data files, the same way it finds proxies using the extract_instruments function?

thanks in advance

As Philip mentioned above, you can use the R package "LDlinkR" to find proxies. Not sure why you want to find proxies for the exposure data. Typically you want to find proxies in the outcome data, right?

However, I have a related question: suppose you have "SNP1" in your exposure data (named "idat"), and "SNP1" does not exist in your local outcome data. Since the outcome data is local, you cannot use "extract_outcome_data" to take care of the proxies automatically, and have to use "read_outcome_data" which does not have the proxy looking option implemented. Let's say you find "SNP1a" in your outcome data which is in perfect LD with "SNP1", and you put "SNP1a" in your outcome dataset (named "odat"). Now you have "SNP1" in "idat" & "SNP1a" in "odat". Then you do "harmonise_data(idat, odat)" to try to associate "SNP1" with "SNP1a". The problem is that it does not do the expected association of SNP1 & SNP1a. Instead, it drops "SNP1" & "SNP1a" during the harmonisation. Likewise, I am not sure how "extract_outcome_data" handles the proxies, either.

rak128 commented 2 years ago

Hello, Is there a way to find proxies in an automated way using manually imported exposure data files, the same way it finds proxies using the extract_instruments function? thanks in advance

As Philip mentioned above, you can use the R package "LDlinkR" to find proxies. Not sure why you want to find proxies for the exposure data. Typically you want to find proxies in the outcome data, right?

However, I have a related question: suppose you have "SNP1" in your exposure data (named "idat"), and "SNP1" does not exist in your local outcome data. Since the outcome data is local, you cannot use "extract_outcome_data" to take care of the proxies automatically, and have to use "read_outcome_data" which does not have the proxy looking option implemented. Let's say you find "SNP1a" in your outcome data which is in perfect LD with "SNP1", and you put "SNP1a" in your outcome dataset (named "odat"). Now you have "SNP1" in "idat" & "SNP1a" in "odat". Then you do "harmonise_data(idat, odat)" to try to associate "SNP1" with "SNP1a". The problem is that it does not do the expected association of SNP1 & SNP1a. Instead, it drops "SNP1" & "SNP1a" during the harmonisation. Likewise, I am not sure how "extract_outcome_data" handles the proxies, either.

@mocksu I have the same question. Were you ever able to find a solution? Thanks!

IL2liu commented 1 year ago

I think the SNP1 should also be replaced with SNP1a in exposure.