From d071a4341b0d4c40220b42f81c412da4d320b8ec Mon Sep 17 00:00:00 2001 From: HannahVMeyer Date: Mon, 20 Jul 2020 10:35:06 -0400 Subject: [PATCH] Fix evaluate_check_sex (and evaluate_check_het_imiss): when all samples pass check, plotting failed with missing data in label. Now checks that any samples failed, before labeling fail samples, else, no labels (#30). --- R/individualQC.R | 7 +- tests/testthat/data_all_passing.het | 201 +++++++++++++++++++++++ tests/testthat/data_all_passing.imiss | 201 +++++++++++++++++++++++ tests/testthat/data_all_passing.sexcheck | 201 +++++++++++++++++++++++ tests/testthat/test-individualQC.R | 12 ++ 5 files changed, 620 insertions(+), 2 deletions(-) create mode 100644 tests/testthat/data_all_passing.het create mode 100644 tests/testthat/data_all_passing.imiss create mode 100644 tests/testthat/data_all_passing.sexcheck diff --git a/R/individualQC.R b/R/individualQC.R index 68aae5e..4faa62a 100755 --- a/R/individualQC.R +++ b/R/individualQC.R @@ -1193,7 +1193,7 @@ evaluate_check_sex <- function(qcdir, name, maleTh=0.8, yend=femaleTh), lty=2, aes_string(x='x', xend='xend', y='y', yend='yend'), color="#e7298a") - if (label) { + if (!is.null(fail_sex) && label) { p_sexcheck <- p_sexcheck + ggrepel::geom_label_repel(data=data.frame(x=fail_sex$PEDSEX, y=fail_sex$F, @@ -1418,6 +1418,9 @@ evaluate_check_het_and_miss <- function(qcdir, name, imissTh=0.03, het_imiss <- merge(imiss, het, by="IID") fail_het_imiss <- het_imiss[which(het_imiss$IID %in% union(fail_het$IID, fail_imiss$IID)),] + if (nrow(fail_het_imiss) == 0) { + fail_het_imiss <- NULL + } het_imiss$type <- 1 het_imiss$type[het_imiss$IID %in% fail_het$IID] <- 2 het_imiss$type[het_imiss$IID %in% fail_imiss$IID] <- 3 @@ -1446,7 +1449,7 @@ evaluate_check_het_and_miss <- function(qcdir, name, imissTh=0.03, geom_hline(yintercept=mean(het_imiss$F) + (hetTh*sd(het_imiss$F)), col="#e7298a", lty=2) + geom_vline(xintercept=log10(imissTh), col="#e7298a", lty=2) - if (label) { + if (!is.null(fail_het_imiss) && label) { p_het_imiss <- p_het_imiss + ggrepel::geom_label_repel( data=data.frame(x=fail_het_imiss$logF_MISS, diff --git a/tests/testthat/data_all_passing.het b/tests/testthat/data_all_passing.het new file mode 100644 index 0000000..81add0e --- /dev/null +++ b/tests/testthat/data_all_passing.het @@ -0,0 +1,201 @@ +FID IID O(HOM) E(HOM) N(NM) F +ID_26 ID_26 6742 6670 9714 0.05 +ID_125 ID_125 6657 6666 9710 -0.05 +ID_162 ID_162 6729 6654 9691 0.05 +ID_169 ID_169 6398 6655 9696 -0.05 +ID_147 ID_147 6689 6664 9709 0.05 +ID_152 ID_152 6408 6493 9430 -0.05 +ID_187 ID_187 6595 6654 9695 -0.05 +ID_17 ID_17 6704 6655 9694 0.05 +ID_153 ID_153 6159 6332 9159 -0.05 +ID_5 ID_5 6756 6666 9711 0.05 +ID_74 ID_74 6771 6664 9707 0.05 +ID_154 ID_154 6143 6260 9115 -0.05 +ID_29 ID_29 6679 6659 9701 0.05 +ID_163 ID_163 6749 6656 9695 0.05 +ID_121 ID_121 6766 6658 9699 0.05 +ID_164 ID_164 6732 6654 9692 0.05 +ID_72 ID_72 6739 6655 9695 0.05 +ID_19 ID_19 6758 6657 9697 0.05 +ID_119 ID_119 6789 6666 9709 0.05 +ID_37 ID_37 6687 6658 9697 0.05 +ID_115 ID_115 6774 6656 9696 0.05 +ID_30 ID_30 6802 6665 9709 0.05 +ID_40 ID_40 6708 6668 9713 0.05 +ID_117 ID_117 6712 6669 9714 0.05 +ID_114 ID_114 6717 6648 9682 0.05 +ID_49 ID_49 6809 6657 9695 0.05 +ID_170 ID_170 6304 6663 9704 -0.05 +ID_85 ID_85 6665 6654 9693 0.05 +ID_15 ID_15 6770 6665 9709 0.05 +ID_149 ID_149 6719 6661 9703 0.05 +ID_141 ID_141 6728 6660 9699 0.05 +ID_171 ID_171 6163 6660 9699 -0.05 +ID_167 ID_167 6787 6638 9670 0.05 +ID_100 ID_100 6836 6663 9706 0.05 +ID_111 ID_111 6722 6662 9706 0.05 +ID_94 ID_94 6717 6644 9675 0.05 +ID_165 ID_165 6711 6660 9701 0.05 +ID_131 ID_131 6673 6654 9693 0.05 +ID_142 ID_142 6756 6659 9700 0.05 +ID_124 ID_124 6766 6661 9705 0.05 +ID_68 ID_68 6799 6661 9701 0.05 +ID_113 ID_113 6682 6656 9696 0.05 +ID_188 ID_188 6769 6659 9701 0.05 +ID_189 ID_189 6523 6659 9700 -0.05 +ID_128 ID_128 6692 6663 9706 0.05 +ID_2 ID_2 6735 6662 9707 0.05 +ID_1 ID_1 6762 6660 9703 0.05 +ID_166 ID_166 6784 6656 9695 0.05 +ID_172 ID_172 6216 6655 9692 -0.05 +ID_145 ID_145 6726 6667 9710 0.05 +ID_91 ID_91 6727 6642 9678 0.05 +ID_199 ID_199 6707 6662 9706 0.05 +ID_61 ID_61 6716 6661 9702 0.05 +ID_104 ID_104 6758 6659 9701 0.05 +ID_47 ID_47 6760 6662 9704 0.05 +ID_93 ID_93 6813 6662 9703 0.05 +ID_56 ID_56 6773 6653 9691 0.05 +ID_21 ID_21 6724 6658 9701 0.05 +ID_69 ID_69 6710 6659 9700 0.05 +ID_65 ID_65 6769 6661 9704 0.05 +ID_182 ID_182 6788 6657 9697 0.05 +ID_89 ID_89 6780 6663 9704 0.05 +ID_146 ID_146 6704 6648 9681 0.05 +ID_60 ID_60 6746 6662 9704 0.05 +ID_36 ID_36 6648 6653 9689 -0.05 +ID_105 ID_105 6808 6663 9705 0.05 +ID_109 ID_109 6759 6636 9665 0.05 +ID_87 ID_87 6744 6664 9708 0.05 +ID_25 ID_25 6779 6651 9686 0.05 +ID_73 ID_73 6713 6649 9687 0.05 +ID_108 ID_108 6710 6658 9698 0.05 +ID_190 ID_190 6726 6663 9704 0.05 +ID_107 ID_107 6716 6645 9675 0.05 +ID_50 ID_50 6719 6662 9705 0.05 +ID_67 ID_67 6674 6637 9667 0.05 +ID_92 ID_92 6666 6624 9652 0.05 +ID_110 ID_110 6810 6659 9699 0.05 +ID_41 ID_41 6772 6620 9644 0.05 +ID_126 ID_126 6549 6634 9662 -0.05 +ID_51 ID_51 6697 6664 9707 0.05 +ID_6 ID_6 6719 6594 9612 0.05 +ID_138 ID_138 6680 6646 9681 0.05 +ID_33 ID_33 6608 6615 9639 -0.05 +ID_66 ID_66 6741 6636 9664 0.05 +ID_183 ID_183 6623 6648 9683 -0.05 +ID_136 ID_136 6652 6645 9683 0.05 +ID_64 ID_64 6617 6648 9683 -0.05 +ID_191 ID_191 6719 6642 9675 0.05 +ID_195 ID_195 6705 6648 9685 0.05 +ID_79 ID_79 6750 6659 9701 0.05 +ID_148 ID_148 6744 6658 9698 0.05 +ID_135 ID_135 6688 6673 9720 0.05 +ID_137 ID_137 6730 6670 9715 0.05 +ID_27 ID_27 6752 6667 9711 0.05 +ID_11 ID_11 6653 6670 9715 -0.05 +ID_140 ID_140 6766 6656 9696 0.05 +ID_143 ID_143 6711 6666 9711 0.05 +ID_81 ID_81 6743 6655 9694 0.05 +ID_44 ID_44 6701 6669 9715 0.05 +ID_184 ID_184 6573 6662 9705 -0.05 +ID_57 ID_57 6716 6665 9711 0.05 +ID_83 ID_83 6856 6665 9710 0.05 +ID_192 ID_192 6636 6660 9701 -0.05 +ID_173 ID_173 6257 6665 9709 -0.05 +ID_12 ID_12 6709 6667 9712 0.05 +ID_174 ID_174 6252 6657 9697 -0.05 +ID_82 ID_82 6718 6665 9708 0.05 +ID_38 ID_38 6706 6667 9713 0.05 +ID_14 ID_14 6831 6663 9708 0.05 +ID_43 ID_43 6753 6664 9709 0.05 +ID_175 ID_175 7106 6666 9710 0.05 +ID_13 ID_13 6684 6663 9707 0.05 +ID_10 ID_10 6753 6663 9708 0.05 +ID_196 ID_196 6733 6663 9706 0.05 +ID_133 ID_133 6776 6648 9684 0.05 +ID_134 ID_134 6753 6667 9712 0.05 +ID_118 ID_118 6803 6672 9719 0.05 +ID_75 ID_75 6771 6662 9705 0.05 +ID_24 ID_24 6628 6667 9713 -0.05 +ID_86 ID_86 6775 6670 9716 0.05 +ID_22 ID_22 6721 6669 9715 0.05 +ID_90 ID_90 6732 6656 9697 0.05 +ID_102 ID_102 6714 6665 9709 0.05 +ID_151 ID_151 6740 6653 9692 0.05 +ID_58 ID_58 6760 6668 9714 0.05 +ID_122 ID_122 6718 6667 9713 0.05 +ID_78 ID_78 6737 6664 9708 0.05 +ID_18 ID_18 6730 6663 9706 0.05 +ID_120 ID_120 6682 6653 9693 0.05 +ID_181 ID_181 6699 6669 9715 0.05 +ID_144 ID_144 6722 6665 9709 0.05 +ID_4 ID_4 6755 6671 9718 0.05 +ID_53 ID_53 6603 6667 9712 -0.05 +ID_116 ID_116 6782 6662 9707 0.05 +ID_155 ID_155 3934 4739 6750 -0.05 +ID_176 ID_176 6158 6656 9697 -0.05 +ID_177 ID_177 6290 6657 9697 -0.05 +ID_156 ID_156 4584 5192 7598 -0.05 +ID_157 ID_157 6129 6242 9107 -0.05 +ID_63 ID_63 6703 6648 9684 0.05 +ID_70 ID_70 6763 6640 9673 0.05 +ID_23 ID_23 6701 6650 9686 0.05 +ID_158 ID_158 6316 6336 9242 -0.05 +ID_80 ID_80 6672 6654 9690 0.05 +ID_193 ID_193 6731 6659 9699 0.05 +ID_62 ID_62 6708 6644 9677 0.05 +ID_139 ID_139 6740 6658 9698 0.05 +ID_20 ID_20 6671 6662 9704 0.05 +ID_77 ID_77 6594 6622 9646 -0.05 +ID_39 ID_39 6720 6669 9714 0.05 +ID_32 ID_32 6727 6664 9707 0.05 +ID_185 ID_185 6762 6661 9702 0.05 +ID_9 ID_9 6828 6662 9706 0.05 +ID_179 ID_179 6612 6654 9694 -0.05 +ID_159 ID_159 2779 4114 5944 -0.05 +ID_31 ID_31 6785 6663 9706 0.05 +ID_45 ID_45 6800 6657 9697 0.05 +ID_28 ID_28 6695 6659 9699 0.05 +ID_55 ID_55 6732 6655 9695 0.05 +ID_180 ID_180 6712 6654 9691 0.05 +ID_35 ID_35 6720 6660 9702 0.05 +ID_123 ID_123 6725 6665 9709 0.05 +ID_96 ID_96 6677 6662 9705 0.05 +ID_160 ID_160 6080 6202 9055 -0.05 +ID_71 ID_71 6709 6657 9695 0.05 +ID_46 ID_46 6711 6660 9701 0.05 +ID_197 ID_197 6690 6647 9680 0.05 +ID_52 ID_52 6724 6644 9676 0.05 +ID_48 ID_48 6697 6661 9703 0.05 +ID_112 ID_112 6756 6661 9703 0.05 +ID_76 ID_76 6742 6657 9696 0.05 +ID_198 ID_198 6680 6655 9694 0.05 +ID_194 ID_194 6630 6660 9699 -0.05 +ID_186 ID_186 6610 6656 9698 -0.05 +ID_178 ID_178 6746 6655 9695 0.05 +ID_161 ID_161 6001 6142 8937 -0.05 +ID_59 ID_59 6694 6657 9698 0.05 +ID_3 ID_3 6772 6661 9703 0.05 +ID_42 ID_42 6777 6660 9700 0.05 +ID_103 ID_103 6724 6667 9711 0.05 +ID_132 ID_132 6778 6657 9697 0.05 +ID_97 ID_97 6733 6666 9709 0.05 +ID_8 ID_8 6714 6629 9659 0.05 +ID_150 ID_150 6758 6665 9708 0.05 +ID_168 ID_168 6615 6588 9597 0.05 +ID_16 ID_16 6701 6643 9675 0.05 +ID_99 ID_99 6679 6654 9692 0.05 +ID_88 ID_88 6675 6642 9675 0.05 +ID_129 ID_129 6696 6647 9683 0.05 +ID_34 ID_34 6684 6644 9679 0.05 +ID_54 ID_54 6643 6642 9673 0.05 +ID_106 ID_106 6708 6634 9667 0.05 +ID_130 ID_130 6670 6644 9681 0.05 +ID_95 ID_95 6783 6643 9676 0.05 +ID_127 ID_127 6707 6646 9684 0.05 +ID_200 ID_200 7102 6646 9681 0.05 +ID_7 ID_7 6736 6645 9682 0.05 +ID_98 ID_98 6661 6643 9677 0.05 +ID_84 ID_84 6698 6646 9683 0.05 +ID_101 ID_101 6699 6646 9683 0.05 diff --git a/tests/testthat/data_all_passing.imiss b/tests/testthat/data_all_passing.imiss new file mode 100644 index 0000000..ef79c64 --- /dev/null +++ b/tests/testthat/data_all_passing.imiss @@ -0,0 +1,201 @@ + FID IID MISS_PHENO N_MISS N_GENO F_MISS + ID_26 ID_26 Y 11 10000 0.0011 + ID_125 ID_125 Y 15 10000 0.0015 + ID_162 ID_162 Y 34 10000 0.0034 + ID_169 ID_169 Y 30 10000 0.003 + ID_147 ID_147 Y 16 10000 0.0016 +ID_152 ID_152 Y 316 10000 0.029 + ID_187 ID_187 Y 30 10000 0.003 + ID_17 ID_17 Y 31 10000 0.0031 +ID_153 ID_153 Y 567 10000 0.029 + ID_5 ID_5 Y 16 10000 0.0016 + ID_74 ID_74 Y 18 10000 0.0018 +ID_154 ID_154 Y 617 10000 0.029 + ID_29 ID_29 Y 24 10000 0.0024 + ID_163 ID_163 Y 30 10000 0.003 + ID_121 ID_121 Y 26 10000 0.0026 + ID_164 ID_164 Y 33 10000 0.0033 + ID_72 ID_72 Y 32 10000 0.0032 + ID_19 ID_19 Y 29 10000 0.0029 + ID_119 ID_119 Y 16 10000 0.0016 + ID_37 ID_37 Y 28 10000 0.0028 + ID_115 ID_115 Y 29 10000 0.0029 + ID_30 ID_30 Y 16 10000 0.0016 + ID_40 ID_40 Y 12 10000 0.0012 + ID_117 ID_117 Y 11 10000 0.0011 + ID_114 ID_114 Y 43 10000 0.0043 + ID_49 ID_49 Y 32 10000 0.0032 + ID_170 ID_170 Y 21 10000 0.0021 + ID_85 ID_85 Y 32 10000 0.0032 + ID_15 ID_15 Y 16 10000 0.0016 + ID_149 ID_149 Y 23 10000 0.0023 + ID_141 ID_141 Y 27 10000 0.0027 + ID_171 ID_171 Y 26 10000 0.0026 + ID_167 ID_167 Y 57 10000 0.0057 + ID_100 ID_100 Y 19 10000 0.0019 + ID_111 ID_111 Y 19 10000 0.0019 + ID_94 ID_94 Y 50 10000 0.005 + ID_165 ID_165 Y 24 10000 0.0024 + ID_131 ID_131 Y 33 10000 0.0033 + ID_142 ID_142 Y 25 10000 0.0025 + ID_124 ID_124 Y 21 10000 0.0021 + ID_68 ID_68 Y 24 10000 0.0024 + ID_113 ID_113 Y 29 10000 0.0029 + ID_188 ID_188 Y 24 10000 0.0024 + ID_189 ID_189 Y 26 10000 0.0026 + ID_128 ID_128 Y 21 10000 0.0021 + ID_2 ID_2 Y 18 10000 0.0018 + ID_1 ID_1 Y 22 10000 0.0022 + ID_166 ID_166 Y 30 10000 0.003 + ID_172 ID_172 Y 33 10000 0.0033 + ID_145 ID_145 Y 15 10000 0.0015 + ID_91 ID_91 Y 47 10000 0.0047 + ID_199 ID_199 Y 19 10000 0.0019 + ID_61 ID_61 Y 23 10000 0.0023 + ID_104 ID_104 Y 25 10000 0.0025 + ID_47 ID_47 Y 21 10000 0.0021 + ID_93 ID_93 Y 22 10000 0.0022 + ID_56 ID_56 Y 35 10000 0.0035 + ID_21 ID_21 Y 24 10000 0.0024 + ID_69 ID_69 Y 26 10000 0.0026 + ID_65 ID_65 Y 21 10000 0.0021 + ID_182 ID_182 Y 28 10000 0.0028 + ID_89 ID_89 Y 21 10000 0.0021 + ID_146 ID_146 Y 46 10000 0.0046 + ID_60 ID_60 Y 21 10000 0.0021 + ID_36 ID_36 Y 36 10000 0.0036 + ID_105 ID_105 Y 21 10000 0.0021 + ID_109 ID_109 Y 60 10000 0.006 + ID_87 ID_87 Y 19 10000 0.0019 + ID_25 ID_25 Y 40 10000 0.004 + ID_73 ID_73 Y 40 10000 0.004 + ID_108 ID_108 Y 27 10000 0.0027 + ID_190 ID_190 Y 21 10000 0.0021 + ID_107 ID_107 Y 53 10000 0.0053 + ID_50 ID_50 Y 21 10000 0.0021 + ID_67 ID_67 Y 58 10000 0.0058 + ID_92 ID_92 Y 74 10000 0.0074 + ID_110 ID_110 Y 27 10000 0.0027 + ID_41 ID_41 Y 83 10000 0.0083 + ID_126 ID_126 Y 63 10000 0.0063 + ID_51 ID_51 Y 19 10000 0.0019 + ID_6 ID_6 Y 113 10000 0.0113 + ID_138 ID_138 Y 45 10000 0.0045 + ID_33 ID_33 Y 88 10000 0.0088 + ID_66 ID_66 Y 62 10000 0.0062 + ID_183 ID_183 Y 43 10000 0.0043 + ID_136 ID_136 Y 42 10000 0.0042 + ID_64 ID_64 Y 42 10000 0.0042 + ID_191 ID_191 Y 51 10000 0.0051 + ID_195 ID_195 Y 40 10000 0.004 + ID_79 ID_79 Y 24 10000 0.0024 + ID_148 ID_148 Y 27 10000 0.0027 + ID_135 ID_135 Y 5 10000 0.0005 + ID_137 ID_137 Y 11 10000 0.0011 + ID_27 ID_27 Y 14 10000 0.0014 + ID_11 ID_11 Y 10 10000 0.001 + ID_140 ID_140 Y 30 10000 0.003 + ID_143 ID_143 Y 15 10000 0.0015 + ID_81 ID_81 Y 32 10000 0.0032 + ID_44 ID_44 Y 11 10000 0.0011 + ID_184 ID_184 Y 21 10000 0.0021 + ID_57 ID_57 Y 14 10000 0.0014 + ID_83 ID_83 Y 16 10000 0.0016 + ID_192 ID_192 Y 25 10000 0.0025 + ID_173 ID_173 Y 17 10000 0.0017 + ID_12 ID_12 Y 14 10000 0.0014 + ID_174 ID_174 Y 30 10000 0.003 + ID_82 ID_82 Y 17 10000 0.0017 + ID_38 ID_38 Y 13 10000 0.0013 + ID_14 ID_14 Y 18 10000 0.0018 + ID_43 ID_43 Y 16 10000 0.0016 + ID_175 ID_175 Y 16 10000 0.0016 + ID_13 ID_13 Y 18 10000 0.0018 + ID_10 ID_10 Y 18 10000 0.0018 + ID_196 ID_196 Y 19 10000 0.0019 + ID_133 ID_133 Y 42 10000 0.0042 + ID_134 ID_134 Y 13 10000 0.0013 + ID_118 ID_118 Y 6 10000 0.0006 + ID_75 ID_75 Y 20 10000 0.002 + ID_24 ID_24 Y 13 10000 0.0013 + ID_86 ID_86 Y 9 10000 0.0009 + ID_22 ID_22 Y 10 10000 0.001 + ID_90 ID_90 Y 30 10000 0.003 + ID_102 ID_102 Y 16 10000 0.0016 + ID_151 ID_151 Y 33 10000 0.0033 + ID_58 ID_58 Y 11 10000 0.0011 + ID_122 ID_122 Y 14 10000 0.0014 + ID_78 ID_78 Y 19 10000 0.0019 + ID_18 ID_18 Y 19 10000 0.0019 + ID_120 ID_120 Y 33 10000 0.0033 + ID_181 ID_181 Y 10 10000 0.001 + ID_144 ID_144 Y 17 10000 0.0017 + ID_4 ID_4 Y 8 10000 0.0008 + ID_53 ID_53 Y 13 10000 0.0013 + ID_116 ID_116 Y 18 10000 0.0018 +ID_155 ID_155 Y 3030 10000 0.029 + ID_176 ID_176 Y 29 10000 0.0029 + ID_177 ID_177 Y 29 10000 0.0029 +ID_156 ID_156 Y 2196 10000 0.029 +ID_157 ID_157 Y 626 10000 0.029 + ID_63 ID_63 Y 41 10000 0.0041 + ID_70 ID_70 Y 54 10000 0.0054 + ID_23 ID_23 Y 39 10000 0.0039 +ID_158 ID_158 Y 523 10000 0.029 + ID_80 ID_80 Y 37 10000 0.0037 + ID_193 ID_193 Y 26 10000 0.0026 + ID_62 ID_62 Y 49 10000 0.0049 + ID_139 ID_139 Y 27 10000 0.0027 + ID_20 ID_20 Y 21 10000 0.0021 + ID_77 ID_77 Y 80 10000 0.008 + ID_39 ID_39 Y 12 10000 0.0012 + ID_32 ID_32 Y 18 10000 0.0018 + ID_185 ID_185 Y 23 10000 0.0023 + ID_9 ID_9 Y 21 10000 0.0021 + ID_179 ID_179 Y 33 10000 0.0033 +ID_159 ID_159 Y 3902 10000 0.029 + ID_31 ID_31 Y 19 10000 0.0019 + ID_45 ID_45 Y 29 10000 0.0029 + ID_28 ID_28 Y 27 10000 0.0027 + ID_55 ID_55 Y 31 10000 0.0031 + ID_180 ID_180 Y 35 10000 0.0035 + ID_35 ID_35 Y 24 10000 0.0024 + ID_123 ID_123 Y 16 10000 0.0016 + ID_96 ID_96 Y 22 10000 0.0022 +ID_160 ID_160 Y 699 10000 0.029 + ID_71 ID_71 Y 31 10000 0.0031 + ID_46 ID_46 Y 26 10000 0.0026 + ID_197 ID_197 Y 46 10000 0.0046 + ID_52 ID_52 Y 50 10000 0.005 + ID_48 ID_48 Y 23 10000 0.0023 + ID_112 ID_112 Y 23 10000 0.0023 + ID_76 ID_76 Y 29 10000 0.0029 + ID_198 ID_198 Y 32 10000 0.0032 + ID_194 ID_194 Y 27 10000 0.0027 + ID_186 ID_186 Y 28 10000 0.0028 + ID_178 ID_178 Y 32 10000 0.0032 +ID_161 ID_161 Y 799 10000 0.029 + ID_59 ID_59 Y 28 10000 0.0028 + ID_3 ID_3 Y 22 10000 0.0022 + ID_42 ID_42 Y 25 10000 0.0025 + ID_103 ID_103 Y 14 10000 0.0014 + ID_132 ID_132 Y 28 10000 0.0028 + ID_97 ID_97 Y 16 10000 0.0016 + ID_8 ID_8 Y 70 10000 0.007 + ID_150 ID_150 Y 18 10000 0.0018 + ID_168 ID_168 Y 130 10000 0.013 + ID_16 ID_16 Y 50 10000 0.005 + ID_99 ID_99 Y 34 10000 0.0034 + ID_88 ID_88 Y 52 10000 0.0052 + ID_129 ID_129 Y 43 10000 0.0043 + ID_34 ID_34 Y 47 10000 0.0047 + ID_54 ID_54 Y 53 10000 0.0053 + ID_106 ID_106 Y 60 10000 0.006 + ID_130 ID_130 Y 45 10000 0.0045 + ID_95 ID_95 Y 50 10000 0.005 + ID_127 ID_127 Y 42 10000 0.0042 + ID_200 ID_200 Y 46 10000 0.0046 + ID_7 ID_7 Y 45 10000 0.0045 + ID_98 ID_98 Y 49 10000 0.0049 + ID_84 ID_84 Y 44 10000 0.0044 + ID_101 ID_101 Y 43 10000 0.0043 diff --git a/tests/testthat/data_all_passing.sexcheck b/tests/testthat/data_all_passing.sexcheck new file mode 100644 index 0000000..2ac1d7b --- /dev/null +++ b/tests/testthat/data_all_passing.sexcheck @@ -0,0 +1,201 @@ +FID IID PEDSEX SNPSEX STATUS F +ID_26 ID_26 2 2 OK -0.09667 +ID_125 ID_125 1 1 OK 0.9839 +ID_162 ID_162 2 2 OK -0.09667 +ID_169 ID_169 2 2 OK -0.1785 +ID_147 ID_147 2 2 OK -0.1289 +ID_152 ID_152 1 1 OK 0.9449 +ID_187 ID_187 2 2 OK -0.01603 +ID_17 ID_17 2 2 OK -0.2902 +ID_153 ID_153 2 2 OK 0.07437 +ID_5 ID_5 2 2 OK -0.006869 +ID_74 ID_74 1 1 OK 1 +ID_154 ID_154 2 2 OK -0.1574 +ID_29 ID_29 2 2 OK -0.04829 +ID_163 ID_163 2 2 OK 0.113 +ID_121 ID_121 2 2 OK 9.321e-05 +ID_164 ID_164 2 2 OK 0.0646 +ID_72 ID_72 1 1 OK 0.9837 +ID_19 ID_19 2 2 OK 0.02547 +ID_119 ID_119 2 2 OK 0.01622 +ID_37 ID_37 2 2 OK 0.04848 +ID_115 ID_115 2 2 OK -0.1128 +ID_30 ID_30 2 2 OK -0.03216 +ID_40 ID_40 1 1 OK 0.9839 +ID_117 ID_117 2 2 OK -0.04829 +ID_114 ID_114 2 2 OK -0.03216 +ID_49 ID_49 1 1 OK 0.9837 +ID_170 ID_170 2 2 OK -0.1128 +ID_85 ID_85 1 1 OK 0.9839 +ID_15 ID_15 2 2 OK 0.0646 +ID_149 ID_149 2 2 OK -0.08054 +ID_141 ID_141 1 1 OK 0.9838 +ID_171 ID_171 2 2 OK -0.3708 +ID_167 ID_167 2 2 OK 0.07523 +ID_100 ID_100 1 1 OK 1 +ID_111 ID_111 2 2 OK -0.06442 +ID_94 ID_94 2 2 OK -0.01603 +ID_165 ID_165 2 2 OK -0.01603 +ID_131 ID_131 1 1 OK 1 +ID_142 ID_142 1 1 OK 0.9839 +ID_124 ID_124 1 1 OK 0.9837 +ID_68 ID_68 2 2 OK -0.06442 +ID_113 ID_113 2 2 OK 0.1775 +ID_188 ID_188 2 2 OK -0.1128 +ID_189 ID_189 1 1 OK 0.9838 +ID_128 ID_128 2 2 OK 0.05216 +ID_2 ID_2 2 2 OK 0.1775 +ID_1 ID_1 2 2 OK 0.0646 +ID_166 ID_166 2 2 OK 0.03235 +ID_172 ID_172 2 2 OK -0.1934 +ID_145 ID_145 1 1 OK 0.9839 +ID_91 ID_91 1 1 OK 0.9839 +ID_199 ID_199 2 2 OK -0.06442 +ID_61 ID_61 2 2 OK 0.09686 +ID_104 ID_104 2 2 OK 0.1452 +ID_47 ID_47 2 0 OK 0.3549 +ID_93 ID_93 2 2 OK 9.321e-05 +ID_56 ID_56 1 1 OK 0.9838 +ID_21 ID_21 2 2 OK -0.06442 +ID_69 ID_69 1 1 OK 1 +ID_65 ID_65 2 2 OK -0.01603 +ID_182 ID_182 1 1 OK 0.9839 +ID_89 ID_89 2 2 OK 0.03235 +ID_146 ID_146 2 0 OK 0.2468 +ID_60 ID_60 1 1 OK 0.9839 +ID_36 ID_36 2 2 OK -0.1128 +ID_105 ID_105 1 1 OK 0.9838 +ID_109 ID_109 2 2 OK 0.0646 +ID_87 ID_87 2 2 OK 0.0407 +ID_25 ID_25 2 2 OK 0.07586 +ID_73 ID_73 1 1 OK 0.9838 +ID_108 ID_108 2 2 OK 0.1775 +ID_190 ID_190 2 2 OK -0.03216 +ID_107 ID_107 1 1 OK 0.9837 +ID_50 ID_50 2 2 OK 0.1291 +ID_67 ID_67 2 2 OK -0.06442 +ID_92 ID_92 2 2 OK 0.113 +ID_110 ID_110 1 1 OK 0.9838 +ID_41 ID_41 1 1 OK 0.9837 +ID_126 ID_126 2 2 OK 0.0646 +ID_51 ID_51 1 1 OK 0.9839 +ID_6 ID_6 2 0 OK 0.2259 +ID_138 ID_138 2 2 OK 0.1452 +ID_33 ID_33 1 1 OK 0.9838 +ID_66 ID_66 1 1 OK 0.9839 +ID_183 ID_183 1 1 OK 0.9837 +ID_136 ID_136 2 2 OK 0.01622 +ID_64 ID_64 2 2 OK 0.08073 +ID_191 ID_191 2 2 OK -0.04829 +ID_195 ID_195 2 2 OK 0.113 +ID_79 ID_79 1 1 OK 0.9839 +ID_148 ID_148 2 2 OK 0.03235 +ID_135 ID_135 1 1 OK 0.9839 +ID_137 ID_137 2 2 OK 0.1936 +ID_27 ID_27 2 2 OK -0.08054 +ID_11 ID_11 2 2 OK 0.04848 +ID_140 ID_140 1 1 OK 0.9839 +ID_143 ID_143 2 2 OK -0.08054 +ID_81 ID_81 2 2 OK 0.08073 +ID_44 ID_44 2 2 OK -0.01603 +ID_184 ID_184 1 1 OK 0.9839 +ID_57 ID_57 1 1 OK 0.9839 +ID_83 ID_83 1 1 OK 0.9839 +ID_192 ID_192 1 1 OK 0.9839 +ID_173 ID_173 2 2 OK -0.1451 +ID_12 ID_12 1 1 OK 0.9839 +ID_174 ID_174 2 2 OK -0.1348 +ID_82 ID_82 1 1 OK 0.9839 +ID_38 ID_38 2 2 OK -0.04829 +ID_14 ID_14 1 1 OK 0.9838 +ID_43 ID_43 2 0 OK 0.2259 +ID_175 ID_175 2 0 OK 0.371 +ID_13 ID_13 2 2 OK -0.04829 +ID_10 ID_10 1 1 OK 0.9838 +ID_196 ID_196 1 1 OK 0.9839 +ID_133 ID_133 1 1 OK 0.9839 +ID_134 ID_134 2 2 OK 0.01622 +ID_118 ID_118 2 2 OK 0.04848 +ID_75 ID_75 1 1 OK 0.9839 +ID_24 ID_24 2 2 OK 0.1614 +ID_86 ID_86 1 1 OK 0.9839 +ID_22 ID_22 2 2 OK -0.1289 +ID_90 ID_90 2 2 OK 0.0256 +ID_102 ID_102 2 2 OK 0.03235 +ID_151 ID_151 2 2 OK 0.113 +ID_58 ID_58 1 1 OK 0.9839 +ID_122 ID_122 1 1 OK 0.9837 +ID_78 ID_78 1 1 OK 0.9837 +ID_18 ID_18 2 2 OK -0.03216 +ID_120 ID_120 1 1 OK 0.9838 +ID_181 ID_181 1 1 OK 0.9839 +ID_144 ID_144 1 1 OK 0.9838 +ID_4 ID_4 1 1 OK 0.9839 +ID_53 ID_53 1 1 OK 0.9839 +ID_116 ID_116 2 2 OK 0.08073 +ID_155 ID_155 1 2 OK -0.637 +ID_176 ID_176 2 2 OK -0.08311 +ID_177 ID_177 2 2 OK -0.2257 +ID_156 ID_156 2 2 OK 0.03477 +ID_157 ID_157 2 2 OK 0.02548 +ID_63 ID_63 2 2 OK -0.06442 +ID_70 ID_70 1 1 OK 0.9836 +ID_23 ID_23 2 2 OK -0.01603 +ID_158 ID_158 1 1 OK 0.8961 +ID_80 ID_80 2 2 OK -0.05559 +ID_193 ID_193 2 2 OK -0.03216 +ID_62 ID_62 2 2 OK 0.01622 +ID_139 ID_139 2 2 OK -0.04829 +ID_20 ID_20 2 2 OK -0.03216 +ID_77 ID_77 2 2 OK 0.1775 +ID_39 ID_39 1 1 OK 0.9838 +ID_32 ID_32 1 1 OK 0.9839 +ID_185 ID_185 2 0 OK 0.4033 +ID_9 ID_9 1 1 OK 0.9838 +ID_179 ID_179 2 1 OK 0.9838 +ID_159 ID_159 1 2 OK -0.735 +ID_31 ID_31 2 2 OK 0.01622 +ID_45 ID_45 1 1 OK 0.9839 +ID_28 ID_28 1 1 OK 0.9839 +ID_55 ID_55 2 2 OK 0.1291 +ID_180 ID_180 1 2 OK -0.08054 +ID_35 ID_35 2 2 OK 0.03235 +ID_123 ID_123 1 1 OK 0.9839 +ID_96 ID_96 1 1 OK 0.9839 +ID_160 ID_160 1 1 OK 0.9251 +ID_71 ID_71 1 1 OK 0.9838 +ID_46 ID_46 2 2 OK 0.04848 +ID_197 ID_197 2 2 OK 0.01622 +ID_52 ID_52 1 1 OK 0.9839 +ID_48 ID_48 1 1 OK 0.9839 +ID_112 ID_112 1 1 OK 0.9839 +ID_76 ID_76 1 1 OK 0.9839 +ID_198 ID_198 1 1 OK 0.9839 +ID_194 ID_194 1 1 OK 0.9839 +ID_186 ID_186 2 2 OK -0.06442 +ID_178 ID_178 1 2 OK -0.01603 +ID_161 ID_161 2 2 OK -0.02616 +ID_59 ID_59 1 1 OK 0.9839 +ID_3 ID_3 2 2 OK -0.2257 +ID_42 ID_42 1 1 OK 0.9839 +ID_103 ID_103 2 2 OK 0.0646 +ID_132 ID_132 2 2 OK 9.321e-05 +ID_97 ID_97 1 1 OK 0.9839 +ID_8 ID_8 1 1 OK 0.9837 +ID_150 ID_150 1 1 OK 0.9839 +ID_168 ID_168 1 1 OK 0.9837 +ID_16 ID_16 2 2 OK -0.1451 +ID_99 ID_99 1 1 OK 0.9837 +ID_88 ID_88 2 2 OK -0.1451 +ID_129 ID_129 1 1 OK 0.9839 +ID_34 ID_34 1 1 OK 0.9839 +ID_54 ID_54 1 1 OK 0.9839 +ID_106 ID_106 1 1 OK 0.9838 +ID_130 ID_130 1 1 OK 1 +ID_95 ID_95 1 1 OK 0.9839 +ID_127 ID_127 1 1 OK 0.9839 +ID_200 ID_200 2 2 OK -0.08054 +ID_7 ID_7 1 1 OK 0.9837 +ID_98 ID_98 1 1 OK 0.9839 +ID_84 ID_84 1 1 OK 0.9838 +ID_101 ID_101 2 2 OK 0.113 diff --git a/tests/testthat/test-individualQC.R b/tests/testthat/test-individualQC.R index 0dd6236..c43a7d7 100644 --- a/tests/testthat/test-individualQC.R +++ b/tests/testthat/test-individualQC.R @@ -47,6 +47,11 @@ test_that('evaluate_check_sex returns correct fail IDs for example data',{ expect_true(all(fail_sex$fail_sex$IID %in% fail_sexIDs[,1])) }) +test_that('evaluate_check_sex runs successfully if no sample fails',{ + fail_sex <- evaluate_check_sex(qcdir, name="data_all_passing", + verbose=FALSE, interactive=TRUE) + expect_true(is.null(fail_sex$fail_sex)) +}) context('Test evaluate_check_het_and_miss') test_that('evaluate_check_het_and_miss fails with hetTh numbers error', @@ -82,6 +87,13 @@ test_that('evaluate_check_het_and_miss returns correct fail IDs',{ expect_true(all(fail_het_imiss$fail_imiss$IID %in% fail_imissIDs[,1])) }) +test_that('evaluate_check_het_and_miss runs successfully if no sample fails',{ + fail_check_het_and_miss <- + evaluate_check_het_and_miss(qcdir, name="data_all_passing", + verbose=FALSE, interactive=TRUE) + expect_true(is.null(fail_check_het_and_miss$fail_het_and_miss)) +}) + context('Test evaluate_check_relatedness') test_that('evaluate_check_relatedness throws file error',{