knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(findGSEP)
title: "Estimate Genome Size of Polyploid Species Using K-mer Frequencies" output: html_document
findGSEP
is a function for multiple polyploidy genome size estimation by fitting k-mer frequencies iteratively with a normal distribution model.
To use findGSEP
, one needs to prepare a histo file, which contains two tab-separated columns. The first column gives frequencies at which k-mers occur in reads, while the second column gives counts of such distinct k-mers. Parameters k and related histo file are required for any estimation.
Dependencies (R library) required: pracma
, fGarch
, etc. - see DESCRIPTION for details.
findGSEP(
path,
samples,
sizek,
exp_hom,
ploidy,
range_left,
range_right,
xlimit,
ylimit,
output_dir
)
path: is the histo file location (mandatory).
samples: is the histo file name (mandatory).
sizek: is the size of k used to generate the histo file (mandatory). K is involved in calculating heterozygosity if the genome is heterozygous.
exp_hom: a rough average k-mer coverage for finding the homozygous regions. In general, one can get peaks in the k-mer frequencies file, but has to determine which one is for the homozygous regions, and which one is for the heterozygous regions. It is optional, however, it must be provided if one wants to estimate size for a heterozygous genome. VALUE for exp_hom
must satisfy fp < VALUE < 2*fp
, where fp
is the freq for homozygous peak. If not provided, 0 by default assumes the genome is homozygous.
ploidy: is the number of ploidy (mandatory).
range_left: is the left range for estimation, default is exp_hom * 0.2
, normally do not need to change this (optional).
range_right: is the right range for estimation, default is exp_hom * 0.2
, normally do not need to change this (optional).
xlimit: is the x-axis range, if not given, then it will automatically calculate a proper range, normally do not need to change this (optional).
ylimit: is the y-axis range, if not given, then it will automatically calculate a proper range, normally do not need to change this (optional).
output_dir: is the path to write output files (optional). If not provided, by default results will be written in the folder where the histo file is.
To run the algorithm, follow these steps:
Prepare a Path: Create a directory where the histo file will be stored. For example, create a directory named test_findGSEP
.
Put Histo File in the Path: Place your histo file in the test_findGSEP
directory. In this example, the histo file name is ara_simulate_4ploidy_25x_rep4.histo
.
Provide Output Directory: Specify the output directory where the results will be saved. In this example, we use tempdir()
as the output directory.
Run the Algorithm: Use the following command to run the algorithm with the specified parameters:
r
findGSEP(
path = 'test_findGSEP',
samples = 'ara_simulate_4ploidy_25x_rep4.histo',
sizek = 21,
exp_hom = 35,
ploidy = 4,
output_dir = tempdir(),
range_left = 35 * 0.2, ## exp_hom*0.2
range_right = 35 * 0.2, ## exp_hom*0.2
xlimit = -1, ## will calculate automatically
ylimit = -1 ## will calculate automatically
)
Output: The output will include:
${samples}._hap_genome_size_est.pdf
, which contains the estimated genome size.${samples}._haploid_size.csv
, which contains the predicted genome size.Laiyi Fu, Yanxin Xie, Shunkang Ling, and Hequan Sun# etc. al. findGSEP: a web application for estimating ge-nome size of polyploid species using k-mer frequencies
R version 4.3.3 (2024-02-29) Platform: aarch64-apple-darwin20 (64-bit) Running under: macOS Sonoma 14.4.1 Matrix products: default BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.11.0 locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 time zone: Asia/Shanghai tzcode source: internal attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] findGSEP_1.2.0 dplyr_1.1.4 png_0.1-8 scales_1.3.0 fGarch_4033.92 [6] pracma_2.4.4 ggplot2_3.5.0 RColorBrewer_1.1-3 loaded via a namespace (and not attached): [1] Matrix_1.6-5 gtable_0.3.5 compiler_4.3.3 fBasics_4032.96 gbutils_0.5 [6] tidyselect_1.2.1 cvar_0.5 timeSeries_4032.109 yaml_2.3.8 fastmap_1.1.1 [11] lattice_0.22-5 R6_2.5.1 generics_0.1.3 knitr_1.45 rbibutils_2.2.16 [16] tibble_3.2.1 spatial_7.3-17 munsell_0.5.1 timeDate_4032.109 pillar_1.9.0 [21] rlang_1.1.3 utf8_1.2.4 xfun_0.43 pkgload_1.3.4 cli_3.6.2 [26] withr_3.0.0 magrittr_2.0.3 Rdpack_2.6 digest_0.6.35 grid_4.3.3 [31] rstudioapi_0.16.0 lifecycle_1.0.4 vctrs_0.6.5 evaluate_0.23 glue_1.7.0 [36] fansi_1.0.6 colorspace_2.1-0 rmarkdown_2.26 htmltools_0.5.8.1 tools_4.3.3 [41] pkgconfig_2.0.3
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.