2

Pythonを介してペアワイズコドン アラインメントを実行したいコーディング DNA シーケンスのペアがあり、プロセスを「半分完了」しました。

ここのところ..

  • パッケージを使用して、genbank からオルソログ DNA シーケンスのペアを取得しBiopythonます。
  • オルソロガス ペアをペプチド配列に翻訳し、EMBOSS Needleプログラムを使用して整列させます。

私はしたいです..

  • ペプチド シーケンスから元の DNA シーケンスにギャップを転送します。

質問

整列したペプチド配列ペアから対応するヌクレオチド配列ペアのコドンにギャップを転送できるプログラム/コード (Python から呼び出される) の提案をいただければ幸いです。または、ペアワイズ コドン アラインメントをゼロから実行できるプログラム/コード。

ここに画像の説明を入力

4

4 に答える 4

1

欠落している文字を追加して、ペプチドからヌクレオチドへのマッピングを作成できます。

codons = str.maketrans({'M' : 'ATG',
                        'R' : 'CGT',
                        ...,
                        '-' : '---'}) # Your missing character

peptide = 'M-R'
result = peptide.translate(codons)

次に、シーケンス全体を翻訳します。

于 2013-12-30T17:15:57.863 に答える
0

最後に、私は独自の Python 関数を作成しました。それを共有したほうがよいと考えました。

ギャップのある整列ペプチド配列と対応する非整列ヌクレオチド配列を取り、整列ヌクレオチド配列を与えます

関数

def gapsFromPeptide( peptide_seq, nucleotide_seq ):
    """ Transfers gaps from aligned peptide seq into codon partitioned nucleotide seq (codon alignment) 
          - peptide_seq is an aligned peptide sequence with gaps that need to be transferred to nucleotide seq
          - nucleotide_seq is an un-aligned dna sequence whose codons translate to peptide seq"""
    def chunks(l, n):
        """ Yield successive n-sized chunks from l."""
        for i in xrange(0, len(l), n):
            yield l[i:i+n]
    codons = [codon for codon in chunks(nucleotide_seq,3)]  #splits nucleotides into codons (triplets) 
    gappedCodons = []
    codonCount = 0
    for aa in peptide_seq:  #adds '---' gaps to nucleotide seq corresponding to peptide
        if aa!='-':
            gappedCodons.append(codons[codonCount])
            codonCount += 1
        else:
            gappedCodons.append('---')
    return(''.join(gappedCodons))

使用法

>>> unaligned_dna_seq = 'ATGATGATG'
>>> aligned_peptide_seq = 'M-MM'
>>> aligned_dna_seq = gapsFromPeptide(aligned_peptide_seq, unaligned_dna_seq)
>>> print(aligned_dna_seq)

    ATG---ATGATG
于 2014-01-02T17:08:33.987 に答える