第一次實(shí)戰(zhàn)
學(xué)了一段時間生物信息學(xué)了,我都是跟著網(wǎng)上的帖子學(xué)習(xí),跑流程,從來沒有解決過自己的實(shí)際問題。這次剛好哈,有個任務(wù)讓我解決一下,具體如下:
現(xiàn)在有8000多個snp序列(油菜), 我想知道這8000多個snp 序列具體在哪條染色體上?
好了,這個問題看似很簡單,但是我還是花了很多時間,走了很多坑。。。正確步驟如下:
1 下載安裝好本地balst 程序
參考我之前的經(jīng)驗(yàn)http://www.lxweimin.com/p/47c60b6f88e9
這里再一次感受到洲更以前的和我說的做筆記的重要性了,我基本忘了local blast,但是一看筆記就想起來了。
2 下載油菜的參考基因組數(shù)據(jù)庫
下載下來的文件的是含有染色體位置信息的,這點(diǎn)很關(guān)鍵,我就是一開始下載錯庫了,導(dǎo)致浪費(fèi)了很多時間。
數(shù)據(jù)文件是fa格式的
3 構(gòu)建本地化數(shù)據(jù)庫
makeblastdb -in Brassica_napus_v4.1.chromosomes.fa -dbtype nucl -title yc -parse_seqids -out yc
注意這里的參數(shù):
-in 后面接你的數(shù)據(jù)庫文件
-dbtype 后面nucl 代表核酸 prot為蛋白質(zhì)
-out 為數(shù)據(jù)庫的名字,等下要用的
4 把8000多條snp 序列整合到一個文件中,采用以下格式
第一行為名稱或者序列號
第二行為具體的序列
就像這樣:
5 進(jìn)行blast
blastn -query 文件名稱 -db /public/home/PATH/db/yc/yc -outfmt 6 -out "result"
注意那個路徑后面yc 那個文件夾后面再加一個yc這個就是剛剛構(gòu)建的數(shù)據(jù)庫的名稱,不能忘了加
cat result
看第二列就可以了。
當(dāng)然輸出 xml格式也OK,信息更加豐富,用之前的python 解析xml格式。
雖然這么簡單的一個操作步驟,但是我卻花了2天多的時間,主要失誤在下面:
- 數(shù)據(jù)庫找錯了,最開始的時候用的數(shù)據(jù)庫對于染色體的具體位置不是很清楚
- format 數(shù)據(jù)庫的時候出現(xiàn)重復(fù)序列,雖然我現(xiàn)在還是不知道怎么解決,但是我換了一個數(shù)據(jù)庫,所以。。。
- 一開始還有一個思路,花了很多時間,不過最后沒行的同,就是遞交8000條SNP到網(wǎng)上,然后網(wǎng)絡(luò)在線blast,得到結(jié)果后,解析網(wǎng)頁源碼,然后用python 提取信息,思路應(yīng)該正確,但是操作起來有點(diǎn)復(fù)雜。