import.ofst {ORFik} | R Documentation

## Load GRanges / GAlignments object from .ofst

### Description

A much faster way to store, load and use bam files.
.ofst is ORFik fast serialized object, an optimized format for coverage reads with cigar and replicate number. It uses the fst format as back-end: `fst-package`.
A .ofst ribo seq file can compress the information in a bam file from 5GB down to a few MB. This new files has super fast reading time, only a few seconds, instead of minutes. It also has random index access possibility of the file.
.ofst is represented as a data.frane format with minimum 4 columns:
1. chromosome
2. start (left most position)
3. strand (+, -, *)
4. width (not added if cigar exists)
5. cigar (not needed if width exists): (cigar # M's, match/mismatch total)
5. score: duplicates of that read
6. size: qwidth according to reference of read
If file is from `GAlignmentPairs`, it will contain a cigar1, cigar2 instead of cigar and start1 and start2 instead of start

### Usage

    import.ofst(file, strandMode = 0, seqinfo = NULL)

### Arguments

`file` | a path to a .ofst file
`strandMode` | numeric, default 0. Only used for paired end bam files. One of (0: strand = *, 1: first read of pair is +, 2: first read of pair is -). See ?strandMode. Note: Sets default to 0 instead of 1, as readGAlignmentPairs uses 1. This is to guarantee hits, but will also make mismatches of overlapping transcripts in opposite directions.
`seqinfo` | Seqinfo object, defaul NULL (created from ranges). Add to avoid warnings later on differences in seqinfo.

### Details

Other columns can be named whatever you want and added to meta columns. Positions are 1-based, not 0-based as .bed. Import with import.ofst

### Value

a GAlignment, GAlignmentPairs or GRanges object, dependent of if cigar/cigar1 is defined in .ofst file.

### Examples

    ## GRanges
    gr <- GRanges("1:1-3:-")
    tmp <- file.path(tempdir(), "path.ofst")
    # export.ofst(gr, file = tmp)
    # import.ofst(tmp)
    ## GAlignment
    # Make input data.frame
    df <- data.frame(seqnames = "1", cigar = "3M", start = 1L, strand = "+")
    ga <- ORFik:::getGAlignments(df)
    # export.ofst(ga, file = tmp)
    # import.ofst(tmp)

[Package ORFik version 1.14.7 Index]