linux合并fa文件_与你分享生信好用的单行命令

本文分享了适用于生物信息学的一系列Linux单行命令,包括快速查看fastq序列长度分布、反向互补、fastq转fasta、拆分fasta文件、fasta格式转换等操作。此外,还涵盖了Sam/Bam文件处理、基础Linux命令如du、rsync以及grep、sed、awk的实用技巧。
摘要由CSDN通过智能技术生成

刘小泽记录于 2019.5.10

将Turner写的一些好用的单行命令与大家分享,原文还有许多可以去看

https://github.com/stephenturner/oneliners

About Fastq/fasta

fastq sequences length distribution => 得到fq文件中序列长度的分布

$ zcat file.fastq.gz | awk 'NR%4 == 2 {lengths[length($0)]++} END {for (l in lengths) {print l, lengths[l]}}'

reverse complement => 反向互补

$ echo 'ATTGCTATGCTNNNT' | rev | tr 'ACTG' 'TGAC'

fastq2fasta

$ zcat file.fastq.gz | paste - - - - | perl -ane 'print ">$F[0]\n$F[1]\n";' | gzip -c > file.fasta.gz

split a multifasta file into single ones with csplit => fasta按>拆分

# * refers to the number of files 可以选择拆分的文件数量

$ csplit -z -q -n 4 -f test test.fa /\>/ {*}

# OR use awk 一次性全部按>拆分

$ awk '/^>/{s=++d".fa"} {print > s}' multi.fa

single line fasta to multi-line of 50 characters in each line => 单行fa变多行

$ awk -v FS= '/^>/{print;next}{for (i=0;i<=NF/50;i++) {for (j=1;j<=50;j++) printf "%s", $(i*50 +j); print ""}}' file

# fold -w 50 file

multi-line fasta to one-line => 一个多行fa文件变单行

# 方法一:

$ awk 'BEGIN{RS=">"}NR&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值