0
|
1 #!/usr/bin/env python
|
|
2
|
|
3 """
|
|
4 Yufei LUO
|
|
5 """
|
|
6
|
|
7
|
|
8
|
|
9 import optparse, sys
|
|
10
|
|
11
|
|
12 def __main__():
|
|
13 #Parse Command Line
|
|
14 parser = optparse.OptionParser()
|
|
15 parser.add_option('-i', '--inputs', dest='inputFiles', default=None, help='several input files. (seperated by @ or @@' )
|
|
16 parser.add_option( '-o', '--output', dest='outputSingleFile', default=None, help='The output list of fastq files on txt format.' )
|
|
17 parser.add_option( '', '--pairedEnd', dest='outputPaireFile', default=None, help='paired end option help to upload the corresponding paired end complementary fastq files' )
|
|
18 ( options, args ) = parser.parse_args()
|
|
19
|
|
20
|
|
21
|
|
22 if options.outputSingleFile == None:
|
|
23 raise Exception, 'OutSingleFile txt file name is not defined!'
|
|
24 else:
|
|
25 outSingle = open(options.outputSingleFile, 'w')
|
|
26
|
|
27 if options.inputFiles == None:
|
|
28 raise Exception, 'input file name is not defined!'
|
|
29
|
|
30 groupCount = 1
|
|
31 fileCount = 0
|
|
32
|
|
33 if options.outputPaireFile == None:
|
|
34 inputFiles = sys.argv[4:]
|
|
35 i = 0
|
|
36 while i < (len(inputFiles)-1):
|
|
37 if inputFiles[i] == "@":
|
|
38 i += 1
|
|
39 fileCount = 1
|
|
40 groupCount += 1
|
|
41 outSingle.write("Group%s_%s\t%s\n" % (groupCount, fileCount, inputFiles[i]))
|
|
42
|
|
43 else:
|
|
44 fileCount += 1
|
|
45 outSingle.write("Group%s_%s\t%s\n" % (groupCount, fileCount, inputFiles[i]))
|
|
46
|
|
47 i += 1
|
|
48 else:
|
|
49 inputFiles = sys.argv[6:]
|
|
50 print '\n\nthe length of inputfiles is : %s \n' % len(inputFiles)
|
|
51 outPaire = open(options.outputPaireFile, 'w')
|
|
52 i = 0
|
|
53 while i < (len(inputFiles)-1):
|
|
54 if inputFiles[i] == "@@":
|
|
55 i += 1
|
|
56 outPaire.write("Group%s_%s\t%s\n" % (groupCount, fileCount, inputFiles[i]))
|
|
57 elif inputFiles[i] == "@":
|
|
58 i += 1
|
|
59 fileCount = 1
|
|
60 groupCount += 1
|
|
61 outSingle.write("Group%s_%s\t%s\n" % (groupCount, fileCount, inputFiles[i]))
|
|
62 else:
|
|
63 fileCount += 1
|
|
64 outSingle.write("Group%s_%s\t%s\n" % (groupCount, fileCount, inputFiles[i]))
|
|
65
|
|
66 i += 1
|
|
67
|
|
68
|
|
69
|
|
70 outPaire.close()
|
|
71
|
|
72 outSingle.close()
|
|
73
|
|
74
|
|
75
|
|
76 if __name__=="__main__": __main__()
|