Mercurial > repos > tomnl > dma_filelist_generation
annotate dma-filelist-generation.py @ 3:19152a319f68 draft
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 578fd07833b93847193666c11744ba0bca1aaf57-dirty
| author | tomnl | 
|---|---|
| date | Thu, 03 May 2018 06:44:16 -0400 | 
| parents | 6a2bb42acfe4 | 
| children | 
| rev | line source | 
|---|---|
| 
0
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
1 import argparse | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
2 import textwrap | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
3 import os | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
4 import re | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
5 import collections | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
6 import csv | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
7 from operator import itemgetter | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
8 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
9 def check_folder(in_dir, reg_string): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
10 filelist = [] | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
11 for f in os.listdir(in_dir): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
12 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
13 if re.match(reg_string, f, re.IGNORECASE): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
14 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
15 fn, fe = os.path.splitext(f) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
16 fnl = fn.split("_") | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
17 filename = fn | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
18 fullpth = os.path.join(in_dir, f) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
19 wells = fnl[0] | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
20 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
21 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
22 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
23 if re.match("^.*pos.*", f, re.IGNORECASE): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
24 polarity = "pos" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
25 elif re.match("^.*neg.*", f, re.IGNORECASE): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
26 polarity = "neg" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
27 else: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
28 error_message = "Files need to have either 'pos' or 'neg' in the file name" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
29 print error_message | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
30 return 1, error_message, "", "" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
31 if re.match("^.*blank.*", f, re.IGNORECASE): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
32 sample_type = "blank" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
33 else: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
34 sample_type = "sample" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
35 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
36 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
37 filelist.append([wells, sample_type, polarity, filename, fullpth]) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
38 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
39 return filelist | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
40 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
41 def get_filelist(filesin, o, file_type='mzML', create_filelist=True): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
42 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
43 filedict = collections.OrderedDict() | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
44 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
45 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
46 if file_type=="mzML": | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
47 reg_string = "^.*mzML$" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
48 else: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
49 reg_string = "^.*raw$" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
50 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
51 if isinstance(filesin, list): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
52 filelist = [] | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
53 for f in filesin: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
54 filelist.extend(check_folder(f, reg_string)) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
55 else: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
56 filelist = check_folder(filesin, reg_string) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
57 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
58 # Turn filelist into a dictionary | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
59 for f1 in filelist: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
60 well = f1[0] | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
61 filedict[well] = [] | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
62 for f2 in filelist: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
63 if well == f2[0]: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
64 filedict[well].append(f2[1:len(f2)+1]) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
65 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
66 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
67 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
68 filelist = sorted(filelist, key=itemgetter(0, 1)) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
69 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
70 for k, v in filedict.iteritems(): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
71 classes = [i[0] for i in v] | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
72 classes.sort() | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
73 if not classes == ['blank', 'sample']: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
74 error_message = "!!!!ERROR!!!! Blank and sample required for each well, file type {}".format(file_type) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
75 print error_message | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
76 return 1, error_message, "", "" | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
77 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
78 print 'files of type {} checked, files OK'.format(file_type) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
79 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
80 if create_filelist: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
81 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
82 outname = write_filedict(filedict, o, file_type) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
83 print 'filelist created in folder {}, using file type {}, full path {}'.format(o, file_type, outname) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
84 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
85 return 0, "files OK", filedict, filelist | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
86 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
87 def write_filedict(filedict, out_dir, file_type, file_spacing='tsv'): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
88 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
89 outname = os.path.join(out_dir,'filelist_{}.{}'.format(file_type, file_spacing)) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
90 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
91 if file_spacing=='tsv': | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
92 delim = '\t' | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
93 elif file_spacing=='csv': | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
94 delim = ',' | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
95 else: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
96 delim = ',' | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
97 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
98 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
99 with open(outname, 'wb') as csvfile: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
100 w = csv.writer(csvfile, delimiter=delim) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
101 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
102 w.writerow(['filename','classLabel', 'multilist', 'multilistLabel']) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
103 c = 1 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
104 for k, v in filedict.iteritems(): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
105 for i in v: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
106 w.writerow([os.path.basename(i[3]), i[0], c, k]) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
107 c +=1 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
108 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
109 return outname | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
110 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
111 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
112 def main(): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
113 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
114 p = argparse.ArgumentParser(prog='PROG', | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
115 formatter_class=argparse.RawDescriptionHelpFormatter, | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
116 description='''Create filelist for DMA DIMS nearline workflow''', | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
117 epilog=textwrap.dedent(''' | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
118 ------------------------------------------------------------------------- | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
119 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
120 Example Usage | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
121 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
122 python dma-filelist-generation.py -i [dir with sample files], [dir with blank files] -o . | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
123 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
124 ''')) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
125 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
126 p.add_argument('-i', dest='i', help='dir with sample files', nargs = '*', required=True) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
127 p.add_argument('-o', dest='o', help='out dir', required=True) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
128 p.add_argument('--check_mzml', dest='check_mzml', action='store_true') | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
129 p.add_argument('--check_raw', dest='check_raw', action='store_true') | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
130 p.add_argument('--create_filelist_mzml', dest='create_filelist_mzml', action='store_true') | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
131 p.add_argument('--create_filelist_raw', dest='create_filelist_raw', action='store_true') | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
132 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
133 args = p.parse_args() | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
134 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
135 if not os.path.exists(args.o): | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
136 os.makedirs(args.o) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
137 print args.o | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
138 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
139 if not args.check_mzml and not args.check_raw: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
140 print '--check_mzml or --check_raw (or both) are required as inputs' | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
141 exit() | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
142 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
143 if args.check_mzml: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
144 get_filelist(args.i, args.o, file_type='mzML', create_filelist=args.create_filelist_mzml) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
145 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
146 if args.check_raw: | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
147 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
148 get_filelist(args.i, args.o, file_type='raw', create_filelist=args.create_filelist_raw) | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
149 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
150 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
151 | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
152 if __name__ == '__main__': | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
153 main() | 
| 
 
6a2bb42acfe4
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
 
tomnl 
parents:  
diff
changeset
 | 
154 | 
