下载hg38参考基因组直接谷歌搜索即可: 拿到下载链接,近1G大小的文件,里面存放分类约3G的参考基因组。 http://hgdownload.cse./goldenPath/hg38/bigZips/hg38.fa.gz 拿到hg38各个染色体长度使用python里面的pyfaidx模块的faidx命令,代码如下 pip install pyfaidx 结果如下: chr1 248956422 生成200Kb的区间bed文件这里需要写脚本,我使用自己擅长的perl语言,代码如下: cat sizes.genome |perl -alne '{print "$F[0]\t",200000*$_,"\t",200000*($_+1) foreach 0..$F[1]/200000-1}' > 200k.bed 输出文件开头如下: chr1 0 200000 值得注意的是线粒体长度是小于200K的,所以后面会出现警告: Feature (chrM:0-200000) beyond the length of chrM size (16569 bp). Skipping. 不过问题不大。 后来我发现bedtools也可以做到: bedtools makewindows -g sizes.genome -w 200000 > 200k.bed 而且还完美的解决了我自己的perl脚本的无关痛痒的小bug 使用bedtools统计200Kb的区间的基因组GC含量因为使用的是bedtools这样成熟的轮子, 所以就是一行代码而已: bedtools nuc -fi hg38.fa -bed 200k.bed | cut -f 1-3,5 > 200k_gc.bed 文件如下: $head 200k_gc.bed 使用bedtools统计200Kb的区间的测序情况用的bedtools的multicov 这个小命令 ,代码如下: bedtools multicov -bams alignment/SRR3081110.bam -bed 200k.bed > 200K_counts.bed 输出文件如下: $head 200K_counts.bed 要想顺利完成这个小任务,其实需要掌握好bedtools:bedtools 用法大全(一文就够吧) 而这个教程仍然是属于单细胞数据处理的一部分,大约十分之一的工作量,后面才有可能完成单细胞拷贝数全景图如下: 后续,我们的线下单细胞课程会细致入微的讲解这篇文章的图表复现,敬请期待! |
|