def remove_wrong_periodicity(input,crossdata): """ Remove PacbPs with wrong periodicity from crossdata @type input: dict @param input: input <dict data structure> with lists of Orfs @type crossdata: dict @param crossdata: crossdata <dict data structure> """ for (geneQ,geneS) in crossdata.keys(): keys = crossdata[(geneQ,geneS)]['accepted_pacbs'].keys() for key in keys: pacbp = crossdata[(geneQ,geneS)]['accepted_pacbs'][key] if pacbp.__class__.__name__ == 'PacbPORF': # pacbp is already a PacbPORF pacbporf = pacbp else: (bitscore,length,orfQid,orfSid) = key orfQ = input[geneQ]['orfs'].get_orf_by_id(orfQid) orfS = input[geneS]['orfs'].get_orf_by_id(orfSid) pacbporf = pacb.conversion.pacbp2pacbporf(pacbp,orfQ,orfS) # get aligned DNA sequences from the pacbporf (dnaQ,dnaS) = pacbporf.get_aligned_dna_sequences() # do coding_sequence_periodicity_test (_test1,_test2) = coding_sequence_periodicity_test(dnaQ,dnaS) if (_test1,_test2) != (True, True): # store to rejected crossdata[(geneQ,geneS)]['rejected_pacbs_wp'][key] = pacbporf # remove from accepted_pacbps dict del( crossdata[(geneQ,geneS)]['accepted_pacbs'][key] ) # okay, return the updated crossdata return crossdata
def is_coding(self): """ Does this aligment likely represent a coding (DNA) alignment? """ Qseq,Sseq = self.get_unextended_aligned_dna_sequences() ####### ERRONEOUS! why?? if len(Qseq) != len(Sseq): print "\n" , self print len(Qseq), "[UNEQUAL LENGTH]" ,len(Sseq) print Qseq[0:30], "...", Qseq[-30:] print Sseq[0:30], "...", Sseq[-30:] ####### ERRONEOUS! why?? return coding_sequence_periodicity_test(Qseq,Sseq)
def is_coding(self): """ Does this aligment likely represent a coding (DNA) alignment? """ Qseq, Sseq = self.get_unextended_aligned_dna_sequences() ####### ERRONEOUS! why?? if len(Qseq) != len(Sseq): print "\n", self print len(Qseq), "[UNEQUAL LENGTH]", len(Sseq) print Qseq[0:30], "...", Qseq[-30:] print Sseq[0:30], "...", Sseq[-30:] ####### ERRONEOUS! why?? return coding_sequence_periodicity_test(Qseq, Sseq)