前言
想要白嫖子宮內(nèi)膜癌的單細(xì)胞測序數(shù)據(jù)用來做驗(yàn)證,搜到一篇做的很全面的單測文章屎篱,但作者上傳的是SRA文件,只好拾起3年前跟生信技能樹曾老師啟蒙的上游數(shù)據(jù)分析技能。
網(wǎng)上一頓搜索突雪,裝了好多包,結(jié)果本次白嫖前的工作準(zhǔn)備真正用上的就3個涡贱,sra-tool咏删,parallel-fastq-dump(基于 sra-tool,所以 sra-tool 是必須的)和star solo问词,嗯還有迅雷(10年沒用過了我)督函。
這篇筆記旨在記錄一些我記不住的設(shè)置(主要是star使用的g++編譯,在非intel芯片上安裝需要進(jìn)行的環(huán)境設(shè)置),也希望能給想用mac進(jìn)行上游數(shù)據(jù)分析的同道一些參考侨核。
一草穆、搭建測序數(shù)據(jù)處理環(huán)境
1. conda環(huán)境搭建參考
https://blog.csdn.net/weixin_47614014/article/details/118070452
2. 上游數(shù)據(jù)處理包安裝參考
https://mp.weixin.qq.com/s/mo_oDD_ZWrC18EKHkLNR9g
二、參考基因組下載
http://ftp.ebi.ac.uk/pub/databases/gencode/
①genome.fa.gz是基因組文件搓译,解壓為genome.fa文件
②gtf或gff3.gz是注釋文件(有全基因組注釋的悲柱、外顯子注釋的、非編碼RNA注釋的些己,按需)
③可用復(fù)制鏈接使用迅雷下載
三豌鸡、上游測序數(shù)據(jù)下載(本例數(shù)據(jù)量大,勿作練習(xí)用)
https://www.ncbi.nlm.nih.gov/sra/?term=SRP349751
1. 網(wǎng)上教程教我的
①點(diǎn)All runs
②下載Accession list
③使用Sra toolkit下載
2. 速度實(shí)在太慢了段标,我用的迅雷
①15個數(shù)據(jù)涯冠,也不是很多,鏈接慢慢改吧逼庞,速度喜人蛇更!
②下載 normalize 的數(shù)據(jù),跟使用 sra toolkit 下載的一致赛糟,可以用 fast-dump 直接轉(zhuǎn)派任,lite.sra的數(shù)據(jù)需要特殊處理
③需添加后綴.sra
四、sra文件解壓為fastq文件
使用parallel-fastq-dump璧南,因?yàn)榭?/strong>
1. 安裝 parallel-fastq-dump
https://anaconda.org/bioconda/parallel-fastq-dump/files
下載noarch版本(python環(huán)境掌逛,兼容Mac系統(tǒng))或者osx版本,因?yàn)樵诮K端使用conda下載容易出現(xiàn)不兼容OSX的版本司倚,所以我都是進(jìn)官網(wǎng)下載豆混,再解壓安裝(反正用Macbook,也是因?yàn)闆]租用linux服務(wù)器是吧动知?不需要在乎服務(wù)器可視化問題)
# 需要使用python環(huán)境的包皿伺,我都放在miniforge2/pkgs文件夾里面了,我也不知道不放里面解壓有沒有影響
tar -vxzf parallel-fastq-dump-0.6.3-py36_1.tar.bz2
# 配置環(huán)境
vim ~/.zshrc
# export PATH="/Users/用戶名/miniforge2/pkgs/parallel-fastq-dump-0.6.3-py36_1/bin:$PATH"
source ~/.zshrc
# 查看是否安裝成功
conda list
2. 使用parallel-fastq-dump解壓sra文件
雙端的單測數(shù)據(jù)一般都生成3個fastq文件拍柒,分別是I1(index文件)心傀,R1(細(xì)胞標(biāo)簽read文件)和R2(單個細(xì)胞內(nèi)測序文件),后續(xù)分析主要用到R1和R2具體可參考http://www.reibang.com/p/dadd202c34be
# 即便使用parallel-fastq-dump 8線程拆讯,20幾G的sra文件也用了半個多小時
parallel-fastq-dump --sra-id SRR17165228 --threads 4 --outdir ../rawfq/ --split-files --gzip
# 如果測序文件只是幾個G(細(xì)胞量少吧)脂男,可以使用批量程序掛機(jī)
ls *.sra | while read id
do ( nohup parallel-fastq-dump -t 72 -O ../rawfq/ --split-files --gzip -s $id &)
done
# 沒有試fasterq-dump,雖然它也支持多線程种呐,但不支持gzip壓縮宰翅,本例數(shù)據(jù)太大,應(yīng)該不夠空間存放爽室。汁讼。fastq-dump、fasterq-dump和parallel-fastq-dump區(qū)別和使用可以參考http://www.reibang.com/p/97e7a70aaf79
五、fastq文件比對并輸出Counts文件
1. 安裝STAR
https://github.com/alexdobin/STAR
我遇到的主要問題包括:
①git clone速度慢→可以通過GitHub Desktop進(jìn)行下載
②gcc編譯→修改編譯環(huán)境嘿架,參考https://blog.csdn.net/qq_33957603/article/details/131757260
③-mavx2報錯→source/Makefile文件里修改為CXX_SIMD_FLAGS=-march=native
ps. 更新了2.7.11a版本似乎可以使用zip下載了瓶珊,同時makefile文件里面也不存在“CXX_SIMD_FLAGS”了,應(yīng)該已經(jīng)解決Mac安裝該軟件時候-mavx2報錯問題耸彪。
2. 建立比對索引
STAR --runMode genomeGenerate --genomeDir ~/Downloads/Reference/hg38 --genomeFastaFiles ~/Downloads/Reference/hg38/GRCh38.p14.genome.fa --sjdbGTFfile ~/Downloads/Reference/hg38/gencode.v44.annotation.gtf
3. 下載barcodes
STARsolo與普通的轉(zhuǎn)錄組比對區(qū)別在于你需要在比對時加上whitelist伞芹,參考http://www.reibang.com/p/b2076d670558
barcodes是細(xì)胞的標(biāo)簽序列文件,使用10XGenomics試劑盒產(chǎn)生的數(shù)據(jù)蝉娜,可以從10XGenomics處下載barcodes
https://github.com/10XGenomics/cellranger/tree/master/lib/python/cellranger/barcodes
本例用到的是3M-february-2018.txt
4. 運(yùn)行單細(xì)胞比對
先解壓fastq.gz文件解壓到移動硬盤(其實(shí)上面可以用faster-dump生成fastq文件唱较,這里就不需要解壓了,主要還是硬盤容量不夠召川,fastq緩沖文件會占用硬盤空間)
盡量刪除占用電腦硬盤的文件南缓,因?yàn)閎am文件比fastq文件大幾倍,本例生成的bam文件200G左右(請大佬們教我怎么將緩沖文件也保存到移動硬盤荧呐,可能可以解決這個電腦硬盤不夠的問題)
STAR --runThreadN 16 \ #多線程汉形,所以比cellrange快,但是Mac本來也用不了cellrange倍阐,不知道修改編譯環(huán)境后能不能安裝获雕,未嘗試
--genomeDir ../../Reference/hg38 \ #比對索引目錄
--readFilesIn *_3.fastq *_2.fastq \ #見上述3為R2文件,2為R1文件收捣,starsolo需要先比對R2文件,再通過R1文件分配到單細(xì)胞里面去
--soloType CB_UMI_Simple \ #10X的單細(xì)胞測序用這個one UMI and one Cell Barcode of xed length in read2, e.g. Drop-seq and 10X Chromium
--soloCBwhitelist ../../Reference/barcodes/3M-february-2018.txt \ #barcodes文件
--soloBarcodeReadLength 0 #默認(rèn)是1庵楷,但本例報錯罢艾,可能與添加了接頭序列導(dǎo)致與barcodes文件的堿基數(shù)不匹配
starsolo還可以根據(jù)不同的比對文件使用單細(xì)胞測序數(shù)據(jù)進(jìn)行多種分析,例如ncRNA尽纽、exon可變剪接等咐蚯,參考文章先保存在這了https://mp.weixin.qq.com/s/XoXBq6OMkghlhsg4yurHJA
5. 生成進(jìn)行下游分析的文件啦
后話
這次白嫖花了半個月時間,希望后面再白嫖需要上游分析的測序數(shù)據(jù)弄贿,可以少花些時間春锋,畢竟代碼這東西用著用著就又報錯了??????