Mercurial > repos > ucsb-phylogenetics > osiris_phylogenetics
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:5b9a38ec4a39 |
---|---|
1 #!/usr/bin/env python | |
2 ''' | |
3 Usage: unbuild.py outputDirectoryName hmmFileWithTabs | |
4 This script takes a tab sperated, newline escaped HMM models file then splits the models up and makes a file list. | |
5 The output files are put into the directory outputDirectoryName. | |
6 ''' | |
7 from sys import argv, exit | |
8 import os | |
9 | |
10 | |
11 def parse(line): | |
12 line = line.partition('\t') | |
13 name = line[0] + ".hmm" | |
14 data = line[2].replace("\\n", "\n") | |
15 return name, data | |
16 | |
17 | |
18 def writeFile(location, data): | |
19 try: | |
20 with open(location, 'w') as f: | |
21 f.write(data) | |
22 except: | |
23 pass | |
24 | |
25 | |
26 def createDir(dir): | |
27 if not os.path.exists(dir): | |
28 os.makedirs(dir) | |
29 | |
30 | |
31 if __name__ == "__main__": | |
32 if len(argv) != 3: | |
33 print "Usage: unbuild.py outputDirectoryName hmmFileWithTabs" | |
34 exit() | |
35 dir = argv[1] | |
36 createDir(dir) | |
37 | |
38 name_list = [] # Stores new file names | |
39 | |
40 # Read data and seperate into files. | |
41 with open(argv[2], 'r') as f: | |
42 for line in f: | |
43 name, data = parse(line) | |
44 if data.strip() == "": # no data? skip it. | |
45 continue | |
46 name_list.append(name) | |
47 name = dir + os.sep + name | |
48 writeFile(name, data) | |
49 | |
50 # Write new file names to a file. | |
51 name_list_location = dir + os.sep + "hmmlist.txt" | |
52 with open(name_list_location, 'w') as f: | |
53 for name in name_list: | |
54 f.write(name + "\n") |