0

我正在处理 DNA 序列文件(FASTQ 文件)。

@Read1- 好

NAAAGTGAGATTCGAAATAAATACATCTGTGGCTTCACTTTGAACGGAACGATGTTCTCGTAT

+

1D=DDADEHHHHHIGIJJJJGGFGHIHIJJIJJJJJIIIIGG99BDGHHHEGHJJIHHJJGIH

@Read2- 有 2 个不好的地方

NTTCGTAAAGCAGTGAACGAAATACATCTGTGGCTTCACTATGTTCTCGTATGCCGGAACGTC

+

2#1=DFFFFHHHGHGHIJHJIJJJJJJJJJJJJJJJJJGIIHJJJJIIIGGHIIJJIHIIIIJG

@Read3 :一个好,一个早

NCAGGATCTGCATCGTGAACGATACATCTGTGGCTTCACTAGAACGTGTTCTCGTATGCCGTC

+

B#1:BDDDDFFHDH@AHIGCHIIIIIIIIIIIIIIIIIIIIGIIFHBGGGFGIIIIGGHIIIIG

@Read4 :一个好,一个后

NGCCCTTGACCGCAGGTTAGTGCTAAATACATCTGTGTACTGAACGTCACTATGTTCTCGTAT

+

E#1:A?==@@B>AC<7,2A@ABBBBCBCBCCBCCBBBBBBBB<<?AA?AA)8>ABBAAABABBA

我想在一个序列中查找一个 6 个字符长的模式 (GAACG)(以 @ 开头的行下面的行)。

重要的是我希望在字符串中的第 42 位找到我的模式。

如果在该位置找到模式,我将序列连同它之前的行和它之后的 2 行一起复制到一个新文件中。使用 awk 尝试此操作时,它不起作用,因为所有的 index()、match() 函数只查看第一次出现并且不进一步查看,所以如果它在位置 41 之前找到我的模式,那么它不会将我的数据复制到新文件。

基本上我的脚本应该返回读取 1、3 和 4...

如何筛选我的 FASTQ 文件中的模式,评估找到它的所有位置,并仅考虑在位置 42 具有它的序列,无论该模式是否也存在于其他位置?

4

1 回答 1

0

听起来像一个正则表达式问题。

许多语言和脚本语言都支持正则表达式,但这似乎是 javascript 中的一个很好的例子:

如何在 javascript 中的另一个字符串中查找所有出现的字符串

于 2012-04-17T20:26:43.600 回答