本文介绍了使用具有已知基因型的对照进行验证检查的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮助!

我有以下数据框(名为Final_APOL1)。我有一个贯穿Bio-Rad PCR输出文件以生成最终APOL1基因型的代码。具有已知基因型的对照置于孔E01,E02,F01,F02,G01,G02,H01和H02中。我有一个单独的数据框(名为Validation_controls),其中包含应该在这些孔中发现的已知/正确基因型。

I have the following dataframe (named Final_APOL1). I have a code that runs through Bio-Rad PCR output files to generate a final APOL1 genotype. Controls with known genotype are placed in wells E01, E02, F01, F02, G01, G02, H01, and H02. I have a separate dataframe (named Validation_controls) containing the known/correct genotypes that should be found in these well.

我需要一个代码来验证并确认两个孔中的孔数据帧匹配,并为使用最终代码的用户指出了这一点。

I need a code to validate and confirm that wells in both dataframes match and a way for this to be noted for the user using the final code.

任何帮助将不胜感激

数据帧(Final_APOL1)

dataframe (Final_APOL1)

"A03", "A04", "A05", "A06", "A07", "A08", "A09", "A10", "A11", 
"A12", "B01", "B02", "B03", "B04", "B05", "B06", "B07", "B08", 
"B09", "B10", "B11", "B12", "C01", "C02", "C03", "C04", "C05", 
"C06", "C07", "C08", "C09", "C10", "C11", "C12", "D01", "D02", 
"D03", "D04", "D05", "D06", "D07", "D08", "D09", "D10", "D11", 
"D12", "E01", "E02", "E03", "E04", "E05", "E06", "E07", "E08", 
"E09", "E10", "E11", "E12", "F01", "F02", "F03", "F04", "F05", 
"F06", "F07", "F08", "F09", "F10", "F11", "F12", "G01", "G02", 
"G03", "G04", "G05", "G06", "G07", "G08", "G09", "G10", "G11", 
"G12", "H01", "H02", "H03", "H04", "H05", "H06", "H07", "H08", 
"H09", "H10", "H11", "H12"), class = "factor"), G1_1_1 = c("Blank", 
"Blank", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", "+", 
"+", "G1^{S342G}", "G1^{S342G}", "Blank", "Blank", "+", "+", 
"+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", "+", "+", "Blank", 
"Blank", "+", "+", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}", 
"G1^{S342G}", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}", 
"Blank", "Blank", "+", "+", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}", 
"G1^{S342G}", "+", "+", "G1^{S342G}", "G1^{S342G}", "G1^{S342G}", 
"G1^{S342G}", "+", "+", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", 
"+", "+", "G1^{S342G}", "G1^{S342G}", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", 
"G1^{S342G}", "G1^{S342G}", "+", "+", "+", "+", "+", "+", "G1^{S342G}", 
"G1^{S342G}", "G1^{S342G}", "G1^{S342G}", "+", "+", "+", "+", 
"+", "+", "G1^{S342G}", "G1^{S342G}"), G1_1_2 = c("Blank", "Blank", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "G1^{S342G}", "G1^{S342G}", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "G1^{S342G}", 
"G1^{S342G}", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+"
), G1_2_1 = c("Blank", "Blank", "+", "+", "+", "+", "G1^{I384M}", 
"G1^{I384M}", "+", "+", "G1^{I384M}", "G1^{I384M}", "Blank", 
"Blank", "+", "+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}", 
"+", "+", "Blank", "Blank", "+", "+", "G1^{I384M}", "G1^{I384M}", 
"G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}", 
"G1^{I384M}", "Blank", "Blank", "+", "+", "G1^{I384M}", "G1^{I384M}", 
"G1^{I384M}", "G1^{I384M}", "+", "+", "G1^{I384M}", "G1^{I384M}", 
"G1^{I384M}", "G1^{I384M}", "+", "+", "+", "+", "+", "+", "G1^{I384M}", 
"G1^{I384M}", "+", "+", "G1^{I384M}", "G1^{I384M}", "+", "+", 
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "G1^{I384M}", 
"G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "+", "+", "+", "+", 
"+", "+", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}", "G1^{I384M}", 
"+", "+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}"), G1_2_2 = c("Blank", 
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", 
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", 
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "Blank", 
"Blank", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}", 
"+", "+", "+", "+", "+", "+", "Blank", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}", "+", "+", "+", 
"+", "+", "+", "+", "+", "G1^{I384M}", "G1^{I384M}", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+"), G2_1 = c("Blank", "Blank", 
"+", "+", "+", "+", "G2", "G2", "+", "+", "G2", "G2", "Blank", 
"Blank", "+", "+", "G2", "G2", "G2", "G2", "+", "+", "+", "+", 
"Blank", "Blank", "G2", "G2", "+", "+", "+", "+", "+", "+", "+", 
"+", "Blank", "Blank", "G2", "G2", "G2", "G2", "+", "+", "+", 
"+", "+", "+", "G2", "G2", "G2", "G2", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "G2", "G2", "G2", 
"G2", "G2", "G2", "G2", "G2", "+", "+", "+", "+", "+", "+", "+", 
"+", "G2", "G2", "+", "+", "+", "+", "G2", "G2", "+", "+", "+", 
"+", "+", "+"), G2_2 = c("Blank", "Blank", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "Blank", "Blank", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "Blank", "Blank", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "Blank", "Blank", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", 
"+", "+", "+", "+", "+"), `Final genotype of APOL1` = c("NA", 
"NA", "G0/G0", "G0/G0", "G0/G0", "G0/G0", "G1^{GM}/G2", "G1^{GM}/G2", 
"G0/G0", "G0/G0", "G1^{GM}/G2", "G1^{GM}/G2", "NA", "NA", "G0/G0", 
"G0/G0", "G0/G2", "G0/G2", "G0/G2", "G0/G2", "G1^{GM}/G0", "G1^{GM}/G0", 
"G0/G0", "G0/G0", "NA", "NA", "G0/G2", "G0/G2", "G1^{GM}/G0", 
"G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", 
"G1^{GM}/G0", "G1^{GM}/G0", "NA", "NA", "G0/G2", "G0/G2", "G1^{GM}/G2", 
"G1^{GM}/G2", "G1^{GM}/G0", "G1^{GM}/G0", "G0/G0", "G0/G0", "G1^{GM}/G0", 
"G1^{GM}/G0", "G1^{GM}/G2", "G1^{GM}/G2", "G0/G2", "G0/G2", "G0/G0", 
"G0/G0", "G0/G0", "G0/G0", "G1^{GM}/G1^{GM}", "G1^{GM}/G1^{GM}", 
"G0/G0", "G0/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G0/G0", "G0/G0", 
NA, "G0/G0", "G0/G2", "G0/G2", "G0/G2", "G0/G2", "G0/G2", "G0/G2", 
"G0/G2", "G0/G2", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", "G1^{GM}/G0", 
"G0/G0", "G0/G0", "G0/G0", "G0/G0", "G0/G2", "G0/G2", "G1^{GM}/G1^{GM}", 
"G1^{GM}/G1^{GM}", "G1^{GM}/G0", "G1^{GM}/G0", "G0/G2", "G0/G2", 
"G0/G0", "G0/G0", "G0/G0", "G0/G0", "G1^{GM}/G0", "G1^{GM}/G0"
), `no APOL1 Risk Alleles` = c(NA, NA, 1, 1, 1, 1, NA, NA, 1, 
1, NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, 1, 1, 1, 1, NA, NA, 1, 
1, NA, NA, 1, 1, NA, 1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, 1, 1, 1, 1, NA, NA, NA, NA, NA, NA, NA, NA, 1, 1, 1, 
1, NA, NA), `1 APOL1 Risk Alleles` = c(NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, 1, 1, 1, 1, 1, NA, 
NA, NA, NA, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, NA, NA, 1, 1, NA, NA, 
1, 1, NA, NA, 1, 1, NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, NA, 
NA, 1, 1, NA, NA, NA, NA, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
NA, NA, NA, NA, 1, 1, NA, NA, 1, 1, 1, 1, NA, NA, NA, NA, 1, 
1), `2 APOL1 Risk Alleles` = c(NA, NA, NA, NA, NA, NA, 1, 1, 
NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
1, 1, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, NA, 1, 
1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA), Sample_Flag = c(FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
FALSE, FALSE, FALSE)), row.names = c(NA, -96L), class = "data.frame")

数据帧(Validation_controls)

dataframe (Validation_controls)

"F01", "F02", "G01", "G02", "H01", "H02"), class = "factor"), 
    Final.genotype.of.APOL1 = structure(c(4L, 4L, 2L, 2L, 1L, 
    1L, 3L, 3L), .Label = c("G0/G2", "G1^{GM}/G0", "G1^{GM}/G1^{GM}", 
    "G1^{GM}/G2"), class = "factor")), class = "data.frame", row.names = c(NA, 
-8L))


推荐答案

Final <- Final %>% mutate(`Control_Validation` = case_when(
      `Well` %in% c("E01", "E02") & (`Final genotype of APOL1` == "G1^{GM}/G2") ~ "Match",
      `Well` %in% c("F01", "F02") & (`Final genotype of APOL1` == "G1^{GM}/G0") ~ "Match",
      `Well` %in% c("G01", "G02") & (`Final genotype of APOL1` == "G0/G2") ~ "Match",     
      `Well` %in% c("H01", "H02") & (`Final genotype of APOL1` == "G1^{GM}/G1^{GM}") ~ "Match"))   

这篇关于使用具有已知基因型的对照进行验证检查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 09:58