aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2025-05-07 10:17:25 +0300
committerMunyoki Kilyungi2025-05-08 08:59:17 +0300
commit541a6bf83ee23ad98fa5e0d8801d966d7ffaaa6a (patch)
treed430a048afc22ee623c22147fdf6805797779727
parent7d6f539a93e30885c756bb5dbe384223fb6abcab (diff)
downloadgn-machines-541a6bf83ee23ad98fa5e0d8801d966d7ffaaa6a.tar.gz
Add "--init-rdf" option.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
-rwxr-xr-xgenenetwork-local-container.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/genenetwork-local-container.sh b/genenetwork-local-container.sh
index bbdf01c..39be629 100755
--- a/genenetwork-local-container.sh
+++ b/genenetwork-local-container.sh
@@ -42,6 +42,7 @@ SYSTEM_DIRECTORIES=(
GN_PROJECTS=(
"genenetwork2:git@github.com:genenetwork/genenetwork2"
"genenetwork3:git@github.com:genenetwork/genenetwork3"
+ "gn-transform-databases:https://git.genenetwork.org/gn-transform-databases/"
"gn-auth:https://git.genenetwork.org/gn-auth"
"gn-docs:https://git.genenetwork.org/gn-docs"
)
@@ -350,3 +351,34 @@ if [ "$1" = "--init-sql" ]; then
log INFO "Database import completed successfully"
exit 0
fi
+
+if [ "$1" = "--init-rdf" ]; then
+ # Check for required tools
+ for cmd in guix; do
+ if ! command -v "$cmd" &> /dev/null; then
+ log ERROR "Required command '$cmd' not found"
+ exit 1
+ fi
+ done
+
+ log INFO "Please make sure your container is running for this to work"
+ log INFO "This takes some time to run"
+ # Check if directory exists and is accessible
+ if [ -d "$BASE_DIR/var/lib/data" ]; then
+ if [ -w "$BASE_DIR/var/lib/data" ]; then
+ log "DEBUG" "Directory exists and is writable: $BASE_DIR/var/lib/data"
+ else
+ log "WARNING" "Directory exists but is not writable: $BASE_DIR/var/lib/data. Making this writable"
+ sudo chown -R "$USER" "$BASE_DIR/var/lib/data"
+ fi
+ continue
+ fi
+ curr_dir="$PWD"
+ cd "$BASE_DIR/gn-transform-databases"
+ guix shell -m "manifest.scm" -- guile "generate-ttl-files.scm" \
+ --settings "$curr_dir/etc/conn.scm" --output "$BASE_DIR/var/lib/data"
+ guix shell guile-dbi -m "manifest.scm" -- guile load-rdf.scm \
+ "$curr_dir/etc/conn.scm"
+ cd $curr_dir
+ exit 0
+fi