Ответ 1
Я раньше не знал о Марке МакКлюре blog о представлении гей-последовательности Chaos Game, но он напомнил мне статью Хосе Мануэль Гутьеррес (The Mathematica Journal Vol 9 Issue 2), который также дает алгоритм игры хаоса для IFS, использующего (четыре основы) последовательностей ДНК. Подробное описание можно найти здесь (оригинальная статья).
Этот метод может использоваться для создания графиков, таких как следующее. Просто, черт возьми, я включил (в панели RHS) графики, созданные с соответствующей комплементарной цепью ДНК (кДНК).
- Мышечная митохондриальная ДНК (LHS) и ее комплементарная цепь (кДНК) (RHS).
Эти графики были созданы из GenBank Identifier gi | 342520. Последовательность содержит 16295 баз.
(Один из примеров, используемый Хосе Мануэлем Гутьерресом. Если кому-то интересно, графики для человеческого эквивалента могут быть получены из gi | 1262342).
- Человеческий бета-глобиновый регион (LHS) и его кДНК (RHS)
Сгенерировано из gi | 455025 | (пример использовал мой Марк МакКлюр). Последовательность содержит 73308 оснований
Есть довольно интересные сюжеты! Фрактальная природа таких участков (иногда) известна, но симметрия, очевидная в версиях LHS и RHS (кДНК), была очень удивительной (по крайней мере для меня).
Хорошо, что такие графики для любой последовательности ДНК могут быть очень легко сгенерированы путем непосредственного импорта последовательности (от, скажем, Genbank), а затем использования силы Mma.
Все, что вам нужно, это номер доступа! ( "Неизвестные" нуклеотиды, такие как "R", возможно, должны быть замечены) (я использую Mma v7).
Исходная имплиминация (слегка измененная) (Жозе Мануэль Гутьеррес)
Важное обновление
По рекомендации Марка МакКлюра, я изменил Point/@Orbit[s, Union[s]]
на [email protected][s, Union[s]]
.
Это значительно ускоряет работу. Отметьте комментарий ниже.
Orbit[s_List, {a_, b_, c_, d_}] :=
OrbitMap[s /. {a -> {0, 0}, b -> {0, 1}, c -> {1, 0},
d -> {1, 1}}];
OrbitMap =
Compile[{{m, _Real, 2}}, FoldList[(#1 + #2)/2 &, {0, 0}, m]];
IFSPlot[s_List] :=
Show[Graphics[{Hue[{2/3, 1, 1, .5}], AbsolutePointSize[2.5],
Point @ Orbit[s, Union[s]]}], AspectRatio -> Automatic,
PlotRange -> {{0, 1}, {0, 1}},
GridLines -> {Range[0, 1, 1/2^3], Range[0, 1, 1/2^3]}]
Это дает синий сюжет. Для зеленого цвета смените Hue [] на Hue [{1/3,1,1,.5}]
Следующий код теперь генерирует первый график (для мышиной митохондриальной ДНК)
IFSPlot[[email protected]
[email protected]
[email protected][
"http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=\
nucleotide&id=342520&rettype=fasta&retmode=text", "Data"]]
Чтобы получить график кДНК, я использовал следующие правила преобразования (а также изменил настройку оттенка)
IFSPlot[ .... "Data"] /. {"A" -> "T", "T" -> "A", "G" -> "C",
"C" -> "G"}]
Благодаря Sjoerd C. de Vries и telefunkenvf14 за помощь в непосредственном импорте последовательностей из Сайт NCBI.
Разделите вещи немного, ради ясности.
Импортировать последовательность
mouseMitoFasta=Import["http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=342520&rettype=fasta&retmode=text","Data"];
Дается метод, заданный для импорта последовательностей в оригинальной статье Mathematica J.
Хорошая проверка
Во-первых @mouseMitoFastap >
Вывод:
{>gi|342520|gb|J01420.1|MUSMTCG Mouse mitochondrion, complete genome}
Генерация списка оснований
[email protected]@[email protected]
Еще несколько проверок
{[email protected], [email protected],[email protected]}
Вывод:
{16295,{A,C,G,T},{{G,2011},{T,4680},{A,5628},{C,3976}}}
Второй набор графиков был сгенерирован аналогичным образом из gi | 455025. Обратите внимание, что последовательность длинная!
{73308,{A,C,G,T},{{G,14785},{A,22068},{T,22309},{C,14146}}}
Последний пример (содержащий 265922 п.п.), также демонстрирующий увлекательную фрактальную симметрию. (Они были сгенерированы с помощью AbsolutePointSize[1]
в IFSPlot
).
Первая строка файла fasta:
{ > Г | 328530803 | гб | AFBL01000008.1 | Actinomyces sp. оральный таксон 170 ул. F0386 A_spOraltaxon170F0386-1.0_Cont9.1, целая последовательность дробовика генома}
Соответствующий график кДНК снова отображается синим цветом на RHS
Наконец, метод Mark также дает очень красивые графики (например, с gi | 328530803) и может быть загружен в виде ноутбука.