前期准备:
mkdir fasta.test
cd fasta.test
wget https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.3.4.3/bowtie2-2.3.4.3-linux-x86_64.zip
unzip bowtie2-2.3.4.3-linux-x86_64.zip
cd fasta.test/bowtie2-2.3.4.3-linux-x86_64/example/reads
ls
(1)统计reads_1.fq 文件中共有多少条序列信息
less -SN reads_1.fq
grep '@r' reads_1.fq |wc
2)输出所有的reads_1.fq文件中的标识符(即以@开头的那一行)
awk '{if (NR%4==1) print}' reads_1.fq
- 输出reads_1.fq文件中的 所有序列信息(即每个序列的第二行)
awk '{if (NR%4==2) print}' reads_1.fq
4)输出以‘+’及其后面的描述信息(即每个序列的第三行)
awk '{if (NR%4==3) print}' reads_1.fq
5)输出质量值信息(即每个序列的第四行)
awk '{if (NR%4==0) print}' reads_1.fq
- 计算reads_1.fq 文件含有N碱基的reads个数
awk '{if (NR%4==2) print}' reads_1.fq | grep N |wc
6429 6429 782897
- 统计文件中reads_1.fq文件里面的序列的碱基总数
awk '{if (NR%4==2) print}' reads_1.fq | grep -o [ATGCN] |wc
8)计算reads_1.fq 所有的reads中N碱基的总数
awk '{if (NR%4==2) print}' reads_1.fq | grep -o N |wc
9)统计reads_1.fq 中测序碱基质量值恰好为Q20的个数
awk '{if (NR%4==0) print}' reads_1.fq | grep -o "5" |wc
##查那个质量表可以知道,20+30=53-----刚好对应的是5
下面也是一样:30+30=63------对应的是?
10)统计reads_1.fq 中测序碱基质量值恰好为Q30的个数
awk '{if (NR%4==0) print}' reads_1.fq | grep -o "?" |wc
11)统计reads_1.fq 中所有序列的第一位碱基的ATCGNatcg分布情况
awk '{if (NR%4==2) print}' reads_1.fq |cut -c 1|sort |uniq -c
12)将reads_1.fq 转为reads_1.fa文件(即将fastq转化为fasta)
awk '{if(NR%4 == 1){print ">" substr($0, 2)}}{if(NR%4 == 2){print}}' reads_1.fq > reads_1.fa
- 统计上述reads_1.fa文件中共有多少条序列
grep ">" reads_1.fa |wc
14)计算reads_1.fa文件中总的碱基序列的GC数量
grep -o [GC] reads_1.fa |wc
15)删除 reads_1.fa文件中的每条序列的N碱基
cat reads_1.fa |tr -d "N"
16)删除 reads_1.fa文件中的含有N碱基的序列
cat reads_1.fa|paste - -|sed -e '/N/d'
- 删除 reads_1.fa文件中的短于65bp的序列
cat reads_1.fa|paste - -|awk '{if (length($2)>65) print}'
18) 删除 reads_1.fa文件每条序列的前后五个碱基
cat reads_1.fa |paste - -|cut -f2| sed 's/^.....//' | sed 's/.....$//' |head
19)删除 reads_1.fa文件中的长于125bp的序列
cat reads_1.fa |paste - -|awk '{if(length($2)<=125)print}'|wc
20)查看reads_1.fq 中每条序列的第一位碱基的质量值的平均值
网友评论