shell脚本从单个fastq中提取成对的fastq
001、方法1
## step1: awk 'NR % 4 == 1' batch9.fastq | sed 'N; s/\n/\t/; s/\//\t/g' | awk '{if($1 == $3 && $2 != $4) {print (NR - 1) * 8 + 1, NR * 8}}' > index.txt ## step2: head -n 1 index.txt | awk '{if($1 == 1) {next} else {for (i =1; i <= $1; i++) {print 0 }}}' > part1.txt ## step3: awk '{if(NR == 1) {print $0; printf("%s ", $2)} else {print $1; print $0; printf("%s ", $2)}}' index.txt | sed '$d' | awk '{if(NR % 2 != 0) {a = $2 - $1 + 1; for(i = 1; i <= a ; i++) {print 1}} else { a = $2 - $1 - 1; for(i = 1; i <= a; i++) {print 0}}}' > part2.txt ## step3: tail -n 1 index.txt | awk '{print $2}' | paste - <(wc -l < batch9.fastq ) | awk '{if($1 != $2) {for(i = 1; i <= $2 - $1; i++) print 0} else {printf("")}}' > part3.txt ## step4: cat part1.txt part2.txt part3.txt > index2.txt rm -f part1.txt part2.txt part3.txt index.txt ## step5: paste index2.txt batch9.fastq | awk '$1 != 0' | cut -f 2- > result.fastq
。
002、方法2
#!/bin/bash ## step1: awk 'NR % 4 == 1' batch9.fastq | sed 'N; s/\n/\t/; s/\//\t/g' | awk '{if($1 == $3 && $2 != $4) {for (i = 1; i <= 8; i++) {print (NR - 1) * 8 + i}}}' > index.txt ## step2: awk '{if(NR == FNR) {ay[$1]} else {if (FNR in ay) {print $0}}}' index.txt batch9.fastq > result.fastq rm -f index.txt
003、方法3
(base) [b20223040323@admin1 test02]$ cat record.sh #!/bin/bash ## step1: awk 'NR % 4 == 1' batch9.fastq | sed 'N; s/\n/\t/; s/\//\t/g' | awk '{if($1 == $3 && $2 != $4) {print 1; print 1; print 1; print 1; print 2; print 2; print 2; print 2} else {for (i = 1; i <= 8; i++) {print 0}}}' > index.txt ## step2: paste index.txt batch9.fastq | awk '{if($1 == 1) {$1 = ""; sub(/ /, ""); print $0 > "1.fastq"} else if($1 == 2) {$1 = ""; sub(/ /, ""); print $0 > "2.fastq"} else {$1 = ""; sub(/ /, ""); print $0 > "3.fastq"} }'
.
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-10-12 如何检测bam文件的完整性
2020-10-12 恭喜湖人,时隔十年,再次夺冠
2020-10-12 linux系统中id命令
2020-10-12 linux 系统中的 for 循环结构
2020-10-12 plink软件统计缺失率