该项目已存档,不再维护。
火箭
概述 | |
描述 | 火箭是一组Perl脚本和模块,用于确认在我们的核心实验室中测序的克隆与供应商提供的注释相匹配。 |
发展信息 | |
语 | Perl. |
平台 | Linux. |
地位 | 不活跃 |
最近更新时间 | 2001-09-18 |
火箭是一组Perl脚本和模块,用于确认在我们的核心实验室中测序的克隆与供应商提供的注释相匹配。(更准确地说,火箭提供了使用Perl / TK的图形界面到命令行Perl脚本。)火箭将在您使用之前需要一些自定义。它假设存在包含供应商克隆注释的本地数据库;您必须单独创建此类数据库,并确保数据库中的字段的名称匹配火箭使用的字段。
Rocket本身是围绕Blaster的Perl / Tk包装器,一个名为Blaster的Perl脚本。它实际上实现了这里描述的算法作为命令行程序。依次依赖于Perl模块NCBI.pm中依赖于包装的一组函数。
火箭可供下载这里
火箭假设存在包含供应商克隆注释的本地数据库;您必须单独创建此类数据库,并确保数据库中的字段的名称匹配火箭使用的字段。
火箭队将需要一些自定义,然后才能使用它。
自定义的主要需求来自内置于NCBI.PM Perl模块中的假设。此模块假定它与包含名为Clone_Data的表的数据库具有ODBC连接,其中包含多个必填字段。此表应持有供应商提供的克隆注释。您可以通过搜索文本字符串“dbi:odbc”的ncbi.pm来找到字段列表,然后编辑它以匹配您在本地生成的数据库。
已经提供了一个示例输入文件(调用所有内容,“sampleInput.txt”)以及采样输出(您可能猜测使用我们的数据库生产的名称,该数据库由研究遗传学提供的克隆信息制成。188bet体育网址
Rocket的输入是包含快速格式的核苷酸序列的文件,其中每个描述行必须通过包括板,行,列的值来识别该位置。我们使用该位置来查找供应商提供的信息的推定的GenBank登录号。
内置于程序中的默认假设是供应商提供的信息可能是正确的。因此,该算法结构旨在尝试快速验证正确性,仅在初始测试失败时才能恢复更复杂的搜索。
第一个测试是使用BLOSUM62和NCBI网站上的默认参数设置执行BLAST2搜索在我们的实验室中确定的序列。这种参数选择不需要精确匹配;因此,它将忽略测序中的微小误差。如果BLAST2搜索成功匹配,则结果将写入日志文件,程序移动待考虑另一个克隆。
如果BLAST2搜索无法找到匹配,则ROCKET使用在我们的实验室中确定的序列来对非冗余人类数据库进行全面爆炸搜索,以找到十个最佳匹配。这种方法的潜在困难是研究遗传学提供的加入号可能不会出现在十大比赛中。188bet体育网址因此,我们查找当前的Unigene集群编号,用于推定的登录号和每个前十个匹配对序列。如果任何Unigene集群都同意,那么结果将记录为序列和推定的登录号之间的匹配。
如果常规BLAST / UNIGENE程序无法匹配推定的登录号,则会记录错误并尝试确定正确的值。该计划中的第二个假设是,最可能的错误来源是供应商提供的其他克隆的污染。因此,我们尝试将最佳匹配的UNIGENE集群与供应商提供的信息中的其他Unigene集群匹配。如果我们以这种方式找到匹配项,那么我们尝试使用另一个BLAST2对我们的序列进行匹配的登录号来确认结果。如果这成功,那么它被记录为与污染克隆的匹配项。
最后,如果所有尝试识别供应商的数据内的序列失败,那么我们会记录错误并使用完全爆炸搜索的最佳匹配的登录号来注释克隆。
用法:perl blaster.pl fasta文件报告文件
输入是包含快速格式的核苷酸序列的文件,其中每个描述行通过包括板,行,列的值来识别该位置。有效的Fasta输入为此程序看起来像
>板2 C 10 ACTGTTGCTAGT ....
要启动算法,我们查找从由研究遗传学提供的文件编制的ODBC数据库中获取推定的登录号。188bet体育网址
接下来,如果它匹配,使用该顺序匹配,请执行对解密的序列搜索。如果它无法匹配,那么(1)使用序列进行基本的BLAST搜索。(2)从NCBI获取响应文件中的报告ID。(3)循环延迟,以继续发送报告ID,直到获取报告。(4)记录最佳匹配项。(5)对于每次匹配,减少分数顺序(a)如果匹配,则在匹配的登录号(b)上,请在匹配的附加号码上查找UNIGENE号码,如果它匹配,请将LOG数据库中的UNIGENE编号查找。
报告文件包含输入文件中包含的每个FastA Sequce的报告。报告由一行的破折号分隔,如下所示:
Fasta序列(包括位置)被复制到报告文件,以及已从本地数据库读取的GenBank登录号。如果爆炸2搜索比赛,则报告说。如果没有,它会告诉你存在不匹配。然后,它在序列上执行一般的BLAST搜索,并报告包含在报告中的前十个匹配的登录号。它查找每个登录号的Unigene集群,并报告它。接下来,它在本地数据库中提升Unigene号码,并报告匹配(和停止)或不匹配。
此方法中的主要故障源可能是本地数据库中的过时的Unigene Numbes。可以使用称为,令人惊讶的,updateUnigene.pl的伴侣程序更新。
NCBI包是一组工具,可以自动化与国家生物信息学中心的各种数据库连接的过程,并从他们发送回复的HTML文件中提取相关结果。
此软件包还假定有一个名为CLONE的本地ODBC数据库,其中包含名为CLONE_DATA的表,该表由研究遗传学提供的标准文件构建。188bet体育网址可能需要自定义与此本地数据库相关的常量以匹配实际安装。
$ object = new ncbi($ logfilename);$ object = new ncbi($ logfilename,$代理);
NCBI对象的构造函数需要标准Perl格式中的文件名。构造函数使用此名称打开日志文件,可以报告其结果。此文件的缓冲设置为尽快刷新数据。当NCBI对象超出范围时,该文件也会自动关闭。
构造函数还采用可选参数,包含类LWP :: UserAgent的对象。如果省略此参数,则构造函数使用默认构造函数构建UserAgent。
$代理= $ ncbi->代理();$ OldAgent = $ ncbi->代理($ newagent);
NCBI对象内的基本数据元素是userAgent。您可以使用代理方法读取当前值。通过向此方法提供参数,您可以用新的替换当前userAgent;在这种情况下,该方法返回旧用户。
$ debug = $ ncbi-> debuglevel();$ olddebug = $ ncbi-> debuglevel($ newdebug);
每个NCBI对象还包含数据元素,以指示它是否应该将调试信息写入日志文件。在施工时,调试级别设置为零,表示没有调试。您可以使用方法DebugLevel读取当前值。通过为此方法提供Artgument,您可以设置新的调试级别;在这种情况下,返回旧级别。
调试级别是位掩码,具有以下含义的位:
1 =调试Unigene搜索2 =调试BLAST 2搜索4 =调试常规BLAST搜索8 = BROST搜索的调试第二步16 =调试响应BLAST搜索的第二步32 =调试所有HTPP请求128 =调试搜索退休的UNIGENE群集号码256 =解析退休Unigene搜索的调试例程
$ ncbi-> writelog($消息);
NCBI对象使用WriteLog方法记录其所有结果和任何可选的调试信息。包的用户可以使用相同的方法将有自己的信息添加到此文件中。
@location = $ ncbi-> parsedefinitionline($ fasta)
该参数是快速格式的核苷酸序列,其中定义行包括(1)显式词“板”(2)由空格分隔的板号,行和列。板和柱是整数;行是小写字母。解析定义行,三个组件作为数组的元素返回。如果违反FASTA格式,则返回undef,如果我们收到太少的物品,则为空列表。
$ Accession = $ NCBI-> GetAccession($挂盘,$行,$栏)
参数是指定元素(板,行,列)。这些用于查找由研究遗传学提供的文件构建的数据库中的GenBank登录号。188bet体育网址如果数据库查找失败的任何部分,返回值为零。
$ HIT = $ NCBI-> CompareUnigene($ Unigene,$ Blate,$行,$栏)
第一个参数是一个Unigene集群ID。其他参数是指定元素(板,行,列)。返回值是一个字符串,如果Unigene群集没有在该板上生活,则为空,否则包含匹配的位置和登录号。
$ hashref = $ ncbi-> localuneunigene();
localUnigene方法读取本地数据库,并构建一个哈希,其键是本地数据库中的(毫无意义)的主键,其值为Triples [Mialkey,UnigeneCluster,GenBank]。返回值是对此哈希的引用。
($ howMany,@matches)= $ ncbi-> dounigene($登录)
该论点是GenBank登录号。返回值是一个数字,最多十匹匹配的列表到Unigene中的人类参赛作品。
($活跃,$响应)= $ NCBI-> CheckUnigene($ Unigene)
该论点是一个Unigene集群编号。当这是一个有效的,活动的UniGene ID时,第一个返回值为TRUE,否则是假的。第二个返回值是NIH的HTML响应文件的内容,如果您已拥有GenBank登录号,则可以用于查找新的群集号码。您可以将未能区分从退休群集中的NCBI(带undef \ $响应)的响应。
$ match = $ ncbi-> parsecluster($ genbank,$ content);
第一个参数是GenBank登录号。第二个参数是从对CheckUnigene方法的调用接收的HTML响应的内容。PARSECLUSTER方法在HTML表内缩写,以找到数据库搜索的实际结果。它将结果与登录号进行比较,并返回布尔值。如果初始搜索中使用的Unigene号码匹配提供的访问Nmber,则返回值为真。如果登录号不再匹配,则返回值为false。如果内容参数结构不当,则返回值未定义。
($结果码,@Response)= $ ncbi-> doblast2($ genbank,$ fasta)
参数是GenBank登录号,表示为String以Fasta格式的核苷酸序列,表示为字符串
此方法将HTTP请求提交给NCBI,以将BLASS2搜索进行比较将序列进行比较到登录号。请求中使用的参数是默认值,如读取网页\ $ ncbi / gorf / bl2.html的源
返回值是一个整数结果代码,在错误的情况下为0,在匹配中的匹配中的阳性时,在不匹配的情况下,在后两种情况下,在后两种情况下是响应文件。
($结果,@details)= $ ncbi-> doblast($ fasta)
该参数是一个字符串,表示Fasta格式的核苷酸序列,返回值由一个结果代码组成,该结果代码仅在失败的成功情况下才有非零,@details包含成功的解释,@details是一个匹配的匹配匹配的解释数字
此子程序对序列的最佳10匹配进行了爆炸搜索。这是复杂的,因为初始请求在NCBI排队。您必须解析响应以查找获得结果所需的ID,以及循环(具有延迟)发送呼叫以在最终可用时检索它。
$ RID = $ SELF - > _ INELBLAST($ ua,$ fasta)
参数从doblast传递。此子程序将初始请求提交给NCBI,并解析响应以获取恢复结果所需的ID。如果发生某些错误,则返回值是ID,或0。请求中使用的参数具有通过读取网页\ $ ncbi / blast / blast.cgi的源来确定的名称,该名称是x jform = 0
($结果码,@Response)= $ self - > _ getBlastresult($ ua,$ sid)
参数是LWP类的对象:UserAgent来自NCBI Blast搜索的结果ID返回值是仅在成功标识的响应中包含HTML响应行的数组时的非零的结果代码。
@matches = $ self - > _ ParseBlastresult(\ @ content)
该参数是对数组的参考,每个数组中的每个条目是从Blast搜索返回的HTML文件的一行,返回值是匹配的匹配号码,可能为空。
$请求= $ self - > _ prepareErequest($ useragent,$ url,$参数)
参数是LWP类型:: UserAgent类型的一个对象,一个有效的URL对参数值的哈希值的引用返回值是Type HTTP :: Request的对象,它表示具有正确URL编码的参数的POST请求。
$ Coded = _URLENCODE($ Stuff)
该论点是一串ASCII字符。返回值是表示相同字符的单行,正确的URL编码。
$ Encoded = _CharCode(n)
该参数是一个整数,它是字符的ASCII代码。输出是表示该字符的URL编码形式的字符串。我们实际上编码了比绝对必要的更多字符,但是谁将关心?