knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "README-" )
Branch ||
---------|-----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------
master
| |
develop
| |
Work with PLINK and PLINK2 from R.
See doc/install.md
plinkr
can seamlessly run any PLINK
or PLINK2
versions.
Run PLINK:
library(plinkr) run_plink("--help")
To call a specific version of PLINK:
run_plink(c("--help", "--noweb"), create_plink_v1_7_options()) run_plink("--help", create_plink_v1_9_options()) run_plink("--help", create_plink_v2_0_options())
Of course, you can also call PLINK to detect genetic associations :-) :
# Use the PLINK v1.9 example files plink_v1_9 <- create_plink_v1_9_options() ped_filename <- get_plink_example_filename("toy.ped", plink_v1_9) map_filename <- get_plink_example_filename("toy.map", plink_v1_9) # Do a case-control association plinkr::run_plink( args = c( "--ped", ped_filename, "--map", map_filename ) )
basic_usage
for basic usage of PLINK,
as taken from the PLINK website, which shows a
quantitative trait analysistest_assoc_qt
for the same basic usage of PLINK,
using the plinkr
interfacedemo_assoc_qt
for doing a quantitative trait
analysis using simulated data and the plinkr
interfaceassoc_qt_data <- create_assoc_qt_data( data = create_plink_text_filenames( map_filename = get_plinkr_filename("demo_assoc_qt.map"), ped_filename = get_plinkr_filename("demo_assoc_qt.ped") ), phenotype_data = create_phenotype_data_filename( phe_filename = get_plinkr_filename("demo_assoc_qt.phe") ) ) assoc_qt_filenames <- assoc_qt(assoc_qt_data = assoc_qt_data) read_plink_qassoc_file(assoc_qt_filenames$qassoc_filenames[1])
assoc_qt_data <- create_assoc_qt_data( data = create_plink_bin_filenames( bed_filename = get_plinkr_filename("demo_assoc_qt.bed"), bim_filename = get_plinkr_filename("demo_assoc_qt.bim"), fam_filename = get_plinkr_filename("demo_assoc_qt.fam") ), phenotype_data = create_phenotype_data_filename( phe_filename = get_plinkr_filename("demo_assoc_qt.phe") ) ) assoc_qt_filenames <- assoc_qt(assoc_qt_data = assoc_qt_data) read_plink_qassoc_file(assoc_qt_filenames$qassoc_filenames[1])
plinkr
can seamlessly use PLINK
/PLINK2
in-memory-data or files.
assoc_qt_data <- create_demo_assoc_qt_data() # Prove that this is PLINK text data check_plink_text_data(assoc_qt_data$data) assoc_qt_params <- create_test_assoc_qt_params() assoc_qt( assoc_qt_data = assoc_qt_data, assoc_qt_params = assoc_qt_params )
To convert the in-memory data to PLINK binary format and do the same quantitative trait analysis:
assoc_qt_data$data <- convert_plink_text_data_to_plink_bin_data( assoc_qt_data$data ) # Prove that this is PLINK binary data check_plink_bin_data(assoc_qt_data$data) assoc_qt( assoc_qt_data = assoc_qt_data, assoc_qt_params = assoc_qt_params )
demo_assoc_qt
for a walk-through of
the data that is simulated by defaultcreate_demo_assoc_qt_params
for many
examples how data can be simulatedplinkr
can read and save many types of PLINK files.
Below is an overview.
List from the PLINK file format reference.
File extension |plink
read function
--------------------|--------------------------
.adjusted
|read_plink_adjusted_file
.allele.no.snp
|:construction:
.assoc
|read_plink_assoc_file
.assoc.adjusted
|read_plink_assoc_adjusted_file
.assoc.dosage
|:construction:
.assoc.fisher
|:construction:
.assoc.linear
|:construction:
.assoc.logistic
|:construction:
.auto.R
|:construction:
.bcf
|:construction:
.beagle.dat
|:construction:
.bed
|read_plink_bed_file
.bim
|read_plink_bin_file
PLINK binary data |read_plink_bin_data
PLINK2 binary data |read_plink2_bin_data
.blocks*
|:construction:
.chr-*.dat
|:construction:
.chr-*.map
|:construction:
.clst
|:construction:
.clumped*
|:construction:
.cluster*
|:construction:
.cmh
|:construction:
.cmh2
|:construction:
.cnv
|:construction:
.cnv.indiv
|:construction:
.cnv.overlap
|:construction:
.cnv.summary
|:construction:
.cov
|read_plink_cov_file
.dfam
|:construction:
.diff
|:construction:
.dist
|:construction:
.dupvar
|:construction:
.eigenval
|read_plink_eigenval_file
.eigenvec
|read_plink_eigenvec_file
.eigenvec*
|:construction:
.epi.*
|:construction:
.fam
|read_plink_fam_file
.flipscan
|:construction:
.frq
|read_plink_frq_file
.frq.cc
|:construction:
.frq.count
|:construction:
.frq.strat
|read_plink_frq_strat_file
.frqx
|:construction:
.fst
|:construction:
.gen
|:construction:
.genome
|:construction:
.grm
|:construction:
.grm.N.bin
|:construction:
.grm.bin
|:construction:
.gvar
|:construction:
.het
|:construction:
.hh
|:construction:
.hom
|:construction:
.hom.indiv
|:construction:
.hom.overlap*
|:construction:
.hom.summary
|:construction:
.homog
|:construction:
.hwe
|:construction:
.ibc
|:construction:
.imiss
|read_plink_imiss_file
.info
|:construction:
.lasso
|:construction:
.ld
|read_plink_ld_file
.ldset
|:construction:
.lgen
|:construction:
.list
|:construction:
.lmiss
|read_plink_lmiss_file
.log
|read_plink_log_file
.map
|read_plink_map_file
.mdist
|:construction:
.mdist.missing
|:construction:
.mds
|:construction:
.*mendel
|:construction:
.meta
|:construction:
.mibs
|:construction:
.missing
|:construction:
.missing.hap
|:construction:
.model
|:construction:
.mperm
|:construction:
.nearest
|:construction:
.occur.dosage
|:construction:
.out.dosage
|:construction:
.ped
|read_plink_ped_file
.perm
|:construction:
.phe
|read_plink_phe_file
.pphe
|:construction:
.prob
|:construction:
.profile
|:construction:
.qassoc
|read_plink_qassoc_file
.qassoc.gxe
|:construction:
.qassoc.means
|:construction:
.qfam.*
|:construction:
.range.report
|:construction:
.raw
|:construction:
.recode.*.txt
|:construction:
.recode.phase.inp
|:construction:
.recode.strct_in
|:construction:
.ref
|:construction:
.rel
|:construction:
.rlist
|:construction:
.sample
|:construction:
.set
|:construction:
.set.{perm,mperm}
|:construction:
.set.table
|:construction:
.sexcheck
|:construction:
.simfreq
|read_plink_simfreq_file
.tags.list
|:construction:
.tdt
|:construction:
.tdt.poo
|:construction:
PLINK text data |read_plink_text_data
.tfam
|:construction:
.tped
|:construction:
.traw
|:construction:
.twolocus
|:construction:
.var.ranges
|:construction:
.vcf
|:construction:
Association type|Data type |General function |Specialized function
----------------|-----------------|--------------------------|------------------------------------------
Case-control |PLINK1 text data |assoc
|assoc_on_plink_text_data
Case-control |PLINK1 bin data |assoc
|assoc_on_plink_bin_data
Case-control |PLINK2 bin data |assoc
|assoc_on_plink2_bin_data
Case-control |PLINK1 text files|assoc
:construction: |assoc_on_plink_text_files
:construction:
Case-control |PLINK1 bin files |assoc
:construction: |assoc_on_plink_bin_files
:construction:
Case-control |PLINK2 bin files |assoc
:construction: |assoc_on_plink2_bin_files
:construction:
Quantitative |PLINK1 text data |assoc_qt
|assoc_qt_on_plink_text_data
Quantitative |PLINK1 bin data |assoc_qt
|assoc_qt_on_plink_bin_data
Quantitative |PLINK2 bin data |assoc_qt
|assoc_qt_on_plink2_bin_data
Quantitative |PLINK1 text files|assoc_qt
:construction: |assoc_qt_on_plink_text_files
:construction:
Quantitative |PLINK1 bin files |assoc_qt
:construction: |assoc_qt_on_plink_bin_files
:construction:
Quantitative |PLINK2 bin files |assoc_qt
:construction: |assoc_qt_on_plink2_bin_files
:construction:
plinkr
allows to convert between any PLINK and PLINK2 files.
From |To |Function name
-------------------|-------------------|----------------------------------------------
PLINK1 text files |PLINK1 binary files|convert_plink_text_files_to_plink_bin_files
PLINK1 text files |PLINK2 binary files|convert_plink_text_files_to_plink2_bin_files
PLINK1 binary files|PLINK text files |convert_plink_bin_files_to_plink_text_files
PLINK1 binary files|PLINK2 binary files|convert_plink_bin_files_to_plink2_bin_files
PLINK2 binary files|PLINK text files |convert_plink2_bin_files_to_plink_text_files
:construction:
PLINK2 binary files|PLINK binary files |convert_plink2_bin_files_to_plink_bin_files
:construction: |:construction: |:construction:
any type of files |PLINK text files |convert_files_to_plink_text_files
:construction:
any type of files |PLINK1 binary files|convert_files_to_plink_bin_files
:construction:
any type of files |PLINK2 binary files|convert_files_to_plink2_bin_files
:construction:
PLINK1 binary files|SAIGE files |create_bgen_files_for_saige
:construction:
PLINK1 binary files|PLINK2 VCF files |convert_plink_bin_files_to_plink_vcf_files
:construction:
plinkr
allows to convert between any PLINK and PLINK2 data.
From |To |Function name
------------------|------------------|--------------------------------------------
PLINK1 text data |PLINK1 binary data|convert_plink_text_data_to_plink_bin_data
PLINK1 text data |PLINK2 binary data|convert_plink_text_data_to_plink2_bin_data
PLINK1 binary data|PLINK text data |convert_plink_bin_data_to_plink_text_data
:construction:
PLINK1 binary data|PLINK2 binary data|convert_plink_bin_data_to_plink2_bin_data
PLINK2 binary data|PLINK text data |convert_plink2_bin_data_to_plink_text_data
:construction:
PLINK2 binary data|PLINK binary data |convert_plink2_bin_data_to_plink_bin_data
See doc/faq.md
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.