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
次に、このサブシーケンスにいくつかの操作を適用し、シーケンスのすべての長さに対して同じ手順を実行します。
これを行うのを手伝ってくれる人がいて、コードを修正できますか