基因课FTP地址:ftp://http://gsx.genek.tv/2020-3-10%E7%9B%B4%E6%92%AD%E4%B8%80%E4%B8%AA%E5%AE%8C%E6%95%B4%E7%9A%84%E8%BD%AC%E5%BD%95%E7%BB%84%E9%A1%B9%E7%9B%AE/
听张旭东老师的课
服务器间数据拷贝
两台服务器间的数据拷贝 用 scp 用户名@服务器:文件路径
样本名称处理
-
sed -i 's/.fastq.gz//' xxx.file
,类似rename的方式处理文件内容 - awk 利用文件名生成样本信息表
构建参考基因组
hisat2-build genome.fasta genome
运行时间 —— 二十分钟以内
比对
hisat2 -x [ref-genome] -U [input_filename].fq.gz -S [output_file name].sam -p [threads] --new-summary --rna-strandness R
- -U 写基因组名,不写后缀
- PE 的输入文件-U项换为 -1 和 -2
- 线程数建议一般设置为2-6即可
- --new-summary 历史原因,使用tophat的旧日志文件格式则不加此项,用新格式日志文件则加此项
- --rna-strandness 链特异性文库
链特异性测序针对性解决的问题是:某些基因所在的正链与另一些基因的反链有交集,表达量定给谁?
若不是链特异性测序,去掉此项
若是链特异性测序,要问清楚是用的哪个技术, 大部分都用的是dUTP(90%) 如果是,
单末端测序(SE) --rna-strandness参数设置为R
PE 设置为RF - 目前绝大部分为链特异性测序
- 非连特异性测序按照链特异性测序比对,有问题
连特异性测序按照非链特异性测序比对,问题不大 - 对于网上下载的测序数据有一些没有写明是链特异性测序还是非链特异性测序,解决方法:先假设是非连特异性测序,比对后在IGV上发现序列都是同一方向,则为链特异性文库
- 比对DNA序列到基因组用bwa软件
- 批量生成比对脚本,用awk实现
vim的Ctrl+v也可以实现
linux for循环也可以实现 - 一般不需要设置错配率,默认就好。若比对后发现比对率特别低,则需要考虑。
- 比对率一般至少70以上,比对率和 参考基因组测序组装质量、比对软件、测序品种与参考基因组物种亲缘关系 相关
- 并行总线程可超过CPU数,超过即排队
比对结果查看
比对率97.44%
比对结果比对率统计与可视化
比对率结果在.log文件中
用软件MultiQC将多个log文件的结果统计
比对结果压缩排序
samtools sort -o xxx.bam xxx.sam
- 这步比较耗内存,可以一个一个来
- samtools view是只负责sam → bam的格式转换
- bam文件构建好后,sam文件就可以删除了
对一个bam文件进行统计
samtools flagstat xxx.bam
- 统计比对率(不同软件比对出来有差异)
- 不同比对策略算出来的比对率略有不同,有primery的比对和secondary的比对,有区别
- 转录组中建议以hisat2统计结果为准
samtools的统计是通用的,没有对特定软件进行优化
构建bam index
samtools index xxx.bam
- 构建index在转录组分析中除了IGV展示,没有其他用处
- 在重测序中,bam文件构建index可用于变异检测等
IGV可视化
- IGV官网 software.broadinstitute.org/software/igv/download
- 用Java写的软件,跨平台(优点),易报错(劣)
- 需要的文件
①导入基因组文件 genome.fasta
②基因注释文件genes.gtf
③sample.bam
④sample.bam.bai - 使用步骤
- 建立基因组库
Genomes → Creat .genome File... -
加载bam文件
File → Load from file
- 建立基因组库
- 桌面软件
- 同一基因区同一碱基处,若大概一半一半的A/C概率,则为杂合,若极少量SNP可能是测序错误或RNA编辑
- DNA测序鉴定突变:参考基因组为A,测序基因组绝大部分是A
- 个体重测序更关心的是基因分型,不是只关心变异区域,表型=基因+环境,表型不完全有基因型决定。关心的是比例问题,概率问题
附加:转录本基因结构组装
- hisat2对应软件为stringtie
- 如果别人的基因组组装做的太差,可选择自己组装
- 自己组装建议使用PASA流程,组装转录本
代码集中营
nohup hisat2-build xxx_genome.fasta xxx_genome 1>hisat2-build.log 2>&1 & # 标准输出与错误输出到同一文件
# 比对
# SE
hisat2 -x [ref-genome] -U [input_filename].fq.gz -S [output_file name].sam -p [threads] --new-summary --rna-strandness R 1>hisat2.log 2>&1
# PE
hisat2 -x [ref-genome] -1 [input_filename]_1.fq -2 [input_filename]_2.fq -S [output_file name].sam -p [threads] --new-summary --rna-strandness RF 1>hisat2.log 2>&1