knitr::opts_chunk$set( collapse = FALSE, error=FALSE, message=FALSE, warning=FALSE, comment = "#>" )
library(gwhap) library(data.table) library(readr)
See vignette "Part2-Blocks" for computing haplotype blocks
See vignette "Ressources" for phased data file formats
SNP alleles on individual chromosome are stored as 0/1. Haplotype blocks locations are given in the " ranges" argument TODO : propose a link function from "blocks" dataframe to "ranges" argument
toy_bgen_fn <- system.file("extdata", "haplotypes.bgen",package="gwhap", mustWork=TRUE) phased_dl.bgen = phased_data_loader.bgen(toy_bgen_fn) ranges = data.frame(chromosome = "1", start = 1, end = 3) getDiploHaplo(phased_dl.bgen, ranges=ranges)
samples_selected = c("sample_1","sample_2","sample_3") getDiploHaplo(phased_dl.bgen, samples_selected = samples_selected, ranges=ranges)
haplotypes.bgen = determine_haplotypes_per_bloc(phased_dl.bgen, chromosome="1", start=1, end=3, sample_iid=samples_selected, sample_bgen_iid_code=samples_selected) haplotypes.bgen
blocks=data.frame(chr=c("1","1"), start_bp=c(1,3), end_bp=c(2,4)) for (row in 1:nrow(blocks)) { haplotypes.bgen = determine_haplotypes_per_bloc(phased_dl.bgen, chromosome=blocks$chr[row], start=blocks$start_bp[row], end=blocks$end_bp[row], sample_iid=samples_selected, sample_bgen_iid_code=samples_selected) print(head(haplotypes.bgen)) }
** TODO : start & end arguments are not respected in determine_haplotype for shapeit format
toy_hap_fn <- system.file("extdata", "haplotypes.haps" ,package="gwhap", mustWork=TRUE) phased_dl.haps = phased_data_loader.haps(toy_hap_fn) for (row in 1:nrow(blocks)) { ranges = data.frame(chromosome = blocks$chr[row], start = blocks$start_bp[row], end = blocks$end_bp[row]) print(getDiploHaplo(phased_dl.bgen, ranges=ranges, samples_selected = samples_selected)) haplotypes.bgen = determine_haplotypes_per_bloc(phased_dl.haps, chromosome=blocks$chr[row], start=blocks$start_bp[row], end=blocks$end_bp[row], sample_iid=samples_selected, sample_bgen_iid_code=samples_selected) print(head(haplotypes.bgen)) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.