linux处理fasta和fastq序列

linux命令处理fasta序列

(1)从一个文件a提取第10至20个序列存到另一个文件b:
awk -v RS='>' 'NR>1{i++}i>=10&&i<=20{print ">"$0}' a.fasta|sed '/^$/d'>b.fasta

(2)将某一文件a中每一条序列保存到一个文件中:
awk '/^>/{f=++d".fasta"} {print > f}' input.fasta

(3)fastq转换成fasta序列
zcat input_file.fastq.gz | awk 'NR%4==1{printf ">%s\n", substr($0,2)}NR%4==2{print}' > output_file.fa


(4)fastq统计条数

zcat reads.fq.gz | echo $((`wc -l`/4))


(5)fasta序列的数量

grep -c "^>" reads.fa


(6)某个短序列出现次数

> zgrep -c 'ATGATGATG' reads.fq.gz
    398065    
> zcat reads.fq.gz | awk '/ATGATGATG/ {nlines = nlines + 1} END {print nlines}'
    398065


  • 发表于 2018-06-21 22:46
  • 阅读 ( 7440 )
  • 分类:linux

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

657 篇文章

作家榜 »

  1. omicsgene 657 文章
  2. 安生水 327 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. 红橙子 78 文章
  6. CORNERSTONE 72 文章
  7. rzx 67 文章
  8. xun 66 文章