| Title: | Enhanced string parsing for genomic coordinates |
|---|---|
| Description: | Extends string parsing capabilities for genomic coordinates, supporting various formats including comma-separated numbers, space-delimited coordinates, and automatic detection of GRanges, GPos, and GInteractions objects. |
| Authors: | Jacques Serizay [aut, cre] (ORCID: <https://orcid.org/0000-0002-4295-0624>) |
| Maintainer: | Jacques Serizay <[email protected]> |
| License: | Artistic-2.0 |
| Version: | 1.1.0 |
| Built: | 2026-05-30 08:12:38 UTC |
| Source: | https://github.com/bioc/GenomicCoordinates |
Handle special genomic string formats
.handle_special_formats(x).handle_special_formats(x)
x |
Character string |
Parsed genomic information
Handle various edge cases and special formats in genomic coordinate parsing Detect if a string represents a single genomic position
.is_single_position(x).is_single_position(x)
x |
Character string |
Logical indicating if it's a single position
Converts character strings representing single genomic positions to GPos objects.
as_gpos(.data, ...)as_gpos(.data, ...)
.data |
A character vector of genomic position strings |
... |
Additional arguments (unused) |
A GPos object
as_gpos("chr1:1000") as_gpos("chr1:1,000:+") as_gpos(c("chr1:1000", "chr2:2000", "chr3:3000"))as_gpos("chr1:1000") as_gpos("chr1:1,000:+") as_gpos(c("chr1:1000", "chr2:2000", "chr3:3000"))
Methods to convert character strings to GRanges, GPos, and GInteractions objects with support for various string formats including comma-separated numbers and space-delimited coordinates.
Extensions to IRanges parsing to handle comma-separated numbers and space-delimited coordinates.
## S4 method for signature 'character' as_granges(.data, ..., keep_mcols = TRUE) ## S4 method for signature 'character' as_gpos(.data, ...) ## S4 method for signature 'character' as_ginteractions( .data, ..., keep.extra.columns = TRUE, starts.in.df.are.0based = FALSE ) ## S4 method for signature 'character' as_iranges(.data, ..., keep_mcols = TRUE)## S4 method for signature 'character' as_granges(.data, ..., keep_mcols = TRUE) ## S4 method for signature 'character' as_gpos(.data, ...) ## S4 method for signature 'character' as_ginteractions( .data, ..., keep.extra.columns = TRUE, starts.in.df.are.0based = FALSE ) ## S4 method for signature 'character' as_iranges(.data, ..., keep_mcols = TRUE)
.data |
A character vector of coordinate strings |
... |
Additional arguments (unused) |
keep_mcols |
Ignored for character input (included for generic compatibility with plyranges) |
keep.extra.columns |
Ignored for character input (included for generic compatibility with plyinteractions) |
starts.in.df.are.0based |
Ignored for character input (included for generic compatibility with plyinteractions) |
The appropriate Bioconductor object type
An IRanges object
# GRanges conversion as_granges("chr1:1000-2000") as_granges("chr1:1,000-2,000:+") as_granges(c("chr1:1000-2000", "chr2:3000-4000")) # GPos conversion as_gpos("chr1:1000") as_gpos(c("chr1:1000", "chr2:2000")) # GInteractions conversion as_ginteractions("chr1:1-10|chr2:20-30") as_iranges("1000-2000") as_iranges("1,000-2,000") as_iranges(c("100-200", "300-400"))# GRanges conversion as_granges("chr1:1000-2000") as_granges("chr1:1,000-2,000:+") as_granges(c("chr1:1000-2000", "chr2:3000-4000")) # GPos conversion as_gpos("chr1:1000") as_gpos(c("chr1:1000", "chr2:2000")) # GInteractions conversion as_ginteractions("chr1:1-10|chr2:20-30") as_iranges("1000-2000") as_iranges("1,000-2,000") as_iranges(c("100-200", "300-400"))
Utility function to determine what class a genomic string should be parsed as, without actually performing the parsing.
detect_genomic_class(x)detect_genomic_class(x)
x |
Character string or vector |
Character vector of predicted classes
detect_genomic_class("chr1:1000-2000") detect_genomic_class("chr1:1000") detect_genomic_class(c("chr1:1-10|chr2:20-30", "1000-2000"))detect_genomic_class("chr1:1000-2000") detect_genomic_class("chr1:1000") detect_genomic_class(c("chr1:1-10|chr2:20-30", "1000-2000"))
Automatically parse genomic coordinate strings into the most appropriate Bioconductor object type (GRanges, GPos, GInteractions, or IRanges). Parse strings into appropriate genomic objects
GenomicCoordinates(x, force_class = NULL)GenomicCoordinates(x, force_class = NULL)
x |
Character string or vector of genomic coordinates |
force_class |
Optional class to force ("GRanges", "GPos", "GInteractions", "IRanges") |
This is the main function of the GenomicCoordinates package. It automatically detects the most appropriate object type based on the input string format and returns the corresponding Bioconductor object.
GRanges, GPos, GInteractions, or IRanges object
# Auto-detection examples GenomicCoordinates("chr1:1000-2000") # Returns GRanges GenomicCoordinates("chr1:1000") # Returns GPos GenomicCoordinates("chr1:1-10|chr2:4-40") # Returns GInteractions GenomicCoordinates("1000-2000") # Returns IRanges # Force specific class GenomicCoordinates("chr1:1000", force_class = "GRanges") # Enhanced format support GenomicCoordinates("chr1:100,000-200,000") # Comma-separated GenomicCoordinates("chr1 1000 2000") # Space-delimited# Auto-detection examples GenomicCoordinates("chr1:1000-2000") # Returns GRanges GenomicCoordinates("chr1:1000") # Returns GPos GenomicCoordinates("chr1:1-10|chr2:4-40") # Returns GInteractions GenomicCoordinates("1000-2000") # Returns IRanges # Force specific class GenomicCoordinates("chr1:1000", force_class = "GRanges") # Enhanced format support GenomicCoordinates("chr1:100,000-200,000") # Comma-separated GenomicCoordinates("chr1 1000 2000") # Space-delimited
These generics are re-exported from plyranges and plyinteractions to provide conversion functions for character strings.
as_granges(.data, ..., keep_mcols = TRUE) as_iranges(.data, ..., keep_mcols = TRUE) as_ginteractions( .data, ..., keep.extra.columns = TRUE, starts.in.df.are.0based = FALSE )as_granges(.data, ..., keep_mcols = TRUE) as_iranges(.data, ..., keep_mcols = TRUE) as_ginteractions( .data, ..., keep.extra.columns = TRUE, starts.in.df.are.0based = FALSE )
.data |
Object to convert |
... |
Additional arguments passed to methods |
keep_mcols |
Logical; whether to keep metadata columns (plyranges) |
keep.extra.columns |
Logical; whether to keep extra columns (plyinteractions) |
starts.in.df.are.0based |
Logical; whether starts are 0-based (plyinteractions) |
A Bioconductor object
as_granges("chr1:1000-2000") as_iranges("1000-2000") as_ginteractions("chr1:1-10|chr2:20-30")as_granges("chr1:1000-2000") as_iranges("1000-2000") as_ginteractions("chr1:1-10|chr2:20-30")