View source: R/utils_imports.R
import.ofst | R Documentation |
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
import.ofst(file, strandMode = 0, seqinfo = NULL)
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. |
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
a GAlignment, GAlignmentPairs or GRanges object, dependent of if cigar/cigar1 is defined in .ofst file.
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.