«

»

Nov
27

FDA Validation of a PCR test: Analytical Specificity Part 3 / *

Analytical specificity shows how robust the test is to contamination. Positive controls with the fusion were spiked with EDTA or ethanol at various concentrations. We determined at which concentration the PCR no longer worked.

The figures and results in this blogpost were generated by R code corresponding to “AnalyticalSpecificity_R_scripts.txt” on github

Pictures always help, so these are some results:


EDTA affects FAM at higher concentrations.


EDTA affects Texas Red at higher concentrations.


EDTA doesn’t seem to affect ΔCt at higher concentrations.

From the pictures, it’s obvious EDTA affects FAM and Texas Red at higher concentrations. At what concentration does it start to significantly differ? (We’ll look at the p-values later in this post.)

Experimental Setup

Our PCR data contains in the Content column the groups “Unkn-01”, “Unkn-02″… “Unkn-10” where “Unkn-01” indicates the first concentration and “Unkn-10” indicates the 10th concentration tested.

For ethanol, the 10 concentrations that were tested were 4%, 2%, 1%, 0.5%, 0.25%, 0.125%, 0.063%, 0.031%, 0.016%, 0%.

For EDTA, the 10 concentrations that were tested were 20 mM, 10 mM, 5 mM, 2.5 mM, 1.25 mM, 0.625 mM, 0.313 mM, 0.156 mM, 0.078 mM and 0 mM.

Preliminary steps: Data is uploaded into R and then a whole bunch of cleaning and relabeling (check out the script in github).

We  summarize the statistics for the channels under different conditions

summary_all_data <- ddply (df, c('Fluor', 'Spikein_Level', 'Sample_no_number'), .fun=summary_function)

The results look like:

FluorSpikein_LevelSample_no_numberNumber of observationsNumber of missingMeanSDCV
FAM0Positive Control -EDTA8029.70.30
FAM0.078Positive Control -EDTA8029.50.20
FAM0.156Positive Control -EDTA8029.60.30
FAM0.313Positive Control -EDTA8029.70.30
FAM0.625Positive Control -EDTA8029.80.20
FAM1.25Positive Control -EDTA8029.90.30
FAM2.5Positive Control -EDTA80300.20
FAM5Positive Control -EDTA8030.10.20
FAM10Positive Control -EDTA8030.30.10
FAM20Positive Control -EDTA8032.50.90
HEX0Positive Control -EDTA8032.40.50
HEX0.078Positive Control -EDTA8032.10.50
HEX0.156Positive Control -EDTA8032.20.50
HEX0.313Positive Control -EDTA8032.20.40
HEX0.625Positive Control -EDTA8032.40.50
HEX1.25Positive Control -EDTA8032.40.30
HEX2.5Positive Control -EDTA8032.70.50
HEX5Positive Control -EDTA8032.30.50
HEX10Positive Control -EDTA8033.10.50
HEX20Positive Control -EDTA8034.62.10.1
Texas Red0Positive Control -EDTA8030.50.20
Texas Red0.078Positive Control -EDTA8030.70.30
Texas Red0.156Positive Control -EDTA8030.60.20
Texas Red0.313Positive Control -EDTA8030.80.30
Texas Red0.625Positive Control -EDTA8030.80.30
Texas Red1.25Positive Control -EDTA8030.70.30
Texas Red2.5Positive Control -EDTA8030.70.30
Texas Red5Positive Control -EDTA8030.90.30
Texas Red10Positive Control -EDTA8031.10.30
Texas Red20Positive Control -EDTA8033.61.10

We compare each concentration with the negative control (when concentration = 0)

df_control = cleaned_df[cleaned_df$Content == “Unkn-10”,] # this is the control
if (nrow (df_control) > 0) {
wilcox_results <- ddply (cleaned_df, c(‘Fluor’, ‘Spikein_Level’, ‘Sample_no_number’), .fun = mann_whitney_function, controls=df_control )

mann_whitney_results_filename = paste (folder, “Mann-Whitney_”, chemical, “.csv”)
}

The Mann Whitney results look something like:

FluorSpikein_LevelSample_no_numberWp-value
FAM0PC-EDTA321
FAM0.078PC-EDTA220.328205128
FAM0.156PC-EDTA321
FAM0.313PC-EDTA321
FAM0.625PC-EDTA420.328205128
FAM1.25PC-EDTA450.194871795
FAM2.5PC-EDTA540.020668221
FAM5PC-EDTA560.01041181
FAM10PC-EDTA640.0001554
FAM20PC-EDTA640.0001554
HEX0PC-EDTA321
HEX0.078PC-EDTA220.328205128
HEX0.156PC-EDTA270.645376845
HEX0.313PC-EDTA290.798445998
HEX0.625PC-EDTA360.720901321
HEX1.25PC-EDTA390.505361305
HEX2.5PC-EDTA470.13038073
HEX5PC-EDTA260.573737374
HEX10PC-EDTA550.014763015
HEX20PC-EDTA610.001087801
Texas Red0PC-EDTA321
Texas Red0.078PC-EDTA460.160528361
Texas Red0.156PC-EDTA400.441802642
Texas Red0.313PC-EDTA470.13038073
Texas Red0.625PC-EDTA500.064957265
Texas Red1.25PC-EDTA480.104895105
Texas Red2.5PC-EDTA450.194871795
Texas Red5PC-EDTA570.006993007
Texas Red10PC-EDTA610.001087801
Texas Red20PC-EDTA640.0001554

For example, FAM signals are significantly different from control starting at 2.5% (p=0.02).

We also look for consistent trends. At all concentrations > 2.5%, the signals are significantly different from control, which is what we expect.

No comment yet

1 ping

  1. FDA Validation of Companion Diagnostic (PCR test) – Part 1 / n » Pauline PI - investigating science, math, and biology says:

    […] is a long process that takes a few hundred experiments to examine: Part 2. Pre-processing Part 3. Analytical Specificity Part 4. Accuracy Part 5. Run Control Specification Part 6. Reportable Range Part 7. Limit of […]

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>