Mercurial > repos > melissacline > xena_import
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()