Difference between revisions of "RAREMETALWORKER"

From Genome Analysis Wiki
Jump to navigationJump to search
 
(413 intermediate revisions by 7 users not shown)
Line 1: Line 1:
'''Rare-Metal-Worker''' is a software for generating summary level statistics for meta analyses using Rare-Metals. It handles both related individuals and unrelated individuals.
+
[[Category:RAREMETALWORKER]]
  
 +
'''RAREMETALWORKER''' is a tool for single variant analysis, generating summary statistics for gene level meta analyses in [http://genome.sph.umich.edu/wiki/RAREMETAL '''RAREMETAL'''].
  
 +
If you feel this program is useful, please tell us your name and contact in this [https://docs.google.com/spreadsheet/ccc?key=0AuYjznTeEDYudFpqUk9sQ2pkN3d3endjYldqMEp6ZUE&usp=sharing '''registration'''].
  
== Change Log ==
+
If you have any questions, please contact Sai Chen (saichen at umich dot edu) or [[Goncalo_Abecasis | '''Goncalo Abecasis''']] (goncalo at umich dot edu).
* Version 0.1 is released on 11/13/2012.
+
 
* Modified Rare-Metal-Worker to let it output LD matrix by a sliding window. (11/14/2012)
+
 
* Uploaded to public wiki. (11/16/2012)
+
== Useful Wiki Pages ==
 +
 
 +
There are several pages in this Wiki that may be useful to RAREMETALWORKER users. Here are links to key pages:
 +
* The [[RAREMETALWORKER_command_reference | '''RAREMETALWORKER command reference''']]
 +
* The [[RAREMETALWORKER_method | '''RAREMETALWORKER method''']]
 +
* The [[Tutorial:_RAREMETAL| '''RAREMETALWORKER quick start tutorial''']]
 +
* The [[RAREMETALWORKER_SPECIAL_TOPICS | '''RAREMETALWORKER special topics''']]
 +
* The [[RAREMETAL_Documentation | '''RAREMETAL documentation''']]
 +
* The [[RAREMETAL FAQ | '''FAQ''']]
 +
* The [[RAREMETAL_Change_Log | '''Change Log''']]
  
 
== Key Features ==
 
== Key Features ==
Rare-Metal-Worker has the following features:
+
RAREMETALWORKER has the following features:
* Takes genotypes from either Merlin format PED file or VCF file.
+
* Takes genotypes from either PED file or VCF file.
* Generates summary level statistics for both related and unrelated individuals.
+
* Generates summary statistics for both related and unrelated individuals.
* Generates variants LD matrix by a sliding window of preferred size.
+
* Generates linkage disequilibrium matrices summarizing covariance between single marker statistics using an adjustable sliding window.  
* Handles related individuals using a kinship matrix derived from the pedigree or from genotype data.
+
* Optionally handles related individuals using a kinship matrix derived from either pedigree or genotype data.
 
* Has the option of fitting shared environment.
 
* Has the option of fitting shared environment.
 
* Can handle variants on Chromosome X.
 
* Can handle variants on Chromosome X.
 +
* Calculates QC statistics such as hwe pvalue, call rate and genomic control.
 +
* Automatically generate QQ and manhattan plots.
  
 
== Software Download and Installation ==
 
== Software Download and Installation ==
  
=== Download ===
+
=== DOWNLOAD ===
 +
 
 +
We have tested compilation on several platforms including Linux, MAC OS X, and Windows.
 +
 
 +
For source code and executables together with instructions of building from source, please go to [[RAREMETAL_DOWNLOAD_%26_BUILD |'''DOWNLOAD source and executables''']].
 +
 
 +
For questions about building and compilation, please go to [[RAREMETAL_FAQ | '''FAQ''']].
 +
 
 +
=== How to Execute ===
  
* The package can be downloaded here:
 
  
  http://genome.sph.umich.edu/wiki/File:RareMetalWorker.0.0.1.tgz
+
* To execute the program, go to /RareMetalWorker_0.4.8/RareMetalWorker/bin, issue ./raremetalworker.
 +
* For example command lines, please refer to [[RAREMETALWORKER#Example_Command_Lines | '''RAREMETALWORKER EXAMPLES''']].
  
* Save it to your local path and decompress use the following command:
+
==Method==
  
  tar xvzf RareMetalWorker.0.0.1.tgz
+
Method description and key formulae can be found in [http://genome.sph.umich.edu/wiki/RAREMETALWORKER_method '''RAREMETALWORKER METHOD'''].
  
=== Compile ===
+
==For Binary Traits==
  
* Go to /RareMetalWorker_0.0.1/RareMetalWorker/src and use the following command:
+
RAREMETALWORKER currently treat all traits as quantitative. If your trait is binary, the odds ratio can be approximated from effect size estimates generated by RAREMETALWORKER. The installation/source package has a script included to augment the odds ratio estimates to the last column of the RAREMETALWORKER output. For details, please refer to [[RAREMETAL_DOWNLOAD_%26_BUILD#Calculating_Odds_Ratio_from_RAREMETALWORKER_output | '''Calculate Odds Ratio from RAREMETALWORKER output''']].
 
  make all
 
  
* To execute the program, go to /RareMetalWorker_0.0.1/RareMetalWorker/bin, then the program can be executed by ./Rare-Metal-Worker.
 
 
 
 
== Software Specifications ==
 
== Software Specifications ==
  
=== Input Files ===
+
===INTERFACE===
Rare-Metal-Worker needs the following files as input: PED and DAT file in Merlin format, '''AND/OR''' a VCF file. When genotypes are stored in PED and DAT file, VCF file is not needed. However, even if genotypes are saved in a VCF file, PED and DAT files are still needed for carrying covariate and trait information.  
+
 
 +
RAREMETALWORKER is a command line tool. Once you execute, you will see a full list of options printed on the screen.
 +
 
 +
For detailed description of command options, please go to [[RAREMETALWORKER_command_reference | '''command reference''']].
 +
 
 +
Options:
 +
      Input Files : --ped [], --dat [], --vcf [], --dosage, --noeof
 +
      Output Files : --prefix [], --LDwindow [1000000], --zip, --thin,
 +
                    --labelHits
 +
        VC Options : --vcX, --separateX
 +
    Trait Options : --makeResiduals, --inverseNormal, --traitName []
 +
    Model Options : --recessive, --dominant
 +
    Kinship Source : --kinPedigree, --kinGeno, --kinFile [], --kinxFile [],
 +
                    --kinSave
 +
  Kinship Options : --kinMaf [0.05], --kinMiss [0.05]
 +
      Chromosome X : --xLabel [X], --xStart [2699520], --xEnd [154931044],
 +
                    --maleLabel [1], --femaleLabel [2]
 +
            others : --cpu [1], --kinOnly,
 +
                    --geneMap [../data/refFlat_hg19.txt]
 +
        PhoneHome : --noPhoneHome, --phoneHomeThinning [100]
 +
 
 +
===INPUT FILE FORMAT===
 +
 
 +
RMW needs the following files as input: PED and DAT file in Merlin format, '''AND/OR''' a VCF file. When genotypes are stored in PED and DAT file, the VCF file is not needed. However, even if genotypes are saved in a VCF file, PED and DAT files are still needed for carrying covariate and trait information.  
  
 
==== PED and DAT Files ====
 
==== PED and DAT Files ====
* When PED file has genotypes saved, there is no need of VCF file as input.
+
* When PED file has genotypes saved, there is no need for a VCF file as input.
* Rare-Metal-Worker takes PED and DAT file in Merlin format. Please refer to the following link for specifications.
+
* RMW takes PED/DAT file in Merlin format. Please refer to [http://www.sph.umich.edu/csg/abecasis/merlin/tour/input_files.html PED/DAT format description] for details.
  http://www.sph.umich.edu/csg/abecasis/merlin/tour/input_files.html
+
* PED file requires "dummy" parents to be included in the pedigree file. To check the integrity of your PED/DAT file, please use [http://www.sph.umich.edu/csg/abecasis/PedStats '''pedstats''']. To add dummy parents into the pedigree, please use the [[Media:Script.tgz | '''perl script''']].
* DAT file must have variant names in the following format "M chr:pos". Here is an example of variant name format in DAT file:
+
* An example PED file is in the following:
 +
    1 1 0 0 1 1.5 1 23 A A A A A A A A A A
 +
    2 1 0 0 1 1.0 1 34 A C A C A C A C A C
 +
    3 1 0 0 2 0.4 1 43 A A A A A A A A A A
 +
    4 1 0 0 2 0.9 1 13 A C A C A C A C A C
 +
* The matching DAT file is in the following:
 +
  T YourTraitName
 +
  C SEX
 +
  C AGE
 
   M 1:123456
 
   M 1:123456
 
   M 1:234567
 
   M 1:234567
Line 52: Line 100:
 
   M 2:222222
 
   M 2:222222
 
   M X:12345
 
   M X:12345
  M X:111111
+
* DAT file must have variant names in the following format "M chr:pos".
 +
* Orders of labels in DAT file have to match the order of fields in PED file.
 
* '''Markers in PED and DAT file must be sorted by chromosome and position.'''
 
* '''Markers in PED and DAT file must be sorted by chromosome and position.'''
 +
 +
* Covariate and trait values are saved in PED file. Covariate and trait descriptions are saved in DAT file. Note that you must specify <code>--makeResiduals</code> in order to adjust the covariates out of the phenotype. See [[RAREMETALWORKER#Example_Command_Lines | Example Command Lines]] for examples and [[RAREMETALWORKER_command_reference#Trait_Options | Trait Options]] for more information.
  
 
==== VCF File ====
 
==== VCF File ====
* Another option is to use VCF as input. Please refer to the following link for VCF file specification:
+
=====GENOTYPES=====
  http://www.1000genomes.org/wiki/Analysis/Variant%20Call%20Format/vcf-variant-call-format-version-41
+
* Another option is to use VCF as input. Please refer to the following link for VCF file specification: [http://www.1000genomes.org/wiki/Analysis/Variant%20Call%20Format/vcf-variant-call-format-version-41 1000 genome wiki VCF specs]
 
* VCF file should be compressed by bgzip and indexed by tabix, using the following command:
 
* VCF file should be compressed by bgzip and indexed by tabix, using the following command:
 
   bgzip input.vcf    ## this command will produce input.vcf.gz
 
   bgzip input.vcf    ## this command will produce input.vcf.gz
   tabix -pvcf -f input.vcf.gz  ## this command will produce input.vcf.gz.tbi
+
   tabix -p vcf -f input.vcf.gz  ## this command will produce input.vcf.gz.tbi
 +
* Even with the presence of VCF file, PED/DAT files are still needed for covariates and phenotypes.
 +
* Are you using PLINK file formats? Converting to VCF is easy. Use WDIST (very similar to PLINK) to make the conversion. Visit this page [https://www.cog-genomics.org/wdist/ | WDIST] to find documentation and downloads for WDIST.
  
==== Covariates & Traits ====
 
* Covariate and trait values are saved in PED file. Covariate and trait descriptions are saved in DAT file.
 
* It follows Merlin input format as in the above link.
 
  
=== Software Options ===
+
* When genotypes are saved in a VCF file, PED and DAT files are used for specifying pedigree structure, covariate and trait information. An example command line might look like this:
The following options are currently available in Rare-Metal-Worker:
+
  --ped input.ped --dat input.dat --vcf input.vcf.gz
 +
* When genotypes are saved in the PED file, the VCF file is not needed. An example command line might look like this:
 +
  --ped input.ped --dat input.dat
  
    Options:
+
=====DOSAGE=====
      Input Files : --ped [Exomechip.pheno.ped], --dat [Exomechip.pheno.dat],
+
* If you want to analyze dosage data from VCF file, the following option has to be specified: --dosage. A key word "DS" in FORMAT field in VCF file has to included accordingly. An example is in the following:
                    --vcf []
+
 
      Output Files : --prefix [], --LDwindow [1000000]
+
  #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT IDx ID1 ID2 ID3
        VC Options : --vcShared, --vcX, --useCovariates [ON]
+
  22 16050408 37239779 T C . PASS AC=2;AN=496 GT:DS:GP ./.:.:0,0,0 ./.:.:0,0,0 ./.:.:0,0,0
    Trait Options : --makeResiduals, --inverseNormal [ON], --traitName []
+
  22 16050933 37239784 G A . PASS AC=141;AN=904 GT:DS:GP 0/0:0.0:1,0,0 0/0:0.0:1,0,0 0/0:0.0:1,0,0
    Kinship Source : --kinPedigree [ON], --kinGeno, --kinFile [], --kinSave
 
  Kinship Options : --kinMaf [0.05], --kinMiss [0.05]
 
      Chromosome X : --xLabel [X], --xStart [2699520], --xEnd [154931044]
 
  
The usage of these options are explained one-by-one using examples in the following:
+
* --noeof allows using VCF file without BGZF EOF markers. This is a very rare option to use. If your run is terminated with error message: "", then you might want to check out this option.
==== Input Files ====
 
* When genotypes are saved in VCF file, PED and DAT files are also necessary for containing pedigree structure, covariate and trait information. An example is in the following:
 
  --ped input.ped --dat input.dat --vcf input.vcf.gz
 
* When genotypes are saved in PED file, VCF file is not needed. An example is in the following:
 
  --ped input.ped --dat input.dat
 
  
==== Output Files ====
+
=== OUTPUT===
* --prefix is optional.
 
* If --prefix is not specified, the output file names will be:
 
  traitname.singlevar.score.txt
 
  traitname.singlevar.cov.txt
 
* If --prefix prefix is specified, then the output file names are:
 
  prefix.traitname.singlevar.score.txt
 
  prefix.traitname.singlevar.cov.txt
 
* --LDwindow specifies the length of the window that LD Matrix should be generated upon each variant. The default is 1MB.
 
  
==== VC Options ====
+
====OUTPUT FILE NAMES====
* When --vcShared and --vcX are specified, Rare-Metal-Worker know that you want to fit shared environment and/or chromosome X variance component together with genetic component and non-shared environment.
 
* When --useCovariates is specified, Rare-Metal-Worker understands covariates should be read from PED file. Covariates are fit as fixed effects.
 
==== Trait Options ====
 
* --makeResiduals is created to be used with --useCovariates together to generate residuals from linear regressions ignoring variance components first and then variance components will be estimated from those residuals. If --inverseNormal options is also used, then the residuals from linear regression will be inverse normalized before fitting variance component model.
 
** An example to use residuals after adjusting covariates, inverse normalize the residuals and then fit variance component model is in the following:
 
  --useCovariates --makeResiduals --inverseNormal
 
** An example to fit fixed effects together with variance components is in the following:
 
  --useCovariates --inverseNormal
 
* If --inverseNormal is used WITHOUT --makeResiduals, then trait values are inverse normalized before any model fitting.
 
* --traitName is created for the situation when you have many traits saved in your PED and DAT file, but you are interested in one or a few of them. It can read a file ending with .txt with each trait of interest in a separate line, or trait names separated with "/". An example to handle one trait or multiple traits is in the following:
 
  --traitName LDL
 
  --traitName LDL/HDL/TG
 
  --traitName traitsOfInterest.txt
 
==== Kinship Source ====
 
* --kinPed allows Rare-Metal-Worker to generate kinship matrix from pedigree, when pedigree information is available. This option is on by default.
 
* --kinGeno informs Rare-Metal-Worker to generate kinship matrix from all available variants that pass the criteria, specified in --kinMaf and --kinMiss options. The default will take variants with MAF>0.05 and genotype missing rate <0.05.
 
* --kinFile let Rare-Metal-Worker read in a kinship matrix from a file. However, the kinship matrix has to be generated using Rare-Metal-Worker previously.
 
* --kinSave allows you to save the kinship.
 
  
==== Kinship Options ====
+
* Three files are generated automatically by default:
* --kinMiss and --kinMaf should be used with --kinGeno together.  
+
  prefix.traitName.singlevar.score.txt (single variant summary statistics and QC statistics)
* --kinMiss specifies the maximum genotype missing rate when calculating kinship from genotypes.
+
  prefix.traitName.singlevar.cov.txt (covariance matrices of single variant score statistics)
* --kinMaf specifies the minimum minor allele frequency used when calculating kinship from genotypes.
+
  prefix.singlevar.log (log file)
  
==== Chromosome X ====
+
* If --zip option is used, then the following will be generated automatically:
* --xLabel should have a value of a string which specifies how variants on chromosome X are coded. The default is "X".
+
  prefix.traitName.singlevar.score.txt.gz
* --xStart and --xEnd specifies the start and end of non-pseudo-autosomal regions on chromosome X. These options should be specified when --fitX is used.
+
  prefix.traitName.singlevar.score.txt.gz.tbi
* The default for --xStart is 2699520 and default for --xEnd is 154931044, according to NCBI genome build 37.
+
  prefix.traitName.singlevar.cov.txt.gz
 +
  prefix.traitName.singlevar.cov.txt.gz.tbi
 +
  prefix.singlevar.log
  
=== Handling Unrelated Individuals ===
+
* If --recessive and/or --dominant options are used, then the following files are also generated '''in addition''' to the above files
* To let Rare-Metal-Worker handle unrelated individuals, we just have to code the individuals as unrelated in PED file, or each individual belongs to a unique family. Then Rare-Metal-Worker will take care of the rest.
+
  prefix.traitName.recessive.singlevar.score.txt.gz
* However, when --kinGenotype is also used, Rare-Metal-Worker will consider them as related and generate kinship matrix from genotypes.
+
  prefix.traitName.recessive.singlevar.cov.txt.gz
* An example is shown as following (header is for illustration purpose, not in real PED file):
+
  prefix.traitName.dominant.singlevar.score.txt.gz
 +
  prefix.traitName.dominant.singlevar.cov.txt.gz
  
  famid pid fid mid sex age trait
+
* If --kinGeno --kinSave is used, then the genomic relationship matrix is stored in
  1    1.1  0  0  1  10  -0.3
+
   prefix.Empirical.Kinship.gz
  2    2.1  0  0  1  56  0.0
 
  3    3.1  0  0  2  31  0.4
 
  4    4.1  0  0   2  23  0.008
 
  5    5.1  0  0  2  34  2.35
 
  
== Output Formats ==
+
* If --vcX option is used, then the genomic relationship matrix from chromosome X is stored in
 +
  prefix.Empirical.KinshipX.gz
  
* There are two files generated automatically by default:
+
====OUTPUT FILE FORMATS====
  
  prefix.traitName.singlevar.score.txt
+
=====Summary Statistics=====
  prefix.traitName.singlevar.cov.txt
+
* In the file with summary statistics named prefix.traitName.singlevar.score.txt contains summary statistics that are needed by Rare-Metal. An example is shown in below:
  
* prefix.traitName.singlevar.score.txt contains summary level statistics that are needed by Rare-Metal. An example is shown in below:
+
LDL mean= -0.00, variance=  1.00, heritability= 34.30
 +
CHR      POS REF_ALLELE ALT_ALLELE  INFORMATIVE_N  FOUNDER_AF    ALL_AF  INFORMATIVE_AC  HWE_PVALUE      STAT  ALT_ALLELE_EFFSIZE        PVALUE
 +
  10  45410002          G          A          6103    0.034159  0.034159            410    0.165893  126.2050            0.309798  4.030740e-10
 +
  19  45412079          G          A          6103    0.036812  0.036812            434    0.714645 -265.8400          -0.587356  7.878510e-36
 +
  19  45414451          G          A          6103    0.444989  0.444989            5312    0.075927  -26.1212          -0.008371  6.400580e-01
  
  LDL mean= -0.00, variance=  1.00, heritability= 34.30
 
  CHR POS REF_ALLELE ALT_ALLELE INFORMATIVE_N FOUNDER_AF ALL_AF INFORMATIVE_AC STAT ALT_ALLELE_EFFSIZE PVALUE
 
  chr1 762320 G         A         6103         0.0038225 0.0038225 45 4.73428       0.0949001         0.502675
 
  chr1 865628 G         A         6103         0.00556756 0.00556756 67 18.3894       0.249333         0.0322511
 
  chr1 865665 G         A         6103         8.30979e-05 8.30979e-05 1 -0.740215    -0.599493         0.505316
 
  chr1 878744 C         G         6103         0.00667334 0.00667334 80 -19.5138      -0.220432         0.0380796
 
  chr1 879381 G         A         6103         8.31117e-05 8.31117e-05 1 -0.831691    -0.61887         0.473108
 
  
 
* pvalues from the above output are from the family-based single variant score test.
 
* pvalues from the above output are from the family-based single variant score test.
  
 +
=====LD Matrices=====
 
* prefix.traitName.singlevar.cov.txt contains the LD matrix among a variant and the adjacent markers within a prefixed-sized window. The default window size is 1MB. It has the following format:
 
* prefix.traitName.singlevar.cov.txt contains the LD matrix among a variant and the adjacent markers within a prefixed-sized window. The default window size is 1MB. It has the following format:
 
    
 
    
  CHR   POS       VAR_POS_IN_WINDOW                             LD_MATRIX
+
CHR     POS                           VAR_POS_IN_WINDOW                                                                 LD_MATRIX
   chr1  762320    762320,865628,865665,878744,879381,1560000   0.0359084,-0.000242112,-0.00125797,-0.000993422,-0.000344509,-0.00017077,
+
  1  762320   762320,865628,865665,878744,879381,1560000 0.0359084,-0.000242112,-0.00125797,-0.000993422,-0.000344509,-0.00017077,
  chr1  865628     865628,865665,878744,879381,1560000,1867659  0.419804,-0.0103663,-0.00635265,0.0594056,0.0534505,-0.00462183,
+
  1  865628 865628,865665,878744,879381,1560000,1864659          0.419804,-0.0103663,-0.00635265,0.0594056,0.0534505,-0.00462183,
  chr1 878744     878744,879381,1560000,1867659,1877659         0.000404537,-0.000235215,-1.4455e-05,-8.69137e-06,-3.1027e-05,  
+
  1 878744       878744,879381,1560000,1864659,1877659             0.000404537,-0.000235215,-1.4455e-05,-8.69137e-06,-3.1027e-05,
 +
 
 +
=====Genomic Relationship Matrix (GRM)=====
 +
 
 +
* Once --kinGeno --kinSave --prefix options are requested, you would expect to see a GRM generated (compressed by gzip) with name yourprefix.Empirical.Kinship.gz. If --prefix option is not used, then the file name is Empirical.Kinship.gz.
 +
* If --vcX --kinGeno --kinSave --prefix options are requested, besides the autosomal GRM, you would also expect to see a separate GRM for chromosome X saved (compressed by gzip also) under the name yourprefix.Empirical.KinshipX.gz.
 +
* The GRMs are generated based on all genotyped individuals included in the PED file; samples with missing phenotype or missing covariates are not excluded from GRMs. This feature makes GRMs reusable if you have multiple traits to analyze in separate runs. You can simplely use --kinFile option (--kinxFile option if you have X chromosome GRM together with --vcX option issued) to reuse the pre-saved GRMs.
 +
* The format for both autosomal and chromosome X GRMs are the same. The first row has all sample IDs (sample size=N) listed. The rest of the file is a symmetric matrix with dimention ''NxN'', and element ''ij'' of this matrix represents the kinship between the <math>i^{th}</math> and the <math>j^{th}</math> sample whose ID can be found from the first row.
 +
* For details about GRM calculation, please refer to [[RAREMETALWORKER_method | '''method''']].
 +
 
 +
=====Log File=====
 +
* RMW automatically generates a log file named "yourprefix.singlevar.log".
 +
* The first part of the log file has options used for your analysis saved.
 +
 
 +
The following parameters are in effect:
 +
 +
Input Files:
 +
============================
 +
--ped [pheno.ped]
 +
--dat [pheno.dat]
 +
--vcf [allvars.vcf.gz]
 +
--dosage [false]
 +
--noeof [false]
 +
 +
Output Files:
 +
============================
 +
--prefix [rmw.test]
 +
--LDwindow [1000000]
 +
--zip [false]
 +
--thin [false]
 +
--labelHits [false]
 +
 +
VC Options:
 +
============================
 +
--vcX [true]
 +
--separateX [true]
 +
 +
Trait Options:
 +
============================
 +
--makeResiduals [false]
 +
--inverseNormal [false]
 +
--traitName []
 +
 +
Model Options:
 +
============================
 +
--recessive [false]
 +
--dominant [false]
 +
 +
Kinship Source:
 +
============================
 +
--kinPedigree [true]
 +
--kinGeno [false]
 +
--kinFile []
 +
--kinxFile []
 +
--kinSave [false]
 +
 +
Kinship Options:
 +
============================
 +
--kinMaf [0.05]
 +
--kinMiss [0.05]
 +
 +
Chromosome X:
 +
============================
 +
xLabel [X]
 +
xStart [2699520]
 +
xEnd [154931044]
 +
maleLabel [1]
 +
femaleLabel [2]
 +
 
 +
* The second part of the log file has all warnings and running messages saved.
 +
 
 +
=====Plots=====
 +
* RAREMETALWORKER generates QQ plot and Manhattan plots automatically, unless there are only trivial number of variants analyzed.
 +
* RAREMETALWORKER stores plots of each trait in separate files named ''yourprefix.traitname.plots.pdf''.
 +
* RAREMETALWORKER stores plots for recessive and dominant results separated with files named ''yourprefix.traitname.recessive.plots.pdf'' and ''yourprefix.traitname.dominant.plots.pdf''.
 +
* RAREMETALWORKER automatically generates three stratified QQ plots, one with all variants, one with variants of maf<0.05, and one with variants of maf<0.01.
 +
* Genomic controls are automatically calculated and labeled in QQ plots.
 +
* By using --labelHits option, users can choose to label the hits.
 +
* Here is an example QQ plot and manhattan plot generated by RAREMETALWORKER.
 +
 
 +
{| border="1" cellpadding="5" cellspacing="0" align="center"
 +
|-
 +
| align="center" width="100" | [[File:QQ.png]]
 +
|-
 +
| align="center" width="200" | [[File:Single_var_manhattan.png]]
 +
|}
 +
 
 +
===SPECIAL TOPICS===
 +
* For special topics such as how RAREMEALWORKER handles missing data, unrelated individuals, markers on chromosomeX, please go to [[RAREMETALWORKER_SPECIAL_TOPICS | '''SPECIAL TOPICS''']].
 +
 
 +
== Example Command Lines ==
 +
 
 +
The following list a few popular combinations of options used for analyses. For an itemized description of options, please go to [[RAREMETALWORKER_command_reference | '''COMMAND REFERENCE''']].
 +
 
 +
===General Usage===
 +
 
 +
* If your PED file has many traits but you only want one of them to be analyzed, then the following command does the trick:
 +
 
 +
  prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix
 +
 
 +
* If you want to inverse normalize (quantile normalize) your trait before doing associations, this can be done by adding --inverseNormal to your command line:
 +
 
 +
  prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix --inverseNormal
  
== Examples ==
+
* The following command will adjust covariates first and then use residuals to proceed association:
 +
 
 +
  prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix --makeResiduals
 +
 
 +
* The following command will adjust covariates first and then use the inverse normalized residuals to proceed association:
 +
 
 +
  prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix --makeResiduals --inverseNormal
  
 
=== Related individuals ===
 
=== Related individuals ===
* When you have genotype stored in ped file and dat file, and want to use pedigree kinship:
 
  
  /bin/Rare-Metal-Worker --ped yourInput.ped --dat yourInput.dat --traitName LDL
+
* When pedigree is known and you want to use it to count for relatedness then the following command can be used:
  
* When you have genotype stored in ped file and dat file, and want to use kinship generated from genotypes:
+
   prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --kinPedigree --prefix yourFavoritePrefix
 
 
   /bin/Rare-Metal-Worker --ped yourInput.ped --dat yourInput.dat --kinGeno --kinSave --traitName LDL (--kinSave allows you to save kinship matrix for future use.)
 
  
* When you have genotype stored in vcf file and want to use pedigree kinship:  
+
* When you want to an estimated genomic relationship matrix to count for relatedness then the following command can be used:
  
   /bin/Rare-Metal-Worker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz
+
   prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --prefix yourFavoritePrefix --kinGeno --kinSave (this will save the genomic relationship matrix for future use)
  
* When you have genotype stored in vcf file and want to use kinship generated from genotype:  
+
* If the genomic relationship matrix has been saved previously, and you want to use it to count for relatedness then the following command can be used:
  
   /bin/Rare-Metal-Worker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --kinGeno --kinSave (--kinSave allows you to save kinship matrix for future use.)
+
   prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --prefix yourFavoritePrefix --kinFile yourPreviouslySavedKinship
  
 
=== Unrelated individuals ===
 
=== Unrelated individuals ===
  
* Command are the same as in above example, except each individual has to have a distinct family ID in ped file.
+
* To analyze individuals as unrelated, even if pedigree is known, you just have to use the following command:
* When you have genotypes from ped and marker information from dat file, and assuming no relatedness in the sample:
+
 
 +
  prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --prefix yourFavoritePrefix
 +
 
 +
===Analyzing Chromosome X===
 +
 
 +
* To analyze markers on chromosome X, if relatedness is not considered, then no special options needs to be issued.
 +
 
 +
* When relatedness is modeled using linear mixed model, and pedigree is known, then the following command fits use both autosomal kinship and chromosomeX kinship to fit a variance component model:
 +
 
 +
  prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --kinPedigree --vcX --vcf yourInput.vcf.gz --prefix yourFavoritePrefix
 +
 
 +
* Adding --separateX to the above command line will only use chromosome X kinship to fit the variance component model:
 +
 
 +
  prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --kinPedigree --vcX --separateX --vcf yourInput.vcf.gz --prefix yourFavoritePrefix
  
  ./Rare-Metal-Worker --ped yours.ped --dat yours.dat
+
* Please refer to [[RAREMETALWORKER_method | '''METHODS''']] for methods and [[RAREMETALWORKER_SPECIAL_TOPICS#Analyzing_Chromosome_X | '''SPECIAL TOPICS''']] for technical details.
  
* When you have genotypes from vcf and covariates and trait information saved in ped and dat file, assuming there is no relatedness in the sample, you should use the following:
+
===Using MERLIN format PED/DAT INPUT FILES===
 +
* When genotypes are stored in MERLIN format PED/DAT files, command should be the same to do the above analysis, except --vcf option should be excluded.
 +
* Please refer to [[RAREMETALWORKER#PED_and_DAT_Files | '''PED/DAT format''']] for format requirements.
  
  ./Rare-Metal-Worker --ped yours.ped --dat yours.dat --vcf yours.vcf.gz
+
== Tutorial ==
 +
* For a comprehensive tutorial of RMW and RAREMETAL using example data sets, please go to the following:
  
== Q & A ==
+
  [http://genome.sph.umich.edu/wiki/Tutorial:_RareMETAL '''RAREMETAL and RAREMETALWORKER Tutorial''']

Latest revision as of 13:34, 20 November 2019


RAREMETALWORKER is a tool for single variant analysis, generating summary statistics for gene level meta analyses in RAREMETAL.

If you feel this program is useful, please tell us your name and contact in this registration.

If you have any questions, please contact Sai Chen (saichen at umich dot edu) or Goncalo Abecasis (goncalo at umich dot edu).


Useful Wiki Pages

There are several pages in this Wiki that may be useful to RAREMETALWORKER users. Here are links to key pages:

Key Features

RAREMETALWORKER has the following features:

  • Takes genotypes from either PED file or VCF file.
  • Generates summary statistics for both related and unrelated individuals.
  • Generates linkage disequilibrium matrices summarizing covariance between single marker statistics using an adjustable sliding window.
  • Optionally handles related individuals using a kinship matrix derived from either pedigree or genotype data.
  • Has the option of fitting shared environment.
  • Can handle variants on Chromosome X.
  • Calculates QC statistics such as hwe pvalue, call rate and genomic control.
  • Automatically generate QQ and manhattan plots.

Software Download and Installation

DOWNLOAD

We have tested compilation on several platforms including Linux, MAC OS X, and Windows.

For source code and executables together with instructions of building from source, please go to DOWNLOAD source and executables.

For questions about building and compilation, please go to FAQ.

How to Execute

  • To execute the program, go to /RareMetalWorker_0.4.8/RareMetalWorker/bin, issue ./raremetalworker.
  • For example command lines, please refer to RAREMETALWORKER EXAMPLES.

Method

Method description and key formulae can be found in RAREMETALWORKER METHOD.

For Binary Traits

RAREMETALWORKER currently treat all traits as quantitative. If your trait is binary, the odds ratio can be approximated from effect size estimates generated by RAREMETALWORKER. The installation/source package has a script included to augment the odds ratio estimates to the last column of the RAREMETALWORKER output. For details, please refer to Calculate Odds Ratio from RAREMETALWORKER output.

Software Specifications

INTERFACE

RAREMETALWORKER is a command line tool. Once you execute, you will see a full list of options printed on the screen.

For detailed description of command options, please go to command reference.

Options:
      Input Files : --ped [], --dat [], --vcf [], --dosage, --noeof
     Output Files : --prefix [], --LDwindow [1000000], --zip, --thin,
                    --labelHits
       VC Options : --vcX, --separateX
    Trait Options : --makeResiduals, --inverseNormal, --traitName []
    Model Options : --recessive, --dominant
   Kinship Source : --kinPedigree, --kinGeno, --kinFile [], --kinxFile [],
                    --kinSave
  Kinship Options : --kinMaf [0.05], --kinMiss [0.05]
     Chromosome X : --xLabel [X], --xStart [2699520], --xEnd [154931044],
                    --maleLabel [1], --femaleLabel [2]
           others : --cpu [1], --kinOnly,
                    --geneMap [../data/refFlat_hg19.txt]
        PhoneHome : --noPhoneHome, --phoneHomeThinning [100]

INPUT FILE FORMAT

RMW needs the following files as input: PED and DAT file in Merlin format, AND/OR a VCF file. When genotypes are stored in PED and DAT file, the VCF file is not needed. However, even if genotypes are saved in a VCF file, PED and DAT files are still needed for carrying covariate and trait information.

PED and DAT Files

  • When PED file has genotypes saved, there is no need for a VCF file as input.
  • RMW takes PED/DAT file in Merlin format. Please refer to PED/DAT format description for details.
  • PED file requires "dummy" parents to be included in the pedigree file. To check the integrity of your PED/DAT file, please use pedstats. To add dummy parents into the pedigree, please use the perl script.
  • An example PED file is in the following:
    1 1 0 0 1 1.5 1 23 A A A A A A A A A A
    2 1 0 0 1 1.0 1 34 A C A C A C A C A C
    3 1 0 0 2 0.4 1 43 A A A A A A A A A A
    4 1 0 0 2 0.9 1 13 A C A C A C A C A C
  • The matching DAT file is in the following:
 T YourTraitName
 C SEX
 C AGE
 M 1:123456
 M 1:234567
 M 2:111111
 M 2:222222
 M X:12345
  • DAT file must have variant names in the following format "M chr:pos".
  • Orders of labels in DAT file have to match the order of fields in PED file.
  • Markers in PED and DAT file must be sorted by chromosome and position.
  • Covariate and trait values are saved in PED file. Covariate and trait descriptions are saved in DAT file. Note that you must specify --makeResiduals in order to adjust the covariates out of the phenotype. See Example Command Lines for examples and Trait Options for more information.

VCF File

GENOTYPES
  • Another option is to use VCF as input. Please refer to the following link for VCF file specification: 1000 genome wiki VCF specs
  • VCF file should be compressed by bgzip and indexed by tabix, using the following command:
 bgzip input.vcf     ## this command will produce input.vcf.gz
 tabix -p vcf -f input.vcf.gz  ## this command will produce input.vcf.gz.tbi
  • Even with the presence of VCF file, PED/DAT files are still needed for covariates and phenotypes.
  • Are you using PLINK file formats? Converting to VCF is easy. Use WDIST (very similar to PLINK) to make the conversion. Visit this page | WDIST to find documentation and downloads for WDIST.


  • When genotypes are saved in a VCF file, PED and DAT files are used for specifying pedigree structure, covariate and trait information. An example command line might look like this:
 --ped input.ped --dat input.dat --vcf input.vcf.gz
  • When genotypes are saved in the PED file, the VCF file is not needed. An example command line might look like this:
 --ped input.ped --dat input.dat
DOSAGE
  • If you want to analyze dosage data from VCF file, the following option has to be specified: --dosage. A key word "DS" in FORMAT field in VCF file has to included accordingly. An example is in the following:
 #CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	IDx	ID1	ID2	ID3
 22	16050408	37239779	T	C	.	PASS	AC=2;AN=496	GT:DS:GP	./.:.:0,0,0	./.:.:0,0,0	./.:.:0,0,0	
 22	16050933	37239784	G	A	.	PASS	AC=141;AN=904	GT:DS:GP	0/0:0.0:1,0,0	0/0:0.0:1,0,0	0/0:0.0:1,0,0
  • --noeof allows using VCF file without BGZF EOF markers. This is a very rare option to use. If your run is terminated with error message: "", then you might want to check out this option.

OUTPUT

OUTPUT FILE NAMES

  • Three files are generated automatically by default:
 prefix.traitName.singlevar.score.txt (single variant summary statistics and QC statistics)
 prefix.traitName.singlevar.cov.txt (covariance matrices of single variant score statistics)
 prefix.singlevar.log (log file)
  • If --zip option is used, then the following will be generated automatically:
 prefix.traitName.singlevar.score.txt.gz
 prefix.traitName.singlevar.score.txt.gz.tbi
 prefix.traitName.singlevar.cov.txt.gz
 prefix.traitName.singlevar.cov.txt.gz.tbi
 prefix.singlevar.log
  • If --recessive and/or --dominant options are used, then the following files are also generated in addition to the above files
 prefix.traitName.recessive.singlevar.score.txt.gz
 prefix.traitName.recessive.singlevar.cov.txt.gz
 prefix.traitName.dominant.singlevar.score.txt.gz
 prefix.traitName.dominant.singlevar.cov.txt.gz
  • If --kinGeno --kinSave is used, then the genomic relationship matrix is stored in
 prefix.Empirical.Kinship.gz
  • If --vcX option is used, then the genomic relationship matrix from chromosome X is stored in
 prefix.Empirical.KinshipX.gz

OUTPUT FILE FORMATS

Summary Statistics
  • In the file with summary statistics named prefix.traitName.singlevar.score.txt contains summary statistics that are needed by Rare-Metal. An example is shown in below:
LDL mean= -0.00, variance=  1.00, heritability= 34.30 
CHR       POS REF_ALLELE ALT_ALLELE  INFORMATIVE_N  FOUNDER_AF    ALL_AF  INFORMATIVE_AC  HWE_PVALUE      STAT  ALT_ALLELE_EFFSIZE        PVALUE
 10  45410002          G          A           6103    0.034159  0.034159             410    0.165893  126.2050            0.309798  4.030740e-10
 19  45412079          G          A           6103    0.036812  0.036812             434    0.714645 -265.8400           -0.587356  7.878510e-36
 19  45414451          G          A           6103    0.444989  0.444989            5312    0.075927  -26.1212           -0.008371  6.400580e-01


  • pvalues from the above output are from the family-based single variant score test.
LD Matrices
  • prefix.traitName.singlevar.cov.txt contains the LD matrix among a variant and the adjacent markers within a prefixed-sized window. The default window size is 1MB. It has the following format:
CHR     POS                            VAR_POS_IN_WINDOW                                                                  LD_MATRIX
  1  762320   762320,865628,865665,878744,879381,1560000  0.0359084,-0.000242112,-0.00125797,-0.000993422,-0.000344509,-0.00017077,
  1  865628  865628,865665,878744,879381,1560000,1864659           0.419804,-0.0103663,-0.00635265,0.0594056,0.0534505,-0.00462183,
  1  878744        878744,879381,1560000,1864659,1877659             0.000404537,-0.000235215,-1.4455e-05,-8.69137e-06,-3.1027e-05,
Genomic Relationship Matrix (GRM)
  • Once --kinGeno --kinSave --prefix options are requested, you would expect to see a GRM generated (compressed by gzip) with name yourprefix.Empirical.Kinship.gz. If --prefix option is not used, then the file name is Empirical.Kinship.gz.
  • If --vcX --kinGeno --kinSave --prefix options are requested, besides the autosomal GRM, you would also expect to see a separate GRM for chromosome X saved (compressed by gzip also) under the name yourprefix.Empirical.KinshipX.gz.
  • The GRMs are generated based on all genotyped individuals included in the PED file; samples with missing phenotype or missing covariates are not excluded from GRMs. This feature makes GRMs reusable if you have multiple traits to analyze in separate runs. You can simplely use --kinFile option (--kinxFile option if you have X chromosome GRM together with --vcX option issued) to reuse the pre-saved GRMs.
  • The format for both autosomal and chromosome X GRMs are the same. The first row has all sample IDs (sample size=N) listed. The rest of the file is a symmetric matrix with dimention NxN, and element ij of this matrix represents the kinship between the and the sample whose ID can be found from the first row.
  • For details about GRM calculation, please refer to method.
Log File
  • RMW automatically generates a log file named "yourprefix.singlevar.log".
  • The first part of the log file has options used for your analysis saved.
The following parameters are in effect:

Input Files:
============================
--ped [pheno.ped]
--dat [pheno.dat] 
--vcf [allvars.vcf.gz]
--dosage [false]
--noeof [false]

Output Files:
============================
--prefix [rmw.test]
--LDwindow [1000000]
--zip [false]
--thin [false]
--labelHits [false]

VC Options:
============================
--vcX [true]
--separateX [true]

Trait Options:
============================
--makeResiduals [false]
--inverseNormal [false]
--traitName []

Model Options:
============================
--recessive [false]
--dominant [false]

Kinship Source:
============================
--kinPedigree [true]
--kinGeno [false]
--kinFile []
--kinxFile []
--kinSave [false]

Kinship Options:
============================
--kinMaf [0.05]
--kinMiss [0.05]

Chromosome X:
============================
xLabel [X]
xStart [2699520]
xEnd [154931044]
maleLabel [1]
femaleLabel [2]
  • The second part of the log file has all warnings and running messages saved.
Plots
  • RAREMETALWORKER generates QQ plot and Manhattan plots automatically, unless there are only trivial number of variants analyzed.
  • RAREMETALWORKER stores plots of each trait in separate files named yourprefix.traitname.plots.pdf.
  • RAREMETALWORKER stores plots for recessive and dominant results separated with files named yourprefix.traitname.recessive.plots.pdf and yourprefix.traitname.dominant.plots.pdf.
  • RAREMETALWORKER automatically generates three stratified QQ plots, one with all variants, one with variants of maf<0.05, and one with variants of maf<0.01.
  • Genomic controls are automatically calculated and labeled in QQ plots.
  • By using --labelHits option, users can choose to label the hits.
  • Here is an example QQ plot and manhattan plot generated by RAREMETALWORKER.
QQ.png
Single var manhattan.png

SPECIAL TOPICS

  • For special topics such as how RAREMEALWORKER handles missing data, unrelated individuals, markers on chromosomeX, please go to SPECIAL TOPICS.

Example Command Lines

The following list a few popular combinations of options used for analyses. For an itemized description of options, please go to COMMAND REFERENCE.

General Usage

  • If your PED file has many traits but you only want one of them to be analyzed, then the following command does the trick:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix
  • If you want to inverse normalize (quantile normalize) your trait before doing associations, this can be done by adding --inverseNormal to your command line:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix --inverseNormal
  • The following command will adjust covariates first and then use residuals to proceed association:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix --makeResiduals
  • The following command will adjust covariates first and then use the inverse normalized residuals to proceed association:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --traitName BMI --prefix yourFavoritePrefix --makeResiduals --inverseNormal

Related individuals

  • When pedigree is known and you want to use it to count for relatedness then the following command can be used:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --kinPedigree --prefix yourFavoritePrefix
  • When you want to an estimated genomic relationship matrix to count for relatedness then the following command can be used:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --prefix yourFavoritePrefix --kinGeno --kinSave (this will save the genomic relationship matrix for future use)
  • If the genomic relationship matrix has been saved previously, and you want to use it to count for relatedness then the following command can be used:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --prefix yourFavoritePrefix --kinFile yourPreviouslySavedKinship

Unrelated individuals

  • To analyze individuals as unrelated, even if pedigree is known, you just have to use the following command:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --vcf yourInput.vcf.gz --prefix yourFavoritePrefix

Analyzing Chromosome X

  • To analyze markers on chromosome X, if relatedness is not considered, then no special options needs to be issued.
  • When relatedness is modeled using linear mixed model, and pedigree is known, then the following command fits use both autosomal kinship and chromosomeX kinship to fit a variance component model:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --kinPedigree --vcX --vcf yourInput.vcf.gz --prefix yourFavoritePrefix 
  • Adding --separateX to the above command line will only use chromosome X kinship to fit the variance component model:
 prompt> $PATH/bin/raremetalworker --ped yourInput.ped --dat yourInput.dat --kinPedigree --vcX --separateX --vcf yourInput.vcf.gz --prefix yourFavoritePrefix

Using MERLIN format PED/DAT INPUT FILES

  • When genotypes are stored in MERLIN format PED/DAT files, command should be the same to do the above analysis, except --vcf option should be excluded.
  • Please refer to PED/DAT format for format requirements.

Tutorial

  • For a comprehensive tutorial of RMW and RAREMETAL using example data sets, please go to the following:
 RAREMETAL and RAREMETALWORKER Tutorial