IBDsegment-class: IBDsegment instances and methods

Description Usage Arguments Details Value Slots Constructor Accessors Signatures Author(s) References See Also Examples

Description

IBDsegment is a class to store characteristics of an IBD segment in one of its instances. Characteristics of an IBD segment include its genomic position, its length, the individuals/chromosomes that belong to it, the tagSNVs that tag/mark it, etc.

Usage

1
2
3
4
5
6
7
8
## S4 method for signature 'IBDsegment'
plot(x,filename, ...)

## S4 method for signature 'IBDsegment'
plotLarger(x,filename,fact=1.0,addSamp=c(), ...)

## S4 method for signature 'IBDsegment'
summary(object, ...) 

Arguments

x

object of the class IBDsegment.

object

object of the class IBDsegment.

filename

filename of the file that contains the genotyping data. Call of readSamplesSpfabia from the package fabia to read genotype data for the plot. ATTENTION: without file type ".txt"!

fact

factor by which the IBD segment is extended. The extension is done both at the left and at the right hand side.

addSamp

vector giving additional individuals, e.g. for adding 10 individuals out of N the code sample(N,10) may be used.

...

further arguments.

Details

plot

Plots an IBD segment where the SNVs within the cluster are shown. In the plot the $y$-axis gives the individuals or the chromosomes and the $x$-axis consecutive SNVs. Minor alleles of tagSNVs are marked by a particular color. Minor alleles of other SNVs (private, common, from other clusters, etc) are marked by a different color. The model from fabia is also shown. The default color coding uses yellow for major alleles, violet for minor alleles of tagSNVs, and blue for minor alleles of other SNVs. model L indicates tagSNVs identified by hapFabia in violet.

plotLarger

Plots an IBD segment where the SNVs within the cluster are shown, however additional individuals that do not possess the IBD segment can be added. Further the range can be increased by a certain factor. Additional arguments are fact and addSamp. fact gives the factor by which the IBD segment should be extended to both the left and the right. addSamp is a vector of individuals/haplotypes which are added to the individuals that possess the IBD segment. The plot allows to view the IBD segment in the context of its DNA location and additional individuals.

summary

Prints the ID of the IBD segment, the bicluster it is derived from, the chromosome and position where it is located, its length, the number of individuals/chromosomes that belong to it, the number of tagSNVs that mark it.

Implementation in R.

Value

no value.

Slots

Objects of class IBDsegment have the following slots:

ID

number of the IBD segment in the current extraction.

bicluster_id

ID of the bicluster the IBD segment was found in.

chromosome

the chromosome.

IBDsegmentPos

genomic location of the IBD segment.

IBDsegmentLength

length of the IBD segment in the number of SNVs. For the length in bp: max(tagSNVPositions(x))-min(tagSNVPositions(x)).

numberIndividuals

number of samples belonging to the IBD segment.

numbertagSNVs

number tagSNVs marking the IBD segment.

individuals

IDs of individuals or chromosomes belonging to the IBD segment.

tagSNVs

IDs of SNVs that mark the IBD segment (tagSNVs).

populationIndividuals

the population each individual belongs to.

idIndividuals

IDs of the individuals or chromosomes.

labelIndividuals

label of the individuals.

platformIndividuals

for each individual the technology/platform that was used to genotype it.

coreClusterIndividuals

IDs of individuals that constitute the core of the IBD segment.

tagSNVPositions

physical positions of the tagSNVs on the chromosome in base pairs.

tagSNVAlleles

alleles of the tagSNVs in the form Ref:Alt where Ref denotes reference allele and Alt the alternative allele.

tagSNVNames

name of the tagSNVs according to a given annotation.

tagSNVFreq

frequency of tagSNVs in the whole data set.

tagSNVGroupFreq

frequency of tagSNVs in the population that is considered.

tagSNVChange

if the minor allele was more frequent than the major, then both were switched. Switching is marked by a 1 and otherwise it is 0.

tagSNVsPerIndividual

for each sample: tagSNVs are counted for which the sample has the minor allele.

individualPerTagSNV

for each tagSNV: samples are counted for which the SNV has its minor allele.

tagSNVAnno

the functional annotation of tagSNVs for each tagSNV: like stop-loss, stop-gain, non-synonymous, synonymous, promoter, exonic, intronic, intergenic, etc.

Constructor

Constructor of class IBDsegment.

IBDsegment(ID=0,bicluster_id=0,chromosome="",IBDsegmentPos=0,IBDsegmentLength=0,numberIndividuals=0,numbertagSNVs=0,individuals=as.vector(0),tagSNVs=as.vector(0),populationIndividuals=as.vector(""),idIndividuals=as.vector(0),labelIndividuals=as.vector(""),platformIndividuals=as.vector(""),coreClusterIndividuals=as.vector(0),tagSNVPositions=as.vector(0),tagSNVAlleles=as.vector(""),tagSNVNames=as.vector(""),tagSNVFreq=as.vector(0),tagSNVGroupFreq=as.vector(0),tagSNVChange=as.vector(0),tagSNVsPerIndividual=as.vector(0),individualPerTagSNV=as.vector(0),tagSNVAnno=as.vector(c(list(""))))

Accessors

In the following x denotes an IBDsegment object.

ID(x), ID(x) <- value: Returns or sets ID, where the return value and value are both numeric.

bicluster_id(x), bicluster_id(x) <- value: Returns or sets bicluster_id, where the return value and value are both numeric.

chromosome(x), chromosome(x) <- value: Returns or sets chromosome, where the return value and value are both strings.

IBDsegmentPos(x), IBDsegmentPos(x) <- value: Returns or sets IBDsegmentPos, where the return value and value are both numeric.

IBDsegmentLength(x), IBDsegmentLength(x) <- value: Returns or sets IBDsegmentLength, where the return value and value are both numeric.

numberIndividuals(x), numberIndividuals(x) <- value: Returns or sets numberIndividuals, where the return value and value are both numeric.

numbertagSNVs(x), numbertagSNVs(x) <- value: Returns or sets numbertagSNVs, where the return value and value are both numeric.

individuals(x), individuals(x) <- value: Returns or sets individuals, where the return value and value are both vectors.

tagSNVs(x), tagSNVs(x) <- value: Returns or sets tagSNVs, where the return value and value are both vectors.

populationIndividuals(x), populationIndividuals(x) <- value: Returns or sets populationIndividuals, where the return value and value are both vectors.

idIndividuals(x), idIndividuals(x) <- value: Returns or sets idIndividuals, where the return value and value are both vectors.

labelIndividuals(x), labelIndividuals(x) <- value: Returns or sets labelIndividuals, where the return value and value are both vectors.

platformIndividuals(x), platformIndividuals(x) <- value: Returns or sets platformIndividuals, where the return value and value are both vectors.

coreClusterIndividuals(x), coreClusterIndividuals(x) <- value: Returns or sets coreClusterIndividuals, where the return value and value are both vectors.

tagSNVPositions(x), tagSNVPositions(x) <- value: Returns or sets tagSNVPositions, where the return value and value are both vectors.

tagSNVAlleles(x), tagSNVAlleles(x) <- value: Returns or sets tagSNVAlleles, where the return value and value are both vectors.

tagSNVNames(x), tagSNVNames(x) <- value: Returns or sets tagSNVNames, where the return value and value are both vectors.

tagSNVFreq(x), tagSNVFreq(x) <- value: Returns or sets tagSNVFreq, where the return value and value are both vectors.

tagSNVGroupFreq(x), tagSNVGroupFreq(x) <- value: Returns or sets tagSNVGroupFreq, where the return value and value are both vectors.

tagSNVChange(x), tagSNVChange(x) <- value: Returns or sets tagSNVChange, where the return value and value are both vectors.

tagSNVsPerIndividual(x), tagSNVsPerIndividual(x) <- value: Returns or sets tagSNVsPerIndividual, where the return value and value are both vectors.

individualPerTagSNV(x), individualPerTagSNV(x) <- value: Returns or sets individualPerTagSNV, where the return value and value are both vectors.

tagSNVAnno(x), tagSNVAnno(x) <- value: Returns or sets tagSNVAnno, where the return value and value are both vectors.

Signatures

plot

signature(x = "IBDsegment", y = "missing")

Plot of an IBD segment, where tagSNVs, minor and major alleles are plotted.

plotLarger

signature(x="IBDsegment", filename="character",fact="numeric",addSamp="ANY")

Plot of an IBD segment with additional individuals and the IBD segment extended to the left and to the right.

summary

signature(object = "IBDsegment")

Summary of IBD segment object.

Author(s)

Sepp Hochreiter

References

S. Hochreiter et al., ‘FABIA: Factor Analysis for Bicluster Acquisition’, Bioinformatics 26(12):1520-1527, 2010.

See Also

IBDsegment-class, IBDsegmentList-class, analyzeIBDsegments, compareIBDsegmentLists, extractIBDsegments, findDenseRegions, hapFabia, hapFabiaVersion, hapRes, chr1ASW1000G, IBDsegmentList2excel, identifyDuplicates, iterateIntervals, makePipelineFile, matrixPlot, mergeIBDsegmentLists, mergedIBDsegmentList, plotIBDsegment, res, setAnnotation, setStatistics, sim, simu, simulateIBDsegmentsFabia, simulateIBDsegments, split_sparse_matrix, toolsFactorizationClass, vcftoFABIA

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
old_dir <- getwd()
setwd(tempdir())

data(hapRes)
data(simu)
namesL <- simu[["namesL"]]
haploN <- simu[["haploN"]]
snvs <- simu[["snvs"]]
annot <- simu[["annot"]]
alleleIimp <- simu[["alleleIimp"]]
write.table(namesL,file="dataSim1fabia_individuals.txt",
   quote = FALSE,row.names = FALSE,col.names = FALSE)
write(as.integer(haploN),file="dataSim1fabia_annot.txt",
   ncolumns=100)
write(as.integer(snvs),file="dataSim1fabia_annot.txt",
   append=TRUE,ncolumns=100)
write.table(annot,file="dataSim1fabia_annot.txt",
   sep = " ", quote = FALSE,row.names = FALSE,
   col.names = FALSE,append=TRUE)
write(as.integer(haploN),file="dataSim1fabia_mat.txt",
   ncolumns=100)
write(as.integer(snvs),file="dataSim1fabia_mat.txt",
   append=TRUE,ncolumns=100)

for (i in 1:haploN) {

  a1 <- which(alleleIimp[i,]>0.01)

  al <- length(a1)
  b1 <- alleleIimp[i,a1]

  a1 <- a1 - 1
  dim(a1) <- c(1,al)
  b1 <- format(as.double(b1),nsmall=1)
  dim(b1) <- c(1,al)

  write.table(al,file="dataSim1fabia_mat.txt",
    sep = " ", quote = FALSE,row.names = FALSE,
    col.names = FALSE,append=TRUE)
  write.table(a1,file="dataSim1fabia_mat.txt",
    sep = " ", quote = FALSE,row.names = FALSE,
    col.names = FALSE,append=TRUE)
  write.table(b1,file="dataSim1fabia_mat.txt",
    sep = " ", quote = FALSE,row.names = FALSE,
    col.names = FALSE,append=TRUE)

}

mergedIBDsegmentList <- hapRes$mergedIBDsegmentList

IBDsegment <- mergedIBDsegmentList[[1]]


# Summary method
summary(IBDsegment)


# Plot method
plot(IBDsegment,filename="dataSim1fabia_mat")

# Extended plot: more examples and borders 
plotLarger(IBDsegment,filename="dataSim1fabia_mat",3,sample(100,10))


# ACCESSORS 

# IDs of the IBD segment
   ID(IBDsegment)
   bicluster_id(IBDsegment)

# General Information
    IBDsegmentPos(IBDsegment)
    IBDsegmentLength(IBDsegment)
    numberIndividuals(IBDsegment)
    numbertagSNVs(IBDsegment)
    coreClusterIndividuals(IBDsegment)

# Information on individuals / chromosomes
    individuals(IBDsegment)
    populationIndividuals(IBDsegment)
    idIndividuals(IBDsegment)
    labelIndividuals(IBDsegment)
    platformIndividuals(IBDsegment)
    tagSNVsPerIndividual(IBDsegment)

# Information on tagSNVs
    tagSNVs(IBDsegment)
    tagSNVPositions(IBDsegment)
    tagSNVAlleles(IBDsegment)
    tagSNVNames(IBDsegment)
    tagSNVFreq(IBDsegment)
    tagSNVGroupFreq(IBDsegment)
    tagSNVChange(IBDsegment)
    individualPerTagSNV(IBDsegment)
    tagSNVAnno(IBDsegment)


setwd(old_dir)

hapFabia documentation built on Nov. 8, 2020, 5:17 p.m.