コード例 #1
0
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
コード例 #2
0
ファイル: pacbpdna.py プロジェクト: IanReid/ABFGP
 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)
コード例 #3
0
ファイル: pacbpdna.py プロジェクト: dongqing7/ABFGP
 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)