Wolfram 语言

核心语言

基因的常见 DNA 子序列

版本 7 中的函数 LongestCommonSequenceLongestCommonSubsequence 现在得到了其位置配对 LongestCommonSequencePositionsLongestCommonSubsequencePositions 的补充.

对比随机的 Y 染色体基因的 DNA 序列.

In[1]:=
Click for copyable input
genes = RandomSample[GenomeData["ChromosomeYGenes"], 4]
Out[1]=

将这些基因配对分组.

In[2]:=
Click for copyable input
With[{subsets = Subsets[genes, {2}]}, Table[pair[i] = subsets[[i]], {i, 1, Length[subsets]}]];

定义获取每对共有的最长连续的 DNA 序列位置以及序列本身的函数.

In[3]:=
Click for copyable input
commonDNASubequence[{g1_, g2_}] := With[{d1 = GenomeData[g1], d2 = GenomeData[g2]}, {{g1, g2}, LongestCommonSubsequencePositions[d1, d2], LongestCommonSubsequence[d1, d2]}]

第一对最长共有子序列.

In[4]:=
Click for copyable input
commonDNASubequence[pair[1]]
Out[4]=

第二对最长共有子序列.

In[5]:=
Click for copyable input
commonDNASubequence[pair[2]]
Out[5]=

第三对最长共有子序列.

In[6]:=
Click for copyable input
commonDNASubequence[pair[3]]
Out[6]=

第四对最长共有子序列.

In[7]:=
Click for copyable input
commonDNASubequence[pair[4]]
Out[7]=

第五对最长共有子序列.

In[8]:=
Click for copyable input
commonDNASubequence[pair[5]]
Out[8]=

第六对最长共有子序列.

In[9]:=
Click for copyable input
commonDNASubequence[pair[6]]
Out[9]=

相关范例

de en es fr ja ko pt-br ru