在基因組注釋上,maker算是乙個很強大的分析流程。能夠識別重複序列,將est和蛋白序列比對到基因組,進行從頭**,並在最後整合這三個結果保證結果的可靠性。此外,maker還可以不斷訓練,最初的輸出結果可以繼續用作輸入訓練基因**的演算法,從而獲取更高質量的基因模型。
maker的使用比較簡單,在軟體安裝成後,會有乙個"data"資料夾存放測試資料
ls ~/opt/biosoft/maker/data
***_contig.fasta ***_est.fasta ***_protein.fasta hsap_contig.fasta hsap_est.fasta hsap_protein.fasta te_proteins.fasta
以"***"開頭的資料集為例,protein表示是同源物種的蛋白序列,est是表達序列標籤,存放的是片段化的cdna序列,而contig則是需要被**的基因組序列。
讓我們新建乙個資料夾,並將這些測試資料拷貝過來。
mkdir test01 ; cd test01
cp ~/opt/biosoft/maker/data/**** .
由於基因組注釋設計到多個程式,多個步驟,每個步驟可能都有很多引數需要調整,因此就需要建立專門的配置檔案用來告訴maker應該如何控制流程的執行。
如下步驟建立三個以ctl結尾的配置檔案
~/opt/biosoft/maker/bin/maker -ctl
ls *.ctl
maker_bopts.ctl maker_exe.ctl maker_opts.ctl
maker_exe.ctl和maker_bopt.ctl可以簡單用less檢視,可不做修改,maker_opt.ctl是主要調整的物件。 使用vim maker_opt.ctl
修改如下內容
genome=***_contig.fasta
est=***_est.fasta
protein=***_protein.fasta
est2genome=1
修改完之後多花幾分鐘看看每個引數的設定,儘管很枯燥,但是考慮這個工具你可能會反覆多次使用,所以這點時間是一定要花的。
隨後就可以在當前路徑執行程式
~/opt/biosoft/maker/bin/maker &> maker.log &
輸出結果見"***_contig.maker.output", 重點是"***_contig_master_datastore_index.log"檔案,由於maker會拆分資料集平行計算,因此該檔案記錄總體的運**況,需要關注其中是否有"failed","retry","skipped_samll","died_sipped_permanet",因為這意味著有些資料出於某些原因沒有運算。
最後,我們需要將並行運算的結果進行整合,匯出gff檔案, 轉錄本序列和蛋白序列
~/opt/biosoft/maker/bin/fasta_merge -d ***_contig_master_datastore_index.log
~/opt/biosoft/maker/bin/gff3_merge -d ***_contig_master_datastore_index.log
在該目錄下就會出現, "***_contig.all.gff", "***_contig.all.maker.proteins.fasta","***_contig.all.maker.transcripts.fasta"
其中gff檔案就需要用i**,jbrowse, apollo下展示來檢查下注釋是否正確。
先檢查下自己的系統情況,看需要補充哪些庫
tar xf maker-2.31.10.tgz
cd maker/src
perl build.pl
這一步之後會羅列出後續需要執行的命令來完成安裝
./build installdeps
./build installexes
./build install
./build status
使用MAKER進行基因注釋 基礎入門
在基因組注釋上,maker算是乙個很強大的分析流程。能夠識別重複序列,將est和蛋白序列比對到基因組,進行從頭 並在最後整合這三個結果保證結果的可靠性。此外,maker還可以不斷訓練,最初的輸出結果可以繼續用作輸入訓練基因 的演算法,從而獲取更高質量的基因模型。maker的使用比較簡單,在軟體安裝成...
R語言實現對基因組SNV進行注釋
很多時候,我們需要對取出的snv進行注釋,這個時候可能會在r上進行注釋,通常注釋檔案都含有chr 染色體 start 開始位點 end 結束位點 description 描述 而我們的snv檔案通常是擁有position 位置 因此我們可以先定位chr,再用postion去定位到start和end之...
Python 基礎 使用注釋
單行注釋 以 開頭,間隔乙個空格後開始寫說明 示例 這是乙個 python 列印字串的示例 print hello world 多行注釋 python 2.7 以前使用 3 個英文單引號,python 2.7 以後建議使用 3 個英文雙引號 示例 這是乙個多行注釋的示例 1 使用單引號 2 不推薦使...