| remove_na {tidysq} | R Documentation |
Remove sequences that contain NA values
Description
This function replaces sequences with NA values by
empty (NULL) sequences or removes NA values from sequences
in an sq object.
Usage
remove_na(x, by_letter = FALSE, ...)
## S3 method for class 'sq'
remove_na(x, by_letter = FALSE, ..., NA_letter = getOption("tidysq_NA_letter"))
Arguments
x |
[ |
by_letter |
[ |
... |
further arguments to be passed from or to other methods. |
NA_letter |
[ |
Details
NA may be introduced as a result of using functions like
substitute_letters or bite. They can also appear
in sequences if the user reads FASTA file using read_fasta or
constructs sq object from character vector with
sq function without safe_mode turned on - and there are
letters in file or strings other than specified in the alphabet.
remove_na() is used to filter out sequences or elements that have
NA value(s). By default, if any letter in a sequence is NA,
then whole sequence is replaced by empty (NULL) sequence. However, if
by_letter parameter is set to TRUE, then sequences are
only shortened by excluding NA values.
Value
An sq object with the same type as the
input type. Sequences that do not contain any NA values are left
unchanged.
See Also
Functions that clean sequences:
is_empty_sq(),
remove_ambiguous()
Examples
# Creating objects to work on:
sq_ami <- sq(c("MIAANYTWIL","TIAALGNIIYRAIE", "NYERTGHLI", "MAYXXXIALN"),
alphabet = "ami_ext")
sq_dna <- sq(c("ATGCAGGA", "GACCGAACGAN", "TGACGAGCTTA", "ACTNNAGCN"),
alphabet = "dna_ext")
# Substituting some letters with NA
sq_ami_sub <- substitute_letters(sq_ami, c(E = NA_character_, R = NA_character_))
sq_dna_sub <- substitute_letters(sq_dna, c(N = NA_character_))
# Biting sequences out of range
sq_bitten <- bite(sq_ami, 1:15)
# Printing the sequences
sq_ami_sub
sq_dna_sub
# Removing sequences containing NA
remove_na(sq_ami_sub)
remove_na(sq_dna_sub)
remove_na(sq_bitten)
# Removing only NA elements
remove_na(sq_ami_sub, by_letter = TRUE)
remove_na(sq_dna_sub, TRUE)
remove_na(sq_bitten, TRUE)