Create a SQM object containing only the requested ORFs, and the contigs and bins that contain them. Internally, all the other subset functions in this package end up calling subsetORFs
to do the work for them.
subsetORFs(
SQM,
orfs,
tax_source = "orfs",
trusted_functions_only = FALSE,
ignore_unclassified_functions = FALSE,
rescale_tpm = FALSE,
rescale_copy_number = FALSE,
contigs_override = NULL
)
SQM object containing the requested ORFs.
SQM object to be subsetted.
character. Vector of ORFs to be selected.
character. Features used for calculating aggregated abundances at the different taxonomic ranks. Either "orfs"
or "contigs"
(default "orfs"
).
logical. If TRUE
, only highly trusted functional annotations (best hit + best average) will be considered when generating aggregated function tables. If FALSE
, best hit annotations will be used (default FALSE
).
logical. If FALSE
, ORFs with no functional classification will be aggregated together into an "Unclassified" category. If TRUE
, they will be ignored (default FALSE
).
logical. If TRUE
, TPMs for KEGGs, COGs, and PFAMs will be recalculated (so that the TPMs in the subset actually add up to 1 million). Otherwise, per-function TPMs will be calculated by aggregating the TPMs of the ORFs annotated with that function, and will thus keep the scaling present in the parent object (default FALSE
).
logical. If TRUE
, copy numbers with be recalculated using the RecA/RadA coverages in the subset. Otherwise, RecA/RadA coverages will be taken from the parent object. By default it is set to FALSE
, which means that the returned copy numbers for each function will represent the average copy number of that function per genome in the parent object.
character. Optional vector of contigs to be included in the subsetted object.
While this function selects the contigs and bins that contain the desired orfs, it DOES NOT recalculate contig/bin abundance and statistics based on the selected ORFs only. This means that the abundances presented in tables such as SQM$contig$abund
or SQM$bins$tpm
will still refer to the complete contigs and bins, regardless of whether only a fraction of their ORFs are actually present in the returned SQM object. This is also true for the statistics presented in SQM$contigs$table
and SQM$bins$table
.
data(Hadza)
# Select the 100 most abundant ORFs in our dataset.
mostAbundantORFnames = names(sort(rowSums(Hadza$orfs$tpm), decreasing=TRUE))[1:100]
mostAbundantORFs = subsetORFs(Hadza, mostAbundantORFnames)
Run the code above in your browser using DataLab