0

fasta ファイル形式を使用しており、idなしでシーケンスのみを抽出し、シーケンスを分割したい場合は、このコードを記述します

    outfile=open('output.txt','r')
    for line in open('sequences.fasta')
        if line[0]==">":
           continue
           outfile.write(line)

このステップでは、シーケンスを含むテキスト ファイルを作成します。次のようになります。

    AATCCGGAGGACCGGTGTACTCAGCTCACCGGGGGCATTGCTCCCGTGGTGACCCTGATTTGTTGTTGGG
    CCGCCTCGGGAGCGTCCATGGCGGGTTTGAACCTCTAGCCCGGCGCAGTTTGGGCGCCAAGCCATATGAA
    AGCATCACCGGCGAATGGCATTGTCTTCCCCAAAACCCGGAGCGGCGGCGTGCTGTCGCGTGCCCAATGA

    CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGTTGAGACAACAGAATATATGATCGAGTG
    AATCTGGAGGACCTGTGGTAACTCAGCTCGTCGTGGCACTGCTTTTGTCGTGACCCTGCTTTGTTGTTGG
    GCCTCCTCAAGAGCTTTCATGGCAGGTTTGAACTTTAGTACGGTGCAGTTTGCGCCAAGTCATATAAAGC

    CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGTTGAGACAGCAGAACATACGATCGAGTG
     AATCCGGAGGACCCGTGGTTACACGGCTCACCGTGGCTTTGCTCTCGTGGTGAACCCGGTTTGCGACCGG
     GCCGCCTCGGGAACTTTCATGGCGGGTTTGAACGTCTAGCGCGGCGCAGTTTGCGCCAAGTCATATGGAG
     ....

次に、「CGT」のような 3 つの塩基を含むサブシーケンスを取得するために、各シーケンスを分割したいので、次のコードを入力します。

    for line in open('f:/output.txt', 'r'):
    seq=line.strip()
        [seq[i:i+3] for i in range(0, len(seq), 3)]

これは与える:

    ['CGT', 'AAC', 'AAG', 'GTT', 'TCC', 'GTA', 'GGT', 'GAA', 'CCT', 'GCG', 'GAA',        'GGA', 'TCA', 'TTG', 'ATG', 'AGA', 'CCG', 'TGG', 'AAT', 'AAA', 'CGA', 'TCG',     'AGT', 'G']

    ['AAT', 'CCG', 'GAG', 'GAC', 'CGG', 'TGT', 'ACT', 'CAG', 'CTC', 'ACC', 'GGG','GGC', 'ATT', 'GCT', 'CCC', 'GTG', 'GTG', 'ACC', 'CTG', 'ATT', 'TGT', 'TGT', 'TGG', 'G']
    ['CCG', 'CCT', 'CGG', 'GAG', 'CGT', 'CCA', 'TGG', 'CGG', 'GTT', 'TGA', 'ACC', 'TCT', 'AGC', 'CCG', 'GCG', 'CAG', 'TTT', 'GGG', 'CGC', 'CAA', 'GCC', 'ATA', 'TGA', 'A']

私にとっては、シーケンスをグループに分割したいです。各グループには 3 つのシーケンスが含まれ、その長さは 9 (9 塩基) です。次に、各シーケンスを 3 塩基のサブシーケンスに分割するため、各シーケンスの長さを知る必要があります。

例えば

    CGTAACAAG 
    AATCCGGAG 
    CCGCCTCGG

次に、このサブシーケンスにいくつかの操作を適用し、シーケンスのすべての長さに対して同じ手順を実行します。

これを行うのを手伝ってくれる人がいて、コードを修正できますか

4

1 に答える 1