CN104657627B - Fastq格式读段开头的寻找和判断方法以及系统 - Google Patents
Fastq格式读段开头的寻找和判断方法以及系统 Download PDFInfo
- Publication number
- CN104657627B CN104657627B CN201310574685.6A CN201310574685A CN104657627B CN 104657627 B CN104657627 B CN 104657627B CN 201310574685 A CN201310574685 A CN 201310574685A CN 104657627 B CN104657627 B CN 104657627B
- Authority
- CN
- China
- Prior art keywords
- character
- read
- plus
- sequence
- array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000003491 array Methods 0.000 claims description 29
- 238000012163 sequencing technique Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000002493 microarray Methods 0.000 description 2
- 230000004907 flux Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 235000015096 spirit Nutrition 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种FASTQ格式读段开头的寻找和判断方法,包括以下步骤:根据用户输入参数定位文件,确定查找的起始位置;从起始位置开始逐字读取字符,寻找到以‘@’字符开头的行,并记录‘@’字符在文件中的位置;从‘@’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中;判断记录的位置是否为一个读段的开头,如果判断为是,则将记录的位置作为读段开头的位置返回,如果判断为否,将原起始位置所在行的行尾确定为新的起始位置,重复上述寻找和判断步骤。本发明能从FASTQ格式文件的任意位置开始,向后准确的寻找到邻近的读段开头,并返回这一位置,满足各种对FASTQ读段读取的需求,从而大幅提高处理数据的速度和效率。
Description
技术领域
本发明涉及一种并行处理测序数据的方法及系统,具体地说,涉及一种寻找和判断以FASTQ格式存储的读段的开头的技术。
背景技术
随着高通量、低成本的二代测序平台的出现,生物医药领域越来越多的应用这一平台进行生物大分子测序。为了方便测序数据的发布和共享,高通量测序平台所测的碱基及其质量分数数据大多以FASTQ格式存储。FASTQ格式是常见的基因测序数据,以读段为单位存储,携带有碱基测序的质量信息,是下游分析软件最常见的格式。NCBI(美国国立生物技术信息中心)等生物信息中心建立了SRA(Sociological Research in America)数据库来存放共享的高通量测序数据,近几年这一数据规模呈现指数增长。为了快速有效的处理这些海量数据,通常需要使用并行的处理方法。同时,由于测序数据的处理一般以读段为单位,因此在FASTQ文件内部准确判断一个读段的开头,是并行处理测序数据的一个关键。
由于测序平台的不同,FASTQ的格式会有一定不同,但是一般而言它的一个读段由四行组成,首行是以‘@’字符开头的title行,第二行是sequence行,第三行是以‘+’字符开头的plus行,第四行是quality行。其中quality行采用ASCII码值表示,‘@’字符可能发生在quality行开头或中间的任何地方,因此任何分析器不能仅以此作为读段开头的判断标准。另一方面一些工具在输出FASTQ文件时自动给sequence和quality行换行,这一情况影响了FASTQ格式数据读段开头准确寻找。
现有一些程序(如fastq_groomer_parallel、GNU parallel等)常利用FASTQ读段一般由四行组成这一特性,根据文件的行数判断读段开头的位置。如文件的第i行是4的倍数,那么i+1至i+4行组成一个完整的读段,读段的开头为i+1行的开头。这种判断方法对文件格式有严格要求,若一个读段不是四行就会产生错误判断,例如sequence行或者quality行被输出工具换行后一个读段将超过4行。而且当文件行数不能确定时,通过这种方法也不能快速有效的寻找到读段开头。另外仅利用读段开头为‘@’字符开头的title行这一特性,以文件行首是否为‘@’字符来判断读段开头,这一方法也会产生错误判断,因为有可能quality行以‘@’开头或quality行发生换行之后的行首也为‘@’字符。对读段开头的错判,会影响数据的后续处理,而且这些判断方法不能从FASTQ文件任意位置开始寻找到一个读段的开头,具有局限性。
发明内容
本发明所要解决的技术问题是克服现有技术中所存在的上述不足,而提供一种FASTQ格式读段开头的寻找和判断方法,能从FASTQ文件任意位置开始,准确寻找到一个读段的开头,并返回读段的开头位置。
本发明所要解决的技术问题是克服现有技术中所存在的上述不足,而提供一种FASTQ格式读段开头的寻找和判断系统,能从FASTQ文件任意位置开始,准确寻找到一个读段的开头,并返回读段的开头位置。
为了实现上述目的,本发明所采用的技术方案如下:
一种FASTQ格式读段开头的寻找和判断方法,包括以下步骤:根据用户输入参数定位文件,确定查找的起始位置;从起始位置开始逐字读取字符,寻找到以‘@’字符开头的行,并记录‘@’字符在文件中的位置;从‘@’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中,其中,将从‘@’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中;判断记录的位置是否为一个读段的开头,即根据字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段,如果判断为是,则将记录的位置作为读段开头的位置返回,如果判断为否,将原起始位置所在行的行尾确定为新的起始位置,重复上述寻找和判断步骤。
进一步,获取的title、sequence、plus、quality四个字符串能组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同,或者字符数组plus长度为1;二是end字符数组中第一个字符是换行符,第二个字符为‘@’字符。
进一步,字符数组sequence、quality中存储的内容去除读取时遇到的换行符。
进一步,用户输入参数包括FASTQ格式的文件、指定的文件起始查找位置。
一种FASTQ格式读段开头的寻找和判断系统,包括依次连接的寻找单元、读取信息单元和判断单元,寻找单元根据FASTQ格式读段的title行均为‘@’字符开头的特性,寻找以‘@’字符开头的行,并记录‘@’字符在文件中的位置;读取信息单元从‘@’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中;其中,读取信息单元将从‘@’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中;判断单元根据读取信息单元字符数组title、sequence、plus、quality中存储的内容,判断寻找单元记录的‘@’字符在文件中的位置是否为一个读段的开头位置。
进一步,读取信息单元根据FASTQ格式读段的sequence行后紧跟‘+’字符开头的plus行、sequence行与quality行长度一致以及读段后紧跟‘@’字符开头的下一读段的特性,对读取的内容进行分类存储。
进一步,判断单元根据字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段。
进一步,获取的title、sequence、plus、quality四个字符串组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同,或者字符数组plus长度为1;二是end字符数组中第一个字符是换行符,第二个字符为‘@’字符。
与现有技术相比,本发明可以从FASTQ格式文件的任意位置开始,向后准确的寻找到邻近的读段开头,并返回这一位置,为后续的读取工作奠定基础,满足各种对FASTQ读段读取的需求,同时,所返回的读段开头位置,还可用于多个进程的读取,每个进程可以通过返回的读段开头位置调整读取范围,以保证读取内容包含完整的读段,最终大幅提高处理数据的速度和效率。
附图说明
图1为本发明寻找和判断FASTQ格式读段开头的示意图;
图2为本发明分类读取存储信息的示意图;
图3为本发明判断FASTQ格式读段开头的示意图;
图4为本发明寻找和判断FASTQ格式读段开头的系统框架示意图。
具体实施方式
下面结合附图和具体实施例对本发明FASTQ格式读段开头的寻找和判断方法以及系统作进一步说明。
本发明根据用户输入参数,确定FASTQ文件查找的起始位置,从起始位置开始读取数据,并逐字进行判断,在找到‘@’字符开头的行后,记录这一行首的位置,向后读取若干行,并根据FASTQ读段的特征存储所读取的内容,通过判断读取的内容和长度,确定所获取的内容是否为一个读段,在找到一个读段后,返回这一读段开头的位置。
请参阅图1、图2和图3,本发明公开了一种FASTQ格式读段开头的寻找和判断方法,根据用户输入参数,从FASTQ文件的指定位置开始,逐字读取,正确寻找到读段的开头,且返回这一位置,具体包括以下步骤:
首先,根据用户输入参数定位文件,确定查找的起始位置。
用户输入参数包括FASTQ格式的文件、指定的文件起始查找位置。通过分析用户输入的FASTQ格式文件,确定文件的大小s,通过用户的输入,确定文件的起始查找位置。如指定的位置为文件的m/n处,则将文件指针移至s*m/n处,并从此处开始读取文件。
然后,从起始位置开始逐字读取字符,寻找到以‘@’字符开头的行,并记录‘@’字符在文件中的位置。
从起始位置开始向后逐字读取并判断字符,通过判断找到换行符后,读取后一个字符判断是否为‘@’字符,如果判断为是,则记录这一‘@’字符在文件中所处的位置。
接着,从‘@’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中。
其中,将从‘@’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中。字符数组sequence和字符数组quality中存储的内容不包括读取时遇到的换行符。
最后,判断记录的位置是否为一个读段的开头,即根据字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段,如果判断为是,则将记录的位置作为读段开头的位置返回,如果判断为否,将原起始位置所在行的行尾确定为新的起始位置,重复上述寻找和判断步骤。
判断FASTQ格式读段开头的方法是:根据字符数组title、sequence、plus、quality中存储的内容,判断所获取的title、sequence、plus、quality四个字符串是否能组成一个完整读段,若为一个完整读段,那么所记录的位置就是一个读段的开头的位置。
其中,获取的title、sequence、plus、quality四个字符串能组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同(读段信息完整情况下,title与plus长度和内容均一致),或者字符数组plus长度为1(读段中plus行‘+’后面信息省略的情况下,plus只有‘+’一个字符);二是end字符数组中第一个字符是换行符,第二个字符为‘@’字符。
在FASTQ格式读段开头的寻找和判断过程中如果碰到文件尾,则退出读取过程。
请参阅图1、图2和图3,本实施例的FASTQ格式读段开头的寻找和判断方法,包括以下步骤:
S1:根据用户输入参数确定文件的起始读取位置,用户输入参数包括FASTQ格式的文件名、指定的文件起始查找位置。
S2:从起始查找位置开始向后逐字符读取并判断读取的字符,若为‘@’字符开头的行,则记录这一行的行首(即‘@’字符)在文件中的位置。
S3:从记录的位置(即‘@’字符)开始,读取第一行的所有字符存储在字符数组title中;往后读取,至‘+’字符,将第一个换行符至‘+’字符之前读取的所有字符存储至字符数组sequence中,并把字符数组sequence的长度记为length(忽略数组中的所有换行符);继续读取,至下一个换行符,将‘+’字符至这一换行符之前的所有字符存储在字符数组plus中;读取接下来的length个字符(忽略换行符),并将读取的字符存储到字符数组quality中;最后读取两个字符,存储至字符数组end中。读取过程请参阅图2所示,字符数组sequence和字符数组quality中存储的内容不包括读取时遇到的换行符。
S4:对所读取的字符数组title、sequence、plus、quality中存储的内容进行判断,判断title与plus的内容是否一致,如不一致,判断plus长度是否为1;判断end数组中第一个字符是否为换行符和第二个字符是否为‘@’字符,判断过程请参阅图3所示。
若以上两个条件均满足,则所读取的title、sequence、plus、quality组成一个完整的读段,记录的位置为一个读段的开头,并返回这一读段的开头位置。如果不满足上述两个条件,则清空所有数组,同时将原起始位置所在行的行尾设置为新的起始位置,重复S2至S4的步骤,直至寻找到一个读段,并返回这一读段的开头位置。
标准四行的FASTQ读段开头的寻找和判断
利用上述寻找和判断FASTQ读段开头的方法,找到标准四行的FASTQ读段开头,标准四行的FASTQ读段,如表1所示,是最常见的FASTQ读段类型之一,四行信息完整,且不存在换行现象。
在找到‘@’字符开头的行后,根据FASTQ读段的特征对读取的内容分类存储,第一行存储至title数组,第二行存储至sequence数组,第三行存储至plus数组,第四行存储至quality数组,第五行开头的两个字符存储至end数组。由于是标准四行的读段,一个读段将满足title与plus的长度和内容均一致,以及读段后第一个字符为换行符第二个字符为‘@’字符这两个条件。满足这两个条件的读取内容中,title、sequence、plus、quality组成一个读段,读段开头的位置为‘@’字符开头的行首。
表1 标准四行的FASTQ读段
plus行信息省略的FASTQ读段开头的寻找和判断
利用上述寻找和判断FASTQ读段开头的方法,找到plus行信息省略的FASTQ读段开头,plus行信息省略的FASTQ读段,如表2所示,是常见的FASTQ读段类型之一,其中plus行信息被省略,仅余一个‘+’字符,以区分sequence行和quality行,读段不存在换行现象。
在找到‘@’字符开头的行后,根据FASTQ读段的特征对读取的内容分类存储,第一行存储至title数组,第二行存储至sequence数组,第三行仅一个字符存储至plus数组,第四行存储至quality数组,第五行开头的两个字符存储至end数组。由于是plus信息省略的读段,一个读段不满足title与plus的长度和内容均一致的条件,但是满足plus长度为一,以及读段后第一个字符为换行符第二个字符为‘@’字符这两个条件。满足这两个条件的读取内容中,title、sequence、plus、quality组成一个读段,读段开头的位置为‘@’字符开头的行首。
表2 plus行信息省略的FASTQ读段
sequence行或quality行存在换行的FASTQ读段开头的寻找和判断
利用上述寻找和判断FASTQ读段开头的方法,找到sequence行或quality行存在换行的FASTQ读段开头,sequence行或quality行存在换行的FASTQ读段,如表3所示,在一定情况下可能存在,如输出工具自动将他们换行。
在找到‘@’字符开头的行后,根据FASTQ读段的特征对读取的内容分类存储,第一行存至title数组,第二行至‘+’字符前的内容存储至sequence数组,‘+’字符至换行符存储至plus数组,后续与sequence一样长的内容存储至quality数组(忽略两者中的换行符),最后读取两个字符存储至end数组至。考虑到plus行信息可能省略,一个读段满足title与plus的长度和内容均一致或者plus长度为一,以及读段后两个字符中第一个字符为换行符第二个字符为‘@’字符这两个条件。满足这两个条件的读取内容中,title、sequence、plus、quality组成一个读段,读段开头的位置为‘@’字符开头的行首。
表3 sequence行或quality行换行的FASTQ读段
sequence行以‘+’字符结尾的FASTQ读段开头的寻找和判断
利用上述寻找和判断FASTQ读段开头的方法,找到sequence行以‘+’字符结尾的FASTQ读段开头,sequence行以‘+’字符结束的FASTQ格式读段,如表4所示,这一读段中plus行信息被省略,同时plus的‘+’字符被放置到sequence行的末尾。
前面的读取与存储步骤和sequence行或quality行存在换行的FASTQ读段开头类似,仅在判断时,考虑到plus行信息被省略,因此这种读段满足plus长度为一,以及读段后第一个字符为换行符第二个字符为‘@’字符这两个条件。满足这两个条件的读取内容中,title、sequence、plus、quality组成一个读段,读段开头的位置为‘@’字符开头的行首。
表4 sequence行以‘+’字符结束的FASTQ读段
经过两次判断后找到FASTQ读段开头的寻找和判断
利用上述寻找和判断FASTQ读段开头的方法,从文件的起始读取位置开始,经过两次判断后找到FASTQ读段开头,起始读取位置为表5所示的加粗‘T’字符位置。
如表5所示,找到‘@’字符开头的行,第一行字符存至title数组,第二行至‘+’字符前的内容存储至sequence数组,‘+’字符至换行符存储至plus数组,后续与sequence一样长的内容存储至quality数组(忽略两者中的换行符),最后读取两个字符存储至end数组。对读取的内容进行判断,title与plus的长度与内容不一致,但plus长为1,满足第一个条件;end数组中第一个字符为换行符,但是第二个字符为‘A’字符,不满足第二个条件。因此判断所读取的内容不是一个读段,将新的起始位置设置为原起始位置所在行的行尾,如表5所示的加粗‘A’字符位置,重复plus行信息省略的FASTQ读段开头的寻找和判断步骤,找到一个完整的读段,并返回这一读段的开头位置,如表5所示加粗下划线位置。
表5 经两次判断找到的FASTQ读段开头
请参阅图4,本发明还公开了一种FASTQ格式读段开头的寻找和判断系统,系统内所有的单元根据FASTQ格式读段的特征进行寻找和判断。本实施例的FASTQ格式读段开头的寻找和判断系统100,包括依次连接的寻找单元10、读取信息单元20和判断单元30。
寻找单元10根据FASTQ格式读段的title行均为‘@’字符开头的特性,寻找以‘@’字符开头的行,并记录‘@’字符在文件中的位置。
读取信息单元20从‘@’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中。
读取信息单元20根据FASTQ格式读段的sequence行后紧跟‘+’字符开头的plus行、sequence行与quality行长度一致以及读段后紧跟‘@’字符开头的下一读段的特性,对读取的内容进行分类存储。
读取信息单元20将从‘@’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中。字符数组sequence和字符数组quality中存储的内容不包括读取时遇到的换行符。
判断单元30根据读取信息单元20字符数组title、sequence、plus、quality中存储的内容,判断寻找单元10记录的‘@’字符在文件中的位置是否为一个读段的开头位置。
判断单元30判断寻找单元10记录的‘@’字符在文件中的位置是否为一个读段的开头位置的方法是:判断单元30根据读取信息单元20字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段。若为一个完整读段,那么所记录的位置就是一个读段的开头的位置。
获取的title、sequence、plus、quality四个字符串组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同,或者字符数组plus长度为1;二是end字符数组中第一个字符是换行符,第二个字符为‘@’字符。
判断单元30判断获取的title、sequence、plus、quality四个字符串能组成一个完整的读段,则记录的位置是一个读段的开头,并将记录的位置作为读段开头的位置返回;判断单元30判断获取的title、sequence、plus、quality四个字符串不能组成一个完整的读段,则记录的位置不是一个读段的开头,并将原起始位置所在行的行尾确定为新的起始位置,重复上述寻找和判断步骤。
本发明寻找和判断FASTQ格式读段开头的方法更加严谨,可以从FASTQ格式文件指定的任意位置开始,向后准确的寻找到邻近的读段开头,并返回这一位置,为后续的读取工作奠定基础,从而大幅提高处理数据的速度和效率。
本发明可以准确寻找到FASTQ格式四种读段的开头:第一种是标准四行的FASTQ读段;第二种是plus行信息省略的FASTQ读段;第三种是sequence行或者quality行存在换行的FASTQ读段;第四种是sequence行以‘+’字符结束的FASTQ读段,本发明的寻找和判断方法能适应各种对FASTQ读段读取的需求。
本发明寻找和判断FASTQ格式读段的开头的方法所返回的读段开头位置,还可用于多个进程的读取,每个进程可以通过返回的读段开头位置调整读取范围,以保证读取内容包含完整的读段。
上述说明是针对本发明较佳可行实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所揭示的技术精神下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利范围。
Claims (5)
1.一种FASTQ格式读段开头的寻找和判断方法,其特征在于,包括以下步骤:
根据用户输入参数定位文件,确定查找的起始位置;
从起始位置开始逐字读取字符,寻找到以‘@’字符开头的行,并记录‘@’字符在文件中的位置;
从‘@’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中,
其中,将从‘@’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中;
判断记录的位置是否为一个读段的开头,即根据字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段,其中,获取的title、sequence、plus、quality四个字符串能组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同,或者字符数组plus长度为1;二是end字符数组中第一个字符是换行符,第二个字符为‘@’字符;
如果判断为是,则将记录的位置作为读段开头的位置返回,如果判断为否,将原起始位置所在行的行尾确定为新的起始位置,重复上述寻找和判断步骤。
2.如权利要求1所述的FASTQ格式读段开头的寻找和判断方法,其特征在于:字符数组sequence、quality中存储的内容去除读取时遇到的换行符。
3.如权利要求1所述的FASTQ格式读段开头的寻找和判断方法,其特征在于:用户输入参数包括FASTQ格式的文件、指定的文件起始查找位置。
4.一种FASTQ格式读段开头的寻找和判断系统,包括依次连接的寻找单元、读取信息单元和判断单元,其特征在于:
寻找单元根据FASTQ格式读段的title行均为‘@’字符开头的特性,寻找以‘@’字符开头的行,并记录‘@’字符在文件中的位置;
读取信息单元从‘@’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中;
其中,读取信息单元将从‘@’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中;
判断单元根据读取信息单元字符数组title、sequence、plus、quality中存储的内容,判断寻找单元记录的‘@’字符在文件中的位置是否为一个读段的开头位置;其中,判断单元通过以下方法判断寻找单元记录的‘@’字符在文件中的位置是否为一个读段的开头位置:
判断单元根据字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段,若为一个完整读段,则所记录的位置为一个读段的开头位置;其中,获取的title、sequence、plus、quality四个字符串组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同,或者字符数组plus长度为1;二是end字符数组中第一个字符是换行符,第二个字符为‘@’字符。
5.如权利要求4所述的FASTQ格式读段开头的寻找和判断系统,其特征在于:读取信息单元根据FASTQ格式读段的sequence行后紧跟‘+’字符开头的plus行、sequence行与quality行长度一致以及读段后紧跟‘@’字符开头的下一读段的特性,对读取的内容进行分类存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310574685.6A CN104657627B (zh) | 2013-11-18 | 2013-11-18 | Fastq格式读段开头的寻找和判断方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310574685.6A CN104657627B (zh) | 2013-11-18 | 2013-11-18 | Fastq格式读段开头的寻找和判断方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657627A CN104657627A (zh) | 2015-05-27 |
CN104657627B true CN104657627B (zh) | 2017-12-05 |
Family
ID=53248741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310574685.6A Active CN104657627B (zh) | 2013-11-18 | 2013-11-18 | Fastq格式读段开头的寻找和判断方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657627B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543456B (zh) * | 2019-09-06 | 2022-02-22 | 北京华大九天科技股份有限公司 | 一种oasis文件快速读取方法、装置及计算机可读存储介质 |
CN111767255B (zh) * | 2020-05-22 | 2023-10-13 | 北京和瑞精湛医学检验实验室有限公司 | 从fastq文件分离出样本read数据的优化方法 |
CN112232028B (zh) * | 2020-10-28 | 2023-01-03 | 南方电网科学研究院有限责任公司 | 录波通道数据的处理方法、装置、终端设备及存储介质 |
AU2022460507A1 (en) * | 2022-05-27 | 2024-08-29 | Bgi Tech Solutions Co., Ltd. | Fastq data processing method and apparatus, electronic device, and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049680A (zh) * | 2012-12-29 | 2013-04-17 | 深圳先进技术研究院 | 基因测序数据读取方法及系统 |
CN103186716A (zh) * | 2011-12-29 | 2013-07-03 | 上海生物信息技术研究中心 | 基于元基因组学的未知病原快速鉴定系统及分析方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101969848B1 (ko) * | 2011-06-10 | 2019-04-17 | 삼성전자주식회사 | 유전자 데이터를 압축하는 방법 및 장치 |
WO2013025561A1 (en) * | 2011-08-12 | 2013-02-21 | Dnanexus Inc | Sequence read archive interface |
-
2013
- 2013-11-18 CN CN201310574685.6A patent/CN104657627B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186716A (zh) * | 2011-12-29 | 2013-07-03 | 上海生物信息技术研究中心 | 基于元基因组学的未知病原快速鉴定系统及分析方法 |
CN103049680A (zh) * | 2012-12-29 | 2013-04-17 | 深圳先进技术研究院 | 基因测序数据读取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104657627A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2016273851B2 (en) | Accurate tag relevance prediction for image search | |
Dellis et al. | Efficient Computation of Reverse Skyline Queries. | |
CN105378764B (zh) | 计算机-人交互式学习中的交互式概念编辑 | |
CN101246499B (zh) | 网络信息搜索方法及系统 | |
CN104657627B (zh) | Fastq格式读段开头的寻找和判断方法以及系统 | |
US8832139B2 (en) | Associative memory and data searching system and method | |
CN102262642B (zh) | 一种Web图像搜索引擎及其实现方法 | |
JP2006350398A5 (zh) | ||
US20110213763A1 (en) | Web content mining of pair-based data | |
KR20140053888A (ko) | 판식 파일중 구조화 정보 획득방법 및 장치 | |
CN108710784A (zh) | 一种基因转录变异几率及变异方向的算法 | |
CN112764809B (zh) | 基于编码特征的sql代码抄袭检测方法及系统 | |
Yuan et al. | Utilizing related samples to enhance interactive concept-based video search | |
US10438690B2 (en) | Associative memory and data searching system and method | |
CN109977286B (zh) | 基于内容的信息检索方法 | |
CN109933787A (zh) | 文本关键信息的提取方法、装置及介质 | |
CN103034709B (zh) | 检索结果重排序系统及其方法 | |
CN101493824A (zh) | 数据库的数据检索方法和装置 | |
CN102194101A (zh) | 字符串检测装置和方法、字符评价装置和方法 | |
CN116524263A (zh) | 一种细粒度图像半自动标注方法 | |
Tian et al. | Automatic image annotation with real-world community contributed data set | |
CN104077555A (zh) | 一种识别图片搜索中坏例的方法和装置 | |
CN111753084B (zh) | 一种短文本特征提取与分类方法 | |
Bolettieri et al. | An image retrieval system for video | |
RU2409849C2 (ru) | Способ поиска информации в политематических массивах неструктурированных текстов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |