FFT在生物信息学中的应用(带摘要)
生物信息学技术及其在生物大数据方面的应用

生物信息学技术及其在生物大数据方面的应用生物信息学技术(Bioinformatics)是生物科学和计算机科学的交叉学科,主要研究计算机科学在生命科学中的应用,旨在提高生命科学研究的速度和效率。
随着生物技术的飞速发展,越来越多的生物数据被产生和积累,生物信息学技术的重要性也日益突出。
本文将围绕生物信息学技术及其应用在生物大数据方面展开,主要包括以下几个方面:一、生物信息学技术的发展历程生物信息学技术的诞生可以追溯到20世纪50年代,当时美国科学家Pauling提出了“生物序列假说”,认为蛋白质的结构从其序列中决定。
1953年,Watson和Crick发现了DNA的双螺旋结构,生物学信息学开始进入新的领域。
1965年,Margaret Dayhoff提出了蛋白质序列比对的方法,后来离子驱动方法和计算方法的相结合大大促进了这一领域的快速发展。
80年代末,PCR技术的出现更加推动了生物信息学技术的发展。
1990年,人类基因组计划启动,生物信息学技术开始扮演越来越重要的角色,不断涌现出各种新技术和方法。
现在,生物信息学技术已成为生命科学领域最重要的技术之一。
二、生物信息学技术的分类生物信息学技术大致可分为以下几类:1.序列分析技术序列分析技术是生物信息学最早、最基础的分支,主要研究各种生物分子序列的结构和功能。
该技术包括基因组学、转录组学、蛋白质组学等领域。
2.结构分析技术结构分析技术是对蛋白质、核酸等生物分子的三维结构进行分析的技术,在药物研究、蛋白质工程等领域具有重要意义。
3.功能分析技术功能分析技术是将序列、结构和代谢通路分析等方法相结合,研究生物分子的功能和相互作用,如药物靶点鉴定和生态学研究等领域。
三、生物信息学技术在生物大数据方面的应用生物信息学技术在生物大数据方面应用广泛,以下是其中几个方面:1.基因组学基因组学是研究基因组结构和功能的学科,其研究的数据规模极为庞大。
各种基因组数据库的建立和基因数据库的更新、整合和分析等都需要生物信息学技术的支持。
应用FFT对信号进行频谱分析

应用FFT对信号进行频谱分析FFT(快速傅里叶变换)是一种将时域信号转换为频域信号的有效算法。
它通过将信号分解成一系列频率成分来实现频谱分析。
频谱分析是对信号中不同频率分量的定性和定量分析。
它在许多领域中具有广泛的应用,例如通信、音频处理、图像处理等。
FFT算法通过将信号从时域转换到频域,将连续信号转化为以频率为参量的离散信号,在频率域中对信号进行分析。
FFT算法的核心思想是将一个N点的复数序列转换为具有相同N点的复数序列,该序列表示信号的频谱。
FFT算法具有快速计算的特点,可以大大提高计算效率。
在实际应用中,首先需要将信号进行采样。
采样是指以一定的频率对信号进行测量。
采样定律表明,为了准确恢复信号的频谱,采样频率必须大于信号中最高频率的两倍。
在采样完成后,就可以对采样信号应用FFT算法进行频谱分析。
首先,将采样信号与一个窗函数进行截断。
窗函数是用于减小采样信号端点带来的频谱泄漏的一种方法。
然后,使用FFT算法将截断的采样信号转换为频谱。
FFT计算的结果是一个具有幅度和相位的复数序列。
通常,我们只关心幅度谱,表示信号在不同频率上的强度。
可以通过取幅度谱的绝对值来获得幅度。
在频域中,可以对信号的频率成分进行分析和处理。
频谱分析可以帮助我们了解信号中的频率成分、频率分布和频率特征。
例如,通过FFT分析音频信号,可以获得不同频率的音调、音乐节奏等信息。
除了频谱分析,FFT还可以应用于其他信号处理任务,如滤波、信号压缩等。
在滤波中,可以通过将信号和一个滤波器的频谱进行乘法来实现频域滤波。
在信号压缩中,可以通过保留频域信号的主要频率成分来减小信号的数据量。
总结起来,FFT是一种常用的信号处理方法,可以通过将信号从时域转换到频域进行频谱分析。
通过FFT,可以获得信号在不同频率上的强度信息,并进行进一步的信号处理和分析。
fft实验报告结果

fft实验报告结果
《FFT实验报告结果:探索快速傅里叶变换的神奇魅力》
在现代科技领域,傅里叶变换(Fourier Transform)被广泛应用于信号处理、
图像处理、通信系统等各个领域。
而快速傅里叶变换(Fast Fourier Transform,FFT)作为一种高效的计算傅里叶变换的算法,更是被广泛使用。
本文将介绍一项关于FFT实验的报告结果,探索FFT的神奇魅力。
在实验中,我们选择了一组包含不同频率和幅度的信号进行FFT处理。
通过对
这些信号进行FFT分析,我们得到了它们在频域上的频谱图。
通过观察频谱图,我们可以清晰地看到信号中包含的各种频率成分,从而更好地理解信号的特性。
实验结果显示,FFT算法能够高效地计算出信号的频谱,并且能够准确地捕捉
到信号中的各种频率成分。
通过对频谱图的分析,我们可以得到信号的频率分
布情况,从而更好地了解信号的特性和结构。
除此之外,我们还对不同长度的信号进行了FFT处理,结果显示FFT算法在处
理不同长度的信号时依然能够保持高效性能。
这表明FFT算法具有很好的可扩
展性,能够适应不同长度的信号处理需求。
总的来说,通过这次实验,我们更加深入地了解了FFT算法在信号处理中的重
要性和优越性能。
FFT算法的高效性和准确性使其成为了信号处理领域中不可
或缺的工具,为我们提供了更好的信号分析和处理手段。
希望通过这次实验报告,能够让更多的人了解和认识FFT算法的神奇魅力,进一步推动其在各个领
域的应用和发展。
FFT频谱分析及应用

实验二FFT 频谱分析及应用一、实验目的:1、通过实验加深对FFT 的理解;2、熟悉应用FFT 对典型信号进行频谱分析的方法。
二、实验内容使用MATLAB 程序实现信号频域特性的分析。
涉及到离散傅立叶变换(DFT)、快速傅立叶变换(FFT)及信号频率分辨率等知识点。
三、实验原理与方法和手段在各种信号序列中,有限长序列占重要地位。
对有限长序列可以利用离散傅立叶变换(DFT)进行分析。
DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。
有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。
FFT 是DFT 的一种快速算法,它是对变换式进行一次次分解,使其成为假设干小数据点的组合,从而减少运算量。
在MATLAB 信号处理工具箱中的函数fft(x,N),可以用来实现序列的N点快速傅立叶变换。
经函数fft 求得的序列一般是复序列,通常要求出其幅值和相位。
MATLAB中提供了求复数的幅值和相位的函数:abs angle,这些函数一般和fft 同时使用。
四、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生根据实验要求,读懂并理解相应的程序;3、学生严格遵守实验室的各项规章制度,注意人身和设备平安,配合和服从实验室人员管理;4、教师在学生实验过程中予以必要的辅导,独立完成实验;5、采用集中授课形式。
五、实验条件1、具有WINDOWS 98/2000/NT/XP操作系统的计算机一台;2. 、MATLAB编程软件。
六、实验步骤在“开始--程序〞菜单中,找到MATLAB程序,运行启动;进入MATLAB后,在Comma nd Win dow中输入实验程序,并执行;记录运行结果图形,作分析。
具体步骤如下:1、用FFT进行典型信号的频谱分析:①咼斯序列:x〔M〕= *已,0乞科冬150. else参数:p=3 , q=6 ;p=2 , q=9 ;p=5 , q=7。
fft的用法 -回复

fft的用法-回复FFT,即快速傅里叶变换(Fast Fourier Transform),是一种高效的信号处理算法,用于快速计算傅里叶变换。
它广泛应用于数字信号处理、图像处理、通信和音频处理等领域。
在本文中,我将详细介绍FFT的原理、算法步骤以及应用。
一、傅里叶变换简介傅里叶变换是一种将信号从时域转换为频域的数学工具,它可以将一个信号分解为不同频率成分的叠加。
傅里叶变换公式为:F(w) = ∫f(t)e^(-jwt)dt其中,F(w)表示频域的复数函数,f(t)表示时域的函数,w为频率。
二、快速傅里叶变换原理FFT算法是在1965年由J.W. Cooley和J.W. Tukey发现的,它利用了傅里叶变换的对称性质,将O(n^2)复杂度的计算降低为O(nlogn)的复杂度。
FFT算法通过将信号采样点划分为不同的子集进行计算,并利用了旋转因子运算的特性,实现了快速的计算。
三、FFT算法步骤1. 输入信号首先,我们需要准备一个输入信号,该信号是以时间为自变量的实数函数。
通常,我们会对信号进行采样,得到一组离散的采样点。
2. 信号的长度针对采样点的数量,我们需要确定信号的长度为N。
在实际应用中,为了确保FFT的正确性,通常会选择2的整数次幂,即N=2^k。
3. 填充零如果信号的长度小于N,我们需要对其进行零填充,使其长度等于N。
这样做是为了保证FFT算法的正确性以及计算的高效性。
4. 快速傅里叶变换采用分治法的思想,FFT算法将信号分为两个子集,并分别计算它们的频谱。
然后,通过合并这些子集的结果以及旋转因子的运算,得到整个信号的频谱。
5. 频谱结果最后,我们可以得到信号的频谱结果,它表示了信号中不同频率成分的振幅和相位。
四、FFT的应用1. 音频处理在音频处理中,FFT被广泛应用于音频信号的频谱分析、波形绘制和滤波处理等方面。
通过FFT算法,我们可以将音频信号转化为频域表示,实现音频特征提取、音频识别以及音频效果的处理。
生物信息文献总结范文

摘要:随着生物技术的飞速发展,生物信息学作为一门新兴的交叉学科,在疾病研究中的应用越来越广泛。
本文对生物信息学在疾病研究中的应用进行了综述,并分析了近年来生物信息学在疾病研究中的最新进展。
一、引言生物信息学是生物学、计算机科学和数学相互交叉的学科,利用计算机技术对生物数据进行处理、分析和解释。
在疾病研究中,生物信息学通过对大量生物数据的挖掘和分析,为疾病的发生、发展和治疗提供了新的思路和方法。
二、生物信息学在疾病研究中的应用1. 基因组学研究基因组学是研究生物体基因组的结构和功能的一门学科。
生物信息学在基因组学中的应用主要体现在以下几个方面:(1)基因注释:通过对基因组序列进行注释,确定基因的功能、位置和表达水平。
(2)基因发现:通过生物信息学方法,从基因组数据中识别新的基因和基因家族。
(3)基因变异分析:分析基因变异与疾病之间的关系,为疾病诊断和治疗提供依据。
2. 蛋白质组学研究蛋白质组学是研究生物体蛋白质组成和功能的一门学科。
生物信息学在蛋白质组学中的应用主要体现在以下几个方面:(1)蛋白质序列分析:通过生物信息学方法,分析蛋白质序列的结构、功能和进化关系。
(2)蛋白质相互作用网络分析:构建蛋白质相互作用网络,揭示蛋白质之间的相互作用关系。
(3)蛋白质功能预测:通过生物信息学方法,预测蛋白质的功能和调控机制。
3. 转录组学研究转录组学是研究生物体基因表达水平的一门学科。
生物信息学在转录组学中的应用主要体现在以下几个方面:(1)基因表达数据分析:通过生物信息学方法,分析基因表达数据,识别差异表达基因。
(2)基因调控网络分析:构建基因调控网络,揭示基因之间的调控关系。
(3)生物标记物发现:通过生物信息学方法,发现与疾病相关的生物标记物。
三、生物信息学在疾病研究中的最新进展1. 大数据分析随着生物技术的快速发展,生物数据量急剧增加。
大数据分析技术在生物信息学中的应用,使得研究人员能够从海量数据中挖掘有价值的信息。
医学研究领域生物信息学在疾病研究中的应用
医学研究领域生物信息学在疾病研究中的应用生物信息学是一门利用计算机科学和统计学方法研究生物学问题的学科。
在医学研究领域,生物信息学起着至关重要的作用,特别是在疾病研究中。
本文将探讨生物信息学在医学研究领域的应用,并介绍一些相关的研究成果。
一、基因组学与生物信息学基因组学是研究生物体基因组的学科,而生物信息学通过对基因组数据的处理和分析来推动基因组学的发展。
生物信息学在疾病研究中的应用主要体现在以下几个方面:1. 基因组测序与变异检测高通量测序技术的快速发展使得基因组测序成为可能。
生物信息学通过对测序数据的处理和分析,可以揭示基因组中的变异信息,包括单核苷酸多态性(SNP)和结构变异等。
这些变异信息对于疾病的诊断和治疗具有重要的意义。
2. 基因表达谱分析基因表达谱是某个生物体在不同状态下基因表达的整体情况。
通过对基因表达谱的分析,可以揭示某个疾病发生发展过程中基因表达的变化规律,进一步了解疾病的机制。
生物信息学通过对基因表达谱数据的分析,可以识别出与疾病相关的基因或信号通路,为疾病的诊断和治疗提供理论依据。
3. 蛋白质组学研究蛋白质组学是研究生物体内蛋白质组成和功能的学科。
生物信息学在蛋白质组学研究中,通过对蛋白质序列、结构和功能的预测与分析,可以揭示蛋白质与疾病的相关性。
这对于疾病的诊断和治疗提供了重要的信息。
二、生物信息学在疾病研究中的应用案例以下是一些生物信息学在疾病研究中的应用案例:1. 癌症研究生物信息学在癌症研究中扮演着重要的角色。
通过对癌症基因组数据的分析,可以鉴定癌症相关基因和变异信息。
生物信息学还可以通过研究癌症基因表达谱的变化,揭示癌细胞的生长机制以及癌细胞与正常细胞的差异。
这些研究成果为癌症的早期诊断和精准治疗提供了理论基础。
2. 遗传性疾病研究生物信息学可以通过分析患者基因组数据,找出与遗传性疾病相关的基因变异。
这种方法被称为遗传关联研究(GWAS)。
通过对大规模样本的基因组数据进行GWAS分析,可以找出与遗传性疾病相关的基因座位,进一步了解疾病的遗传机制。
fft实验报告
fft实验报告傅里叶变换(Fast Fourier Transform, FFT)是一种重要的数学工具,广泛应用于信号处理、图像处理、通信系统等领域。
本文将从理论和实验两个方面,介绍FFT的原理、应用以及实验结果。
一、FFT的原理FFT是一种将时域信号转换为频域信号的算法,它基于傅里叶级数展开的思想。
傅里叶级数展开可以将一个周期信号表示为一系列正弦和余弦函数的叠加,而FFT则能够将非周期信号分解成一系列频率成分。
FFT的核心思想是将一个N点的离散信号变换为N/2个频率分量,其中前一半为正频率分量,后一半为负频率分量。
通过分别计算正频率和负频率的离散傅里叶变换(DFT),再利用对称性质进行合并,最终得到频域信号。
二、FFT的应用1. 信号处理:FFT在信号处理中有广泛应用,例如音频信号的频谱分析、滤波、降噪等。
通过将信号转换到频域,可以方便地分析信号的频率成分,从而实现各种信号处理算法。
2. 图像处理:FFT在图像处理中也有重要应用。
通过对图像进行二维FFT变换,可以将图像转换为频域表示,从而实现图像增强、去噪、压缩等操作。
例如,图像的频域滤波可以有效地去除图像中的噪声,提高图像的质量。
3. 通信系统:FFT在通信系统中也扮演着重要角色。
例如,在OFDM(正交频分复用)系统中,FFT用于将多个子载波的频域信号转换为时域信号进行传输。
这种技术能够提高信号的传输效率和抗干扰能力。
三、FFT实验结果为了验证FFT算法的正确性和效果,我们进行了一系列实验。
首先,我们使用MATLAB编程实现了FFT算法,并将其应用于音频信号处理。
通过对一段音频信号进行FFT变换,我们成功地获得了该信号的频谱图,并观察到不同频率成分的存在。
接下来,我们将FFT算法应用于图像处理。
我们选择了一张包含噪声的图像,并对其进行FFT变换。
通过对频域图像进行滤波操作,我们成功去除了图像中的噪声,并获得了清晰的图像。
最后,我们将FFT算法应用于通信系统中的OFDM技术。
实验二 参考 快速傅立叶变换(FFT)及其应用
实验二快速傅立叶变换(FFT )及其应用一、实验目的1.在理论学习的基础上,通过本实验,加深对FFT 的理解,熟悉FFT 子程序。
2.熟悉应用FFT 对典型信号进行频谱分析的方法3.了解应用FFT 进行信号频谱分析过程中可能出现的问题以便在实际中正确应用FFT 。
二、实验原理在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier 变换(DFT)。
这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N 时,它的DFT 定义为:10()()N kn N n X k x n W -==∑,2n j N N W e -=反换为:101()()N kn N k x n X k W N --==∑有限长序列的DFT 是其Z 变换在单位圆上的等距采样,或者是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。
FFT 并不是与DFT 不同的另一种变换,而是为了减少DFT 运算次数的一种快速算法。
它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT 是以2为基数的,其长度 N=2L ,它的效率高,程序简单使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT ,可以用末位补零的方法,使其长度延长至2的整数次方。
在运用DFT 进行频谱分析的过程中可能产生几种问题:(1) 混叠序列的频谱时被采样信号的周期延拓,当采样速率不满足Nyquist 定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。
(2) 泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT 来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。
小波变换在生物学信号分析中的应用指南
小波变换在生物学信号分析中的应用指南引言:生物学信号是指生物体内产生的各种电信号、声音信号、光信号等,这些信号蕴含着生物体的生理活动信息。
然而,由于生物信号的复杂性和多样性,如何准确地分析和理解这些信号一直是生物学研究的难点之一。
小波变换作为一种有效的信号处理方法,近年来在生物学信号分析中得到了广泛应用。
本文将介绍小波变换的基本原理及其在生物学信号分析中的应用指南。
一、小波变换的基本原理小波变换是一种时频分析方法,它将信号分解为不同频率和时间分辨率的小波基函数。
与傅里叶变换相比,小波变换可以提供更好的时域和频域分辨率,能够更准确地描述信号的瞬时特性。
小波变换的基本原理可以概括为以下几个步骤:1. 选择合适的小波基函数:小波基函数具有局部性和可调节性,可以根据信号的特点选择不同的小波基函数。
常用的小波基函数有Morlet小波、Daubechies小波等。
2. 进行小波分解:将待分析的信号与选定的小波基函数进行卷积运算,得到小波系数序列。
小波系数表示了信号在不同频率和时间尺度上的能量分布。
3. 小波系数的重构:通过逆小波变换,将小波系数重构为原始信号。
二、小波变换在生物学信号分析中的应用指南小波变换在生物学信号分析中具有广泛的应用价值,下面将从不同的生物学信号类型出发,介绍小波变换的具体应用指南。
1. 生物电信号分析生物电信号是指生物体内的电活动所产生的信号,如心电图(ECG)、脑电图(EEG)等。
小波变换可以用于对生物电信号进行特征提取和事件检测。
通过对生物电信号进行小波分解,可以得到不同频率和时间尺度上的能量分布,进而提取出信号的特征参数,如R波峰的幅值、频率等。
此外,小波变换还可以用于检测生物电信号中的异常事件,如心律失常等。
2. 生物声音信号分析生物声音信号是指生物体内产生的声音信号,如心音、呼吸音等。
小波变换可以用于对生物声音信号进行频谱分析和声音特征提取。
通过对生物声音信号进行小波分解,可以得到不同频率和时间尺度上的能量分布,进而提取出声音的频谱特征。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、绪言 自从1990年启动人类基因组计划以来,基因测序得到极大的发展,同时蛋白质结构信息也增长迅速,外加上其它的生物数据,这一切形成了一个巨大的生物数据海洋。然而数据并不是知识,与庞大的生物数据相比,相关的生物知识人类掌握的还很少,这便催生了一门新的学科----生物信息学。美国在人类基因组计划实施五年后的总结报告中,对生物信息学作了如下定义:生物信息学是一门交叉学科,它包含了生物信息的获取、处理、储存、分发、分析和解释等在内的所有方面,它综合运用数学、计算机科学和生物学的各种工具,来阐明和理解大量数据所包含的生物学意义[1]。
快速傅立叶变换(FFT)是1965年由J.W.Cooley和J.W.Tukey提出的一种旨在加快傅立叶变换(DFT)的快速算法,它将傅立叶变换的运算复杂度由2()On
降到了(log)Onn,因而广泛应用于各个科学领域。在生物信息学中,FFT也有广泛的应用,特别是在序列比对,蛋白质结构及功能预测等领域,经常能看到FFT的身影。本文旨在通过对一些应用实例的介绍,以期使读者对FFT在生物信息学中的应用有一个入门性的认识。
二、快速傅立叶变换(FFT)简介 (一)傅立叶变换(DFT) 设()xn为有限长信号,即 ()0,1,......,1()0xnnNxn
其它
(2.1)
则称 210()(),0,1,,1NjmnNnXmxnemN
(2.2) 为()xn的离散傅立叶变换(DFT),并称()Xm为()xn的离散频谱。相应的逆变换为 2101()()0,1,,1NjmnNmxnXmenNN
(2.3)
若引入记号2jNNWe,则有 1010()()1()()NmnNnNmnNmXmxnWxnXmWN
(2.4)
(二)快速傅立叶变换(FFT) 考虑离散傅立叶变换的运算量,由其定义式(2.2)知需要2)1(N次复乘法运算,复杂度为2()ON,随着N的增大,运算量将飞速增加,这是令人难以接受的。1965年,美国的J.W.Cooley和J.W.Tukey提出了一种新的计算频谱的算法,将运算复杂度降到(log)ONN,使运算速度大大增加,此即所谓的快速傅立叶变换(FFT)。 FFT巧妙地运用了奇偶对分的思想。当N为偶数时,Cooley和Tukey发现,若记
12021202()(2)()(21)NlkNlNlkNlYkxlWZkxlW
(2.5)
则有 ()()()0,1,,12()()(),0,1,,122kNkNNXkYkWZkkNNXkYkZkWk
(2.6)
将式(2.6)用图表示如下,称之为蝶形图。 YkZkXkXN2kW
N
k
WN
k
图2. 1 FFT的蝶形 通过奇偶对分,将求一个N长序列的频谱化为了求两个/2N长的序列的频
谱,减少了运算量。如法炮制,若假定2KN,这样一而再、再而三地奇遇对分下去,直到长度为1时停止,如此以来运算量将会锐减。这便是所谓的快速傅立叶变换(FFT),可以证明,这种算法的复杂度为(log)ONN。
(三)FFT加快相关系数的运算 设011(,,,)nxxxx,011(,,,)nyyyy为两个n长的数值序列,x和y的圆周相关系数定义为 10110(,,,)ncycnjkjkkzzzzxy
z (2.7)
其中下标kj表示的是模n后的值。易知计算两个等长序列的圆周相关系数的复杂度是2()On,而用FFT则可以降低其运算复杂度,加快运算。具体地,令
120(,,,)Rnnyyyy,X、RY、cycZ分别表示x、Ry、cycz经傅立叶变换后的频
谱,则有cycRZXY。即经过两次正的傅立叶变换和一次逆的傅立叶变换便可将相关系数计算出来。若在傅立叶变换中采用FFT快速算法,则可将复杂度降为(log)Onn。
不过,在生物信息学中,线性相关比圆周相关更常用。设有两个序列011(,,,)lxxxx和011(,,,)myyyy,令011(0,0,,0,,,,)lxxxx,
011(,,,,0,0,,0)myyyy,x、y均为长为1nlm序列,则x和y的线性
相关系数011(,,,)linnzzzz等于x和y的圆周相关系数cycz,于是线性相关系数的运算也可以通过用FFT将其复杂度降为(log)Onn。
三、FFT在序列比对方面的应用 (一)生物序列的表示 在生物信息学中,为简化生物序列的表示,用取自特定字母表的字符串来表示生物序列。以DNA序列和蛋白质序列为例,DNA序列由四种核苷酸组成,可用 “A”,“T”,“C”,“G” 四个字母组成的字符串表示,如“CCATGCTAGTA”。蛋白质序列比较复杂,一般由二十种常见的氨基酸组成,故可用二十个字母{A,R,N,D, C,Q,E,G,H,I,L,K,M,F,P,S,T,W,Y,V}组成的字符串来表示。
(二)序列比对的定义 序列比对(sequence alignment)简单地说就是对不同的生物序列进行分析比较。诸多生物学现象表明很多生物序列可能是由同一序列经过不同的变异演化而来,通过序列比对,找到它们的稳定区域及发生突变的位点和类型,进而可以研究这些突变的生物与医学效应。
在分子生物学中,序列A中的若干基本分子单元发生变异,使序列A变成另外一个序列B,那么称B是A的突变序列。序列的突变有以下四种基本类型:
1.差错型突变:例DNA序列中核苷酸的变异,如ACCGT中的A变为G 2.换位型突变:例DNA序列中核苷酸片段的换位,如ACCGT变为GTACC 3.插入型突变:如在DNA序列GGTTGG的TT间插入AA,变为GGTAATGG 4.删除型突变:如在DNA序列ACAGTTA中删除AG,变为ACTTA 为了便于表示后两种突变类型,我们在序列比对中引入空位“-”,比如 序列1:ACAGTTA 序列2:AC--TTA 表示从序列1中删除AG变异为序列2,也可以说是从序列2中插入AG变异为序列1。序列比对,通俗地讲,就是在两个要比对的序列(可能不一样长)中的适当位置插入空位“-”,以得到两个序列的最优匹配。
为了能定量描述匹配的程度,这就涉及到打分矩阵的概念。以DNA序列为例,考虑到空位“-”,序列的字母表扩大为{,,,,}Vatcg,打分矩阵可表示为
,(,)abVDdab,是一个5阶方阵。
打分矩阵分为得分矩阵与罚分矩阵两种。所谓得分矩阵,就是两序列匹配时取值大,不匹配时取值小;罚分矩阵则相反。在生物信息学中,最简单的打分矩阵为Hamming矩阵或WT矩阵。例
Hamming得分矩阵:1(,)0HabVdababV 相应的Hamming罚分矩阵:0(,)1HabVdababV
WT罚分矩阵:00.770.450.7710.7700.770.4510.450.7700.7710.770.450.770111110Wd 无论是罚分矩阵还是得分矩阵,都在序列比对中起优化作用,因此统称为优化矩阵,记为,(,)abVWwab。如果用A、B分别表示序列A、B在某些位置插入空位“-”后的序列,并且保证插入“-”后的序列长度一样长(记长度为n),
则称1(,)(,)niiiwABwab为序列比对的优化函数。而所谓序列比对就是寻找使优化函数取得最优解的插入“-”后的序列00,AB(取得分矩阵时,最优解乃是取得最大值;取罚分矩阵时,最优解乃是取得最小值)。 另外,我们还可以定义多条序列的序列比对(MSA),有兴趣的读者可参阅相关文献,这里不再赘述。
(三)动态规划算法与MAFFT 二重序列比对的经典算法是由Needleman S B和Wunsch C D于1970年提出的动态规划算法,但Needleman-Wunsch算法只能用于全局序列比对,1981年Smith T F和Waterman M S提出了改进的动态规划算法,使之不仅能用于全局序列比对,也能用于局部序列比对。
Needleman-Wunsch动态规划算法的主要步骤[2]如下: 1.将比对的两条序列制成比对二维表 如果序列为123(,,,)nAaaaa和123(,,,)mBbbbb,那么所构成的二维表如下表。 表3. 1 二维表
2.计算二维表中的元素(,)sij 首先,给出边界上即(0,)sj和(,0)si的分值。采用得分矩阵,(,)abVWwab,假设空位得分为d,而连续空位得分等于dgap,gap为连续空位的长度,则(0,),(,0),(0,0)0sjjdsiids;此时其余位置(,)sij的计算公式如下