18
+ − 1 #! /usr/bin/env python
+ − 2
+ − 3 import optparse, os, shutil
+ − 4 from optparse import OptionParser
+ − 5
+ − 6
+ − 7 def image(text, url):
+ − 8 return "<center>%s</center><img src='%s'>" % (text, url)
+ − 9
+ − 10
+ − 11 def __main__():
+ − 12 description = "Write all results in one HTML file."
+ − 13 parser = OptionParser(description = description)
+ − 14 parser.add_option("", "--input1Gff1", dest="input1Gff3_1", action="store", type="string", help="First gff3 result in the first analyse.(TRANS detection)")
+ − 15 parser.add_option("", "--input1Gff2", dest="input1Gff3_2", action="store", type="string", help="Second gff3 result in the first analyse. (TRANS detection)")
+ − 16 parser.add_option("", "--input1PNG1", dest="input1PNG1", action="store", type="string", help="PNG (getSize) result in the first analyse. (TRANS detection)")
+ − 17 parser.add_option("", "--input1PNG2", dest="input1PNG2", action="store",type="string", help="PNG (plot) result in the first analyse. (TRANS detection)")
+ − 18 parser.add_option("", "--input2Gff1", dest="input2Gff3_1", action="store", type="string", help="First gff3 result in the second analyse. (ANTISENSE detection)")
+ − 19 parser.add_option("", "--input2Gff2", dest="input2Gff3_2", action="store", type="string", help="Second gff3 result in the second analyse. (ANTISENSE detection)")
+ − 20 parser.add_option("", "--input2PNG1", dest="input2PNG1", action="store", type="string", help="PNG (getSize) result in the second analyse. (ANTISENSE detection)")
+ − 21 parser.add_option("", "--input2PNG2", dest="input2PNG2", action="store", type="string", help="PNG (plot) result in the second analyse. (ANTISENSE detection)")
+ − 22 parser.add_option("", "--input3Gff1", dest="input3Gff3_1", action="store", type="string", help="First gff3 result in the third analyse. (CIS detection)")
+ − 23 parser.add_option("", "--input3Gff2", dest="input3Gff3_2", action="store", type="string", help="Second gff3 result in the third analyse. (CIS detection)")
+ − 24 parser.add_option("", "--input3PNG1", dest="input3PNG1", action="store", type="string", help="PNG (getSize) result in the third analyse. (CIS detection)")
+ − 25 parser.add_option("", "--input3PNG2", dest="input3PNG2", action="store", type="string", help="PNG (plot) result in the third analyse. (CIS detection)")
+ − 26 parser.add_option("", "--outHTML", dest="outHTML", action="store", type="string", help="An HTML output.")
+ − 27 parser.add_option("", "--outImgDir", dest="imgDir", action="store", type="string", help="Copy all result images into imgDir, for Galaxy option.")
+ − 28 (options, args) = parser.parse_args()
+ − 29
+ − 30
+ − 31 if not os.path.exists(options.imgDir):
+ − 32 os.makedirs(options.imgDir)
+ − 33
+ − 34 shutil.copy(options.input1PNG1, options.imgDir)
+ − 35 shutil.copy(options.input1PNG2, options.imgDir)
+ − 36 shutil.copy(options.input2PNG1, options.imgDir)
+ − 37 shutil.copy(options.input2PNG2, options.imgDir)
+ − 38 shutil.copy(options.input3PNG1, options.imgDir)
+ − 39 shutil.copy(options.input3PNG2, options.imgDir)
+ − 40
+ − 41
+ − 42 outfile=open(options.outHTML, "w")
+ − 43 #print >>outfile, "<html><head><title>The results for ncRNAs detections.</title></head><body>"
+ − 44 print >>outfile, "<h1><center>The results for ncRNAs detections.</center></h1>"
+ − 45
+ − 46 #write results for the first analysis
+ − 47 print >>outfile, "<B><center><font color=red size=4>The results of intergenic sRNAs detection.(TRANS)</font></center></B>"
+ − 48 print >>outfile, "<center><strong>The results of comparison to already known ncRNA to validate some candidates.</strong></center><p>"
+ − 49 input1Gff1 = open(options.input1Gff3_1, "r")
+ − 50 lines = input1Gff1.readlines()
+ − 51 input1Gff1.close()
+ − 52 for line in lines:
+ − 53 print >>outfile, "<font size=2><span style=line-height:3px>%s</span></font><p>" % line
+ − 54 print >>outfile, "<p>"
+ − 55 print >>outfile, "<center><strong>The results of comparison to already known ncRNA to see which ncRNAs are not detected.</strong></center><p>"
+ − 56 input1Gff2 = open(options.input1Gff3_2, "r")
+ − 57 lines = input1Gff2.readlines()
+ − 58 input1Gff2.close()
+ − 59 for line in lines:
+ − 60 print >>outfile, "<font size=2><span style=line-height:3px>%s</span></font><p>" % line
+ − 61 print >>outfile, "<p>"
+ − 62 img_input1PNG1 = os.path.basename(options.input1PNG1)
+ − 63 image1=image("<strong>Resulting image : get the candidates sizes distribution.</strong>", img_input1PNG1)
+ − 64 print >>outfile, "%s" % image1
+ − 65 print >>outfile, "<p>"
+ − 66 img_input1PNG2 = os.path.basename(options.input1PNG2)
+ − 67 image2=image("<strong>Resulting image : get the candidates sizes distribution.</strong>", img_input1PNG2)
+ − 68 print >>outfile, "%s" % image2
+ − 69 print >>outfile, "<BR><p>"
+ − 70
+ − 71
+ − 72 #write results for the second analysis
+ − 73 print >>outfile, "<B><center><font color=red size=4>The results of asRNAs detection.(ANTISENSE)</font></center></B>"
+ − 74 print >>outfile, "<center><strong>The results of comparison to already known ncRNA to validate some candidates.</strong></center><p>"
+ − 75 input2Gff1 = open(options.input2Gff3_1, "r")
+ − 76 lines = input2Gff1.readlines()
+ − 77 input2Gff1.close()
+ − 78 for line in lines:
+ − 79 print >>outfile, "<font size=2><span style=line-height:3px>%s</span></font><p>" % line
+ − 80 print >>outfile, "<p>"
+ − 81 print >>outfile, "<center><strong>The results of comparison to already known ncRNA to see which ncRNAs are not detected.</strong></center><p>"
+ − 82 input2Gff2 = open(options.input2Gff3_2, "r")
+ − 83 lines = input2Gff2.readlines()
+ − 84 input2Gff2.close()
+ − 85 for line in lines:
+ − 86 print >>outfile, "<font size=2><span style=line-height:3px>%s</span></font><p>" % line
+ − 87 print >>outfile, "<p>"
+ − 88 img_input2PNG1 = os.path.basename(options.input2PNG1)
+ − 89 image1=image("<strong>Resulting image : get the candidates sizes distribution.</strong>", img_input2PNG1)
+ − 90 print >>outfile, "%s" % image1
+ − 91 print >>outfile, "<p>"
+ − 92 img_input2PNG2 = os.path.basename(options.input2PNG2)
+ − 93 image2=image("<strong>Resulting image : get the candidates sizes distribution.</strong>", img_input2PNG2)
+ − 94 print >>outfile, "%s" % image2
+ − 95 print >>outfile, "<BR><p>"
+ − 96
+ − 97
+ − 98 #write results for the third analysis
+ − 99 print >>outfile, "<B><center><font color=red size=4>The results of long 5'UTRs detection.(CIS)</font></center></B>"
+ − 100 print >>outfile, "<center><strong>The results of comparison to already known ncRNA to validate some candidates.</strong></center><p>"
+ − 101 input3Gff1 = open(options.input3Gff3_1, "r")
+ − 102 lines = input3Gff1.readlines()
+ − 103 input3Gff1.close()
+ − 104 for line in lines:
+ − 105 print >>outfile, "<font size=2><span style=line-height:3px>%s</span></font><p>" % line
+ − 106 print >>outfile, "<p>"
+ − 107 print >>outfile, "<center><strong>The results of comparison to already known ncRNA to see which ncRNAs are not detected.</strong></center><p>"
+ − 108 input3Gff2 = open(options.input3Gff3_2, "r")
+ − 109 lines = input3Gff2.readlines()
+ − 110 input3Gff2.close()
+ − 111 for line in lines:
+ − 112 print >>outfile, "<font size=2><span style=line-height:3px>%s</span></font><p>" % line
+ − 113 print >>outfile, "<p>"
+ − 114 img_input3PNG1 = os.path.basename(options.input3PNG1)
+ − 115 image1=image("<strong>Resulting image : get the candidates sizes distribution.</strong>", img_input3PNG1)
+ − 116 print >>outfile, "%s" % image1
+ − 117 print >>outfile, "<p>"
+ − 118 img_input3PNG2 = os.path.basename(options.input3PNG2)
+ − 119 image2=image("<strong>Resulting image : get the candidates sizes distribution.</strong>", img_input3PNG2)
+ − 120 print >>outfile, "%s" % image2
+ − 121 print >>outfile, "<BR><p>"
+ − 122
+ − 123
+ − 124 if __name__=="__main__": __main__()