about summary refs log tree commit diff
path: root/examples/dump-phenotype.scm
diff options
context:
space:
mode:
authorMunyoki Kilyungi2023-08-21 14:54:21 +0300
committerMunyoki Kilyungi2023-08-21 14:56:57 +0300
commit51b3c0548c98e0bc05e11a89cbf6b75d31b9f8d5 (patch)
treeab3d7c6f589ed8480f0a9d451566681bcfd8eaaf /examples/dump-phenotype.scm
parent849874fdfe11003f05abe5f82efde974a8c8a388 (diff)
downloadgn-transform-databases-51b3c0548c98e0bc05e11a89cbf6b75d31b9f8d5.tar.gz
Remove "dump-" prefix
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Diffstat (limited to 'examples/dump-phenotype.scm')
-rwxr-xr-xexamples/dump-phenotype.scm125
1 files changed, 0 insertions, 125 deletions
diff --git a/examples/dump-phenotype.scm b/examples/dump-phenotype.scm
deleted file mode 100755
index b7ae003..0000000
--- a/examples/dump-phenotype.scm
+++ /dev/null
@@ -1,125 +0,0 @@
-#! /usr/bin/env guile
-!#
-
-(use-modules (rnrs programs)
-             (rnrs io ports)
-             (srfi srfi-1)
-             (srfi srfi-26)
-             (ice-9 match)
-             (ice-9 regex)
-             (dump strings)
-             (dump sql)
-             (dump triples)
-             (dump special-forms))
-
-
-
-(define %connection-settings
-  (call-with-input-file (list-ref (command-line) 1)
-    read))
-
-
-(define-transformer dump-phenotypes
-  (tables (PublishXRef
-           (left-join InbredSet "ON InbredSet.InbredSetId = PublishXRef.InbredSetId")
-           (left-join Publication "ON Publication.Id = PublishXRef.PublicationId")
-           (left-join Phenotype "ON Phenotype.Id = PublishXRef.PhenotypeId"))
-          "WHERE PublishXRef.InbredSetId IN (SELECT PublishFreeze.InbredSetId FROM PublishFreeze)")
-  (schema-triples
-   (gnc:phenotype a skos:Concept)
-   (gnc:phenotype skos:description "This is a set of controlled terms that are used to describe a given phenotype")
-   (gnt:abbreviation a owl:ObjectProperty)
-   (gnt:abbreviation rdfs:domain gnc:phenotype)
-   (gnt:abbreviation skos:definition "The abbreviation used for this resource")
-   (gnt:traitName a owl:ObjectProperty)
-   (gnt:traitName rdfs:domain gnc:phenotype)
-   (gnt:traitName skos:definition "The trait Name of this resource")
-   (gnt:labCode a owl:ObjectProperty)
-   (gnt:labCode rdfs:domain gnc:phenotype)
-   (gnt:submitter a owl:ObjectProperty)
-   (gnt:submitter rdfs:domain gnc:phenotype)
-   (gnt:submitter skos:definition "A person who submitted this resource to GN")
-   (gnt:mean rdfs:domain gnc:phenotype)
-   (gnt:mean rdfs:range xsd:double)
-   (gnt:LRS rdfs:domain gnc:phenotype)
-   (gnt:LRS rdfs:range xsd:double)
-   (gnt:locus rdfs:domain gnc:phenotype)
-   (gnt:locus rdfs:range rdfs:Literal)
-   (gnt:additive rdfs:domain gnc:phenotype)
-   (gnt:additive rdfs:range xsd:double)
-   (gnt:sequence rdfs:domain gnc:phenotype)
-   (gnt:sequence rdfs:range xsd:integer))
-  (triples (string->identifier
-            "trait"
-            (field ("CONCAT(IFNULL(InbredSet.Name, PublishXRef.InbredSetId), '_', PublishXRef.Id)"
-                    Phenotype)))
-    (set rdf:type 'gnc:phenotype)
-    (set gnt:belongsToSet
-         (string->identifier
-          "set" (field InbredSet Name)
-          #:separator ""
-          #:proc string-capitalize-first))
-    (set gnt:traitName
-         (let ((trait-id (field PublishXRef Id)))
-           (if (number? trait-id)
-               (number->string trait-id)
-               trait-id)))
-    (set rdfs:label
-         (field ("CONCAT(IFNULL(InbredSet.Name, PublishXRef.InbredSetId), '_', PublishXRef.Id)"
-                 Phenotype)))
-    ;; All phenotypes have a post-publication description
-    (set dct:description
-         (sanitize-rdf-string
-          (field Phenotype Post_publication_description)))
-    ;; All phenotypes have a post-publication abbreviation
-    (set gnt:abbreviation (field Phenotype Post_publication_abbreviation))
-    (set gnt:labCode (field Phenotype Lab_code))
-    (set gnt:submitter
-         (sanitize-rdf-string (field Phenotype Submitter)))
-    (multiset dct:contributor
-              (string-split
-               (sanitize-rdf-string (field Phenotype Owner))
-               #\,))
-    (set gnt:mean (annotate-field (field ("IFNULL(PublishXRef.mean, '')" mean))
-                                  '^^xsd:double))
-    (set gnt:locus (field PublishXRef Locus))
-    (set gnt:LRS (annotate-field
-                  (field ("IFNULL(PublishXRef.LRS, '')" lrs))
-                  '^^xsd:double))
-    (set gnt:additive
-         (annotate-field (field ("IFNULL(PublishXRef.additive, '')" additive))
-                         '^^xsd:double))
-    (set gnt:sequence (annotate-field (field PublishXRef Sequence) '^^xsd:integer))
-    (set dct:isReferencedBy
-         (let ((pmid (field
-                      ("IF(Publication.PubMed_ID IS NULL, '', CONVERT(Publication.PubMed_Id, INT))"
-                       pmid)))
-               (publication-id (field Publication Id)))
-           (if (string-null? pmid)
-               (string->identifier "unpublished"
-                                   (number->string publication-id))
-               (ontology 'pubmed: pmid))))))
-
-
-
-(dump-with-documentation
- (name "Phenotypes Metadata")
- (connection %connection-settings)
- (table-metadata? #f)
- (prefixes
-  '(("dct:" "<http://purl.org/dc/terms/>")
-    ("gn:" "<http://genenetwork.org/id/>")
-    ("owl:" "<http://www.w3.org/2002/07/owl#>")
-    ("gnc:" "<http://genenetwork.org/category/>")
-    ("gnt:" "<http://genenetwork.org/terms/>")
-    ("skos:" "<http://www.w3.org/2004/02/skos/core#>")
-    ("rdf:" "<http://www.w3.org/1999/02/22-rdf-syntax-ns#>")
-    ("rdfs:" "<http://www.w3.org/2000/01/rdf-schema#>")
-    ("xsd:" "<http://www.w3.org/2001/XMLSchema#>")
-    ("pubmed:" "<http://rdf.ncbi.nlm.nih.gov/pubmed/>")))
- (inputs
-  (list
-   dump-phenotypes))
- (outputs
-  '(#:documentation "./docs/dump-phenotype.md"
-    #:rdf "/export/data/genenetwork-virtuoso/dump-phenotype.ttl")))