コード例 #1
0
 def run(self):
     self.getAlignmentDict()
     self.getTranscriptDict()
     detailsDict = {}
     classifyDict = {}
     for aId, aln in self.alignmentDict.iteritems():
         if aId not in self.transcriptDict:
             continue
         if aln.strand == "+" and aln.tEnd == aln.tSize and aln.qEnd != aln.qSize:
             detailsDict[aId] = seq_lib.transcript_to_bed(self.transcriptDict[aId], self.rgb, self.column)
             classifyDict[aId] = 1
         elif aln.strand == "-" and aln.tStart == 0 and aln.qStart != 0:
             detailsDict[aId] = seq_lib.transcript_to_bed(self.transcriptDict[aId], self.rgb, self.column)
             classifyDict[aId] = 1
         else:
             classifyDict[aId] = 0
     self.dumpValueDicts(classifyDict, detailsDict)
コード例 #2
0
 def run(self, cdsCutoff=75):
     self.getTranscriptDict()
     self.getAnnotationDict()
     detailsDict = {}
     classifyDict = {}
     for aId, t in self.transcriptDict.iteritems():
         # do not include noncoding transcripts
         a = self.annotationDict[psl_lib.remove_alignment_number(aId)]
         if a.getCdsLength() < 3:
             continue
         elif a.getCdsLength() <= cdsCutoff:
             detailsDict[aId] = seq_lib.transcript_to_bed(t, self.colors["input"], self.column)
             classifyDict[aId] = 1
         elif t.getCdsLength() <= cdsCutoff:
             detailsDict[aId] = seq_lib.transcript_to_bed(t, self.rgb, self.column)
             classifyDict[aId] = 1
         else:
             classifyDict[aId] = 0
     self.dumpValueDicts(classifyDict, detailsDict)
コード例 #3
0
 def run(self):
     self.getTranscriptDict()
     counts = Counter(psl_lib.remove_alignment_number(aId) for aId in self.transcriptDict)
     detailsDict = {}
     classifyDict = {}
     for aId, t in self.transcriptDict.iteritems():
         if counts[psl_lib.remove_alignment_number(aId)] > 1:
             detailsDict[aId] = seq_lib.transcript_to_bed(t, self.rgb, self.column + "_{}_Copies".format(
                 counts[psl_lib.remove_alignment_number(aId)] - 1))
             classifyDict[aId] = 1
         else:
             classifyDict[aId] = 0
     self.dumpValueDicts(classifyDict, detailsDict)
コード例 #4
0
 def run(self):
     self.getAugustusTranscriptDict()
     self.getTranscriptDict()
     classify_dict = {}
     details_dict = defaultdict(list)
     for aug_aId, aug_t in self.augustusTranscriptDict.iteritems():
         if psl_lib.remove_augustus_alignment_number(aug_aId) not in self.transcriptDict:
             continue
         t = self.transcriptDict[psl_lib.remove_augustus_alignment_number(aug_aId)]
         if aug_t.strand != t.strand or aug_t.chromosome != t.chromosome:
             classify_dict[aug_aId] = 1
             details_dict[aug_aId] = seq_lib.transcript_to_bed(aug_t, self.rgb, self.column)
         else:
             classify_dict[aug_aId] = 0
     self.dumpValueDicts(classify_dict, details_dict)
コード例 #5
0
 def run(self):
     r = re.compile("-[0-9]+-")
     self.getAugustusTranscriptDict()
     counts = Counter("-".join(r.split(aug_aId)) for aug_aId in self.augustusTranscriptDict)
     details_dict = {}
     classify_dict = {}
     for aug_aId, aug_t in self.augustusTranscriptDict.iteritems():
         if counts[psl_lib.remove_augustus_alignment_number(aug_aId)] > 1:
             details_dict[aug_aId] = seq_lib.transcript_to_bed(
                 aug_t,
                 self.rgb,
                 self.column + "_{}_Copies".format(counts[psl_lib.remove_augustus_alignment_number(aug_aId)] - 1),
             )
             classify_dict[aug_aId] = 1
         else:
             classify_dict[aug_aId] = 0
     self.dumpValueDicts(classify_dict, details_dict)
コード例 #6
0
 def run(self):
     r = re.compile("-[0-9]+-")
     self.getAugustusTranscriptDict()
     counts = Counter("-".join(r.split(aug_aId))
                      for aug_aId in self.augustusTranscriptDict)
     details_dict = {}
     classify_dict = {}
     for aug_aId, aug_t in self.augustusTranscriptDict.iteritems():
         if counts[psl_lib.remove_augustus_alignment_number(aug_aId)] > 1:
             details_dict[aug_aId] = seq_lib.transcript_to_bed(
                 aug_t, self.rgb, self.column + "_{}_Copies".format(counts[
                     psl_lib.remove_augustus_alignment_number(aug_aId)] -
                                                                    1))
             classify_dict[aug_aId] = 1
         else:
             classify_dict[aug_aId] = 0
     self.dumpValueDicts(classify_dict, details_dict)
コード例 #7
0
 def run(self):
     self.getAugustusTranscriptDict()
     self.getTranscriptDict()
     classify_dict = {}
     details_dict = defaultdict(list)
     for aug_aId, aug_t in self.augustusTranscriptDict.iteritems():
         if psl_lib.remove_augustus_alignment_number(
                 aug_aId) not in self.transcriptDict:
             continue
         t = self.transcriptDict[psl_lib.remove_augustus_alignment_number(
             aug_aId)]
         if aug_t.strand != t.strand or aug_t.chromosome != t.chromosome:
             classify_dict[aug_aId] = 1
             details_dict[aug_aId] = seq_lib.transcript_to_bed(
                 aug_t, self.rgb, self.column)
         else:
             classify_dict[aug_aId] = 0
     self.dumpValueDicts(classify_dict, details_dict)