シーケンスの FASTA ファイルを作成するためのプログラムがあります。
input=['ARIMALTHNAEYSDSFTAL','ARIMFLTHNFEYSESFTAL','AHIMNPTENAEYHESFTAL','AHIMNPTENTEYWDSFTAL','AHIMNDTHNFEYHDSFTAL','AHIMNDTNNTEYWESFTAL','ARIMFDTENAEYHDSFTAL','AHIMADTNNTEYWDSFTAL','ARIMFLTENTEYHESFTAL']
l = len(input[0])
my_residues = [set() for _ in xrange(l)]
for h in input:
for i, x in enumerate(h):
my_residues[i].add(x)
my_residues = [list(x) for x in my_residues]
print my_residues
これにより、次のような出力が得られます
[['A'], ['H', 'R'], ['I'], ['M'], ['A', 'N', 'F'], ['P', 'L', 'D'], ['T'], ['H', 'E', 'N'], ['N'], ['A', 'T', 'F'], ['E'], ['Y'], ['H', 'S', 'W'], ['E', 'D'], ['S'], ['F'], ['T'], ['A'], ['L']]
しかし、複数の残基が含まれている場合、すべてのアミノ酸残基がセット内にあるような方法で出力が必要です。したがって、出力は次のようになります。
[['A'], ['A','C','D','E','F','G','H','I','K','L','M','N','P','Q','R','S','T','V','W','Y'], ['I'], ['M'], ['A','C','D','E','F','G','H','I','K','L','M','N','P','Q','R','S','T','V','W','Y'], ['A','C','D','E','F','G','H','I','K','L','M','N','P','Q','R','S','T','V','W','Y'], ['T'], ['A','C','D','E','F','G','H','I','K','L','M','N','P','Q','R','S','T','V','W','Y'],...... ['F'], ['T'], ['A'], ['L']]