Description Usage Arguments Value Overview of overlaps for GInteractions Description of overlap methods Choice of regions to define overlaps Details for InteractionSet Author(s) See Also Examples
Find overlaps between interactions and linear intervals, between interactions and pairs of intervals, and between interactions and other interactions in a GInteractions or InteractionSet object.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ## S4 method for signature 'GInteractions,GInteractions'
findOverlaps(query, subject, maxgap=-1L, minoverlap=0L,
type=c("any", "start", "end", "within", "equal"),
select=c("all", "first", "last", "arbitrary"),
ignore.strand=TRUE, ..., use.region="both")
## S4 method for signature 'GInteractions,GInteractions'
overlapsAny(query, subject, maxgap=-1L, minoverlap=0L,
type=c("any", "start", "end", "within", "equal"),
ignore.strand=TRUE, ..., use.region="both")
## S4 method for signature 'GInteractions,GInteractions'
countOverlaps(query, subject, maxgap=-1L, minoverlap=0L,
type=c("any", "start", "end", "within", "equal"),
ignore.strand=TRUE, ..., use.region="both")
## S4 method for signature 'GInteractions,GInteractions'
subsetByOverlaps(query, subject, maxgap=-1L, minoverlap=0L,
type=c("any", "start", "end", "within", "equal"),
ignore.strand=TRUE, ..., use.region="both")
|
query, subject |
A Vector, GInteractions or InteractionSet object, depending on the specified method.
At least one of these must be a GInteractions or InteractionSet object.
Also, |
maxgap, minoverlap, type, select |
See |
ignore.strand |
A logical scalar indicating whether strand information in |
... |
Further arguments to pass to |
use.region |
A string specifying the regions to be used to identify overlaps. |
For findOverlaps
, a Hits object is returned if select="all"
, and an integer vector of subject indices otherwise.
For countOverlaps
and overlapsAny
, an integer or logical vector is returned, respectively.
For subsetByOverlaps
, a subsetted object of the same class as query
is returned.
All methods can be applied using a GInteractions as either the query
or subject
, and a Vector as the other argument.
In such cases, the Vector is assumed to represent some region on the linear genome (e.g., GRanges) or set of such regions (GRangesList).
An overlap will be defined between the interval and an GInteractions interaction if either anchor region of the latter overlaps the former.
This is considered to be a one-dimensional overlap, i.e., on the linear genome.
The same methods can be applied using two GInteractions objects as the query
and subject
.
In such cases, a two-dimensional overlap will be computed between the anchor regions of the two objects.
An overlap is defined if each anchor region of the first object overlaps at least one anchor region of the second object,
and each anchor region of the second object overlaps at least one anchor region of the first object, i.e., there are overlapping areas in the two-dimensional interaction space.
If subject
is missing, overlaps will be computed between interactions in query
.
When select="all"
, findOverlaps
returns a Hits object containing overlapping pairs of queries and subjects (or more specifically, their indices in the supplied objects
- see ?findOverlaps
for more details).
For other values of select
, an integer vector is returned with one entry for each element of query
,
which specifies the index of the chosen (first, last or arbitrary) overlapping feature in subject
for that query.
Queries with no overlaps at all are assigned NA
values.
For the other methods, countOverlaps
returns an integer vector indicating the number of elements in subject
that were overlapped by each element in query
.
overlapsAny
returns a logical vector indicating which elements in query
were overlapped by at least one element in subject
.
subsetByOverlaps
returns a subsetted query
containing only those elements overlapped by at least one element in subject
.
For one-dimensional overlaps, use.region="both"
by default such that overlaps with either anchor region are considered.
If use.region="first"
, overlaps are only considered between the interval and the first anchor region.
Similarly, if use.region="second"
, only the second anchor region is used.
Equivalent choices are available for two-dimensional overlaps:
By default, use.region="both"
such that the order of first/second anchor regions in the query and subject is ignored.
This means that the first anchor region in the query can overlap both the first or second anchor regions in the subject.
Similarly, the second anchor region in the query can overlap both the first or ssecond anchor regions in the subject.
If use.region="same"
, overlaps are only considered between the first anchor regions for the query and the subject,
or between the second anchor regions for the query and subject.
Overlaps between the first query region and the second subject region, or the second query region and the first subject region, are ignored.
If use.region="reverse"
, overlaps are only considered between the first anchor regions for the query and the second anchor regions for the subject, and vice versa.
Overlaps between the first query/subject regions or between the second query/subject regions are ignored.
The latter two options tend only to be useful if the order of first/second regions is informative.
Each method can also be applied with InteractionSet objects, and the behaviour is largely the same as that described for GInteractions objects.
For a given InteractionSet object x
, the corresponding method is called on the GInteractions object in the interactions
slot of x
.
The return value is identical to that from calling the method on interactions(x)
, except for subsetByOverlaps
for InteractionSet queries
(which returns a subsetted InteractionSet object, containing only those rows/interactions overlapping the subject
).
Aaron Lun
InteractionSet-class
,
findOverlaps
,
linkOverlaps
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 | example(GInteractions, echo=FALSE)
# Making a larger object, for more overlaps.
Np <- 100
N <- length(regions(gi))
all.anchor1 <- sample(N, Np, replace=TRUE)
all.anchor2 <- sample(N, Np, replace=TRUE)
gi <- GInteractions(all.anchor1, all.anchor2, regions(gi))
# GRanges overlaps:
of.interest <- resize(sample(regions(gi), 2), width=1, fix="center")
findOverlaps(of.interest, gi)
findOverlaps(gi, of.interest)
findOverlaps(gi, of.interest, select="first")
overlapsAny(gi, of.interest)
overlapsAny(of.interest, gi)
countOverlaps(gi, of.interest)
countOverlaps(of.interest, gi)
subsetByOverlaps(gi, of.interest)
subsetByOverlaps(of.interest, gi)
# GRangesList overlaps:
pairing <- GRangesList(first=regions(gi)[1:3], second=regions(gi)[4:6],
third=regions(gi)[7:10], fourth=regions(gi)[15:17])
findOverlaps(pairing, gi)
findOverlaps(gi, pairing)
findOverlaps(gi, pairing, select="last")
overlapsAny(gi, pairing)
overlapsAny(pairing, gi)
countOverlaps(gi, pairing)
countOverlaps(pairing, gi)
subsetByOverlaps(gi, pairing)
subsetByOverlaps(pairing, gi)
# GInteractions overlaps (split into two):
first.half <- gi[1:(Np/2)]
second.half <- gi[Np/2+1:(Np/2)]
findOverlaps(first.half, second.half)
findOverlaps(first.half, second.half, select="arbitrary")
overlapsAny(first.half, second.half)
countOverlaps(first.half, second.half)
subsetByOverlaps(first.half, second.half)
findOverlaps(gi)
countOverlaps(gi)
overlapsAny(gi) # trivial result
#################
# Same can be done for an InteractionSet object:
Nlibs <- 4
counts <- matrix(rpois(Nlibs*Np, lambda=10), ncol=Nlibs)
colnames(counts) <- seq_len(Nlibs)
iset <- InteractionSet(counts, gi)
findOverlaps(of.interest, iset)
findOverlaps(iset, pairing)
findOverlaps(iset[1:(Np/2),], iset[Np/2+1:(Np/2),])
# Obviously returns InteractionSet objects instead
subsetByOverlaps(of.interest, iset)
subsetByOverlaps(iset, pairing)
subsetByOverlaps(iset[1:(Np/2),], iset[Np/2+1:(Np/2),])
# Self-overlaps
findOverlaps(iset)
countOverlaps(iset)
overlapsAny(iset) # trivial result
|
Loading required package: GenomicRanges
Loading required package: stats4
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, cbind, colMeans, colSums, colnames, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, lengths, mapply, match, mget, order, paste, pmax, pmax.int,
pmin, pmin.int, rank, rbind, rowMeans, rowSums, rownames, sapply,
setdiff, sort, table, tapply, union, unique, unsplit, which,
which.max, which.min
Loading required package: S4Vectors
Attaching package: 'S4Vectors'
The following object is masked from 'package:base':
expand.grid
Loading required package: IRanges
Loading required package: GenomeInfoDb
Loading required package: SummarizedExperiment
Loading required package: Biobase
Welcome to Bioconductor
Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.
Loading required package: DelayedArray
Loading required package: matrixStats
Attaching package: 'matrixStats'
The following objects are masked from 'package:Biobase':
anyMissing, rowMedians
Attaching package: 'DelayedArray'
The following objects are masked from 'package:matrixStats':
colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges
The following object is masked from 'package:base':
apply
Hits object with 43 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 1 6
[2] 1 10
[3] 1 12
[4] 1 13
[5] 1 14
... ... ...
[39] 2 30
[40] 2 44
[41] 2 45
[42] 2 76
[43] 2 97
-------
queryLength: 2 / subjectLength: 100
Hits object with 43 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 6 1
[2] 8 2
[3] 10 1
[4] 12 1
[5] 13 1
... ... ...
[39] 91 1
[40] 94 1
[41] 95 1
[42] 97 1
[43] 97 2
-------
queryLength: 100 / subjectLength: 2
[1] NA NA NA NA NA 1 NA 2 NA 1 NA 1 1 1 NA NA NA 2 1 NA NA NA NA 1 1
[26] NA 2 NA 1 2 NA 1 1 1 NA 1 1 1 1 NA NA NA 1 2 2 NA 1 NA 1 1
[51] NA NA 1 NA NA 1 NA NA 1 NA 1 NA NA NA NA NA NA 1 NA NA NA NA NA 1 NA
[76] 2 NA NA NA NA NA NA 1 1 1 NA NA 1 1 NA 1 NA NA 1 1 NA 1 NA NA NA
[1] FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
[13] TRUE TRUE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE
[25] TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE
[37] TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE
[49] TRUE TRUE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE TRUE FALSE
[61] TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
[73] FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
[85] TRUE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE TRUE FALSE
[97] TRUE FALSE FALSE FALSE
[1] TRUE TRUE
[1] 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1
[38] 1 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1
[75] 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 2 0 0 0
[1] 35 8
GInteractions object with 42 interactions and 0 metadata columns:
seqnames1 ranges1 seqnames2 ranges2
<Rle> <IRanges> <Rle> <IRanges>
[1] chrB [83, 96] --- chrA [76, 89]
[2] chrB [10, 28] --- chrB [46, 62]
[3] chrA [ 9, 18] --- chrA [77, 94]
[4] chrA [76, 82] --- chrA [32, 39]
[5] chrA [36, 56] --- chrA [77, 94]
... ... ... ... ... ...
[38] chrA [76, 82] --- chrA [69, 88]
[39] chrA [76, 89] --- chrA [ 8, 24]
[40] chrA [76, 82] --- chrA [50, 66]
[41] chrA [ 8, 24] --- chrA [77, 94]
[42] chrB [46, 62] --- chrA [76, 82]
-------
regions: 30 ranges and 0 metadata columns
seqinfo: 2 sequences from an unspecified genome; no seqlengths
GRanges object with 2 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chrA [82, 82] *
[2] chrB [54, 54] *
-------
seqinfo: 2 sequences from an unspecified genome; no seqlengths
Hits object with 176 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 1 10
[2] 1 14
[3] 1 15
[4] 1 20
[5] 1 21
... ... ...
[172] 4 93
[173] 4 94
[174] 4 95
[175] 4 96
[176] 4 97
-------
queryLength: 4 / subjectLength: 100
Hits object with 176 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 2 3
[2] 2 4
[3] 3 3
[4] 3 4
[5] 4 3
... ... ...
[172] 99 1
[173] 99 2
[174] 99 3
[175] 100 1
[176] 100 2
-------
queryLength: 100 / subjectLength: 4
[1] NA 4 4 4 4 4 4 NA 3 4 4 4 4 4 2 3 3 4 4 3 2 4 4 4 4
[26] 4 NA 4 4 NA 3 4 4 4 2 4 4 4 4 NA 3 3 4 4 3 2 4 NA 4 4
[51] 4 3 4 3 2 4 3 3 4 4 4 4 2 3 3 4 4 4 4 NA 3 4 NA 4 NA
[76] 3 4 3 NA 2 3 4 4 4 4 3 NA 4 4 4 4 4 4 4 4 4 4 3 3 2
[1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE
[13] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[25] TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
[37] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
[49] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE
[73] FALSE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE
[85] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[97] TRUE TRUE TRUE TRUE
[1] TRUE TRUE TRUE TRUE
[1] 0 2 2 2 2 1 2 0 1 3 2 3 3 3 2 2 2 2 1 3 2 1 2 3 1 2 0 1 2 0 2 1 3 1 2 3 1
[38] 2 3 0 1 2 1 2 1 2 1 0 1 3 2 3 1 1 2 1 3 2 1 1 1 2 2 1 2 3 2 2 4 0 1 2 0 3
[75] 0 3 2 2 0 2 3 2 1 3 2 1 0 1 1 1 3 1 4 2 3 4 1 3 3 2
[1] 25 39 52 60
GInteractions object with 89 interactions and 0 metadata columns:
seqnames1 ranges1 seqnames2 ranges2
<Rle> <IRanges> <Rle> <IRanges>
[1] chrA [50, 66] --- chrA [59, 72]
[2] chrA [52, 65] --- chrA [59, 72]
[3] chrA [87, 101] --- chrA [52, 65]
[4] chrB [55, 69] --- chrA [59, 76]
[5] chrB [83, 96] --- chrA [76, 89]
... ... ... ... ... ...
[85] chrA [64, 77] --- chrA [ 9, 18]
[86] chrB [46, 62] --- chrA [76, 82]
[87] chrA [22, 36] --- chrA [36, 56]
[88] chrB [55, 69] --- chrA [22, 36]
[89] chrB [30, 36] --- chrA [ 8, 24]
-------
regions: 30 ranges and 0 metadata columns
seqinfo: 2 sequences from an unspecified genome; no seqlengths
GRangesList object of length 4:
$first
GRanges object with 3 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chrA [8, 24] *
[2] chrA [8, 24] *
[3] chrA [9, 18] *
$second
GRanges object with 3 ranges and 0 metadata columns:
seqnames ranges strand
[1] chrA [12, 25] *
[2] chrA [22, 36] *
[3] chrA [26, 36] *
$third
GRanges object with 4 ranges and 0 metadata columns:
seqnames ranges strand
[1] chrA [32, 39] *
[2] chrA [33, 47] *
[3] chrA [36, 56] *
[4] chrA [50, 66] *
...
<1 more element>
-------
seqinfo: 2 sequences from an unspecified genome; no seqlengths
Hits object with 148 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 1 20
[2] 2 1
[3] 2 22
[4] 2 32
[5] 3 1
... ... ...
[144] 50 24
[145] 50 27
[146] 50 32
[147] 50 43
[148] 50 44
-------
queryLength: 50 / subjectLength: 50
[1] 20 1 1 NA 4 9 4 23 NA 45 1 24 32 45 NA 48 28 4 39 50 13 9 21 34 42
[26] 3 NA 42 32 23 48 12 43 39 NA 45 40 1 43 23 4 48 42 4 14 NA 9 37 39 32
[1] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
[13] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[25] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE
[37] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE
[49] TRUE TRUE
[1] 1 3 3 0 4 3 4 1 0 5 3 2 8 6 0 1 2 3 3 1 2 2 3 6 4 3 0 2 8 1 1 4 3 3 0 5 6 7
[39] 3 1 2 1 6 4 2 0 4 2 1 9
GInteractions object with 44 interactions and 0 metadata columns:
seqnames1 ranges1 seqnames2 ranges2
<Rle> <IRanges> <Rle> <IRanges>
[1] chrB [10, 28] --- chrB [17, 33]
[2] chrA [50, 66] --- chrA [59, 72]
[3] chrA [52, 65] --- chrA [59, 72]
[4] chrB [55, 69] --- chrA [59, 76]
[5] chrB [83, 96] --- chrA [76, 89]
... ... ... ... ... ...
[40] chrA [52, 65] --- chrB [46, 62]
[41] chrB [68, 83] --- chrA [76, 89]
[42] chrB [68, 83] --- chrB [30, 36]
[43] chrA [87, 101] --- chrA [69, 88]
[44] chrA [36, 56] --- chrA [76, 89]
-------
regions: 30 ranges and 0 metadata columns
seqinfo: 2 sequences from an unspecified genome; no seqlengths
Hits object with 668 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 1 1
[2] 1 70
[3] 2 2
[4] 2 3
[5] 2 11
... ... ...
[664] 98 98
[665] 99 76
[666] 99 99
[667] 100 20
[668] 100 100
-------
queryLength: 100 / subjectLength: 100
[1] 2 6 6 5 12 6 12 4 1 9 6 7 15 10 3 3 3 10 7 2 3 5 4 10 8
[26] 10 1 6 14 4 3 7 8 7 3 9 11 12 8 4 9 2 11 11 9 3 9 3 5 16
[51] 14 4 9 9 2 6 3 3 5 5 6 11 4 9 2 7 7 11 9 2 4 12 4 7 4
[76] 2 11 3 2 4 2 14 8 10 13 4 3 7 7 6 10 6 10 11 10 9 5 4 2 2
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
Hits object with 43 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 1 6
[2] 1 10
[3] 1 12
[4] 1 13
[5] 1 14
... ... ...
[39] 2 30
[40] 2 44
[41] 2 45
[42] 2 76
[43] 2 97
-------
queryLength: 2 / subjectLength: 100
Hits object with 176 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 2 3
[2] 2 4
[3] 3 3
[4] 3 4
[5] 4 3
... ... ...
[172] 99 1
[173] 99 2
[174] 99 3
[175] 100 1
[176] 100 2
-------
queryLength: 100 / subjectLength: 4
Hits object with 148 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 1 20
[2] 2 1
[3] 2 22
[4] 2 32
[5] 3 1
... ... ...
[144] 50 24
[145] 50 27
[146] 50 32
[147] 50 43
[148] 50 44
-------
queryLength: 50 / subjectLength: 50
GRanges object with 2 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chrA [82, 82] *
[2] chrB [54, 54] *
-------
seqinfo: 2 sequences from an unspecified genome; no seqlengths
class: InteractionSet
dim: 89 4
metadata(0):
assays(1): ''
rownames: NULL
rowData names(0):
colnames(4): 1 2 3 4
colData names(0):
type: GInteractions
regions: 30
class: InteractionSet
dim: 44 4
metadata(0):
assays(1): ''
rownames: NULL
rowData names(0):
colnames(4): 1 2 3 4
colData names(0):
type: GInteractions
regions: 30
Hits object with 668 hits and 0 metadata columns:
queryHits subjectHits
<integer> <integer>
[1] 1 1
[2] 1 70
[3] 2 2
[4] 2 3
[5] 2 11
... ... ...
[664] 98 98
[665] 99 76
[666] 99 99
[667] 100 20
[668] 100 100
-------
queryLength: 100 / subjectLength: 100
[1] 2 6 6 5 12 6 12 4 1 9 6 7 15 10 3 3 3 10 7 2 3 5 4 10 8
[26] 10 1 6 14 4 3 7 8 7 3 9 11 12 8 4 9 2 11 11 9 3 9 3 5 16
[51] 14 4 9 9 2 6 3 3 5 5 6 11 4 9 2 7 7 11 9 2 4 12 4 7 4
[76] 2 11 3 2 4 2 14 8 10 13 4 3 7 7 6 10 6 10 11 10 9 5 4 2 2
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.