aboutsummaryrefslogtreecommitdiff
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")))