本文整理汇总了Python中Helper.Helper.warning方法的典型用法代码示例。如果您正苦于以下问题:Python Helper.warning方法的具体用法?Python Helper.warning怎么用?Python Helper.warning使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Helper.Helper
的用法示例。
在下文中一共展示了Helper.warning方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: topGenes
# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import warning [as 别名]
def topGenes(self,sumDict, fileName,number=20,value=4):
if number > len(sumDict):
if len(sumDict)<1:
Helper.warning("no edited genes found", self.logFile, self.textField)
return
Helper.warning("The number of top genes you wanted is bigger than the number of edited genes", self.logFile, self.textField)
number=len(sumDict)
if value > 4:
Helper.error("sumDict only hold four values", self.logFile, self.textField)
counts=collections.OrderedDict(sorted(sumDict.items(), key=lambda t: t[1][value],reverse=True)[:number])
barNameTuple=()
valueMatrix=[[]]
for array in counts.values():
valueMatrix[0].append(array[value])
for gene in counts.keys():
barNameTuple+=(gene.names[0],)
if value==0:
barName="3'-UTR"
elif value==1:
barName="5'-UTR"
elif value==2:
barName="Exonic"
elif value==3:
barName="Intronic"
elif value==4:
barName="Total"
yLim=max(max(i) for i in valueMatrix)+1
Helper.createBarplot(valueMatrix, fileName, barNameTuple, [barName], width=0.35, title="Highly Edited Genes",yLim=yLim,barText=False,yText="Editing Counts")
示例2: parseSummaryFile
# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import warning [as 别名]
def parseSummaryFile(sumFile,logFile=None,textField=0):
'''
Parses a .summary file from an rnaEditor output directory and returns it as an ordered dict
Note: unedited Genes will be skipped
:param sumFile: .summary file of rnaEditor
:param logFile:
:param textField:
:return: OrderedDict {GeneName1:[GeneId1,3'UTR,5'UTR,EXON,Intron,Total]}
'''
if type(sumFile)==str:
try:
sumFile=open(sumFile,"r")
except IOError:
Helper.warning("Could not open %s to write Variant" % sumFile ,logFile,textField)
elif type(sumFile)==file:
pass
else:
raise TypeError("Summary file hat to be path or file object", logFile, textField)
dict=OrderedDict()
totalGenes=0
for line in sumFile:
if line.startswith("#"): continue #skip comments
line = line.rstrip().split()
totalGenes+=1
if int(line[6])<1: continue #skip unedited genes
try:
v=map(int,line[2:7])
except ValueError:
v=line[2:7]
dict[line[0]]=[line[1]]+v
return dict,totalGenes
示例3: topGenes
# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import warning [as 别名]
def topGenes(sumDict, fileName,number=20,value=5, logFile=None,textField=0):
if number > len(sumDict):
if len(sumDict)<1:
Helper.warning("no edited genes found", logFile, textField)
return
Helper.warning("The given gene number is bigger than the number of total edited genes", logFile, textField)
number=len(sumDict)
if value not in (1,2,3,4,5):
Helper.error("sumDict hast to be between 1 an 5", logFile, textField)
counts=OrderedDict(sorted(sumDict.items(), key=lambda t: t[1][value],reverse=True)[:number])
barNameTuple=()
valueMatrix=[[]]
for array in counts.values():
valueMatrix[0].append(array[value])
for gene in counts.keys():
barNameTuple+=(counts[gene][0],)
if value==1:
barName="3'-UTR"
elif value ==2:
barName="5'-UTR"
elif value==3:
barName="Exonic"
elif value==4:
barName="Intronic"
elif value==5:
barName="Total"
yLim=max(max(i) for i in valueMatrix)+1
Helper.createBarplot(valueMatrix, fileName, barNameTuple, [barName], width=0.35, title="Highly Edited Genes",yLim=yLim,barText=False,yText="Editing Counts")
file= open(fileName.replace("png","txt"),"w")
file.write("\t".join(["Gene_Symbol","Number_of_editing_sites"])+"\n")
htmlStr="<table class='geneTable'><tr><th>GeneName</th><th>Number of editing sites</th></tr>"
for gene in counts:
htmlStr+="<tr><td>%s</td><td>%s</td></tr>"%(counts[gene][0],counts[gene][value])
geneName=counts[gene][0]
numbers=str(counts[gene][value])
file.write("\t".join([geneName,numbers]) +"\n")
htmlStr+="</table>"
return htmlStr
示例4: printClusters
# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import warning [as 别名]
def printClusters(self, outFile):
if type(outFile) == str:
try:
outFile=open(outFile,"w")
except IOError:
Helper.warning("Could not open %s to write Variant" % outFile ,self.logFile,self.textField)
if type(outFile) != file:
raise AttributeError("Invalid outfile type in 'printVariantDict' (need string or file, %s found)" % type(outFile))
startTime=Helper.getTime()
Helper.info("[%s] Print Clusters to %s" % (startTime.strftime("%c"),outFile.name),self.logFile,self.textField)
outFile.write("\t".join(["#Chr","Start","Stop","IslandID","GeneID","Gene Symbol","Cluster Length","Number of Editing_sites","Editing_rate","\n"]))
for cluster in self.clusterDict.keys():
end = max(v.position for v in self.clusterDict[cluster])
start = min(v.position for v in self.clusterDict[cluster])
length = end - start
editingRate=float(len(self.clusterDict[cluster]))/float(length)
geneIdSet=set()
geneNameSet=set()
for v in self.clusterDict[cluster]:
try:
gene = v.attributes['GI'][0][0]
if type(gene) == Gene:
geneIdSet.add(gene.geneId)
geneNameSet |= set(gene.names)
#geneList.append(v.attributes['GI'][0][0])
else:
geneIdSet.add("Intergenic")
geneNameSet.add("Intergenic")
except KeyError:
geneIdSet.add("N/A") #when variant has no attribute GI
outFile.write("\t".join([v.chromosome,str(start),str(end),"Island"+str(cluster), #Chr","Start","Stop","Cluster Name",
",".join(map(str,geneIdSet)),",".join(map(str,geneNameSet)), #"GeneID","Gene Symbol"
str(length),str(len(self.clusterDict[cluster])),'%1.2f'%float(editingRate),"\n"]))
示例5: printVariantDict
# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import warning [as 别名]
def printVariantDict(self,outfile):
'''
print the variants from the dictionary to the outfile if defined
'''
if type(outfile) == str:
try:
outfile=open(outfile,"w")
except IOError:
Helper.warning("Could not open %s to write Variant" % outfile ,self.logFile,self.textField)
if type(outfile) != file:
raise AttributeError("Invalid outfile type in 'printVariantDict' (need string or file, %s found)" % type(outfile))
startTime=Helper.getTime()
Helper.info("[%s] Print Variants to %s" % (startTime.strftime("%c"),outfile.name),self.logFile,self.textField)
outfile.write("\t".join(["#CHROM", "POS", "ID", "REF", "ALT", "QUAL", "FILTER", "INFO", "\n"]))
for v in self.variantDict.values():
attributeString=""
for key in v.attributes.keys():
if key=="BaseCounts":
attributeString+= "BaseCounts=" + ",".join(v.attributes["BaseCounts"]) + ";"
continue
elif key =="GI":
a=""
for anno in v.attributes["GI"]:
gene,segment = anno
if gene == "-":
a += gene+":"+"|".join(segment)
else:
if type(gene)==str: #when variantDict was not annotated yet
a+=gene +":"+"|".join(segment)+","
else:
a+=gene.names[0]+":"+"|".join(segment)+","
attributeString+=key+"="+a[:-1]+";"
continue
attributeString+= key+"="+str(v.attributes[key])+";"
outfile.write("\t".join([v.chromosome,str(v.position),v.id,v.ref,v.alt,str(v.qual),v.filter, attributeString+"\n"]))
示例6: printGeneList
# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import warning [as 别名]
def printGeneList(self,genome,outfile,printSummary=True):
'''
print List of genes with all the variants
Gene-Variation-File
"Gene_ID","gene_Name","SEGMENT","#CHROM","GENE_START","GENE_STOP","VAR_POS","REF","ALT","QUAL","BaseCount(A,C,T,G)"
Gene Summary File
"Gene_ID",Gene_Name,#3'UTR,#5'UTR,#EXON,'INTRON,#TOTAL
:param genome: object of class Genome
:param outfile:
:param printSummary: boolean wether to print summary-file
'''
sumDict={}
if type(genome) != Genome:
raise AttributeError("Type of genome is %s, but has to be an object of Genome" % type(genome))
if type(outfile) == str:
try:
outfile=open(outfile,"w")
except IOError:
Helper.warning("Could not open %s to write Variant" % outfile ,self.logFile,self.textField)
if type(outfile) != file:
raise AttributeError("Invalid outfile type in 'printVariantDict' (need string or file, %s found)" % type(outfile))
startTime=Helper.getTime()
Helper.info("[%s] Print Genes and Variants to %s" % (startTime.strftime("%c"),outfile.name),self.logFile,self.textField)
sumFile=open(outfile.name[:outfile.name.rfind(".")]+".summary","w")
outfile.write("\t".join(["#Gene_ID","Name","SEGMENT","#CHROM","GENE_START","GENE_STOP","VAR_ID","VAR_POS",
"REF","ALT","QUAL","#A","#C","#G","#T","Reads_Total","Edited_Reads","Editing_Ratio","\n"]))
for v in self.variantDict.values():
anno = v.attributes["GI"]
for a in anno:
gene,segments = a
totalReads=str(int(sum(map(int,v.attributes["BaseCounts"]))))
if v.ref =="A" and v.alt == "G":
editedReads=str(v.attributes["BaseCounts"][2])
ratio=str(round(float(editedReads)/float(totalReads),2))
elif (v.ref=="T" and v.alt=="C"):
editedReads=str(v.attributes["BaseCounts"][1])
ratio=str(round(float(editedReads)/float(totalReads),2))
else:
editedReads="0"
ratio="0"
if gene == "-":
out=["-", "-",",".join(segments),v.chromosome,"-","-",v.id,str(v.position),
v.ref,v.alt,str(v.qual),"\t".join(v.attributes["BaseCounts"]),totalReads,editedReads,ratio,"\n"]
outfile.write("\t".join(out))
else:
out=[gene.geneId, gene.names[0],",".join(segments),v.chromosome,str(gene.start),str(gene.end),v.id,str(v.position),
v.ref,v.alt,str(v.qual),"\t".join(v.attributes["BaseCounts"]),totalReads,editedReads,ratio,"\n"]
outfile.write("\t".join(out))
#count variations per gene
if gene not in sumDict:
sumDict[gene]= [0,0,0,0,0]
for seg in segments:
if seg == "3'UTR":
sumDict[gene][0]+=1
elif seg == "5'UTR":
sumDict[gene][1]+=1
elif seg in ("coding-exon","noncoding-exon"):
sumDict[gene][2]+=1
elif seg == "intron":
sumDict[gene][3]+=1
sumDict[gene][4]+=1
#print number of variants per gene
if printSummary:
sumDictGeneIds=set()
sumFile.write("\t".join(["#Gene_ID","Name","#3'UTR","#5'UTR","#EXON","INTRON","#TOTAL","\n"]))
for gene in sumDict.keys():
numbers=map(str,sumDict[gene])
if gene=="-":
sumFile.write("\t".join(["intergenic","-"]+["-","-","-","-",numbers[4]]+["\n"]))
else:
sumFile.write("\t".join([gene.geneId,gene.names[0]]+numbers+["\n"]))
sumDictGeneIds.add(gene.geneId)
#print non effected Genes
#this was added to have the whole set og genes in the summary file
#so that it is easier to compare results in Excel
genesByGeneId=genome.getGenesByGeneID()
a=set(genesByGeneId.keys())
b=sumDictGeneIds
nonEffectedGenes = a-b
for geneId in nonEffectedGenes:
gene=genesByGeneId[geneId]
#.........这里部分代码省略.........
示例7: checkDependencies
# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import warning [as 别名]
def checkDependencies(self):
"""checks if all files are there
if all programs are installed properly and if the output directory is writable"""
try:
self.logFile=open(self.params.output + ".log","w+")
except IOError:
Helper.error("Cannot open Log File", textField=self.textField)
if type(self.fastqFiles) == list:
self.fastqFiles=self.fastqFiles
elif type(self.fastqFile) == str:
self.fastqFiles=[self.fastqFiles]
else:
Helper.error("FastQ File has wrong variable type",self.logFile,self.textField)
for file in self.fastqFiles:
if not os.path.isfile(file):
Helper.error("Could not find: %s" %file,self.logFile,self.textField)
'''
Checks the existence of the necessary packages and tools
:param sourceDir: folder which contains all the software
'''
Helper.newline(1)
Helper.info("CHECK DEPENDENCIES",self.logFile,self.textField)
#check if all tools are there
if not os.path.isfile(self.params.sourceDir+"bwa"):
Helper.error("BWA not found in %s" % self.params.sourceDir,self.logFile,self.textField)
if not os.path.isfile(self.params.sourceDir+"picard-tools/SortSam.jar"):
Helper.error("SortSam.jar not found in %s" % self.params.sourceDir+"picard-tools",self.logFile,self.textField)
if not os.path.isfile(self.params.sourceDir+"picard-tools/MarkDuplicates.jar"):
Helper.error("MarkDuplicates.jar not found in %s" % self.params.sourceDir+"picard-tools",self.logFile,self.textField)
if not os.path.isfile(self.params.sourceDir+"GATK/GenomeAnalysisTK.jar"):
Helper.error("GenomeAnalysisTK.jar not found in %s" % self.params.sourceDir+"GATK/",self.logFile,self.textField)
if not os.path.isfile(self.params.sourceDir+"blat"):
Helper.error("blat not found in %s" % self.params.sourceDir,self.logFile,self.textField)
if not os.path.isfile(self.params.sourceDir+"samtools"):
Helper.error("samtools not found in %s" % self.params.sourceDir,self.logFile,self.textField)
if not os.system("java -version")==0:
Helper.error("Java could not be found, Please install java",self.logFile,self.textField)
#check if all files are there
if not os.path.isfile(self.params.refGenome):
Helper.error("Could not find Reference Genome in %s: " % self.params.refGenome,self.logFile,self.textField)
# Files for BWA
if not os.path.isfile(self.params.refGenome+".amb"):
Helper.warning("Could not find %s.amb" % self.params.refGenome,self.logFile,self.textField)
Helper.error("run: 'bwa index %s' to create it" % self.params.refGenome,self.logFile,self.textField)
if not os.path.isfile(self.params.refGenome+".ann"):
Helper.warning("Could not find %s.ann" % self.params.refGenome,self.logFile,self.textField)
Helper.error("run: 'bwa index %s' to create it" % self.params.refGenome,self.logFile,self.textField)
if not os.path.isfile(self.params.refGenome+".bwt"):
Helper.warning("Could not find %s.bwt" % self.params.refGenome,self.logFile,self.textField)
Helper.error("run: 'bwa index %s' to create it" % self.params.refGenome,self.logFile,self.textField)
if not os.path.isfile(self.params.refGenome+".pac"):
Helper.warning("Could not find %s.pac" % self.params.refGenome,self.logFile,self.textField)
Helper.error("run: 'bwa index %s' to create it" % self.params.refGenome,self.logFile,self.textField)
if not os.path.isfile(self.params.refGenome+".sa"):
Helper.warning("Could not find %s.sa" % self.params.refGenome,self.logFile,self.textField)
Helper.error("run: 'bwa index %s' to create it" % self.params.refGenome,self.logFile,self.textField)
#Files for GATK
if self.params.refGenome.endswith("fasta"):
if not os.path.isfile(self.params.refGenome.replace(".fasta",".dict")):
Helper.warning("Could not find %s" % self.params.refGenome.replace(".fasta",".dict"),self.logFile,self.textField)
Helper.error("run: 'java -jar %spicard-tools/CreateSequenceDictionary.jar R=%s O= %s' to create it" % (self.params.sourceDir,self.params.refGenome,self.params.refGenome.replace(".fastq",".dict")),self.logFile,self.textField)
elif self.params.refGenome.endswith("fa"):
if not os.path.isfile(self.params.refGenome.replace(".fa",".dict")):
Helper.warning("Could not find %s" % self.params.refGenome.replace(".fa",".dict"),self.logFile,self.textField)
Helper.error("run: 'java -jar %spicard-tools/CreateSequenceDictionary.jar R=%s O= %s' to create it" % (self.params.sourceDir,self.params.refGenome,self.params.refGenome.replace(".fa",".dict")),self.logFile,self.textField)
else:
Helper.error("RefGenome has wrong suffix. Either '.fa' or '.fasta'")
if not os.path.isfile(self.params.refGenome+".fai"):
Helper.warning("Could not find %s.sai" % self.params.refGenome,self.logFile,self.textField)
Helper.error("run: 'samtools faidx %s' to create it" % self.params.refGenome,self.logFile,self.textField)
#SNP databases
if not os.path.isfile(self.params.dbsnp):
Helper.error("Could not find dbSNP database %s: " % self.params.dbsnp,self.logFile,self.textField)
if not os.path.isfile(self.params.hapmap) and self.params.hapmap != "None":
Helper.error("Could not find Hapmap database %s: " % self.params.hapmap,self.logFile,self.textField)
if not os.path.isfile(self.params.omni) and self.params.omni != "None":
Helper.error("Could not find Omni database %s: " % self.params.omni,self.logFile,self.textField)
if not os.path.isfile(self.params.esp) and self.params.esp != "None":
Helper.error("Could not find 1000G database %s: " % self.params.esp,self.logFile,self.textField)
#region Files
if not os.path.isfile(self.params.aluRegions):
Helper.error("Could not find %s: " % self.params.aluRegions,self.logFile,self.textField)
if not os.path.isfile(self.params.gtfFile):
Helper.error("Could not find %s: " % self.params.gtfFile,self.logFile,self.textField)
#.........这里部分代码省略.........