如果您喜欢我们的文章,请设“关注”哦~
zcat file.gz | head bwa mem ref.fa R1.fq R2.fq > aln.sam 2> log.txt samtools sort aln.bam & for f in *.fastq.gz; do ...; don 一、管道符:|
最基本的结构为:
命令1 | 命令2 | 命令3 通常用于流式处理大型文本数据。因为直接在控制台中打印出全文会非常不可读。例如,在查看压缩 FASTQ 文件前若干行时,可使用:
zcat reads.fastq.gz | head -n 8 其中,zcat将解压后的文本发送给 head,后者只展示前 8 行。在处理 VCF 文件时,也常将过滤与统计组合成管道:
zcat cohort.vcf.gz | grep -v '^#' | wc -l
>表示覆盖写入:
samtools view aln.bam > aln.sam >>表示追加写入:echo "Run finished at: $(date)" >> pipeline.log 此方式常用于持续记录日志而不覆盖历史内容。
bwa mem ref.fa R1.fq R2.fq > aln.sam 2> aln.err
aln.sam,错误信息写入 aln.err。1 表示标准输出,2 表示标准错误。因此:myprog 2> error.log
将错误信息写入文件;而:
myprog 2>> error.log
myprog &> all_output.txt
gatk HaplotypeCaller ... &> gatk.log & 可将其放入后台执行,使当前终端不被阻塞:long_task.sh &
bwa mem ref.fa R1.fq R2.fq > aln.sam 2> aln.log &
tail -f aln.log
nohup:nohup script.sh &> script.out & && 表示仅当前一个命令成功时才执行后一个:bwa index ref.fa && echo "index ok" || 表示当前一个命令失败时才执行后一个:
bwa index ref.fa || echo "index failed"
; 表示无论成功与否都继续执行:cmd1; cmd2; cmd3
&& 串联,以确保前一步成功后再运行下一步:bwa mem ... > aln.sam && samtools sort aln.sam > aln.sorted.bam $(...) 例如获取系统时间:
echo "Start: $(date)" 生信工作中常用于自动生成输出文件名:
samtools flagstat aln.bam > flagstat_$(basename aln.bam .bam).txt
作者:刘鑫鹏(哥本哈根大学)
编辑:黎琛
排版:刘宇昂
⭐ SDbioinfo-往期回顾 ⭐
【栏目1:播客分享会】
【栏目2:前沿信息早知道】
【栏目3:知识解读】
【栏目4:最新招聘】

【?我是谁?】
SDbioinfo,专注「计算生物学」领域的学习智库
我们汇聚了来自哈佛剑桥港大、北清复交等高校科研工作者。我们的愿景:链接领域最强大脑,用数据和分析改变生命。
不管你是:
⭐ 找实习、找工作、出国留学
⭐ 找校友、找搭子、找资源
⭐ 找科研方法、前沿信息、大咖分享
统统可以帮你,加入SDbioinfo,和全球生信人一起成长!
(添加微信:SDbioinfo_2023)
