Package 'asciiruler'

Title: Render an ASCII Ruler
Description: An ASCII ruler is for measuring text and is especially useful for sequence analysis. Included in this package are methods to create ASCII rulers and associated GenBank sequence blocks, multi-column text displays that make it easy for viewers to locate nucleotides by position.
Authors: Jeremy Leipzig <[email protected]>
Maintainer: Jeremy Leipzig <[email protected]>
License: GPL-3 | file LICENSE
Version: 0.2
Built: 2024-08-30 03:36:49 UTC
Source: https://github.com/leipzig/asciiruler

Help Index


Generate an ascii ruler

Description

'

'   v borders
'   +-----------------------------------------------------------------+<-borders
'   |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||<-dense_ticks
'   |  |    |    |    |    |    |    |    |    |    |    |    |    |  |<-sparse_ticks
'   |-30       -20       -10         0         10        20        30 |
'   +-----------------------------------------------------------------+<-borders
'   

Usage

asciiruler(low = 0L, high = 50L, sparse_ticks = 5L, dense_ticks = TRUE,
  block_space = 0L, borders = FALSE, numbers_down = TRUE,
  line_break = "\n", strict_width = FALSE)

default.asciiruler(x)

Arguments

low

the range start, can be negative

high

the range end, can be negative

sparse_ticks

intermittent ticks appear every sparse_ticks, set to 0 to hide row

dense_ticks

display a row of ticks at every position

block_space

break up the ruler with a space every block_space blocks encountered, a multiple of sparse_ticks, set to 0 to disable

borders

display borders

numbers_down

display the ruler so the numbers are below the ticks

line_break

the line break character(s)

strict_width

hide numbers whose display would force the ruler to be wider than width(high-low)

x

the asciiruler

Value

asciiruler object with the following slots:

output

delimited ruler string ready to cat

content

vector of lines comprising the ruler

width

width of ruler

leftmargin

position of the first tick relative to the left edge of the ruler

References

Inspired by http://codegolf.stackexchange.com/questions/4910/ascii-ruler-generation

Examples

asciiruler(low=-30,high=30,borders=TRUE)

Generate a GenBank sequence block

Description

'

'     1    6     11   16    21   26    31   36    41   46    51   56   
'     |    |     |    |     |    |     |    |     |    |     |    |    
'     |||||||||| |||||||||| |||||||||| |||||||||| |||||||||| ||||||||||
'   1 GATCACAGGT CTATCACCCT ATTAACCACT CACGGGAGCT CTCCATGCAT TTGGTATTTT
'  61 CGTCTGGGGG GTGTGCACGC GATAGCATTG CGAGACGCTG GAGCCGGAGC ACCCTATGTC
' 121 GCAGTATCTG TCTTTGATTC CTGCCCCATC CTATTATTTA TCGCACCTAC GTTCAATATT
' 181 ACAGGCGAAC ATACTTACTA AAGTGTGTTA ATTAATTAAT GCTTGTAGGA CATAATAATA
' 241 ACAATTGAAT GTCTGCACAG CCGCTTTCCA CACAGACATC ATAACAAAAA ATTTCCACCA
' 301 AACCCCCCCT CCCCCGCTTC TGGCCACAGC ACTTAAACAC ATCTCTGC
' 

Usage

genbank_seqblock(string, start = 1L, end = 0L, blocksize = 10L,
  width = 60L, sep = " ", line_break = "\n", ruler = TRUE, ...)

Arguments

string

the sequence string to display

start

the substring start, should be 1 or greater

end

substring end, should be >start, negative to trim

blocksize

number of characters in each block

width

width of the sequence block

sep

space character between blocks

line_break

the line break character(s)

ruler

display an ascii ruler

...

additional arguments passed to asciiruler

Value

delimited GenBank block string ready to cat

Examples

my_sequence<-'GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGCATTTGGTATTTTCGTCTGGGGG
GTATGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTCGCAGTATCTGTCTTTGATTC
CTGCCTCATCCTATTATTTATCGCACCTACGTTCAATATTACAGGCGAACATACTTACTAAAGTGTGTTA
ATTAATTAATGCTTGTAGGACATAATAATAACAATTGAATGTCTGCACAGCCACTTTCCACACAGACATC'
my_seqblock<-genbank_seqblock(my_sequence)
cat(my_seqblock)

Print an asciiruler

Description

Print an asciiruler

Usage

## S3 method for class 'asciiruler'
print(x, ...)

Arguments

x

the asciiruler

...

additional arguments


Get the total width of an ascii ruler

Description

Get the total width of an ascii ruler

Usage

width(x, ...)

Arguments

x

the asciiruler

...

additional arguments