Regex 解读手册中的一段

Regex 解读手册中的一段,regex,bioinformatics,fasta,Regex,Bioinformatics,Fasta,我试图让一些生物信息学软件运行(TE显示器),但它根本不起作用。我认为问题可能在于软件如何识别FASTA头。从文件中可以看出这一点 标题行中的序列标识符采用“\w(1,10)\d(2,9)”模式,意思是“单词字符(1-10)后跟数字(2-9)”,因此尽量避免标题行中出现非标识符短语(例如“Build04”)。例如,标题行“>OrganiMX AC000282,build0.4”可以,但不是“>OrganiMX Contig WX000282,Build04”。因此,“>Oryza sativa

我试图让一些生物信息学软件运行(TE显示器),但它根本不起作用。我认为问题可能在于软件如何识别FASTA头。从文件中可以看出这一点

标题行中的序列标识符采用“\w(1,10)\d(2,9)”模式,意思是“单词字符(1-10)后跟数字(2-9)”,因此尽量避免标题行中出现非标识符短语(例如“Build04”)。例如,标题行“>OrganiMX AC000282,build0.4”可以,但不是“>OrganiMX Contig WX000282,Build04”。因此,“>Oryza sativa Chromosome11”也可以,因为“Chromosome11”将被识别为标识符

有人能解释一下“\w(1,10)\d(2,9)”的确切用法吗?我把它理解为总共12个字符的单词,但它必须以两位数字结尾。所以我不明白Build0.4是怎么好的,而Build04是怎么不好的


干杯

序列标识符本身应该与模式匹配,因此在OrganiMX加入AC000282,build0.4“中,必须由正则表达式匹配的是
AC000282
,而不是
build0.4

\w(1,10)\d(2,9)
表示从一个单词字符到十个单词字符的匹配,即
a-z a-z 0-9中的任意一个,后跟两到九个数字

由于
Build04
将由该模式匹配,并且它不是序列标识符,因此建议避免使用该模式。
build0.4
将与该模式不匹配,因为它包含一个
,所以它很好。

来扩展MikeM所说的内容- 您正试图让脚本识别
AC000282
。 上面的正则表达式将标识该字符序列。 序列标识符
\w(1,10)\d(2,9)
表示“查找1到10个单词字符,后跟2到9个数字字符。 然后,正则表达式将识别
Build04
,因为有5个单词字符(BUILD)后跟2个数字字符(04),但它不会识别
Build0.4
,因为
Build0.4
中的
将告诉正则表达式不使用它