Wolfram 语言

文本和语言处理

字符串分解

查看基因的核甘酸中的密码子(三个连续核甘酸组)的相关频率.

获取人类基因 "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]=

找出频率最高的三个密码子.

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

找出频率最低的三个密码子.

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 ja ko pt-br ru