gpt4 book ai didi

python - 如何编写 for 循环,以便程序针对一组 94 个 DNA 样本重复自身?

转载 作者:行者123 更新时间:2023-12-01 00:40:20 24 4
gpt4 key购买 nike

我在 bash shell 中编写了一些代码(这样我就可以将其提交给我大学的 super 计算机),以从我拥有的一批 DNA 提取物中编辑出污染物序列。本质上,这段代码的作用是从我所做的阴性提取空白 (A1-BLANK) 中获取序列,并从所有其他样本中减去它。

我已经弄清楚如何让它与各个样本一起工作,但我正在尝试编写一个 for 循环,以便小块代码将为每个样本重复自身,该文件的结果是 .sam 文件,每个样本都有一个唯一的名称,其中样本的正向和反向读取都被合并并编辑以防止污染。我已经广泛检查了堆栈溢出以寻求解决此特定问题的帮助,但还没有能够将相关的已回答问题应用到我的代码中。

以下是我尝试对名为 F10-61C-3-V4_S78_L001_R1_001.fastq 的单个示例执行的部分示例:

bowtie2 -q --end-to-end --very-sensitive \ ##bowtie2 is a program that examines sequence similarity compared to a standard
-N 0 -L 31 --time --reorder \
-x A1-BlankIndex \ ##This line compares the sample to the negative extraction blank
-1 /file directory/F10-61C-3-V4_S78_L001_R1_001.fastq
-2 /file directory/F10-61C-3-V4_S78_L001_R2_001.fastq \ ##These two lines above merge the forward and reverse reads of the DNA sequences within the individual files into one file
-S 61C-3.sam ##This line renames the merged and edited file and transforms it into a .sam file

这是迄今为止我在该过程的这一小步骤中得到的信息:


for file in /file directory/*.fastq

do

bowtie2 -q --end-to-end --very-sensitive \
-N 0 -L 31 --time --reorder \
-x A1-BlankIndex \
-1 /file directory/*.fastq
-2 /file directory/*.fastq \
-S *.sam

done

在生成的 slurm 文件中,我现在遇到的错误与 -S 命令有关。我不确定如何为每个合并和编辑的示例指定唯一的 .sam 文件名称。我是在 python 中编写 for 循环的新手(我唯一的经验是在 R 中),我确信这是一个简单的修复,但我一直无法找到这个问题的任何具体答案.

最佳答案

这是第一次尝试。请注意,我假设 dodone 之间的整个片段是一个命令,因此需要延续标记 (\)。

另请注意,在我的示例中 "$file" 出现了两次。我对此感到有点不安,但您似乎在描述的示例中明确需要这一点。

最后请注意,我只是为 sam 文件指定了一个数字名称,因为我真的不知道您希望该名称是什么。

我希望这提供了足够的信息来帮助您入门。

#!/bin/bash
i=0
for file in /file/directory/*.fastq
do
bowtie2 -q --end-to-end --very-sensitive \
-N 0 -L 31 --time --reorder \
-x A1-BlankIndex \
-1 "$file" \
-2 "$file" \
-S "$i".sam
i=$((i+1))
done

关于python - 如何编写 for 循环,以便程序针对一组 94 个 DNA 样本重复自身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57400609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com