问题标签 [fastq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
168 浏览

awk - 意外的 awk 解析

我有一个 fastq 文件,它的格式如下:

我需要删除@xxxx 单词后的空格,使其看起来像

我是 awk 的新手,但到目前为止我有

结果是

该行的最后一部分被弄乱了,可能是因为文本中的“/1”。我怎样才能解决这个问题?

0 投票
2 回答
155 浏览

perl - 根据配对长度处理 FASTQ 文件

以下文件是双端 fastq 文件的两个伙伴,我想根据它们的长度分隔每个 fastq。

mate1.fq

mate2.fq

我编写了以下代码来执行此操作,但仅对第二个文件mate2.fq

错误

Can't use string ("151") as a symbol ref while "strict refs" in use at

如何处理这些文件?

0 投票
1 回答
72 浏览

python - 读取 fastq 文件时出现 unicode 错误 - python 3.4.2

我正在尝试读取 fastq 文件,但我不断收到以下错误:

(unicode 错误)“unicodeescape”编解码器无法解码位置 18 -19 中的字节:截断 \UXXXXXXXX 转义

我使用了以下代码:

我能否就如何解决此问题获得一些建议?

谢谢

0 投票
3 回答
91 浏览

bash - Remove Rarely Occurring Lines From Sequencing Fastq File

I have a text file that contains experimental data in 4-line long groups. I would like to remove those datapoints that are rare. So below is the first 8 lines file format, and this repeats for thousands of lines (the line numbers don't exist in the file):

So, lines 1-4 contains the information for sequence 1, lines 5-8 contains the information for sequence 2, and 9-12 for sequence 3... and so on. It is common in certain situations to remove any group of four lines that contain a sequence that is entirely unique or found fewer than 3 times.

What I would like to do is compare line 2 with lines 6, 10, 14, 18... and if it is found greater than 3 times, do nothing. If it is found 3 times or fewer, remove lines 1-4 and each group of 4 lines that contain the matching sequence. Then run the same comparison for every other line in the file.

So, if the in the above file, Sequence 1 and Sequence 3 match, and because that sequence has only been repeated < 3 times, delete each group of four lines, and the resulting file should look like this:

Here is what I have started with:

This does not delete all of the lines which are found fewer than three times though. I would appreciate any help. Thanks.

Here is a real testable example as requested: Input:

Because AAGC occurs >= 3 times but AACT occurs <3 times the output should be:

Hopefully that helps to clarify.

0 投票
3 回答
589 浏览

linux - 使用 awk 查找可变长度的正则表达式并根据找到的长度编辑以下行

我正在尝试用 awk 编辑一个 fastq 文件。

我想要实现的是:

  • 查找以下正则表达式: /AGATCGGAAG[ATGC]{0,24}$/ - 如果可能,仅在实际可能找到的行中(例如第 2、6、10 行,x+2%4=0 基本上)
  • 如果找到,删除匹配项
  • 然后在当前行之后的2行末尾删除相同数量的字符

到目前为止,根据正则表达式编辑一行对我来说没有问题,我使用:

但我不知道如何在 2 行后删除相同数量的字符。我非常缺乏经验,才开始学习 awk,所以欢迎任何帮助。

问候

编辑:这是一个包含上述模式的示例

这应该是输出:

该文件包含 4000 万个这样的条目,其中约 250k 包含模式

0 投票
2 回答
152 浏览

python - 使用 python 比较输入 fastq 文件中字符串的差异

我想编辑一个排序的 Fastq 文件,并删除仅在某些字符位置重复的行。理想情况下,我会遍历输入文件中的每一行并输出一个文件,该文件只有一个任何唯一字符集的实例。

所以如下图。我只对查看每行的前 6 个字符、后 6 个字符和中间字符的一部分感兴趣,并且只保留三个序列的每个唯一组合的一个实例。

如上例所示,如果我们取一个仅包含 4 行的文件,并且我正在查看字符 1-6、19-28、37-42,则第 2 行和第 3 行将被删除,或者不会输出到输出文件因为它们在每个所需位置都有相同的字符,但由于第 4 行不同,因此不会被删除。

我从下面的代码开始,我的想法是将每个位置设置为一个变量(但我不知道必须得到中间序列),然后在我们遍历输入文件时与每一行进行比较。

如果有帮助,这些文件也是 5-10GB,所以不是很小。我将不胜感激任何帮助。谢谢。

0 投票
3 回答
252 浏览

bash - Bash:将 4 列文本交错行(制表符分隔的列转换为 FASTQ 文件)

我需要将一个 4 列文件转换为每个条目 4 行。该文件是制表符分隔的。

当前文件按以下格式排列,每一行代表一个记录/序列(数百万行):

我需要重新排列,使四列显示为 4 行:

这样做的最佳方法是什么,最好是使用 bash 单线?谢谢您的帮助!

0 投票
1 回答
449 浏览

python - 在整个目录上使用 Biopython SeqIO.convert

我有 51 个包含宏基因组序列数据的文件,我想在 Windows 中使用 Biopython 脚本将它们从 fastq 转换为 fasta。模块 SeqIO.convert 可以轻松转换单独指定的文件,但我不知道如何转换整个目录。单独做的文件并不是太多,但我正在努力学习。

我是Biopython的新手,所以请原谅我的无知。这个 convo很有帮助,但我仍然无法将目录从 fastq 转换为 fasta。

这是我一直在尝试运行的代码:

0 投票
1 回答
266 浏览

linux - 将适配器序列添加到 fastq 文件的末尾

我有一个大的 fastq 文件,我想将序列“TTAAGG”添加到我文件中每个序列的末尾(第 2 行,然后每 4 行之后),同时仍保持 fastq 文件格式。例如:这是我开始的第一行:

我希望它打印出来:

我想 sed 或 awk 会对此有好处,但我一直无法找到允许我保持 fastq 格式的解决方案。

我试过了:

它将 TTAAGG 添加到第二行,然后每隔四行添加一次,但它也删除了其他三行。

有没有人有我可以使用的命令行的建议,或者如果你知道当前可用的包可以做到这一点,请告诉我!

0 投票
1 回答
423 浏览

bioinformatics - 对 fastq 文件进行排序并保持序列长度为 15-17 bp

我有几个非常大的 fastq 文件,我正在使用 cutadapt 来修剪转座子末端序列,这应该会导致剩余 15-17 个碱基对的基因组 DNA。使用 cutadapt 后,fastq 文件的很大一部分是 15-17 个碱基对,但有些序列要长一些(表明它们没有转座子末端序列,它们是我实验的垃圾读取)。

我的问题:我可以在 Linux 中使用命令或脚本来对这些 fastq 文件进行排序并输出一个新的 fastq,其中仅包含 15-17 个碱基对长的读取,同时仍保留通常的 fastq 格式?

作为参考,fastq 格式如下所示:

我在这里发现了一个类似的问题,但似乎从未找到正确的解决方案。有没有人有任何解决方案?