diff xena_import.py @ 2:b3cd322f7749

Uploaded
author melissacline
date Wed, 03 Sep 2014 15:34:45 -0400
parents
children cae2b765ca5d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xena_import.py	Wed Sep 03 15:34:45 2014 -0400
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+"""
+  xena_import.py: import a dataset into Xena
+
+  Given a cmdline-specified genomic data file and a cmdline-specified Xena 
+  directory, import the genomic data fle into Xena.  This requires assembling
+  the necessary json file, based on cmdline input.
+"""
+
+import argparse
+import json
+import shutil
+
+def main():
+    parser = argparse.ArgumentParser()
+    parser.add_argument("genomicDataPathname", type=str)
+    parser.add_argument("cohort", type=str)
+    parser.add_argument("type", type=str)
+    parser.add_argument("xenaInputDir", type=str)
+    args = parser.parse_args()
+
+    # Assemble the metadata in JSON format
+    metadata = { 'cohort': args.cohort, 'type': args.type }
+    jsonMetadata = json.dumps(metadata, indent=2) 
+    
+    # Write the metadata to a file in the Xena directory.  Use the filename
+    # of the genomic data file, with an added .json extension.
+    genomicDataFilename = args.genomicDataPathname.split("/")[-1]
+    jsonMetadataPathname = "%s/%s.json" % (args.xenaInputDir, 
+                                           genomicDataFilename)
+    fp = open(jsonMetadataPathname, "w")
+    fp.write("%s\n" % (jsonMetadata))
+    fp.close()
+
+    # Finally, copy the genomic data into the Xena directory
+    shutil.copy(args.genomicDataPathname, args.xenaInputDir)
+
+if __name__ == "__main__":
+    main()