Декомпозиция строк
Изучите относительную частоту триплетов (группы из трёх последовательных нуклеотидов) в списке нуклеотидов гена.
Получите последовательность ДНК для гена человека "SCNN1A".
In[1]:=
![Click for copyable input](assets.ru/string-decomposition/In_9.png)
dnasequence = GenomeData["SCNN1A", "FullSequence"];
Используйте StringPartition для создания соответствующего списка триплетов.
In[2]:=
![Click for copyable input](assets.ru/string-decomposition/In_10.png)
codons = StringPartition[dnasequence, 3];
In[3]:=
![Click for copyable input](assets.ru/string-decomposition/In_11.png)
Take[codons, 10]
Out[3]=
![](assets.ru/string-decomposition/O_8.png)
Рассчитайте относительную частоту каждого триплета в данном гене.
In[4]:=
![Click for copyable input](assets.ru/string-decomposition/In_12.png)
frequencies = N[Counts[codons]/Length[codons]];
Существует 64 возможных триплета, сформированных из нуклеотидов A, C, G, T, и все они являются элементами выбранного гена.
In[5]:=
![Click for copyable input](assets.ru/string-decomposition/In_13.png)
frequencies // Length
Out[5]=
![](assets.ru/string-decomposition/O_9.png)
Найдите три триплета с самой высокой частотой.
In[6]:=
![Click for copyable input](assets.ru/string-decomposition/In_14.png)
TakeLargest[frequencies, 3]
Out[6]=
![](assets.ru/string-decomposition/O_10.png)
Найдите три триплета с самой низкой частотой.
In[7]:=
![Click for copyable input](assets.ru/string-decomposition/In_15.png)
TakeSmallest[frequencies, 3]
Out[7]=
![](assets.ru/string-decomposition/O_11.png)
Визуализируйте все относительные частоты в Grid.
код на языке Wolfram Language целиком
Out[8]=
![](assets.ru/string-decomposition/O_12.png)