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