Changes

From Genome Analysis Wiki
Jump to: navigation, search

RAREMETAL Documentation

5,613 bytes added, 13:22, 20 May 2019
Update contact address
'''Rare Metal''' is a tool for gene-based meta-analysis, based upon summary statistics generated from individual data via [[httpCategory://genome.sph.umich.edu/wiki/Rare-Metal-Worker '''Rare Metal Worker'''RAREMETAL]]. == Useful Wiki Pages ==
If you have any questions, please contact* Git hub page: sfengsph at umich dot eduhttps://github.com/statgen/Raremetal
* The [[RAREMETAL_Change_Log | Change Log]] * The [[RAREMETAL_DOWNLOAD_%26_BUILD | DOWNLOAD page]] * The [[Tutorial:_RAREMETAL|RAREMETAL Quick Start Tutorial]]* The [[RAREMETAL METHOD]] * The [[RAREMETAL FAQ]] * The [[RAREMETAL Command Reference]] * The [[RAREMETALWORKER|RAREMETALWORKER documentation]] The [http://genome.sph.umich.edu/wiki/Rvtests '''rvtests'''] tool for rare-variant association analysis can also generate output compatible with RAREMETAL. == Change Log Brief Description == '''RAREMETAL''' is a computationally efficient tool for meta-analysis of rare variants using sequencing or genotyping array data. It takes summary statistics and LD matrices generated by [[Rare-Metal-Worker|'''RAREMETALWORKER''']] or [http://genome.sph.umich.edu/wiki/Rvtests '''rvtests'''], handles related and unrelated individuals, and supports both single variant and burden meta-analysis. It generates high quality plots by default and has options that allow users to build reports at different levels. '''RAREMETAL''' is developed by Shuang Feng, Dajiang Liu and Gonçalo Abecasis. A R-package written by Dajiang Liu using the same methodology is [[RareMetals|'''available''']].
== Key Features ==
'''Rare MetalRAREMETAL''' has the following features:* '''Rare Metal''' performs Performs gene-based or region-based meta analysis using gene-based Burden tests with the following methods: CMC_counts, Madsen-Browning, SKAT, and Variable Threshold. * '''Rare Metal''' performs Performs single variant metal-analysis by default. * Allows customized groups of variants to be tested.* Allows conditional analysis to be performed in both gene-level meta-analysis and single variants meta-analysis.* Generate QQ plots and manhattan plots by default. == Approach == The key idea behind meta-analysis with RAREMETAL is that various gene-level test statistics can be reconstructed from single variant score statistics and that, when the linkage disequilibrium relationships between variants are known, the distribution of these gene-level statistics can be derived and used to evaluate signifi-cance. Single variant statistics are calculated using the Cochran-Mantel-Haenszel method. Our method has been published in [http://www.nature.com/ng/journal/v46/n2/abs/ng.2852.html '''Rare MetalLiu et. al''' allows customized groups of variants ] in Nature Genetics. Please go to be tested[http://genome.sph.umich.edu/wiki/RAREMETAL_method '''method'''] for details.
== Software Download and Installation ==* University of Michigan CSG users can go to the following: /net/fantasia/home/sfengsph/code/Rare-Metal/raremetal/bin/raremetal
=== Where to Download ===* The We have tested compilation using our source package for code on several platforms including Linux , and Mac can be downloaded here: [[Media:raremetal.0.0OS X.1.tgz|software package download]]=== How to Compile ===* Save it to your local path and decompress using the following command: tar xvzf raremetal.0.0.1.tgz* Go to raremetal_0.0.1/raremetal/src and type the following command to compile: make
=== How to Execute ===* Go to raremetal_0.0.1/raremetal/bin For source code and use the following: ./raremetal* For example command linesexecutables together with instructions of building from source, please refer go to [[http://genome.sph.umich.edu/wiki/Rare-Metal#Example_Usage example command linesRAREMETAL_DOWNLOAD_%26_BUILD |'''DOWNLOAD source and executables''']].
== Software Specifications ==For questions about compilation, please go to [[RAREMETAL_FAQ | '''FAQ''']].
==Basic Usage Instructions = Input Files ===Rare Metal needs the following as input:
==== List of Studies ====* A file with the path and name of files containing summary statistics generated by raremetalworker should be specified.* If no such file is provided, '''Rare MetalRAREMETAL''' will stop and report FATAL ERRORis a command line tool.* Please go to It is typically run from a Linux or Unix prompt by invoking the command <code>raremetal</code>. In the following are descriptions of basic usage for meta analysis. A detailed [[httpTutorial://genome.sph.umich.edu/wiki/Rare-Metal#List_of_Studies_2 example input for study names_RareMETAL|'''TUTORIAL''']] for detailed explanation and exampleswith toy data are also available.
==== Groups of Variants Prepare Input Files====To perform gene-based '''RAREMETAL''' requires the following basic input files: summary statistics and covariance matrices of score statistics generated by '''RAREMETALWORKER''' or group-based burden test[http://genome.sph.umich.edu/wiki/Rvtests '''rvtests'''], groups a file with list of variants need studies to be providedincluded and a group file if gene-level meta-analysis is expected. There are two options to provide such information:
=====From Group File =====
* A group file contains the list of groups or genes with the variants to be included in your burden tests.
* Please refer to the instruction of --groupFile option for formats and examples.
=====From Annotated VCF File Summary Statistics=====* Files containing summary statistics and LD matrices generated by '''Rare MetalRAREMETALWORKER''' allows user to use annotated VCF file as input for grouping of variants, which is optional to input a group file as described aboveshould be compressed and [http://samtools.* '''Rare Metal''' also has the option of generating a VCF file according to the pooled information from individuals studiessourceforge. Then user can use their favorite annotation tools to annotate the VCF file into the INFO fieldnet/tabix. Currently, shtml '''Rare Metaltabix''' only support limited formats of annotated VCF file. * A more flexible way] indexed using the following commands (Note in RAREMETALWORKER, which if --zip is also a recommended wayspecified, is to generate a group file from the customized annotated VCF file these .gz and use that as input to '''Rare Metal'''.* For formats of annotated VCF that '''Rare Metal''' currently support, please refer to the followingtbi files will be automatically generated):
'''NOTE:''' if no grouping method is provided, then only single variant meta analysis will be performed bgzip study1.singlevar.score.txt tabix -s 1 -b 2 -e 2 -c "#" study1.singlevar.score.txt.gz bgzip study1.singlevar.cov.txt tabix -s 1 -b 2 -e 2 -c "#" study1.singlevar.cov.txt.gz
=== Software User Interface ===The following options are currently available in Files containing summary statistics and LD matrices generated by '''rvtests''' should be compressed and [http://samtools.sourceforge.net/tabix.shtml '''Rare Metaltabix'''] indexed using the following commands:
Options: bgzip study1.MetaScore.assoc List of Studies : tabix -s 1 -studyName [] Grouping Methods : b 2 -e 2 -groupFile [], --annotatedVcf [], --annotation [], --writeVcf QC Options : --hwe [0S 1 study1.00], --callRate [0MetaScore.00] Association Methods : --burden, --MB, --SKAT, --VT Other Options : --prefix [], --maf [0assoc.05], --longOutput,gz tabix -s 1 -tabulateHits, b 2 -e 2 -hitsCutoff [S 1study1.MetaCov.assoc.0e-06]gz
===== List of Studies =====* --studyName summaryFiles option is crucial for '''Rare MetalRAREMETAL''' to work. Ignoring this option will would lead to FATAL ERROR and '''Rare MetalRAREMETAL''' will would stop.
* The file should contain the path and prefix of the studies you want to include.
* If there is one or more studies that you want to excluded from your list, but want to save some effort of generating a new file, you can put a "#" in front of the line of record. '''Rare MetalRAREMETAL''' will would automatically exclude that study from meta analysis.* An example list of summary file is in the following:  /net/fantasia/home/sfengsph/prj/raremetal/raremetal/bin/META/TwinsUK/TwinsUK.TG.singlevar.score.txt.gz #/net/fantasia/home/sfengsph/prj/raremetal/raremetal/bin/META/HUNT/RareMetalWorker/HUNT_MI_case.TG.singlevar.score.txt.gz * When gene-level analysis is requested, --covFiles option should be used to specify the covariance files. An example file is:
/net/fantasia/home/sfengsph/prj/raremetal/raremetal/bin/META/TwinsUK/TwinsUK.TG.singlevar.cov.txt.gz #/net/fantasia/home/sfengsph/prj/raremetal/raremetal/bin/META/HUNT/RareMetalWorker/HUNT_MI_case.TG.singlevar.cov.txt.gz
* The above example study name file guides '''Rare MetalRAREMETAL''' looking to look for the following files as input (note that the second summary statistics from TwinsUK study has been opt out from the meta analysisonly, because of the "#HUNT" in front of the line)study is commented out. The following two files are needed for '''RAREMETAL''' to perform further analysis together with their tabix index file are needed.
/net/fantasia/home/sfengsph/prj/raremetal/raremetal/bin/META/TwinsUK/TwinsUK* Please sepcify --dosage option if input files were generated from dosage instead of genotype.TG.singlevar.score.txt /net/fantasia/home/sfengsph/prj/raremetal/raremetal/bin/META/TwinsUK/TwinsUK.TG.singlevar.cov.txt
==== Grouping Methods =Group Rare Variants=====
===== Grouping from = From a Group File ======
* Grouping methods are only necessary when doing gene-based or group-based burden tests in meta-analysis.
* If none of the grouping method is specified, then only single variant meta-analysis will be performed.
* MARKER_ID must be in the following format:
CHR:POS:REF:ALT
* Here is an An example group fileis:
PLEKHN1 1:901922:G:A 1:901923:C:A 1:902088:G:A 1:902128:C:T 1:902133:C:G 1:902176:C:T 1:905669:C:G
HES4 1:934735:A:C 1:934770:G:A 1:934801:C:T 1:935085:G:A 1:935089:C:G
C1orf159 1:1021285:G:T 1:1021302:T:C 1:1021315:A:C 1:1021386:G:A 1:1022534:C:T 1:1025751:C:T 1:1026913:C:T
===== Grouping from = From an Annotated VCF File ======* If --groupFile option is '''NOT''' specified, '''RAREMETAL''' will look for an annotated vcf file as blue print for variants to group. Users are also allowed to generate a vcf file based on the superset of variants from pooled samples, and annotate outside RAREMETAL. Then, annotated vcf file can be used as input for RAREMETAL for gene-level meta-analysis, or group files can be generated based on the annotated vcf file. Detailed description of these options are [[Rare-Metal#Group_Rare_Variants_from_Annotated_VCF|'''available''']]. There are also [[Rare-Metal#Example_Command_lines|'''examples''']] of this usage at the bottom of this page. ==== QC Options ====* '''RAREMETAL''' allows filtering of variants from individual studies by their HWE pvalue and call rate, which are generated as part of the output from '''RAREMETALWORKER''' or [http://genome.sph.umich.edu/wiki/Rvtests '''rvtests'''].* To filter by HWE p-values, --hwe option should be used. The default is 0.0, which means not filtering any of the variants.* To filter by call rate, --callRate option can be specified. The default is 0.0, which allows no filtering utilized. ==== Association Options====* Currently, CMC type burden test, Madsen-Browning burden test, Variable Threshold burden test and SKAT are provided in '''RAREMETAL''', by specifying --burden, --MB, --VT and --SKAT.* --maf specifies the minor allele frequency cutoff when doing gene-based or group-based burden tests. Variants with maf '''above''' this threshold will be ignored. The default is maf<0.05.* In '''a single study''' of sample size N, if a site is monomorphic or not reported in vcf/ped, it is considered that the sample size of this study is not large enough to sample the rare allele. Thus, this study contributes 2*N reference alleles and 0 alternative allele towards meta-analysis. To let such studies contribute no alleles towards pooled allele frequency, specify --altMAF. ==== Conditional Analysis====* To decide whether a signal is caused by shadowing a significant common variant nearby, '''RAREMETAL''' also enables conditional analysis with a list of variants to be conditioned upon provided in a file as input for --condition option. An example input file should be space or tab delimited as in the following. When alleles do not match the ref and alt alleles from samples, the variant will be skipped from conditional analysis.  1:861349:C:T 1:905901:G:A 20:986998:G:C 22:3670691:A:G == Additional Analysis Options == === Generate a VCF File to Annotate Outside RAREMETAL ===* --writeVCF allows user to write a VCF file including pooled single variants from all studies. Then users can use their favorite annotation tool to annotate the VCF file. After annotating the VCF file, users can use that file as input for '''RAREMETAL''' for further gene-based or region-based meta analysis.* The output vcf file will be name as: yourPrefix.pooled.variants.vcf. An example output vcf file is in the following: #CHROM POS ID REF ALT QUAL FILTER INFO 1 115658497 115658497 G A . . ALT_AF=0.380906; 2 74688884 74688884 G A . . ALT_AF=8.33611e-05; 3 121414217 121414217 C A . . ALT_AF=0.0747833;===Annotation===* RAREMETAL automatically recognizes the annotation format generated by [[TabAnno | '''ANNO''']] or [[EPACTS#Annotating_VCF_file_using_EPACTS | '''EPACTS''']].* To annotate a the VCF generated in previous step, you can use the following command: ./anno --in your.in.vcf.gz --out your.out.vcf.gz === Group Rare MetalVariants from Annotated VCF ===* If --groupFile option is '''NOT''' specified, '''RAREMETAL''' will look for an annotated vcf file as blue print for variants to group.
* The annotated VCF file should be specified using --annotatedVcf option.
* --annotation should be used with --annotatedVcf together when specific category of functional variants are of interest to be grouped. For example, if grouping nonsynonymous and splicing variants are of interests, the following should be included in command line:
* (! only available after v4.13.8) when --annotation is not specified, raremetal groups all non-intergenic variants.
--annotatedVcf your.annotated.vcf --annotation nonsyn/splicing
* Notice that each variant is allowed to have more than one annotations; but each annotation should start with a new key "ANNO=" followed by annotation:genename:other transcript information.
* Generated group file will be named test.groupfile under your running directory.
===== Generate a VCF File to Annotate Outside of Rare Metal =====* --writeVCF allows user to write a VCF file including pooled single variants from all studies. Then users can use their favorite annotation tool to annotate the VCF file. After annotating the VCF file, users can use that file as input for '''Rare Metal''' Options for further gene-based or region-based meta analysis.* The output vcf file will be name as: yourPrefix.pooled.variants.vcf. An example output vcf file is in the following: #CHROM POS ID REF ALT QUAL FILTER INFO 1 115658497 115658497 G A . . ALT_AF=0.380906; 2 74688884 74688884 G A . . ALT_AF=8.33611e-05; 3 121414217 121414217 C A . . ALT_AF=0.0747833; ==== QC Options Report Generation====* '''Rare Metal''' allows filtering of variants from individual studies by their HWE pvalue and call rate, which are generated as part of the output from '''Rare Metal Worker'''.* To filter by HWE p-values, --hwe option should be used. The default is 0.0, which means not filtering any of the variants.* To filter by call rate, --callRate option can be specified. The default is 0.0, which allows no filtering utilized. ==== Association Methods ====* Currently, four methods are provided in '''Rare Metal''', CMC type burden test, Madsen-Browning burden test, Variable Threshold burden test, correctGC generates QQ plots and SKATmanhattan plots with pvalues corrected using genomic control==== Other Options====
* --prefix allows customized prefix for output files.
* --maf specifies the minor allele frequency cutoff when doing gene-based or group-based burden tests. The default is maf<0.05.
* --longOutput allows users to output not only burden test results but also the single variant results (allele frequencies, effect sizes, and p-values) for the variants being grouped together. Please refer to the output files section for detailed explanation and examples.
* --tabulateHits works with --hitsCutoff together to generate reports for genes that have p-value less than specified cutoff from burden tests or SKAT. The default cutoff of p-value for genes to be reported is 1.0e-06, which can be specified by --hitsCutoff option. For more explanations and examples, please go to [[http://genome.sph.umich.edu/wiki/Rare-Metal#Tabulated_Top_Hits TABULATED_HITS| Tabulated Top Hits]]. ===Miscellaneous Options===* --tabix allows rapid analysis when number of groups/genes of interests are small. Currently, when number of groups is less than 100, --tabix option is automatically turned on.
==Reports Generated by RAREMETAL = ==== Single Variant Meta Analysis Output Files ===
==== Single Variant Meta Analysis Output TABLES ====
* Single variant meta analysis output has the following components: header , results and resultsfootnote.
* Header lines start with "##" shows summary of the meta analysis including method used, number of studies, and total sample size.
* Header line starts with "#" are column headers for results table.
* Footnote also starts with "#", where genomic controls from each study and the overall sample are reported.
* An example single variant meta analysis output is shown below:
EFFECT_SIZE: Alternative Allele Effect Size
DIRECTION_BY_STUDY: Effect size direction of alternative allele from each study.
The order of study is consistent with the order of studies listed in the input file for option --studyNamesummaryFiles.
"?" means the variant is not observed or monomorphic from the study.
"!" means the variant observed from this study has different alleles from those from in the first study. ==== PLOTS==== '''RAREMETAL''' generates QQ plots and manhattan plots from single variant meta-analysis by default. Three QQ plots are generated, one with all variants included, one of variants with maf<0.05 and one of variants with maf<0.01. All plots are saved in a pdf file named yourPrefix.meta.plots.pdf. Genomic controls are also reported in the title of plots. When --correctGC option is specified, GC corrected plots are also generated.{| border="1" cellpadding="5" cellspacing="0" align="center"|-| align="center" width="100" | [[File:QQ.png]]|-| align="center" width="200" | [[File:Single_var_manhattan.png]]|}
==== Burden Gene-level Tests Meta -Analysis Output ====When --longOutput is specified, output includes both burden test results of genes and single variant results of the variants included in burden tests. Otherwise, single variant results of variants included in burden tests will not be included in the output.
 ===== Long Output Format =LONG TABLES ====* When --longOutput is used, output includes both burden test results of genes and single variant results of the variants included in burden tests. Here is an example of output file from SKAT when --longOutput is specified.
##Method=Burden
##STUDY_NUM=2
KLHL17 2 1:897285:A:G;1:898869:C:T 0.0148408,0.00108369 -0.0502034,-0.0256403 0.528269,0.934606 0.00796222 0.00108369 0.0148408 -0.0484494 0.528878
===== Short Output Format =SHORT TABLES ====* Otherwise, single variant results of variants included in burden tests will not be included in the output. Here is an example of output file from SKAT when --longOutput is not specified.
##Method=Burden
KLHL17 2 1:897285:A:G;1:898869:C:T 0.00796222 0.00108369 0.0148408 -0.0484494 0.528878
==== Tabulated Top Hits TABULATED HITS ====
* When --tabulateHits is specified, top hits from Burden tests will be generated. Each method will have an individual tabulated file generated. The purpose of this tabulated file is to list burden test results of top hits together with single variant results from variants being grouped in burden tests. The difference between this file and the standard long-format output file from burden test is that each row of the file represents a single variant that is included in the gene for burden test. This format allows each sorting on users end.
* Tabulate Tabulated top hits will be are saved in the file:
yourPrefix.meta.tophits.youMethod.tbl (example files names: TG.meta.tophits.burden.tbl, LDL.meta.tophits.SKAT.tbl)
* According to the example above, PCSK9 had a p-value of 7.54587e-11 from the gene-based burden test, where three variants from this gene were included. Another hit from this meta analysis is APOE, where only one variant was included in the burden test.
==== Log File PLOTS ===='''RAREMETAL''' generates QQ plots and manhattan plots from single variant and gene-level meta-analysis by default. Example QQ plots and manhattan plots are:{| border="1" cellpadding="5" cellspacing="0" align="center"|-| align="center" width="200" | [[File:manhattan.png]]|}
==== LOG ==== * A log file is automatically generated by '''Rare MetalRAREMETAL''' to save the parameters in effect. An example is in the following:
The following parameters are in effect:
Grouping Methods:
============================
--groupFile [genes.file] --annotatedVcf [../../groupvcf/bin/debug/nonsynonymous.vcf]
--annotation []
--writeVcf [OFF]
--SKAT [false]
--VT [false]
--condition [condition.file]
Other Options:
============================
--tabix [OFF]
--correctGC [ON]
--prefix [test]
--maf [0.05]
--tabulateHits [false]
--hitsCutoff [1e-06]
--dosage [false]
--altMAF [false]
==Example UsageCommand lines==
* Here is an example command line to do single variant meta analysis only:
./raremetal --studyName summaryFiles your.studyNamelist.file of.summary.files --prefix yourPrefix
* When you want to do all burden tests using a group file to specify which variants to group:
./raremetal --studyName summaryFiles your.studyNamelist.file of.summary.files --covFiles your.list.of.cov.files --groupFile your.groupfile --burden --MB --SKAT --VT --maf 0.01 --prefix yourPrefix
(NOTE: this will generate single variant meta analysis result and the short format output for burden test results.)
* Here is how to do all SKAT meta analysis using a group file and request a long format output together with tabulated hits:
./raremetal --studyName summaryFiles your.studyNamelist.file of.summary.files --covFiles your.list.of.cov.files --groupFile your.groupfile --SKAT --longOutput --tabulateHits --hitsCutoff 1.0e-07 --prefix yourPrefix
* Here is an example of adding QC filters to variants when doing meta analysis.
./raremetal --studyName summaryFiles your.studyNamelist.file of.summary.files --covFiles your.list.of.cov.files --groupFile your.groupfile --SKAT --longOutput --tabulateHits --hitsCutoff 1.0e-07 --hwe 1e-06 --callRate 0.98 --prefix yourPrefix
* Here is how to do the same thing but reading grouping information from an annotated VCF file:
./raremetal --studyName summaryFiles your.studyNamelist.file of.summary.files --covFiles your.list.of.cov.files --annotatedVcf your.annotated.vcf --annotation nonsyn/stop/splicing --SKAT --longOutput --tabulateHits --hitsCutoff 1.0e-07 --hwe 1e-06 --callRate 0.98 --prefix yourPrefix
* If you want to write a VCF file of pooled variants from all studies, annotate them using your favorite annotation program, and then come back to '''Rare MetalRAREMETAL''' with the annotate VCF file to do burden tests:
First, use the following command to write the VCF file:
./raremetal --studyName summaryFiles your.studyNamelist.file of.summary.files --writeVcf --prefix yourPrefix Second, annotate the VCF file using your favorite annotation program. (Annotated VCF file has to follow the format described here: [[https://statgen.sph.umich.edu/wiki/RaremetalRare-Metal#Grouping_from_an_Annotated_VCF_File Group_Rare_Variants_from_Annotated_VCF|annotated VCF format]])
Third, use the following command to do meta analysis:
./raremetal --studyName summaryFiles your.studyNamelist.file of.summary.files --covFiles your.list.of.cov.files --annotatedVcf your.annotated.vcf --annotation nonsyn/splicing/stop --burden --MB --SKAT --VT --maf 0.01 --prefix yourPrefix ==Other Useful Info== * Summary specs can be found [[Summary Files Specification for RAREMETAL]] ==TUTORIAL==* For a comprehensive tutorial of RAREMETALWORKER and RAREMETAL using example data sets, please go to the following:  [http://genome.sph.umich.edu/wiki/Tutorial:_RareMETAL '''RAREMETAL Tutorial'''] * For a brief tutorial of rvtests, please go to:  [http://genome.sph.umich.edu/wiki/Rvtests '''rvtests'''] ==CONTACT== Please email Andy Boughton (abought at umich dot edu) for questions.
== Q & A ==Also check [[Raremetal Incoming updates | '''Known issues and incoming update in next version''']] to see if your problem has been reported before
30
edits

Navigation menu