about summary refs log tree commit diff
diff options
context:
space:
mode:
-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