aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2026-02-06 06:10:12 +0300
committerMunyoki Kilyungi2026-02-06 06:10:12 +0300
commit5f8dedd0af383ab14582f538443bf8ddd207df33 (patch)
treed2039c4611868e524332d740bc8b6937750b1158
parent9c43d6dea557d11ed936950cd190172883a34595 (diff)
downloadgn-transform-databases-5f8dedd0af383ab14582f538443bf8ddd207df33.tar.gz
Add marker count.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
-rwxr-xr-xexamples/genotype-datasets.scm16
-rwxr-xr-xexamples/ontology.scm5
2 files changed, 19 insertions, 2 deletions
diff --git a/examples/genotype-datasets.scm b/examples/genotype-datasets.scm
index ba31088..ebe2349 100755
--- a/examples/genotype-datasets.scm
+++ b/examples/genotype-datasets.scm
@@ -36,6 +36,19 @@
(set gnt:has_strain (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_"))
(set dct:created (annotate-field (field GenoFreeze CreateTime) '^^xsd:datetime))))
+(define-transformer gn:dataset->marker/snp-count
+ (tables (GenoFreeze
+ (inner-join InbredSet "ON InbredSet.Id = GenoFreeze.InbredSetId")
+ (inner-join Species "ON InbredSet.SpeciesId = Species.Id")
+ (inner-join Geno "ON Geno.SpeciesId = Species.Id"))
+ "WHERE GenoFreeze.public > 0 AND Species.Name != 'monkey' GROUP BY GenoFreeze.Name")
+ (triples (string->identifier "dataset" (field GenoFreeze Name) #:separator "_")
+ (set gnt:has_marker_count
+ (string->symbol
+ (format #f "'~s'^^xsd:integer"
+ (field
+ ("COUNT(DISTINCT Geno.Marker_Name)" MarkerCount)))))))
+
(let* ((option-spec
'((settings (single-char #\s) (value #t))
@@ -67,7 +80,8 @@
(inputs
(list
gn:set->gn:dataset
- gn:dataset->metadata))
+ gn:dataset->metadata
+ gn:dataset->marker/snp-count))
(outputs
`(#:documentation ,documentation
#:rdf ,output))))
diff --git a/examples/ontology.scm b/examples/ontology.scm
index 561bcd3..3d58ecb 100755
--- a/examples/ontology.scm
+++ b/examples/ontology.scm
@@ -243,4 +243,7 @@
(triple 'gnt:has_genotype_data 'rdfs:domain 'gnc:set)
(triple 'gnt:has_genotype_data 'rdfs:range 'dcat:Dataset)
(triple 'gnt:has_genotype_data 'rdfs:subPropertyOf 'dct:relation)
- )))
+ (triple 'gnt:has_marker_count 'rdf:type 'owl:ObjectProperty)
+ (triple 'gnt:has_marker_count 'rdfs:label "this resources has N number of dna markers/SNPs.")
+ (triple 'gnt:has_marker_count 'rdfs:domain 'xsd:integer)
+ (triple 'gnt:has_marker_count 'rdfs:range 'dcat:Dataset))))