使用awk函数过滤长度
NGS的reads过滤或者DNA片段的长度过滤,除了用软件,还可以用awk函数,一行代码即可搞定
- 单行fasta:
假设过滤40bp的序列
awk '{if($0~/>/) geneName=$0;if(length($0)>40) print geneName"\n"$0;}' seq
- 多行fasta:
假设过滤70bp的序列
awk 'BEGIN{OFS=FS="\t"}{if($0~/>/) name=$0 ;else seq[name]=seq[name]$0;}END{for(i in seq) {if(length(seq[i])>70) print i"\n"seq[i]}}' test.fasta