Mercurial > repos > ucsb-phylogenetics > osiris_phylogenetics
diff orthologs/ucsb_hamster/unbuild.py @ 0:5b9a38ec4a39 draft default tip
First commit of old repositories
author | osiris_phylogenetics <ucsb_phylogenetics@lifesci.ucsb.edu> |
---|---|
date | Tue, 11 Mar 2014 12:19:13 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/orthologs/ucsb_hamster/unbuild.py Tue Mar 11 12:19:13 2014 -0700 @@ -0,0 +1,54 @@ +#!/usr/bin/env python +''' +Usage: unbuild.py outputDirectoryName hmmFileWithTabs +This script takes a tab sperated, newline escaped HMM models file then splits the models up and makes a file list. +The output files are put into the directory outputDirectoryName. +''' +from sys import argv, exit +import os + + +def parse(line): + line = line.partition('\t') + name = line[0] + ".hmm" + data = line[2].replace("\\n", "\n") + return name, data + + +def writeFile(location, data): + try: + with open(location, 'w') as f: + f.write(data) + except: + pass + + +def createDir(dir): + if not os.path.exists(dir): + os.makedirs(dir) + + +if __name__ == "__main__": + if len(argv) != 3: + print "Usage: unbuild.py outputDirectoryName hmmFileWithTabs" + exit() + dir = argv[1] + createDir(dir) + + name_list = [] # Stores new file names + + # Read data and seperate into files. + with open(argv[2], 'r') as f: + for line in f: + name, data = parse(line) + if data.strip() == "": # no data? skip it. + continue + name_list.append(name) + name = dir + os.sep + name + writeFile(name, data) + + # Write new file names to a file. + name_list_location = dir + os.sep + "hmmlist.txt" + with open(name_list_location, 'w') as f: + for name in name_list: + f.write(name + "\n")