Skip to content

Commit

Permalink
Add WIP R scripts for alignment ontology
Browse files Browse the repository at this point in the history
Ref #120

This isn't yet done but it's close.
  • Loading branch information
amoeba committed Jul 16, 2022
1 parent f047f25 commit 3dd08fc
Show file tree
Hide file tree
Showing 7 changed files with 713 additions and 0 deletions.
77 changes: 77 additions & 0 deletions salmon/misc/find-deprecated-iris/deprecated_iris.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
http://purl.dataone.org/odo/salmon_000127
http://purl.dataone.org/odo/salmon_000128
http://purl.dataone.org/odo/salmon_000129
http://purl.dataone.org/odo/salmon_000130
http://purl.dataone.org/odo/salmon_000131
http://purl.dataone.org/odo/salmon_000132
http://purl.dataone.org/odo/salmon_000133
http://purl.dataone.org/odo/salmon_000142
http://purl.dataone.org/odo/salmon_000186
http://purl.dataone.org/odo/salmon_000187
http://purl.dataone.org/odo/salmon_000188
http://purl.dataone.org/odo/salmon_000189
http://purl.dataone.org/odo/salmon_000200
http://purl.dataone.org/odo/salmon_000216
http://purl.dataone.org/odo/salmon_000235
http://purl.dataone.org/odo/salmon_000239
http://purl.dataone.org/odo/salmon_000240
http://purl.dataone.org/odo/salmon_000241
http://purl.dataone.org/odo/salmon_000242
http://purl.dataone.org/odo/salmon_000243
http://purl.dataone.org/odo/salmon_000480
http://purl.dataone.org/odo/salmon_000481
http://purl.dataone.org/odo/salmon_000492
http://purl.dataone.org/odo/salmon_000493
http://purl.dataone.org/odo/salmon_000504
http://purl.dataone.org/odo/salmon_000520
http://purl.dataone.org/odo/salmon_000525
http://purl.dataone.org/odo/salmon_000527
http://purl.dataone.org/odo/salmon_000529
http://purl.dataone.org/odo/salmon_000569
http://purl.dataone.org/odo/salmon_000570
http://purl.dataone.org/odo/salmon_000582
http://purl.dataone.org/odo/salmon_000630
http://purl.dataone.org/odo/salmon_000642
http://purl.dataone.org/odo/salmon_000647
http://purl.dataone.org/odo/salmon_000659
http://purl.dataone.org/odo/salmon_000663
http://purl.dataone.org/odo/salmon_000665
http://purl.dataone.org/odo/salmon_000666
http://purl.dataone.org/odo/salmon_000667
http://purl.dataone.org/odo/salmon_000668
http://purl.dataone.org/odo/salmon_000669
http://purl.dataone.org/odo/salmon_000670
http://purl.dataone.org/odo/salmon_000671
http://purl.dataone.org/odo/salmon_000680
http://purl.dataone.org/odo/salmon_000681
http://purl.dataone.org/odo/salmon_000691
http://purl.dataone.org/odo/salmon_000692
http://purl.dataone.org/odo/salmon_000693
http://purl.dataone.org/odo/salmon_000694
http://purl.dataone.org/odo/salmon_000695
http://purl.dataone.org/odo/salmon_000696
http://purl.dataone.org/odo/salmon_000697
http://purl.dataone.org/odo/salmon_000698
http://purl.dataone.org/odo/salmon_000699
http://purl.dataone.org/odo/salmon_000700
http://purl.dataone.org/odo/salmon_000701
http://purl.dataone.org/odo/salmon_000705
http://purl.dataone.org/odo/salmon_000709
http://purl.dataone.org/odo/salmon_000710
http://purl.dataone.org/odo/salmon_000711
http://purl.dataone.org/odo/salmon_000712
http://purl.dataone.org/odo/salmon_000713
http://purl.dataone.org/odo/salmon_000718
http://purl.dataone.org/odo/salmon_000719
http://purl.dataone.org/odo/salmon_000720
http://purl.dataone.org/odo/salmon_000721
http://purl.dataone.org/odo/salmon_000727
http://purl.dataone.org/odo/salmon_000728
http://purl.dataone.org/odo/salmon_000729
http://purl.dataone.org/odo/salmon_000754
http://purl.dataone.org/odo/salmon_000755
http://purl.dataone.org/odo/salmon_000777
http://purl.dataone.org/odo/salmon_000780
http://purl.dataone.org/odo/salmon_000782
http://purl.dataone.org/odo/salmon_000783
http://purl.dataone.org/odo/salmon_000785
16 changes: 16 additions & 0 deletions salmon/misc/find-deprecated-iris/find-deprecated-iris.Rproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Version: 1.0

RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default

EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8

RnwWeave: knitr
LaTeX: pdfLaTeX

AutoAppendNewline: Yes
StripTrailingWhitespace: Yes
74 changes: 74 additions & 0 deletions salmon/misc/find-deprecated-iris/find_deprecated_iris.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
library(dataone)
library(xml2)

knb <- MNode("https://knb.ecoinformatics.org/knb/d1/mn/v2")
iris <- readLines("./deprecated_iris.txt")

get_instances_single <- function(node, pid, iri) {
message("Getting instances of ", iri, " in ", pid)

out_path <- tempfile()
writeBin(getObject(node, pid), out_path)
xml_doc <- xml2::read_xml(out_path)

annotations <- xml2::xml_find_all(xml_doc, "//annotation")

matching_annotations <- Filter(function(annotation) {
iri == xml2::xml_text(xml2::xml_find_first(annotation, "valueURI"))
}, annotations)

# Note: This assumes attribute and just go with it
unique(vapply(matching_annotations, function(annotation) {
parent <- xml2::xml_parent(annotation)
attributeName <- xml2::xml_text(xml2::xml_find_first(parent, "attributeName"))
attributeDefintion <- xml2::xml_text(xml2::xml_find_first(parent, "attributeDefinition"))

propertyURI <- xml2::xml_find_first(annotation, "propertyURI")
valueURI <- xml2::xml_find_first(annotation, "valueURI")

propertyURILabel <- xml2::xml_attr(propertyURI, "label")
propertyURIValue <- xml2::xml_text(propertyURI)
valueURILabel <- xml2::xml_attr(valueURI, "label")
valueURIValue <- xml2::xml_text(valueURI)

# Create an easy to survey string describing the attribute and the
# annotation
paste0(attributeName, " (", attributeDefintion, ") <-> ", valueURILabel, " (", valueURIValue, ")")
}, "", USE.NAMES = FALSE))
}

get_instances <- function(node, pid, iris) {
unique(vapply(iris, function(iri) {
get_instances_single(node, pid, iri)
}, ""))
}

debug_iri <- function(node, iri) {
message("Debugging ", iri)

ids <- unlist(query(
node,
list(
q = paste0('sem_annotation:"', iri, '"'),
fl = "identifier"
)
), use.names = FALSE)

result <- unique(unlist(lapply(ids, function(id) {
get_instances(node, id, iri)
})))

result
}

debug_iris <- function(node, iris) {
result <- lapply(iris, function(iri) {
debug_iri(knb, iri)
})

names(result) <- iris

result
}


74 changes: 74 additions & 0 deletions salmon/misc/find-deprecated-iris/sameAs-statements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<http://purl.dataone.org/odo/salmon_000129> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000129> .
<http://purl.dataone.org/odo/salmon_000130> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000130> .
<http://purl.dataone.org/odo/salmon_000131> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000131> .
<http://purl.dataone.org/odo/salmon_000132> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000132> .
<http://purl.dataone.org/odo/salmon_000133> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000133> .
<http://purl.dataone.org/odo/salmon_000142> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000142> .
<http://purl.dataone.org/odo/salmon_000186> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000186> .
<http://purl.dataone.org/odo/salmon_000187> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000187> .
<http://purl.dataone.org/odo/salmon_000188> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000188> .
<http://purl.dataone.org/odo/salmon_000189> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000189> .
<http://purl.dataone.org/odo/salmon_000200> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000200> .
<http://purl.dataone.org/odo/salmon_000216> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000216> .
<http://purl.dataone.org/odo/salmon_000235> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000235> .
<http://purl.dataone.org/odo/salmon_000239> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000239> .
<http://purl.dataone.org/odo/salmon_000240> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000240> .
<http://purl.dataone.org/odo/salmon_000241> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000241> .
<http://purl.dataone.org/odo/salmon_000242> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000242> .
<http://purl.dataone.org/odo/salmon_000243> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000243> .
<http://purl.dataone.org/odo/salmon_000480> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000480> .
<http://purl.dataone.org/odo/salmon_000481> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000481> .
<http://purl.dataone.org/odo/salmon_000492> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000492> .
<http://purl.dataone.org/odo/salmon_000493> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000493> .
<http://purl.dataone.org/odo/salmon_000504> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000504> .
<http://purl.dataone.org/odo/salmon_000520> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000520> .
<http://purl.dataone.org/odo/salmon_000525> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000525> .
<http://purl.dataone.org/odo/salmon_000527> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000527> .
<http://purl.dataone.org/odo/salmon_000529> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000529> .
<http://purl.dataone.org/odo/salmon_000569> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000569> .
<http://purl.dataone.org/odo/salmon_000570> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000570> .
<http://purl.dataone.org/odo/salmon_000582> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000582> .
<http://purl.dataone.org/odo/salmon_000630> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000630> .
<http://purl.dataone.org/odo/salmon_000642> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000642> .
<http://purl.dataone.org/odo/salmon_000659> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000659> .
<http://purl.dataone.org/odo/salmon_000663> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000663> .
<http://purl.dataone.org/odo/salmon_000665> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000665> .
<http://purl.dataone.org/odo/salmon_000666> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000666> .
<http://purl.dataone.org/odo/salmon_000667> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000667> .
<http://purl.dataone.org/odo/salmon_000668> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000668> .
<http://purl.dataone.org/odo/salmon_000669> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000669> .
<http://purl.dataone.org/odo/salmon_000670> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000670> .
<http://purl.dataone.org/odo/salmon_000671> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000671> .
<http://purl.dataone.org/odo/salmon_000680> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000680> .
<http://purl.dataone.org/odo/salmon_000681> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000681> .
<http://purl.dataone.org/odo/salmon_000691> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000691> .
<http://purl.dataone.org/odo/salmon_000692> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000692> .
<http://purl.dataone.org/odo/salmon_000693> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000693> .
<http://purl.dataone.org/odo/salmon_000694> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000694> .
<http://purl.dataone.org/odo/salmon_000695> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000695> .
<http://purl.dataone.org/odo/salmon_000696> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000696> .
<http://purl.dataone.org/odo/salmon_000697> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000697> .
<http://purl.dataone.org/odo/salmon_000698> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000698> .
<http://purl.dataone.org/odo/salmon_000699> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000699> .
<http://purl.dataone.org/odo/salmon_000700> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000700> .
<http://purl.dataone.org/odo/salmon_000701> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000701> .
<http://purl.dataone.org/odo/salmon_000705> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000705> .
<http://purl.dataone.org/odo/salmon_000709> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000709> .
<http://purl.dataone.org/odo/salmon_000710> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000710> .
<http://purl.dataone.org/odo/salmon_000711> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000711> .
<http://purl.dataone.org/odo/salmon_000712> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000712> .
<http://purl.dataone.org/odo/salmon_000713> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000713> .
<http://purl.dataone.org/odo/salmon_000718> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000718> .
<http://purl.dataone.org/odo/salmon_000719> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000719> .
<http://purl.dataone.org/odo/salmon_000720> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000720> .
<http://purl.dataone.org/odo/salmon_000721> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000721> .
<http://purl.dataone.org/odo/salmon_000727> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000727> .
<http://purl.dataone.org/odo/salmon_000728> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000728> .
<http://purl.dataone.org/odo/salmon_000729> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000729> .
<http://purl.dataone.org/odo/salmon_000754> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000754> .
<http://purl.dataone.org/odo/salmon_000755> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000755> .
<http://purl.dataone.org/odo/salmon_000777> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000777> .
<http://purl.dataone.org/odo/salmon_000780> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000780> .
<http://purl.dataone.org/odo/salmon_000782> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000782> .
<http://purl.dataone.org/odo/salmon_000783> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000783> .
<http://purl.dataone.org/odo/salmon_000785> owl:equivalentClass <http://purl.dataone.org/odo/salmon_00000785> .
Loading

0 comments on commit 3dd08fc

Please sign in to comment.