- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用这个脚本来连接我从样本中读取的内容。每个子目录都有特定的 R1.fastq.gz 文件和 R2.fastq.gz,我想将它们合并到一个 R1.fastq.gz 和 R2.fastq .gz 文件。
sourcedir=/sourcepath/
destdir=/destinationpath/
for f in $sourcedir/*
do
fbase=$(basename "$f")
echo "Inside $fbase"
zcat $f/*R1*.fastq.gz | gzip >$destdir/"$fbase"_R1.fastq.gz
zcat $f/*R2*.fastq.gz | gzip >$destdir/"$fbase"_R2.fastq.gz
done
我想通过比较来自单个 fastq.gz 文件的总行数和合并文件中的总行数来验证来自 R1、R2 的读取是否分别连接在一起。
wc -l *R1*.fastq.gz (Individual files)
12832112 total
wc -l Sample_51770BL1_R1.fastq.gz (merged file)
Total:10397604
在这两种情况下数量不应该相等,或者是否有任何其他方法来验证合并的文件是否正确完成?
还有,有什么方法可以加快这个过程吗?我尝试使用 & 从这个链接 How do I use parallel programming/multi threading in my bash script?但它根本没有运行。
zcat $f/*R1*.fastq.gz | gzip >$destdir/"$fbase"_R1.fastq.gz &
zcat $f/*R2*.fastq.gz | gzip >$destdir/"$fbase"_R2.fastq.gz &
最佳答案
您正在 .gz
文件上运行 wc -l
,这不是您想要的。要验证,您可以改用这样的东西:
zcat *R1*.fastq.gz | wc -l
zcat Sample_51770BL1_R1.fastq.gz | wc -l
尽管您可能希望使用适当的校验和算法,例如与 sha256sum工具,为此。
至于并行化,您可以并行化解压缩,但不能并行化压缩,因为您是将内容一个接一个地写入一个流(文件)中。例如像这样:
sourcedir=/sourcepath/
destdir=/destinationpath/
for f in $sourcedir/*; do
fbase=${f##*/}
echo "Inside $fbase"
for R in 1 2; do
for xf in $f/*R$R*.fastq.gz; do
gzip -dc <$xf >${xf%.gz} &
done
wait
cat $f/*R$R*.fastq | gzip -n9 >$destdir/"$fbase"_R$R.fastq.gz
rm -f $f/*R$R*.fastq
done
done
这种方法的问题是您需要将中间解压缩结果写入磁盘(或其他临时存储),这通常比不并行解压缩(很多)慢。此外,您不能以这种方式在 R1 和 R2 之间并行化。
另一种选择是,仅在 R
和 f
之间并行化(从胃的感觉来看,这应该可以在不向后弯腰的情况下实现最佳结果很多):
sourcedir=/sourcepath/
destdir=/destinationpath/
for f in $sourcedir/*; do
fbase=${f##*/}
echo "Inside $fbase"
for R in 1 2; do
zcat $f/*R$R*.fastq.gz | gzip -n9 >$destdir/"$fbase"_R$R.fastq.gz &
done
done
wait
希望这对您有所帮助!
关于bash - 在 Unix 中合并 fastq.gz 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751925/
我正在尝试编写一段代码,该代码将打开一个fasta文件,并从另一个fastq文件中提取读取名称(标题)、序列(seq)和质量分数(qual),前提是在fasta文件中找到它,并将该 fastq 信息写
我有一个像这样的 fastq 文件(文件的一部分): @A80HNBABXX:4:1:1344:2224#0/1 AAAACATCAGTATCCATCAGGATCAGTTTGGAAAGGGAGAGGC
我有 2 个 fastq 文件 F1.fastq 和 F2.fastq。 F2.fastq 是一个较小的文件,是 F1.fastq 读取的子集。我想要读取 F1.fastq 中的内容,而不是 F2.f
我将为文件夹中的多个 fastq 文件运行以下代码。在一个文件夹中我有不同的 fastq 文件;首先,我必须读取一个文件并执行所需的操作,然后将结果存储在一个单独的文件中。 fastq,然后读取第二个
我有一个很大的 fastq 文件,我想将序列“TTAAGG”添加到文件中每个序列的末尾(第 2 行,然后每第 4 行),同时仍然保持 fastq 文件格式。例如:这是我开始的第一行: @HWI-D00
我正在 Linux 集群上使用 bash。如果它们包含与查询序列的匹配项,我正在尝试从 .fastq 文件中提取读数。下面是一个包含三个读数的示例 .fastq 文件。 $ cat example.f
我有一个文件,例如 head testSed.fastq @M01551:51:000000000-BCB7H:1:1101:15800:1330 1:N:0:NGTCACTN+TATCCTCTCTT
我正在尝试让正则表达式与 rename 一起工作;我在这里尝试了类似回答问题的方法,但无法获得我想要的结果。 文件是这样命名的: SR1_S90_L001_R1_001.fastq.gz SR1_S9
这是 Generator not working to split string by particular identifier . Python 2 的延续。但是,我完全修改了代码,它的格式根本不
我正在尝试编辑包含基因组数据和每个序列两侧的唯一分子标识符的 Fastq 文件。 前两个读取的示例如下所示: 1 @HISEQ:230:C6G45ANXX:3:1101:1395:2141 1:N:0
我有一个文件,如下面的小例子。每 4 行与一个 ID 相关。每个 ID 的第二行都以 N 开头。我想删除这些行开头的 N,其他所有内容都将保持不变。我想在 python 中做到这一点。你知道怎么做吗?
为了便于使用和与另一个下游管道兼容,我尝试使用 biopython 更改 fastq 序列 ID 的名称。例如......从看起来像这样的标题开始: @D00602:32:H3LN7BCXX:1:11
我有几个平均有 500.000.000 行(125.000.000 个序列)的 fastq 文件。有没有一种快速的方法可以更快地读取这些fastq文件。 我想做的是读取每个序列并使用前 16 个序列作
我有一些 fastaq 文件需要分析。主要问题是我目前使用的分析工具只接受 ACTG 作为核苷酸,而不接受 IUPAC 代码中的其余命名法(R、W 等)。 我编写了这段代码来改变特定的核苷酸: awk
我正在使用此脚本来连接从 Samples 中读取的内容。每个子目录都有某些 R1.fastq.gz 文件和 R2.fastq.gz,我想将它们合并为一个 R1.fastq.gz 和 R2.fastq
我正在使用这个脚本来连接我从样本中读取的内容。每个子目录都有特定的 R1.fastq.gz 文件和 R2.fastq.gz,我想将它们合并到一个 R1.fastq.gz 和 R2.fastq .gz
我只想提取覆盖率高于 2 且长度高于 504 的读数。这些都存储在 FASTQ 文件的每个 header 中。然而,我无法设计出一款可以根据这些品质进行过滤的单行代码。查看输入 FASTQ 的两行的示
我有一个数据,它总是以四块的形式出现 采用以下格式(称为 FASTQ): @SRR018006.2016 GA2:6:1:20:650 length=36 NNNNNNNNNNNNNNNNNNNNNN
我正在尝试在 RNA seq (.fastq) 上运行 fastqc,但遇到了尚未解决的问题: Approx 5% complete for SRR5280293.fastq Approx 10% c
我正在尝试使用 scikit-bio 读取 fastq 格式的文本文件. 鉴于它是一个相当大的文件,执行操作非常慢。 最终,我试图将 fastq 文件去复制到字典中: f = 'Undetermine
我是一名优秀的程序员,十分优秀!