We often (usually) cannot resolve an association to a single causal variant, and one of the aims of GUESSFM is to generate groups of SNPs, one of which is likely to be causal.
The groups
and tags
classes are two ways to represent the same
information, but use different structures which might be more
convenient for one function or another.
library(GUESSFM)
showClass("groups")
## Class "groups" [package "GUESSFM"]
##
## Slots:
##
## Name: .Data tags
## Class: list character
##
## Extends:
## Class "list", from data part
## Class "vector", by class "list", distance 2
## Class "AssayData", by class "list", distance 2
## Class "vectorORfactor", by class "list", distance 3
showClass("tags")
## Class "tags" [package "GUESSFM"]
##
## Slots:
##
## Name: .Data tags
## Class: character character
##
## Extends:
## Class "character", from data part
## Class "vector", by class "character", distance 2
## Class "data.frameRowLabels", by class "character", distance 2
## Class "SuperClassMethod", by class "character", distance 2
## Class "atomicVector", by class "character", distance 2
## Class "index", by class "character", distance 2
## Class "characterORconnection", by class "character", distance 2
## Class "characterORNULL", by class "character", distance 2
## Class "atomic", by class "character", distance 2
## Class "characterORMIAME", by class "character", distance 2
## Class "EnumerationValue", by class "character", distance 2
## Class "characterOrRle", by class "character", distance 2
## Class "vectorORfactor", by class "character", distance 3
Once models have been fitted, we can average over them to find marginal posterior probabilities for each SNP. We make the assumption that SNPs in a group should display the following properties:
snp.picker()
aims to create such groups in an automated manner,
given the summary of a GUESS run and a genotype dataset from which r2
may be calculated. It returns an object of class snppicker
which is
an extension of the groups
class and contains information to allow
plotting of the relationship between r2 and MPI that was used to
define a group.
showClass("snppicker")
## Class "snppicker" [package "GUESSFM"]
##
## Slots:
##
## Name: plotsdata groups
## Class: list list
Plotting an object of class snppicker
should be informative. The
algorithm underlying snp.picker()
has been designed so it is more
likely to err by splitting a single group in two than by joining what
might be two separate groups. If you suspect two groups should be
merged, you can check the assumptions above using check.merge()
, and
perform a merge using group.merge()
.