题目目录
-
- 1. 统计**reads_1.fq** 文件中共有多少条序列信息
- 2. 输出所有的**reads_1.fq**文件中的标识符(即以@开头的那一行)
- 3. 输出**reads_1.fq**文件中的 所有序列信息(即每个序列的第二行)
- 4. 输出以‘+’及其后面的描述信息(即每个序列的第三行)
- 5. 输出质量值信息(即每个序列的第四行)
- 6. 计算**reads_1.fq** 文件**含有N碱基**的**reads个数**
- 7. 统计文件中**reads_1.fq**文件里面的序列的**碱基总数**
- 8. 计算**reads_1.fq** 所有的reads中N碱基的总数
- 9. 统计**reads_1.fq** 中测序**碱基质量值**恰好为Q20的个数
- 10. 统计**reads_1.fq** 中测序**碱基质量值**恰好为Q30的个数
- 11. 统计**reads_1.fq** 中所有序列的第一位碱基的ATCGNatcg分布情况
- 12. 将**reads_1.fq** 转为**reads_1.fa**文件(即将fastq转化为fasta)
- 13. 统计上述**reads_1.fa**文件中共有多少条序列
- 14. 计算**reads_1.fa**文件中**总的碱基序列**的GC数量
- 15. 删除 **reads_1.fa**文件中的每条序列的N碱基
- 16. 删除 **reads_1.fa**文件中的含有N碱基的序列
- 17. 删除 **reads_1.fa**文件中的短于65bp的序列
- 18. 删除 **reads_1.fa**文件每条序列的前后五个碱基
- 19. 删除 **reads_1.fa**文件中的长于125bp的序列
- 20. 查看**reads_1.fq** 中每条序列的第一位碱基的质量值的平均值
本文是在Linux环境下,针对fasta和fastq文件处理的练习,Linux基础题目请查看生信学习——Linux必做20题(附详细答案解读)
本人在参考视频的基础上,对解题过程进行了详细的分析,并且给出了自己的一些见解。
做题之前要对这两种文件有基础的认知,具体内容可查看视频教程。
视频教程:https://www.bilibili.com/video/BV1ds411g7eg?p=12
题目原文:http://www.bio-info-trainee.com/3575.html
格式说明:http://samtools.github.io/hts-specs/
1. 统计reads_1.fq 文件中共有多少条序列信息
wc reads_1.fq
一条序列信息占4行,所以一共有10000条序列信息
2. 输出所有的reads_1.fq文件中的标识符(即以@开头的那一行)
# 先将文件格式变成四列,然后显示第一列即可
cat reads_1.fq | paste - - - - | cut -f1
# 或者
# NR代表行数
awk '{if(NR%4==1)print}' reads_1.fq
3. 输出reads_1.fq文件中的 所有序列信息(即每个序列的第二行)
# 同理
cat reads_1.fq | paste - - - - | cut -f2
# 或
awk '{if(NR%4==2)print}' reads_1.fq
4. 输出以‘+’及其后面的描述信息(即每个序列的第三行)
# 同理
cat reads_1.fq | paste - - - - | cut -f3
# 或
awk '{if(NR%4==3)print}' reads_1.fq
5. 输出质量值信息(即每个序列的第四行)
# 同理
cat reads_1.fq | paste - - - - | cut -f4
# 或
awk '{if(NR%4==0)print}' reads_1.fq