| ref_genome {jackalope} | R Documentation |
R6 Class Representing a Reference Genome
Description
Interactive wrapper for a pointer to a C++ object that stores reference genome information.
Details
This class should NEVER be created using ref_genome$new.
Only use read_fasta or create_genome.
Because this class wraps a pointer to a C++ object, there are no fields to
manipulate directly.
All manipulations are done through this class's methods.
Methods
Public methods
Method new()
Do NOT use this; only use read_fasta or create_genome to make a
new ref_genome.
Usage
ref_genome$new(genome_ptr)
Arguments
genome_ptrAn
externalptrobject pointing to a C++ object that stores the information about the reference genome.
Method print()
Print a ref_genome object.
Usage
ref_genome$print()
Method ptr()
View pointer to underlying C++ object (this is not useful to end users).
Usage
ref_genome$ptr()
Returns
An externalptr object.
Method n_chroms()
View number of chromosomes.
Usage
ref_genome$n_chroms()
Returns
Integer number of chromosomes.
Method sizes()
View chromosome sizes.
Usage
ref_genome$sizes()
Returns
Integer vector of chromosome sizes.
Method chrom_names()
View chromosome names.
Usage
ref_genome$chrom_names()
Returns
Character vector of chromosome names.
Method chrom()
View one reference chromosome.
Usage
ref_genome$chrom(chrom_ind)
Arguments
chrom_indIndex for the focal chromosome.
Returns
A single string representing the chosen chromosome's DNA sequence.
Method gc_prop()
View GC proportion for part of one reference chromosome.
Usage
ref_genome$gc_prop(chrom_ind, start, end)
Arguments
chrom_indIndex for the focal chromosome.
startPoint on the chromosome at which to start the calculation (inclusive).
endPoint on the chromosome at which to end the calculation (inclusive).
Returns
A double in the range [0,1] representing the proportion of DNA
sequence that is either G or C.
Method nt_prop()
View nucleotide content for part of one reference chromosome
Usage
ref_genome$nt_prop(nt, chrom_ind, start, end)
Arguments
ntWhich nucleotide to calculate the proportion that the DNA sequence is made of. Must be one of
T,C,A,G, orN.chrom_indIndex for the focal chromosome.
startPoint on the chromosome at which to start the calculation (inclusive).
endPoint on the chromosome at which to end the calculation (inclusive).
Returns
A double in the range [0,1] representing the proportion of DNA
sequence that is nt.
Method set_names()
Change chromosome names.
Usage
ref_genome$set_names(new_names)
Arguments
new_namesVector of new names to use. This must be the same length as the number of current names.
Returns
This R6 object, invisibly.
Examples
ref <- create_genome(4, 10)
ref$set_names(c("a", "b", "c", "d"))
Method clean_names()
Clean chromosome names, converting " :;=%,\\|/\"\'" to "_".
Usage
ref_genome$clean_names()
Returns
This R6 object, invisibly.
Examples
ref <- create_genome(4, 10)
ref$set_names(c("a:", "b|", "c;", "d'"))
ref$clean_names()
Method add_chroms()
Add one or more chromosomes.
Usage
ref_genome$add_chroms(new_chroms, new_names = NULL)
Arguments
new_chromsCharacter vector of DNA strings representing new chromosomes.
new_namesOptional character vector of names for the new chromosomes. It should be the same length as
new_chroms. IfNULL, new names will be automatically generated. Defaults toNULL.
Returns
This R6 object, invisibly.
Examples
ref <- create_genome(4, 10)
ref$add_chroms("TCAGTCAG")
Method rm_chroms()
Remove one or more chromosomes by name
Usage
ref_genome$rm_chroms(chrom_names)
Arguments
chrom_namesVector of the name(s) of the chromosome(s) to remove.
Returns
This R6 object, invisibly.
Examples
ref <- create_genome(4, 10)
ref$set_names(c("a", "b", "c", "d"))
ref$rm_chroms("b")
Method merge_chroms()
Merge chromosomes into one.
Usage
ref_genome$merge_chroms(chrom_names)
Arguments
chrom_namesVector of the names of the chromosomes to merge into one. Duplicates are not allowed, and chromosomes are merged in the order they're provided. If this is
NULL, then all chromosomes are merged after first shuffling their order.
Returns
This R6 object, invisibly.
Examples
ref <- create_genome(4, 10) ref$merge_chroms(ref$chrom_names()[1:2]) ref$merge_chroms(NULL)
Method filter_chroms()
Filter chromosomes by size or for a proportion of total bases.
Usage
ref_genome$filter_chroms(threshold, method)
Arguments
thresholdNumber used as a threshold. If
method == "size", then this is the minimum length of a chromosome that will remain after filtering. Ifmethod == "prop", chromosomes are first size-sorted, then the largestNchromosomes are retained that allow at leastthreshold * sum(<all chromosome sizes>)base pairs remaining after filtering.methodString indicating which filter method to use: chromosome size (
method = "size") or proportion of total bases (method = "prop").
Returns
This R6 object, invisibly.
Examples
ref <- create_genome(4, 100, 50) ref$filter_chroms(90, "size") ref$filter_chroms(0.4, "prop")
Method replace_Ns()
Replace Ns in the reference genome.
Usage
ref_genome$replace_Ns(pi_tcag, n_threads = 1, show_progress = FALSE)
Arguments
pi_tcagNumeric vector (length 4) indicating the sampling weights for
T,C,A, andG, respectively, for generating new nucleotides with which to replace theNs.n_threadsOptional integer specifying the threads to use. Ignored if the package wasn't compiled with OpenMP. Defaults to
1.show_progressOptional logical indicating whether to show a progress bar. Defaults to
FALSE.
Returns
This R6 object, invisibly.
See Also
Examples
## ------------------------------------------------
## Method `ref_genome$set_names`
## ------------------------------------------------
ref <- create_genome(4, 10)
ref$set_names(c("a", "b", "c", "d"))
## ------------------------------------------------
## Method `ref_genome$clean_names`
## ------------------------------------------------
ref <- create_genome(4, 10)
ref$set_names(c("a:", "b|", "c;", "d'"))
ref$clean_names()
## ------------------------------------------------
## Method `ref_genome$add_chroms`
## ------------------------------------------------
ref <- create_genome(4, 10)
ref$add_chroms("TCAGTCAG")
## ------------------------------------------------
## Method `ref_genome$rm_chroms`
## ------------------------------------------------
ref <- create_genome(4, 10)
ref$set_names(c("a", "b", "c", "d"))
ref$rm_chroms("b")
## ------------------------------------------------
## Method `ref_genome$merge_chroms`
## ------------------------------------------------
ref <- create_genome(4, 10)
ref$merge_chroms(ref$chrom_names()[1:2])
ref$merge_chroms(NULL)
## ------------------------------------------------
## Method `ref_genome$filter_chroms`
## ------------------------------------------------
ref <- create_genome(4, 100, 50)
ref$filter_chroms(90, "size")
ref$filter_chroms(0.4, "prop")