Форум программистов, компьютерный форум CyberForum.ru

БПФ и сравнение двух генетических последовательностей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использование протоколов ICMP и ARP http://www.cyberforum.ru/cpp/thread1269376.html
Есть Задание , я отлично понимаю что не кто не напишет программу ,но надеюсь что если у кого-то будет похожая или знает где можно такое найти , то поможет , подскажет. Заранее спасибо за внимание .
C++ Не могу найти ошибку в программе Есть задание: Даны строки A и B. Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке, и удалить все символы, кроме латинских букв из A; в остальных случаях упорядочить символы A в порядке, обратном к алфавитному, удалив повторяющиеся символы, и продублировать рус-ские буквы в B. Помогите найти ошибку, ибо вторая часть задания не... http://www.cyberforum.ru/cpp/thread1269251.html
C++ Упрощение сложных операторов и приведение типов в динамике
В общем, эта тема будет продолжением к динамике(если кто уже видел предыдущие). И так столкнулся я с оператором для доступа к членам : "->" (стрелочка). Почитал на МСДН: http://msdn.microsoft.com/ru-ru/library/b930c881.aspx Сразу выложу пример(он хоть и из WinApi, но суть не в этом), чтоб по ходу более понятно было: if(((LPNMHDR)lParam)->code == NM_CUSTOMDRAW)//стандартный вид...
C++ Написать несложную программу
Даны строки A и B. Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке, и удалить все символы, кроме латинских букв из A; в остальных случаях упорядочить символы A в порядке, обратном к алфавитному, удалив повторяющиеся символы, и продублировать рус-ские буквы в B. Нужна программа на С++ помогите пожалуйста!!!
C++ Не получается доработать программу http://www.cyberforum.ru/cpp/thread1268580.html
Имеется задание: Даны строки A и B. Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке, и удалить все символы, кроме латинских букв из A; в остальных случаях упорядочить символы A в порядке, обратном к алфавитному, удалив повторяющиеся символы, и продублировать рус-ские буквы в B. Имеется программа на С++: #include <iostream> #include...
C++ Как создать ехе под файл bat? Поскажите пожалуйста как создать ехешник под файлы bat, для запуска например с флешки подробнее

Показать сообщение отдельно
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
10.10.2014, 17:16     БПФ и сравнение двух генетических последовательностей
Цитата Сообщение от Maxim_Aliev Посмотреть сообщение
Суть в том, что допустим имеем последовательности AGTCAAGT и CCGAG, нужно найти такой сдвиг одной последовательности относительно другой, чтобы совпало наибольшее число символов, в данном случае сдвиг второй последовательности на два символа относительно другой дает наибольшее кол-во совпадающих символов.
для этого можно воспользоваться корреляцией: http://www.mathworks.co.uk/help/signal/ref/xcorr.html
см. пример "Delay Between Two Correlated Signals"
можно написать такой простой код (примеры на матлабе):
Matlab M
1
2
3
4
5
a = [1 2 3 4 1 1 2 3];
b = [4 4 2 1 2];
[corr, lags] = xcorr(a,b);
[~, ind] = max(corr);
lags(ind) % <--- ваше смещение
БПФ тут можно использовать для расчета корреляции (см. "Теорема о свертке", "Быстрая корреляция").
тогда код выше можно переписать как:
Matlab M
1
2
3
4
5
6
7
8
a = [1 2 3 4 1 1 2 3];
b = [4 4 2 1 2];
nfft = length(a)*2 - 1;
corr = ifft( fft(a,nfft) .* conj(fft(b,nfft)) ); % теорема о свертке
corr = [corr(end-len+2:end); corr(1:len)]; % см. дополнение
lags = -length(a):length(a)+1;
[~, ind] = max(corr);
lags(ind) % <--- ваше смещение
дополнение: перестановка необходима в следствие того, что свертка (корреляция) через БПФ получается циклической, а мы возвращаем её в последовательную.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru