CN104657627A - Fastq格式读段开头的寻找和判断方法以及*** - Google Patents

Fastq格式读段开头的寻找和判断方法以及*** Download PDF

Info

Publication number
CN104657627A
CN104657627A CN201310574685.6A CN201310574685A CN104657627A CN 104657627 A CN104657627 A CN 104657627A CN 201310574685 A CN201310574685 A CN 201310574685A CN 104657627 A CN104657627 A CN 104657627A
Authority
CN
China
Prior art keywords
character
reading
section
plus
sequence
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.)
Granted
Application number
CN201310574685.6A
Other languages
English (en)
Other versions
CN104657627B (zh
Inventor
李家辉
何娜
王婷
罗海飙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Institute of Software Application Technology Guangzhou GZIS
Original Assignee
Guangzhou Institute of Software Application Technology Guangzhou GZIS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Institute of Software Application Technology Guangzhou GZIS filed Critical Guangzhou Institute of Software Application Technology Guangzhou GZIS
Priority to CN201310574685.6A priority Critical patent/CN104657627B/zh
Publication of CN104657627A publication Critical patent/CN104657627A/zh
Application granted granted Critical
Publication of CN104657627B publication Critical patent/CN104657627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种FASTQ格式读段开头的寻找和判断方法,包括以下步骤:根据用户输入参数定位文件,确定查找的起始位置;从起始位置开始逐字读取字符,寻找到以‘’字符开头的行,并记录‘’字符在文件中的位置;从‘’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中;判断记录的位置是否为一个读段的开头,如果判断为是,则将记录的位置作为读段开头的位置返回,如果判断为否,将原起始位置所在行的行尾确定为新的起始位置,重复上述寻找和判断步骤。本发明能从FASTQ格式文件的任意位置开始,向后准确的寻找到邻近的读段开头,并返回这一位置,满足各种对FASTQ读段读取的需求,从而大幅提高处理数据的速度和效率。

Description

FASTQ格式读段开头的寻找和判断方法以及***
技术领域
本发明涉及一种并行处理测序数据的方法及***,具体地说,涉及一种寻找和判断以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 (8)

1.一种FASTQ格式读段开头的寻找和判断方法,其特征在于,包括以下步骤:
根据用户输入参数定位文件,确定查找的起始位置;
从起始位置开始逐字读取字符,寻找到以‘’字符开头的行,并记录‘’字符在文件中的位置;
从‘’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中,
其中,将从‘’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中;
判断记录的位置是否为一个读段的开头,即根据字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段,
如果判断为是,则将记录的位置作为读段开头的位置返回,如果判断为否,将原起始位置所在行的行尾确定为新的起始位置,重复上述寻找和判断步骤。
2.如权利要求1所述的FASTQ格式读段开头的寻找和判断方法,其特征在于:获取的title、sequence、plus、quality四个字符串能组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同,或者字符数组plus长度为1;二是end字符数组中第一个字符是换行符,第二个字符为‘’字符。
3.如权利要求1所述的FASTQ格式读段开头的寻找和判断方法,其特征在于:字符数组sequence、quality中存储的内容去除读取时遇到的换行符。
4.如权利要求1所述的FASTQ格式读段开头的寻找和判断方法,其特征在于:用户输入参数包括FASTQ格式的文件、指定的文件起始查找位置。
5.一种FASTQ格式读段开头的寻找和判断***,包括依次连接的寻找单元、读取信息单元和判断单元,其特征在于:
寻找单元根据FASTQ格式读段的title行均为‘’字符开头的特性,寻找以‘’字符开头的行,并记录‘’字符在文件中的位置;
读取信息单元从‘’字符开始连续读取,并将读取的字符依次存储至字符数组title、sequence、plus、quality、end中;
其中,读取信息单元将从‘’字符开始到第一个换行符前读取的字符存储至字符数组title中,将第一个换行符至‘+’字符前读取的字符存储至字符数组sequence中,并把字符数组sequence的长度记为length,将‘+’字符到下一个换行符前读取的的字符存储至字符数组plus中,将字符数组plus之后读取的length个字符存储至字符数组quality中,最后读取紧邻的两个字符并将其存储至字符数组end中;
判断单元根据读取信息单元字符数组title、sequence、plus、quality中存储的内容,判断寻找单元记录的‘’字符在文件中的位置是否为一个读段的开头位置。
6.如权利要求5所述的FASTQ格式读段开头的寻找和判断***,其特征在于:读取信息单元根据FASTQ格式读段的sequence行后紧跟‘+’字符开头的plus行、sequence行与quality行长度一致以及读段后紧跟‘’字符开头的下一读段的特性,对读取的内容进行分类存储。
7.如权利要求5所述的FASTQ格式读段开头的寻找和判断***,其特征在于:判断单元根据字符数组title、sequence、plus、quality中存储的内容,判断获取的title、sequence、plus、quality四个字符串是否能组成一个完整的读段。
8.如权利要求7所述的FASTQ格式读段开头的寻找和判断***,其特征在于:获取的title、sequence、plus、quality四个字符串组成一个完整读段,必须满足以下条件:一是字符数组title与字符数组plus的内容相同,或者字符数组plus长度为1;二是end字符数组中第一个字符是换行符,第二个字符为‘’字符。
CN201310574685.6A 2013-11-18 2013-11-18 Fastq格式读段开头的寻找和判断方法以及*** Active CN104657627B (zh)

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 true CN104657627A (zh) 2015-05-27
CN104657627B 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543456A (zh) * 2019-09-06 2019-12-06 北京华大九天软件有限公司 一种oasis文件快速读取方法、装置及计算机可读存储介质
CN111767255A (zh) * 2020-05-22 2020-10-13 北京和瑞精准医学检验实验室有限公司 从fastq文件分离出样本read数据的优化方法
CN112232028A (zh) * 2020-10-28 2021-01-15 南方电网科学研究院有限责任公司 录波通道数据的处理方法、装置、终端设备及存储介质
WO2023226036A1 (zh) * 2022-05-27 2023-11-30 深圳华大基因科技服务有限公司 Fastq数据的处理方法及装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120137235A (ko) * 2011-06-10 2012-12-20 삼성전자주식회사 유전자 데이터를 압축하는 방법 및 장치
WO2013025561A1 (en) * 2011-08-12 2013-02-21 Dnanexus Inc Sequence read archive interface
CN103049680A (zh) * 2012-12-29 2013-04-17 深圳先进技术研究院 基因测序数据读取方法及***
CN103186716A (zh) * 2011-12-29 2013-07-03 上海生物信息技术研究中心 基于元基因组学的未知病原快速鉴定***及分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120137235A (ko) * 2011-06-10 2012-12-20 삼성전자주식회사 유전자 데이터를 압축하는 방법 및 장치
WO2013025561A1 (en) * 2011-08-12 2013-02-21 Dnanexus Inc Sequence read archive interface
CN103186716A (zh) * 2011-12-29 2013-07-03 上海生物信息技术研究中心 基于元基因组学的未知病原快速鉴定***及分析方法
CN103049680A (zh) * 2012-12-29 2013-04-17 深圳先进技术研究院 基因测序数据读取方法及***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543456A (zh) * 2019-09-06 2019-12-06 北京华大九天软件有限公司 一种oasis文件快速读取方法、装置及计算机可读存储介质
CN110543456B (zh) * 2019-09-06 2022-02-22 北京华大九天科技股份有限公司 一种oasis文件快速读取方法、装置及计算机可读存储介质
CN111767255A (zh) * 2020-05-22 2020-10-13 北京和瑞精准医学检验实验室有限公司 从fastq文件分离出样本read数据的优化方法
CN111767255B (zh) * 2020-05-22 2023-10-13 北京和瑞精湛医学检验实验室有限公司 从fastq文件分离出样本read数据的优化方法
CN112232028A (zh) * 2020-10-28 2021-01-15 南方电网科学研究院有限责任公司 录波通道数据的处理方法、装置、终端设备及存储介质
WO2023226036A1 (zh) * 2022-05-27 2023-11-30 深圳华大基因科技服务有限公司 Fastq数据的处理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN104657627B (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
Dellis et al. Efficient Computation of Reverse Skyline Queries.
KR100903961B1 (ko) 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템
US8543381B2 (en) Morphing text by splicing end-compatible segments
CN104657627A (zh) Fastq格式读段开头的寻找和判断方法以及***
JP2006163841A5 (zh)
CN110413764B (zh) 基于预建词库的长文本企业名称识别方法
Kuo et al. Query expansion for hash-based image object retrieval
CN103631910A (zh) 一种分布式数据库多列复合查询的***及方法
WO2007120558A2 (en) Image classification based on a mixture of elliptical color models
CN103823900A (zh) 信息点重要性确定方法和装置
CN108710784A (zh) 一种基因转录变异几率及变异方向的算法
CN102831224A (zh) 一种数据索引库的建立方法、搜索建议生成方法和装置
CN104750673B (zh) 文本匹配过滤方法及装置
US7577684B2 (en) Fast generalized 2-Dimensional heap for Hausdorff and earth mover's distance
Liu et al. Typicality-based visual search reranking
KR100882864B1 (ko) 디지털 포렌식 시스템을 위한 대용량 데이터 고속 검색시스템 및 방법
CN102110125B (zh) 根据汉字快速查找兴趣点的检索方法
Bollegala et al. Mining for personal name aliases on the web
CN104965928A (zh) 一种基于形状匹配的汉字图像检索方法
CN112612867A (zh) 新闻稿件传播分析方法、计算机可读存储介质及电子设备
CN104077555A (zh) 一种识别图片搜索中坏例的方法和装置
CN102194101A (zh) 字符串检测装置和方法、字符评价装置和方法
CN103699569B (zh) 一种索引结构和索引方法
CN115634848A (zh) 一种芯片分选路径的优化方法及优选***
CN111753084B (zh) 一种短文本特征提取与分类方法

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