Общая генетическая подцепочка ДНК
Функции версии 7 LongestCommonSequence и LongestCommonSubsequence теперь дополнены их позиционными аналогами LongestCommonSequencePositions и LongestCommonSubsequencePositions.
Сравните цепочку ДНК случайных генов Y хромосомы.
In[1]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_32.png)
genes = RandomSample[GenomeData["ChromosomeYGenes"], 4]
Out[1]=
![](assets.ru/common-dna-subsequence-of-genes/O_40.png)
Сгруппируйте эти гены по парам.
In[2]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_33.png)
With[{subsets = Subsets[genes, {2}]},
Table[pair[i] = subsets[[i]], {i, 1, Length[subsets]}]];
Задайте функцию, которая определит позиции самой длинной беспрерывной цепочки ДНК, характерной для каждой пары, а также саму цепочку.
In[3]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_34.png)
commonDNASubequence[{g1_, g2_}] :=
With[{d1 = GenomeData[g1], d2 = GenomeData[g2]}, {{g1, g2},
LongestCommonSubsequencePositions[d1, d2],
LongestCommonSubsequence[d1, d2]}]
Самая длинная общая подцепочка для первой пары.
In[4]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_35.png)
commonDNASubequence[pair[1]]
Out[4]=
![](assets.ru/common-dna-subsequence-of-genes/O_41.png)
Самая длинная общая подцепочка для второй пары.
In[5]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_36.png)
commonDNASubequence[pair[2]]
Out[5]=
![](assets.ru/common-dna-subsequence-of-genes/O_42.png)
Самая длинная общая подцепочка для третьей пары.
In[6]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_37.png)
commonDNASubequence[pair[3]]
Out[6]=
![](assets.ru/common-dna-subsequence-of-genes/O_43.png)
Самая длинная общая подцепочка для четвёртой пары.
In[7]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_38.png)
commonDNASubequence[pair[4]]
Out[7]=
![](assets.ru/common-dna-subsequence-of-genes/O_44.png)
Самая длинная общая подцепочка для пятой пары.
In[8]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_39.png)
commonDNASubequence[pair[5]]
Out[8]=
![](assets.ru/common-dna-subsequence-of-genes/O_45.png)
Самая длинная общая подцепочка для шестой пары.
In[9]:=
![Click for copyable input](assets.ru/common-dna-subsequence-of-genes/In_40.png)
commonDNASubequence[pair[6]]
Out[9]=
![](assets.ru/common-dna-subsequence-of-genes/O_46.png)