Site Filtration

Site Filtration#

sfsutils offers a number of filtrations that are either applied on the fly while parsing, or run through the Filterer class to filter an input and write the result to a file. Some useful filtrations include DeviantOutgroupFiltration, CodingSequenceFiltration, and BiasedGCConversionFiltration. For a complete list of available filtrations, refer to the API reference.

library(sfsutils)

su <- load_sfsutils()
# example for filtration
f <- su$Filterer(
  source = "resources/genome/betula/biallelic.subset.10000.vcf.gz",
  filtrations = list(su$BiasedGCConversionFiltration()),
  output = "genome.gc.vcf.gz"
)

f$filter()
INFO:Filterer: Start filtering
INFO:Filterer: Loading VCF file
Filterer>Counting sites: 10000it [00:00, 466941.72it/s]
Filterer>Processing sites: 100%|██████████| 10000/10000 [00:00<00:00, 78187.46it/s]
INFO:BiasedGCConversionFiltration: Filtered out 7903 sites.
INFO:Filterer: Filtered out 7903 of 10000 sites in total.

Note that all components can easily be customized by extending the corresponding base class.