bmansfeld / QTLseqr

QTLseqr is an R package for QTL mapping using NGS Bulk Segregant Analysis
65 stars 42 forks source link

About the threshold line of the G-value method #71

Closed HW-Superior closed 2 months ago

HW-Superior commented 2 months ago

[Hi,] when I used the R package qtlseqr to detect the QTL, and It has the following error, resulting in an error in the threshold line of the G-value method, I would like to ask what is the problem causing this, Thanks! The stript,

G'value

df3 <- runGprimeAnalysis(SNPset = df, windowSize = 1e6, outlierFilter = "deltaSNP")

Run QTLseq

df4 <- runQTLseqAnalysis(SNPset = df, windowSize = 1e6, popStruc = "F2", bulkSize = c(50,50), replications = 10000, intervals = c(95,99))

The log follow, Removing the following chromosomes: C01, C02, C03, C04, C05, C06, C07, C08, C09 Renaming the following columns: AD_REF.DS3D, AD_ALT.DS3D Renaming the following columns: AD_REF.DS3IN, AD_ALT.DS3IN Removing the following chromosomes: A01, A02, A03, A04, A05, A06, A07, A08, A09, A10 Renaming the following columns: AD_REF.DS3D, AD_ALT.DS3D Renaming the following columns: AD_REF.DS3IN, AD_ALT.DS3IN Filtering by reference allele frequency: 0.2 <= REF_FRQ <= 0.8 ...Filtered 390144 SNPs Filtering by per sample read depth: DP >= 30 ...Filtered 224924 SNPs Original SNP number: 1590863, Filtered: 615068, Remaining: 975795 Counting SNPs in each window... Calculating tricube smoothed delta SNP index... Calculating G and G' statistics... Using deltaSNP-index to filter outlier regions with a threshold of 0.1 Estimating the mode of a trimmed G prime set using the 'modeest' package... Calculating p-values... Warning messages: 1: There were 69 warnings in dplyr::mutate(). The first warning was: ℹ In argument: tricubeDeltaSNP = tricubeStat(POS = POS, Stat = deltaSNP, windowSize, ...). ℹ In group 1: CHROM = A01. Caused by warning in lfproc(): ! procv: no points with non-zero weight ℹ Run dplyr::last_dplyr_warnings() to see the 68 remaining warnings. 2: There were 320 warnings in dplyr::mutate(). The first warning was: ℹ In argument: Gprime = tricubeStat(POS = POS, Stat = G, windowSize = windowSize, ...). ℹ In group 1: CHROM = A01. Caused by warning in lfproc(): ! procv: no points with non-zero weight ℹ Run dplyr::last_dplyr_warnings() to see the 319 remaining warnings. Counting SNPs in each window... Calculating tricube smoothed delta SNP index... Returning the following two sided confidence intervals: 95, 99 Variable 'depth' not defined, using min and max depth from data: 30-331 Assuming bulks selected from F2 population, with 50 and 50 individuals per bulk. Simulating 10000 SNPs with reads at each depth: 30-331 Keeping SNPs with >= 0.3 SNP-index in both simulated bulks Joining with by = join_by(tricubeDP) Warning messages: 1: There were 69 warnings in dplyr::mutate(). The first warning was: ℹ In argument: tricubeDeltaSNP = tricubeStat(POS = POS, Stat = deltaSNP, windowSize, ...). ℹ In group 1: CHROM = A01. Caused by warning in lfproc(): ! procv: no points with non-zero weight ℹ Run dplyr::last_dplyr_warnings() to see the 68 remaining warnings. 2: There were 69 warnings in dplyr::mutate(). The first warning was: ℹ In argument: tricubeDP = floor(tricubeStat(POS, minDP, windowSize = windowSize, ...)). ℹ In group 1: CHROM = A01. Caused by warning in lfproc(): ! procv: no points with non-zero weight ℹ Run dplyr::last_dplyr_warnings() to see the 68 remaining warnings. null device 1 Warning message: Removed 1 row containing missing values or values outside the scale range (geom_line()). null device 1 The G value result as follow, image

bmansfeld commented 2 months ago

Hi, There are no errors here only warnings. The warnings suggest that your window size it too small and that there are no SNPs in many of the windows you are using in your analysis. Considering your chromosomes hare very large and especially in Gprime analyses the window should represent about 20cM you should probably increase the size. Before we can understand the the plot threshold abnormalities first address the window size - try something large like 10Mb just for starters.

Ben