From 12a0dcbf52e96bc06ad5dda44ef0fa2c92c0214e Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Tue, 9 Sep 2025 15:36:56 +0200 Subject: Precompute --- topics/systems/mariadb/precompute-publishdata.gmi | 57 +++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'topics/systems') diff --git a/topics/systems/mariadb/precompute-publishdata.gmi b/topics/systems/mariadb/precompute-publishdata.gmi index e7e7662..fdd95d4 100644 --- a/topics/systems/mariadb/precompute-publishdata.gmi +++ b/topics/systems/mariadb/precompute-publishdata.gmi @@ -2844,3 +2844,60 @@ gn:QTL_CHR1_722551_GEMMAMapped_LOCO_BXDPublish_10002_gemma_GWA_7c00f36d ``` I have two things to solve now. First we need to check whether QTLs between the two runs overlap. And then there is a bug in the QTL computation from SNP positions. I am seeing some inconsistencies wrt binning. + +The problem I was referring to yesterday turns out to be alright. I thought that when I was using the combined SNPs from HK and LOCO that there was only one peak. But there are two: + +``` +[10002,combined] =>{"1"=>[#, #]}, +[10002,HK] =>{"1"=> #], +[10002,LOCO] =>{"1"=>[#, #] +``` + +It is interesting to see that HK misses out on one peak completely and the second peak completely overlaps with LOCO (including all SNPs). All good, so far. OK. Let's add some logic to see what peaks match or don't match: + +``` +[10002,HK] =>{"1"=>[#], "8"=>[#]} +[10002,LOCO] =>{"1"=>[#, #], "8"=>[#]} +["10002: NO HK match for LOCO Chr 1 QTL!", #] +[10004,HK] =>{"8"=>[#]} +[10004,LOCO] =>{"8"=>[#]} +["10004: NO HK match for LOCO Chr 8 QTL!", #] +``` + +So 10002 correctly says there is a new QTL on chr1 and for 10004 a new QTL on chr8. Now, for 10004 it appears the HK version is in a different location, but I think it suffices to point out 'apparently' new QTL. + +Alright, so we can now annotate new/moved QTL! We are going to feed this back into virtuoso by writing RDF as I showed yesterday. + +Next step is to say something about the peaks. Let's enrich our RDF store to show these results. Basically for 10002 we add RDF statements for + +``` +[10002,HK] =>{"1"=>[#], "8"=>[#]} +[10002,LOCO] =>{"1"=>[#, #], "8"=>[#]} +``` + +E.g. + +``` +gn:GEMMAMapped_LOCO_BXDPublish_10002_gemma_GWA_7c00f36d_8_94 + gnt:mappedQTL gn:GEMMAMapped_LOCO_BXDPublish_10002_gemma_GWA_7c00f36d; + rdfs:label "GEMMA BXDPublish QTL"; + gnt:qtlChr "8"; + gnt:qtlStart 94.4792 ; + gnt:qtlStop 97.3382 ; + gnt:qtlLOD 4.8 . +gn:GEMMAMapped_LOCO_BXDPublish_10002_gemma_GWA_7c00f36d_8_94 gnt:mappedSnp gn:Rsm10000005689_BXDPublish_10002_gemma_GWA_7c00f36d . +gn:GEMMAMapped_LOCO_BXDPublish_10002_gemma_GWA_7c00f36d_8_94 gnt:mappedSnp gn:Rs232396986_BXDPublish_10002_gemma_GWA_7c00f36d . +gn:GEMMAMapped_LOCO_BXDPublish_10002_gemma_GWA_7c00f36d_8_94 gnt:mappedSnp gn:Rsm10000005690_BXDPublish_10002_gemma_GWA_7c00f36d . +(...) +``` + +and if it is a new QTL compared to HK we annotate a newly discovered QTL: + +``` +gn:GEMMAMapped_LOCO_BXDPublish_10002_gemma_GWA_7c00f36d_1_72_73 a gnt:newlyDiscoveredQTL . +gn:GEMMAMapped_LOCO_BXDPublish_10004_gemma_GWA_7c00f36d_8_96_97 a gnt:newlyDiscoveredQTL . +``` + +Note we skipped the results that show no SNP changes - I should add them later to give full QTL cover. \ +Now we have all the RDF to figure out what traits have new QTL compared to reaper! +I'll upload them in virtuoso for further analysis. -- cgit 1.4.1