一: 軟件安裝
由于BRAKER2: 依賴AUGUSTUS 3.3, GeneMark-EX 4.33, BAMTOOLS 2.5.1, NCBI BLAST+ 2.2.31+(可選 SAMTOOLS 1.74+, GenomeThreader 1.70),且Perl需要安裝的模塊也很多,我們用conda能解決這些問題(需要添加bioconda頻道)。
GeneMark-ET 4.46
Spaln 2.3.1
(https://github.com/Gaius-Augustus/BRAKER#f9)
(https://github.com/Gaius-Augustus/BRAKER#f10)
(https://github.com/Gaius-Augustus/BRAKER#g3)
NCBI BLAST+ 2.2.31+
(https://github.com/Gaius-Augustus/BRAKER#f13)
DIAMOND 0.9.24
cdbfasta 0.99
cdbyank 0.981
conda install -y braker2
除了conda能夠安裝的以上軟件,還有的需要手動安裝。
比如一定要安裝的就是GeneMark,需要從 http://exon.gatech.edu/GeneMark/license_download.cgi 下載安裝,然后添加環(huán)境變量。
export GENEMARK_PATH=/path_to/gm_et_linux_64
另外就是:
DIAMOND 0.9.24: 替代NCBI-BLAST+
cdbfasta 0.99: 糾正AUGUSTUS預測的開放閱讀框內(nèi)內(nèi)含有終止密碼子的基因
cdbyank 0.981: 糾正AUGUSTUS預測的開放閱讀框內(nèi)內(nèi)含有終止密碼子的基因
GenomeThreader: 僅在你需要用蛋白數(shù)據(jù)進行注釋時,才需要
安裝好之后加入環(huán)境:
export CDBTOOLS_PATH=/path_to/cdbfasta/
這里是braker2的github網(wǎng)址
安裝完成之后,建議現(xiàn)運行下面這一步檢查軟件依賴:
$braker.pl --checkSoftware
#**********************************************************************************
# BRAKER CONFIGURATION
#**********************************************************************************
# BRAKER CALL: /data1/spider/ytbiosoft/miniconda3/envs/python3/bin/braker.pl --checkSoftware
# Wed Dec 11 00:35:30 2019: braker.pl version 2.1.4
# Wed Dec 11 00:35:30 2019: Configuring of BRAKER for using external tools...
# Wed Dec 11 00:35:30 2019: Found environment variable $AUGUSTUS_CONFIG_PATH. Setting $AUGUSTUS_CONFIG_PATH to /data1/spider/ytbiosoft/miniconda3/envs/python3/config/
# Wed Dec 11 00:35:30 2019: Found environment variable $AUGUSTUS_BIN_PATH. Setting $AUGUSTUS_BIN_PATH to /data1/spider/ytbiosoft/miniconda3/envs/python3/bin/
# Wed Dec 11 00:35:30 2019: Found environment variable $AUGUSTUS_SCRIPTS_PATH. Setting $AUGUSTUS_SCRIPTS_PATH to /data1/spider/ytbiosoft/miniconda3/envs/python3/bin/
# Wed Dec 11 00:35:30 2019: Found environment variable $GENEMARK_PATH. Setting $GENEMARK_PATH to /data1/spider/ytbiosoft/soft/gm_et_linux_64
# Wed Dec 11 00:35:30 2019: Found environment variable $DIAMOND_PATH. Setting $DIAMOND_PATH to /data1/spider/ytbiosoft/soft/Diamond-master/bin/
# Wed Dec 11 00:35:30 2019: Found environment variable $PYTHON3_PATH. Setting $PYTHON3_PATH to /data1/spider/ytbiosoft/miniconda3/envs/python3/bin/
# Wed Dec 11 00:35:30 2019: Found environment variable $CDBTOOLS_PATH. Setting $CDBTOOLS_PATH to /data1/spider/ytbiosoft/soft/cdbfasta-master
# Wed Dec 11 00:35:30 2019: Exiting braker.pl because it had been started with --softwareCheck option. No training or prediction or file format check will be performed.
二:軟件運行
BRAKER根據(jù)數(shù)據(jù)類型,有不同的運行模式,但根據(jù)現(xiàn)狀其實最常見的情況是測了一個基因組,并且還測了二代的轉錄組,或許還有一些近緣物種的蛋白序列。
- 基因組序列: genome.fasta
- 轉錄組數(shù)據(jù): XX_1.fq.gz, XX_2.fq.gz
- 蛋白序列: proteins.fa
1. 第一步: 屏蔽基因組中的重復序列,這一步參考使用RepeatModeler和RepeatMasker注釋基因組重復序列
/path/to/RepeatMasker -xsmall -lib MITE_LTR.lib -dir . $REFERECE
#-xsmall: 軟屏蔽
這一步輸出的genome.fasta.masked將是后續(xù)注釋的輸入
2. 第二步: 使用STAR將FastQ比對到參考基因組,STAR使用說明參考「RNA-seq分析軟件」RNA-seq比對工具STAR學習筆記
mkdir -p STAR
# 建立索引
STAR \
--runThreadN 20 \
--runMode genomeGenerate \
--genomeDir STAR \
--genomeFastaFiles genome.fasta
# 比對
STAR \
--genomeDir STAR \
--runThreadN 20 \
--readFilesIn XX_1.fq.gz, XX_2.fq.gz \
--readFilesCommand zcat \
--outFileNamePrefix xx_ \
--outSAMtype BAM SortedByCoordinate \
--outBAMsortingThreadN 10 \
--outSAMstrandField intronMotif \
--outFilterIntronMotifs RemoveNoncanonical
mv xx_Aligned.sortedByCoord.out.bam xx.bam
# 建立索引
--runThreadN 線程數(shù) :設置線程數(shù)
--runMode genomeGenerate : 設置模式為構建索引
--genomedDir 索引文件存放路徑 : 必須先創(chuàng)建文件夾
--genomeFastaFiles 基因組fasta文件路徑 : 支持多文件路徑
--sjdbGTFfile gtf文件路徑 : 可選項,高度推薦,用于提高比對精確性
--sjdbOverhang 讀段長度: 后續(xù)回帖讀段的長度, 如果讀長是PE 100, 則該值設為100-1=99
********************************************************************************************
* 由于物種的組裝的復雜性,存在一些為組裝上的片段,這些片段不需要放在參考序列中,尤其是可變單倍型(alternative haplotypes)
* 如果基因組的contig過多,超過5000,你需要用 `--genomeChrBinNbits=min(18,log2[max(GenomeLength/NumberOfReferences,ReadLength)])`降低RAM消耗
* 選擇最新的注釋文件,人類和小鼠常在[http://www.gencodegenes.org](http://www.gencodegenes.org/)下載,植物的可信基因組見[http://plants.ensembl.org](http://plants.ensembl.org/)
* 如果沒有設置`--sjdbGTFfile`或`--sjdbFileChrStartEnd`,就不需要設置`--sjdbOverhang`
******************************************************************************************
# 比對
--runThreadN 設置線程數(shù)
--runMode alignReads : 默認就是比對模式,可以不填寫
--genomeDir: 索引文件夾
--readFilesIn FASTA/Q文件路徑
--readFilesCommand zcat: 如果輸入格式是gz結尾,那么需要加上zcat, 否則會報錯
--outSAMtype: 輸出SAM文件的格式,是否排序
--outBAMsortingThreadN: SAM排序成BAM時調用線程數(shù)
*****************************************************************************************
可以用--outFileNamePrefix指定文件夾和前綴,其中"Aligned.out.sam"是默認回帖后輸出。一般而言,SAM文件過大,不方便后續(xù)使用,我們更需要的是BAM文件。最好是類似于samtools sort的輸出文件,那么設置參數(shù)為--outSAMtype BAM SortedByCoordinate。 如果你設置的線程數(shù)非常大,那么你很有可能會遇到如下這種報錯,我的解決方案就是降低線程數(shù)。
輸入結果為 xx.bam 如果測了多個組裝的轉錄組,為每個樣本運行一次比對生成多個BAM文件。
第三步: 運行BRAKER2
braker.pl --cores 48 --species=yourSpecies --genome=genome.fasta.masked \
--softmasking --bam=xx.bam \
--prot_seq=proteins.fa --prg=exonerate \
--gff3
proteins.fa:近緣物種的蛋白序列
最終會輸出蛋白序列和CDS序列以及GFF文件。
參考: