Wolfram言語

テキストと言語の処理

文字列分解

遺伝子のヌクレオチドのリスト中のコドン(連続する3つのヌクレオチドのグループ)の相対頻度を調べる.

ヒト遺伝子"SCNN1A"のDNA配列を取得する.

In[1]:=
Click for copyable input
dnasequence = GenomeData["SCNN1A", "FullSequence"];

StringPartitionを使って対応するコドンのリストを構築する.

In[2]:=
Click for copyable input
codons = StringPartition[dnasequence, 3];
In[3]:=
Click for copyable input
Take[codons, 10]
Out[3]=

この遺伝子中の各コドンの相対頻度を計算する.

In[4]:=
Click for copyable input
frequencies = N[Counts[codons]/Length[codons]];

A,C,G,Tのヌクレオチドから形成可能なコドンは64ある.選択した遺伝子にこれらすべてが含まれている.

In[5]:=
Click for copyable input
frequencies // Length
Out[5]=

頻度が最も高い3つのコドンを求める.

In[6]:=
Click for copyable input
TakeLargest[frequencies, 3]
Out[6]=

頻度が最も低い3つのコドンを求める.

In[7]:=
Click for copyable input
TakeSmallest[frequencies, 3]
Out[7]=

全相対頻度をGridを使って可視化する.

完全なWolfram言語入力を表示する
In[8]:=
Click for copyable input
background = Thread[Rule[ Flatten[{ Outer[List, Range[1, 15, 2], {3, 4, 7, 8}], Outer[List, Range[2, 16, 2], {1, 2, 5, 6}] }, 2], GrayLevel[0.9]]]; Grid[Partition[Sequence @@@ Normal[KeySort@frequencies], 8], Spacings -> {1, 1}, Dividers -> All, Background -> {None, None, background}]
Out[8]=

関連する例

de en es fr ko pt-br ru zh