about summary refs log tree commit diff
path: root/gn3/db/datasets.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/db/datasets.py')
-rw-r--r--gn3/db/datasets.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/gn3/db/datasets.py b/gn3/db/datasets.py
index 6e3977f..5501d92 100644
--- a/gn3/db/datasets.py
+++ b/gn3/db/datasets.py
@@ -3,6 +3,7 @@ This module contains functions relating to specific trait dataset manipulation
 """
 import os
 from typing import Any
+from pathlib import Path
 
 from flask import current_app as app
 
@@ -330,3 +331,23 @@ def retrieve_trait_dataset(trait_type, trait, threshold, conn):
         **dataset_fns[trait_type](),
         **group
     }
+
+
+def retrieve_dataset_metadata(name: str) -> dict:
+    """Return the full data given a path, NAME"""
+    result = {}
+    __subject = {
+        "summary": "dct:description",
+        "tissue": "gnt:hasTissueInfo",
+        "specifics": "gnt:hasTissueInfo",
+        "cases": "gnt:hasCaseInfo",
+        "platform": "gnt:hasPlatformInfo",
+        "processing": "gnt:hasDataProcessingInfo",
+        "notes": "gnt:hasNotes",
+        "experiment-design": "gnt:hasExperimentDesignInfo",
+        "acknowledgment": "gnt:hasAcknowledgement",
+    }
+    for __file in Path(name).glob("*rtf"):
+        with __file.open() as _f:
+            result[__subject.get(__file.stem, f"gn:{__file.stem}")] = _f.read()
+    return result