在pythonjupyter笔记本单元中执行bash for循环

2024-05-23 21:07:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在我的Jupyter笔记本的一个单元格中运行bash for循环。我可以在一行上重新编写命令,并在它前面加上!前缀,它运行良好,但我喜欢可读性格式(教学笔记本)。使用%%bashmagic命令似乎不起作用

%%bash
for sample in $(cat samples)
do
    echo "On sample: $sample" 
    cutadapt \
    -g ^GTGYCAGCMGCCGCGGTAA \
    -G ^CCGYCAATTYMTTTRAGTTT \
    -m 209 -M 255 \
    --too-short-output untrimmed_fastq/${sample}_R1_too-short.fastq.gz \
    --too-long-output untrimmed_fastq/${sample}_R1_too-long.fastq.gz \
    --untrimmed-output untrimmed_fastq/${sample}_R1_untrimmed.fastq.gz \
    --too-short-paired-output untrimmed_fastq/${sample}_R2_too-short.fastq.gz \
    --too-long-paired-output untrimmed_fastq/${sample}_R2_too-long.fastq.gz \
    --untrimmed-paired-output untrimmed_fastq/${sample}_R2_untrimmed.fastq.gz \
    -o trimmed_fastq/${sample}_R1_001.fastq.gz -p trimmed_fastq/${sample}_R2_001.fastq.gz \
    fastqfiles/${sample}_R1_001.fastq.gz fastqfiles/${sample}_R2_001.fastq.gz \
    >> cutadapt_stats.txt 2>&1
done

产生语法错误:

File "<ipython-input-3-592002da22aa>", line 3
    for sample in $(cat samples)
                  ^
SyntaxError: invalid syntax

我对使用魔术命令和子流程相当陌生。感谢您提供的任何提示或见解


Tags: sample命令bashforoutput笔记本longfastq