首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >perl模块中的Formatdb错误消息

perl模块中的Formatdb错误消息
EN

Stack Overflow用户
提问于 2014-07-09 23:56:39
回答 1查看 696关注 0票数 0

我使用的是Unus,这是一个用于系统基因组分析的Perl包。在此包中,使用了blast-2.2.25,因为该包使用了formatdb程序,如下所示:

代码语言:javascript
复制
if ( ( grep { $self->{'program'} eq $_ } qw(blastn tblastx tblastn) )
    && !( -e $self->{'db'} . ".nin" || -e $self->{'db'} . ".nal" ) )
{
    system( $self->{'formatdb'}, '-i', $self->{'db'}, '-o', 'T', '-p', 'F' ) == 0
      or LOGDIE "Error running formatdb: $!";

}
elsif ( ( grep { $self->{'program'} eq $_ } qw(blastp blastx) )
    && !( -e $self->{'db'} . ".pin" || -e $self->{'db'} . ".pal" ) )
{
    system( $self->{'formatdb'}, '-i', $self->{'db'}, '-o', 'T', '-p', 'T' ) == 0
      or LOGDIE "Error running formatdb: $!";
}

但是,有一条持续不断的错误消息正在阻止Unus。

代码语言:javascript
复制
[formatdb] WARNING: Cannot add sequence number 6 (lcl|XamC:6) because it has zero-length.
[formatdb] WARNING: Cannot add sequence number 1 (lcl|Xam_:1) because it has zero-length.
[formatdb] FATAL ERROR: Fatal error when adding sequence to BLAST database.
[formatdb] WARNING: Cannot add sequence number 41 (lcl|Xamc:41) because it has zero-length.
[formatdb] FATAL ERROR: Fatal error when adding sequence to BLAST database.
[formatdb] WARNING: Cannot add sequence number 7 (lcl|XamF:7) because it has zero-length.
[formatdb] WARNING: Cannot add sequence number 144 (lcl|Xam0:144) because it has zero-length.

我检查了序列,它们没有零长度。Unus与27个黄单胞菌​的基因组一起运行。在使用glimmer3中的提取程序后,还获得了输入序列。输入序列的示例如下:

代码语言:javascript
复制
> orf00002  3568 4905  len=1338
GTGATTGTTTTTAAAGGAAATTTAGGGGCCGAAACCCTGTGTTTACCGCCCTGTTTTCTC
ACAAACAAGCTGTGGATAAGCGAAAGCACCTCCACAGGCCCTATTTTTATCCACATGTTA
TCCCCTGCCTGTCCGGTCATTCCTGGCGGCCATGTCTGCACGGTTTCATGCCGATCCCGT
ATCCTTCGAACCGACCGGCATGCCGGATTACAGCCCAGAGCACACCGATCGATGCATGTA
GTGCGGTTGTCCATTCATCGGCTTCGTCGGTTTCAAACCGTCGAGCTTCATCCCTCCAGT
GCCTTGAATCTGCTGACCGGCGACAACGGCGCGGGCAAGACCAGCGTGCTCGAAGCGCTA
CACCTGATGGCTTACGGCCGCAGCTTCCGCGGGCGCGTCCGCGACGGCCTGATCCAACAA
GGCGCCAACGACCTCGAAGTGTTCGTGGAGTGGAAAGAAGGCGGCGGCGCTGCGGTCGAG
CGGACGCGTCGGGCTGGCTTGCGTCATAGCGGGCAGGAATGGACAGGGCGCCTGGACGGG
GAAGACGTGGCGCAGCTTGGCTCTCTTTGCGCTGCGCTGGCAGTGGTGACGTTCGAGCCC
GGCAGCCACGTATTGATCAGTGGCGGTGGTGAACCCCGCCGCCGTTTTCTGGATTGGGGC
CTGTTCCACGTGGAACCCGATTTTCTAACCTTGTGGCGCCGCTATGCGCGAGCCCTCAAA

>orf00004  5020 7464  len=2445
ATGACCGACGAACAAAACACCCCGCCAACACCCAACGGCACCTACGACTCCAGCAAGATC
ACCGTGCTGCGTGGCCTGGAAGCCGTCCGCAAGCGTCCCGGCATGTATATCGGCGACGTC
CATGACGGCACCGGCCTGCATCACATGGTGTTCGAGGTGGTCGACAACTCGGTCGACGAA
GCCCTTGCCGGGCATGCCGACGACATCGTGGTAAAAATCCTGGCCGATGGCTCGGTGGCG
GTCTCCGACAACGGGCGCGGCGTGCCGGTCGACATCCACAAGGAAGAAGGCGTGTCGGCG
GCCGAGGTGATCCTCACCGTGCTCCACGCCGGCGGCAAGTTCGACGACAACAGCTACAAG
GTCTCCGGCGGCCTGCACGGCGTTGGCGTCTCGGTGGTCAACGCGTTGTCAGAGCACCTG
TGGCTGGATATCTGGCGCGACGGCTTCCACTACCAGCAGGAATACGCGCTGGGCGAGCCG
CAGTACCCGCTCAAGCAGCTGGAAGCCTCGACCAAGCGCGGTACCACGCTGCGCTTCAAG
CCGTCCGTGGCCATCTTCAGCGACGTCGAGTTCCATTACGACATCCTGGCGCGGCGCCTG
CGCGAGCTGTCCTTCCTCAATTCTGGCGTCAAGATCACCTTGATCGACGAGCGCGGCGAA
GGCCGTCGCGACGATTTCCATTACGAAGGCGGCATCCGCAGCTTCGTGGAGCATCTGGCG
CAGCTGAAGTCGCCGCTGCACCCGAATGTGATCTCGGTGACCGGCGAGCACAACGGCATC
ATGGTGGACGTGGCCCTGCAATGGACCGACGCCTACCAGGAAACCATGTACTGCTTCACC

我能做些什么来解决这个问题呢?或者我应该更改部分代码,其中Unus使用的是formatdb?最后,我之前使用了带有4个志贺菌基因组的Unus,它没有这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-07-23 05:27:24

该错误看起来似乎是来自于formatdb本身,而不是Unus,因此修改Unus可能没有帮助。尽管fasta文件在表面上看起来很好,但formatdb说它对此并不满意。

一个可能的问题是在您的第一个示例fasta序列中。">“和"orf00002”之间不应该有空格。这可能是导致错误的潜在原因。

如果不是,请尝试检查fasta文件中的特殊字符,特别是Unix/Windows/Mac行结尾,或者其他一些格式兼容性问题。Notepad++有助于揭示原本不可见的特殊字符。

如果您找不到任何明显的问题,请尝试创建一个只包含一个或两个fasta序列的小型数据库,直到它正常工作,然后再添加其他序列。

关于特殊字符,如果在检查/修改您可以找到的内容后,formatdb仍然报告,请考虑检查字符编码问题。这曾经在我的blastn身上发生过。在我的(复制/粘贴)命令中,我有一个"o“字符,对我来说,它看起来就像一个普通的"o”字符,但是blastn拒绝工作,直到我用键盘生成的"o“替换它。事实证明,复制的字符是用Unicode或ANSI编码的(不要回忆),blastn或bash无法处理它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24658437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档