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:
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:
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
it will contain a cigar1, cigar2 instead
of cigar and start1 and start2 instead of start
a path to a .ofst file
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.
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.
1 2 3 4 5 6 7 8 9 10 11
## 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.