isPeriodic: Find if there is a periodicity of 3 in the vector

View source: R/shift_footprints_helpers.R

isPeriodicR Documentation

Find if there is a periodicity of 3 in the vector

Description

It uses Fourier transform + periodogram for finding periodic vectors on the transcript normalized counts over all CDS regions from position 0 (TIS) to 149 (or other max position if increased by the user.
Checks if there is a periodicity and if the periodicity is 3, more precisely between 2.9 and 3.1.

Usage

isPeriodic(x, info = NULL, verbose = FALSE, strict.fft = TRUE)

Arguments

x

(numeric) Vector of values to detect periodicity of 3 like in RiboSeq data.

info

specify read length if wanted for verbose output.

verbose

logical, default FALSE. Report details of analysis/periodogram. Good if you are not sure if the analysis was correct.

strict.fft

logical, TRUE. Use a FFT without noise filter. This means keep only reads lengths that are "periodic for the human eye". If you want more coverage, set to FALSE, to also get read lengths that are "messy", but the noise filter detects the periodicity of 3. This should only be done when you do not need high quality periodic reads! Example would be differential translation analysis by counts over each ORF.

Details

Input data:
Transcript normalized means per CDS TIS region, count reads per position, divide that number per position by the total of that transcript, then sum up these numbers per position for all transcripts.
Detection method:
The maximum dominant Fourier frequencies is found by finding which period has the highest spectrum density (using a 10

Value

a logical, if it is periodic.


JokingHero/ORFik documentation built on Dec. 21, 2024, 12:01 a.m.