- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 NextFlow 上执行分散-聚集操作。
它看起来像下面这样:
reads = PATH+"test_1.fq"
outdir = "results"
split_read_ch = channel.fromFilePairs(reads, checkIfExists: true, flat:true ).splitFastq( by: 10, file:"test_split" )
process Scatter_fastP {
tag 'Scatter_fastP'
publishDir outdir
input:
tuple val(name), path(reads) from split_read_ch
output:
file "${reads}.trimmed.fastq" into gather_fatsp_ch
script:
"""
fastp -i ${reads} -o ${reads}.trimmed.fastq
"""
}
gather_fatsp_ch.collectFile().view().println{ it.text }
我使用 Nextflow (
https://www.nextflow.io/docs/latest/tracing.html ) 提出的所有基准测试选项运行此代码:
nextflow run main.nf -with-report nextflow_report -with-trace nextflow_trace -with-timeline nextflow_timeline -with-dag nextflow_dag.html
在这些跟踪文件中,我可以找到 10 个 Scatter_fastP 进程的资源和速度。
split_read_ch
的创建资源和速度和
gather_fastp_ch
channel 。
最佳答案
尽管 Nextflow 可以解析 FASTQ 文件并将它们拆分为较小的文件等,但通常最好将这些操作传递给另一个进程或一组进程,尤其是当您输入的 FASTQ 文件很大时。这在两个方面是有益的:(1) 您的主要 nextflow 流程不需要那么努力,以及 (2) 您可以在 nextflow 报告中获得精细的任务流程统计信息。
以下示例使用 GNU split 拆分输入 FASTQ 文件,并使用 groupTuple() 收集输出运算符和 groupKey()
内置以尽快流式传输收集的值。你需要适应你的非 gzip 输入:
nextflow.enable.dsl=2
params.num_lines = 40000
params.suffix_length = 5
process split_fastq {
input:
tuple val(name), path(fastq)
output:
tuple val(name), path("${name}-${/[0-9]/*params.suffix_length}.fastq.gz")
shell:
'''
zcat "!{fastq}" | split \\
-a "!{params.suffix_length}" \\
-d \\
-l "!{params.num_lines}" \\
--filter='gzip > ${FILE}.fastq.gz' \\
- \\
"!{name}-"
'''
}
process fastp {
input:
tuple val(name), path(fastq)
output:
tuple val(name), path("${fastq.getBaseName(2)}.trimmed.fastq.gz")
"""
fastp -i "${fastq}" -o "${fastq.getBaseName(2)}.trimmed.fastq.gz"
"""
}
workflow {
Channel.fromFilePairs( './data/*.fastq.gz', size: 1 ) \
| split_fastq \
| map { name, fastq -> tuple( groupKey(name, fastq.size()), fastq ) } \
| transpose() \
| fastp \
| groupTuple() \
| map { key, fastqs -> tuple( key.toString(), fastqs ) } \
| view()
}
关于benchmarking - 基准 channel 创建 NextFlow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66119225/
当我运行 nextflow 时,我得到一个 .nextflow 文件夹,但我找不到更改其位置的方法(即它不是 -work-dir).如何更改 .nextflow 文件夹的位置? 我看过 launchD
鉴于以下 nextflow.config : google { project = "cool-project" region = "europe-west4" l
我有一个输出多个文件的 nextflow 进程,如下所示: [chr1,/path/to/chr1_chunk1.TC.linear] [chr1,/path/to/chr1_chunk1.HDL.l
此处是 NextFlow 的新手,并且在一些基本概念上苦苦挣扎。我正在从 a previous publication 转换一组 bash 脚本进入 NextFlow 工作流程。 我正在转换 a si
如何将YAML格式的输入文件从一个参数传递到一个通道样本作为列表?如果有任何NextFlow功能或简单的解决方案来使通道样本工作,我将不胜感激!。--INPUT_LIST S3://my-Bucket
我有很多样本经历了一个有时会失败的过程(确定性地)。在这种情况下,我希望失败的进程停止,但所有其他样本仍然独立提交和处理。 如果我理解正确,设置 errorStrategy 'ignore' 将在失败
我正在重新设计一个工作流,基本上它从一个产生多个其他进程的进程开始。最初我在开始我的工作流程之前有变量,所以我制作了这些变量的元组,然后将它作为输入传递给流程。该进程获取每个值,并为元组中的每个值生成
我有一个 nextflow 脚本,它在单个 vcf 文件上运行几个进程。文件名为“bos_taurus.vcf”,位于目录/input_files/bos_taurus.vcf 中。目录 input_
我正在尝试在 Nextflow 管道中运行 Rscript。这个 Rscript 有一个包“ggolot2”。 我有这个错误: Error in library(ggplot2): there is
我有一个 Nextflow 进程,它使用 bash 脚本 ( check_bam.sh ) 生成文本文件。该文本文件内容的唯一选项是 0 或任何其他数字。我想提取该 0 或其他值并将其保存到 Next
我们正在尝试在默认的 k8s 命名空间上使用 nextflow,我们使用的命名空间是 nextflownamespace .我们已经创建了 PVC 并确保默认服务帐户具有管理员角色绑定(bind)。我
我有以下 nextflow 脚本: echo true
我正在 NextFlow 上执行分散-聚集操作。 它看起来像下面这样: reads = PATH+"test_1.fq" outdir = "results" split_read_ch = chan
当我使用 nextflow 提交作业时,其中一个进程失败,文件已损坏。显然我可以从工作列表中删除该文件,但我不希望将来在我扩大它时发生这种情况。默认情况下,这会停止所有其他进程 (9) 的运行,并且
如何在 nextflow 中执行 try catch? 我目前正在编写一个管道,我正在执行的 bash 命令可能会在某些条件下以退出代码 1 退出。这使我的管道陷入停顿。我现在想使用 try catc
我正在尝试运行此 pipeline ,它使用 Nextflow 实现并使用 Docker 容器。不幸的是,我不能使用 Docker,因为它不兼容 HPC(没有 sudo),所以我使用 Singular
我想要一个管道,它可以从一个名为“Input”的文件夹中接受这样的输入。文件的格式类似于“gene_KOs1.tsv gene_KOs2.tsv Mutations1.tsv Mutations2.t
我正在尝试制作一个使用 python 脚本的 Nextflow 脚本。我的 python 脚本导入了许多模块,但在 Nextflow python3 中找不到 7 个模块中的两个(cv2 和 matp
Nextflow 允许高效地制作复杂的管道。有些人只能通过视觉来理解事物,因此制作良好的图形表示很重要。在 nextflow 中这样做的方法是通过 -with-dag 命令: nextflow run
我正在尝试使用 nextflow 和 docker 运行 python 脚本。我正在使用 dockerfile(如下所示)来创建 docker 镜像。 Nextflow 脚本有一个简单的 python
我是一名优秀的程序员,十分优秀!