Scans a sorted GBreaks
object and issues a flag describing the relation
between the current entry and the next entry.
Arguments
- gb
A
GBreaks()
object.
Value
Returns the GBreaks
object with an extra pairs
metadata column.
This pairs
column is a factor of all flags, so that table(gb$pairs)
always returns a vector of the same length, reporting 0
when necessary.
This allows to easily aggregate results from multiple objects.
Details
Because the object is sorted, the next entry on the target genome is by
definition following the current one unless the end of the sequence feature
(contig, scaffold, …) is reached. The two target ranges can be on the
same strand or on opposite strands. No difference is made between +/-
and -/+
orientations because it will be arbitrary unless the sequence
features of both genomes are oriented, as in the case of comparing
chromosomal assemblies of related species.
Depending on whether the query ranges precede or follow each other, or
are not next to each other, and depending on the strand of the alignments,
a flag is issued on the current entry. Col
signals colinearity with the
next entry, Inv
an inversion on either entry, Flp
signals that the order
of the entries is as if one hand jumped over the other one. When the query
ranges are not next to each other, a Scr
flag, for scrambled, is issued.
Lastly, Bnd
(for boundary) signals that there is no pair to analyse
because the current entry is the last one for the current sequence level on
the target genome.
See also
Other Flagging functions:
flagAll()
,
flagColinearAlignments()
,
flagDoubleInversions()
,
flagInversions()
,
flagLongShort()
,
flagTranslocations()
Other Inversion functions:
filterDoubleInversions()
,
filterInversions()
,
flagDoubleInversions()
,
flagInversions()
,
flipInversions()
,
leftInversionGaps()
,
showInversions()
Other Colinearity functions:
GOC()
,
bridgeRegions()
,
chain_contigs()
,
coalesce_contigs()
,
dist2next()
,
filterColinearRegions()
,
flagColinearAlignments()
Other Structural variants:
StructuralVariants
,
flagDoubleInversions()
,
flagInversions()
,
flagTranslocations()
,
plotApairOfChrs()
Examples
flagPairs(exampleInversion)
#> GBreaks object with 3 ranges and 2 metadata columns:
#> seqnames ranges strand | query pairs
#> <Rle> <IRanges> <Rle> | <GRanges> <factor>
#> [1] chrA 100-190 + | chrB:100-190 Inv
#> [2] chrA 210-291 - | chrB:210-291 Inv
#> [3] chrA 301-400 + | chrB:301-400 Bnd
#> -------
#> seqinfo: 1 sequence from an unspecified genome
flagPairs(exampleTranslocation)
#> GBreaks object with 3 ranges and 2 metadata columns:
#> seqnames ranges strand | query pairs
#> <Rle> <IRanges> <Rle> | <GRanges> <factor>
#> [1] chrA 100-200 + | chrB:100-200 Scr
#> [2] chrA 201-300 + | chrC:201-300 Scr
#> [3] chrA 301-400 + | chrB:301-400 Bnd
#> -------
#> seqinfo: 1 sequence from an unspecified genome
# How the pair classes are defined:
GenomicBreaks:::allPossiblePairClasses
#> Qnext Strnd Snext pair paste
#> 1 next + + Col next + +
#> 2 prev + + Flp prev + +
#> 3 other + + Scr other + +
#> 4 next - + Inv next - +
#> 5 prev - + Inv prev - +
#> 6 other - + Scr other - +
#> 7 next + - Inv next + -
#> 8 prev + - Inv prev + -
#> 9 other + - Scr other + -
#> 10 next - - Flp next - -
#> 11 prev - - Col prev - -
#> 12 other - - Scr other - -