aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMunyoki Kilyungi2026-01-28 14:14:36 +0300
committerMunyoki Kilyungi2026-01-28 14:14:36 +0300
commit42b7ce31eb86551fa55c50bbc6a252fc172771c6 (patch)
treeafb82e3a7f7a628748009c4a20dbf6fadd107632 /examples
parent9c243dfac6c88ef96e176850a5874d23198c8494 (diff)
downloadgn-transform-databases-42b7ce31eb86551fa55c50bbc6a252fc172771c6.tar.gz
Correctly use molecular_trait.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/molecular-traits.scm64
1 files changed, 28 insertions, 36 deletions
diff --git a/examples/molecular-traits.scm b/examples/molecular-traits.scm
index 47efb98..9e826f6 100755
--- a/examples/molecular-traits.scm
+++ b/examples/molecular-traits.scm
@@ -11,67 +11,58 @@
(transform triples)
(transform special-forms))
-(define-transformer molecular-entities
+
+(define-transformer tissues->gn:molecular-traits
(tables (Tissue))
(schema-triples
(gnc:molecular_trait a owl:Class)
(gnc:molecular_trait a skos:Concept)
(gnc:molecular_trait rdfs:subClassOf obo:UBERON_0000479)
(gnc:molecular_trait rdfs:label "Molecular Trait. This describes a melecular trait of a given species. We combine the species name and the tissue name in order to differentiate the traits across different inbredset groups."))
- (triples (string->identifier "tissue" (field Tissue Short_Name) #:separator "_")
+ (triples (string->identifier "trait" (field Tissue Short_Name) #:separator "_")
(set rdf:type 'gnc:molecular_trait)
(set skos:prefLabel (field Tissue Name))
(set skos:altLabel (field Tissue Short_Name))))
-(define-transformer molecular-traits
+(define-transformer gnc:molecular_trait->gn:molecular_trait
+ (tables (Tissue))
+ (triples "gnc:molecular_trait"
+ (set skos:member (string->identifier "trait" (field Tissue Short_Name) #:separator "_"))))
+
+(define-transformer gn:set->gn:dataset
(tables (Species
(inner-join InbredSet "ON InbredSet.SpeciesId = Species.Id")
(inner-join ProbeFreeze "ON ProbeFreeze.InbredSetId = InbredSet.Id")
(inner-join ProbeSetFreeze "ON ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id")
(inner-join Tissue "ON ProbeFreeze.TissueId = Tissue.Id"))
"WHERE ProbeSetFreeze.public > 0 GROUP BY Species.Name, Tissue.Short_Name")
- (schema-triples
- (gnt:has_molecular_trait rdf:type owl:ObjectProperty)
- (gnt:has_molecular_trait rdfs:domain gnc:set)
- (gnt:has_molecular_trait rdfs:range gnc:molecular_traits)
- (gnt:has_molecular_trait rdfs:label "has molecular trait"))
- (triples (string->identifier
- (format #f "trait_~a" (field Species Name))
- (field Tissue Short_Name)
- #:separator "_")
- (set rdf:type 'gnc:molecular_entity)
- (set gnt:has_strain
- (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_"))
- (set gnt:has_species
- (string->identifier "" (remap-species-identifiers (field Species Fullname))))
+ (triples (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_")
(multiset gnt:has_probeset_data
(map (cut string->identifier "dataset" <> #:separator "_")
(string-split
(field ("GROUP_CONCAT(ProbeSetFreeze.Name SEPARATOR ',')"
dataset_name))
- #\,)))
- (set gnt:has_molecular_trait
- (string->identifier "tissue"
- (field Tissue Short_Name)
- #:separator "_"))))
+ #\,)))))
-(define-transformer list-molecular-traits
+(define-transformer gn:dataset->set/species/molecular_trait
(tables (Species
(inner-join InbredSet "ON InbredSet.SpeciesId = Species.Id")
(inner-join ProbeFreeze "ON ProbeFreeze.InbredSetId = InbredSet.Id")
(inner-join ProbeSetFreeze "ON ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id")
(inner-join Tissue "ON ProbeFreeze.TissueId = Tissue.Id"))
- "WHERE ProbeSetFreeze.public > 0 GROUP BY Species.Name, Tissue.Short_Name")
+ "WHERE ProbeSetFreeze.public > 0")
(schema-triples
- (gnc:molecular_entity a owl:Class)
- (gnc:molecular_entity a skos:Concept)
- (gnc:molecular_entity rdfs:subClassOf obo:UBERON_0000479)
- (gnc:molecular_entity rdfs:label "This points this to resource which has molecular trait."))
- (triples (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_")
- (set gnt:has_molecular_entity
- (string->identifier (format #f "trait_~a"
- (field Species Name))
- (field Tissue Short_Name) #:separator "_"))))
+ (gnt:has_molecular_trait rdf:type owl:ObjectProperty)
+ (gnt:has_molecular_trait rdfs:domain gnc:set)
+ (gnt:has_molecular_trait rdfs:range gnc:molecular_trait)
+ (gnt:has_molecular_trait rdfs:label "has molecular trait"))
+ (triples (string->identifier "dataset" (field ProbeSetFreeze Name) #:separator "_")
+ (set gnt:has_strain
+ (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_"))
+ (set gnt:has_species
+ (string->identifier "" (remap-species-identifiers (field Species Fullname))))
+ (set gnt:has_molecular_trait
+ (string->identifier "trait" (field Tissue Short_Name) #:separator "_"))))
@@ -102,9 +93,10 @@
("rdfs:" "<http://www.w3.org/2000/01/rdf-schema#>")))
(inputs
(list
- molecular-entities
- molecular-traits
- list-molecular-traits))
+ tissues->gn:molecular-traits
+ gnc:molecular_trait->gn:molecular_trait
+ gn:set->gn:dataset
+ gn:dataset->set/species/molecular_trait))
(outputs
`(#:documentation ,documentation
#:rdf ,output))))