WGS实战笔记(二)

-----------------------------------------分割线-------------------------------------------------------

补上上次的Fastqc的图,可以直接点开网页看看质控后的结果

Fastqc的结果

------------------------------------华丽丽分割线ending------------------------------------------ 去除掉了测序的接头和一些低质量的碱基之后,下一步就是可以把结果进行比对了,这里我采用的是bwa mem方法。(PS:需要提前建立好索引文件index)

cd /asnas/sunyl_group/liull/TNBC_test/Rawdata/BCA0106-2/2_bwa
index=/asnas/sunyl_group/liull/Database/hg38/chroms-index/hg38.fa 
sample1=/asnas/sunyl_group/liull/TNBC_test/Rawdata/BCA0106-2/1_qc/output_BCA0106-2_R1_paired.fq.gz 
sample2=/asnas/sunyl_group/liull/TNBC_test/Rawdata/BCA0106-2/1_qc/output_BCA0106-2_Rnas2_paired.fq.gz  
bwa mem -t 4 -M -R "@RG\tID:L1\tSM:BCA0106-2\tLB:WGS\tPL:Illumina" $index $sample1 $sample2 > BCA0106-2.paired.sam

根据这一步,可以得到一个sam文件,因为sam文件比较大,一般是倾向于转成bam文件,而且对bam文件进行排序。将排序好的bam文件进行后续的分析。 为什么要进行bam文件的排序呢?有一篇教程里写的非常详细了 FASTQ文件里面这些被测序下来的read是随机分布于基因组上面的,第一步的比对是按照FASTQ文件的顺序把read逐一定位到参考基因组上之后,随即就输出了,它不会也不可能在这一步里面能够自动识别比对位置的先后位置重排比对结果。因此,比对后得到的结果文件中,每一条记录之间位置的先后顺序是乱的,我们后续去重复等步骤都需要在比对记录按照顺序从小到大排序下来才能进行,所以这才是需要进行排序的原因.[1] 但是跟教程接下来sam转成bam,然后再进行bam排序(samtools 的sort命令)这种多步骤不一样,可以直接用picard一步到位! 这个也算是跟之前的版本教程不一样的地方了!

java -Xmx4g -jar /asnas/sunyl_group/liull/software/picard.jar SortSam I=./BCA0106-2.paired.sam o=./BCA0106-2.paired.sorted.bam SORT_ORDER=coordinate

这里贴上picard的SortSam的帮助文档~

Picard.SortSam的帮助文档

用JAVA调用,I 是输入Imput的文件,O是输出Ouput的文件,SortOrder是输出文件的排序方式,可以有不同的备选。

踩的坑: 1:从网上看到的一个代码

samtools sort ./BCA0106.paired.sam --output-fmt BAM -o ./BCA0106-2.paired.sort.bam 

结果生成了很多的tmp.bam文件

生成的bam的很多临时文件

结果我用了samtools merge的命令生成了一个bwa.sorted.bam 2:samtools 先从sam转成bam很花时间,再从bam转成sorted.bam也很花时间(具体的还是根据设置的节点和内存大小判断呀,我因为参数不熟,在这两步花的时间很长,不要问我怎么知道的。。。。。。)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GATK4-germline-mut-study Day-1

    这几天一直都在忙着规划自己的学习安排,GATK的学习也是间断的,中间还搁置了一段的时间。我发现,不能推进自己的学习计划简直是太可怕了。。。。。 用代码记录一下...

    liu_ll
  • WGS实战分析(四)----Shutdown in progress

    接着上一篇讲,已经完成了samtools的sort操作,得到了sorted.bam文件。接下来可以用picard MarkDuplicates进行标记并且可以去...

    liu_ll
  • WGS实战笔记(三)----质量和碱基数bug及samtools 排错

    根据报错信息的提示:说是我的碱基信息和质量信息不相符,我看了一下碱基信息150bp,质量信息140个。但是这是SAM文件里的信息,所以还是得回溯到fq文件中看看...

    liu_ll
  • 软件性能测试(连载8)

    CPU依次处理上述任务的调度方法是切换。切换分为“进程切换”“线程切换”和“中断切换”。中断切换即在本节“软中断与硬中断”中提及的,当系统中有非常重要的请求来临...

    小老鼠
  • [Objective-C] 常量和枚举

    #define宏定义 #define是一条预编译指令, 编译器在编译阶段前期会将所有使用到宏的地方简单地进行替换.

    wOw
  • 黑掉美国(英国、澳大利亚、法国等)的交通控制系统

    作者 Taskiller 像电影中那样hacking ? 可能很多读者已经看过电影《虎胆龙威4:虚拟危机》,里面的“黑客恐怖分子”只需要在键盘上按几个按键就可以...

    FB客服
  • 【重磅】AI 学会“脑补”:神经网络超逼真图像补完从 0 到 1

    1 新智元编译 来源:arXiv、Github 编译:张易 【新智元导读】自动图像补全是计算机视觉和图形领域几十年来的研究热点和难点。在神经网络的帮助下,来...

    新智元
  • 代码审计 | 利用思维导图快速读懂框架和理清思路

    html/javascript/dom元素使用,主要是为了挖掘xss漏洞,jquery 主要写一些涉及到CSRF脚本使用的或者DOM型XSS,JSON劫持等

    HACK学习
  • 【赛题分析】分拣排序(中)

    信息处理篇 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    EdenChen
  • method_exists VS is_callable

    今天看到一篇介绍,关于 method_exist 的,我觉得自己也有必要记录一下。

    大江小浪

扫码关注云+社区

领取腾讯云代金券