第一步:利用BLAST作比对
下载NCBI的nr数据库
NCBI的nr数据库一般可以从ftp://ftp.ncbi.nih.gov/blast/db/ 下载,里面nr库有两种格式,一种是原始的nr蛋白序列,另外一种是经过formatdb处理过的,下面介绍的是下载已经formatdb过的序列:
wget ftp://ftp.ncbi.nih.gov/blast/db/nr.00.tar.gz
wget ftp://ftp.ncbi.nih.gov/blast/db/nr.01.tar.gz
wget ftp://ftp.ncbi.nih.gov/blast/db/nr.02.tar.gz
wget ftp://ftp.ncbi.nih.gov/blast/db/nr.03.tar.gz
wget ftp://ftp.ncbi.nih.gov/blast/db/nr.04.tar.gz
将nr.*解压缩,解压缩完之后就可以直接使用。
12345 tar -zxvf nr.00.tar.gztar -zxvf nr.01.tar.gztar -zxvf nr.02.tar.gztar -zxvf nr.03.tar.gztar -zxvf nr.04.tar.gz
使用blastx做alignment (nr database是protein)
blastall -p blastx -i input_filename -d nr -e 1e-6 -m 7 -o output_filename
<备注一> 由于annotation的input file的格式须为.xml档,所以output format 须设为 7 。
<备注二> 目前做annotation的blast e-value threshold 均设为1e-6。
<备注三>由于nr数据库很大,所以建议运行的时候根据系统cpu数据加上参数 -a 4,表示用4个cpu同时运算,
第二步:安裝B2G4PIPE
下载B2G4PIPE (http://www.blast2go.org/downloads)
wget http://www.blast2go.org/_media/b2g4pipe235.tar.gz
解压缩B2G4PIPE
tar -zxvf b2g4pipe235.tar.gz
第三步:安装blast2GO的local database
先到NCBI的網站下載GO的database
wget http://archive.geneontology.org/latest-full/go_<YYYYMM>-assocdb-data.gz <其中YYYY是年分,MM是月份>
wget ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene_info.gz
wget ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene2accession.gz
wget ftp://ftp.pir.georgetown.edu/databases/idmapping/idmapping.tb.gz
下载Local Blast2GO Database Installation 的相关资料 (from http://www.blast2go.org/localgodb)
wget http://www.blast2go.org/_media/local_b2g_db_tutorial_0809.tar.gz
解压缩文件
gzip -d go_201105-assocdb-data.gz
gzip -d gene_info.gz
gzip -d gene2accession.gz
gzip -d idmapping.tb.gz
tar -zxvf local_b2g_db_tutorial_0809.tar.gz
建立db的table
mysql -h$dbhost -u$dbuser -p$dbpass $dbname < b2g_db.sql
将数据导入到the GO Database
mysql -h$dbhost -u$dbuser -p$dbpass $dbname < go_201105-assocdb-data
mysql -h$dbhost -u$dbuser -p$dbpass $dbname -e"LOAD DATA LOCAL INFILE '$path"/gene2accession"' INTO TABLE gene2accession FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';"
mysql -h$dbhost -u$dbuser -p$dbpass $dbname -e"LOAD DATA LOCAL INFILE '$path"/gene_info"' INTO TABLE gene_info FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';"
This is server sided and works only with mysql file previleges
mysqlimport -h$dbhost -u$dbuser -p$dbpass $dbname --fields-terminated-by='\t' /your/path/to/gene2accession
mysqlimport -h$dbhost -u$dbuser -p$dbpass $dbname --fields-terminated-by='\t' /your/path/to/gene_info
Alternatively you can download the latest blast2go4pipe distribution and start the import form the command line
java -cp ./your/path/to/blast2go.jar:./your/path/to/b2g/ext/mysql-connector-java-3.0.11-stable-bin.jar es.blast2go.prog.util.ImportPIR idmapping.tb localhost b2g $dbuser $dbpass
第四步:运行b2gPipe
修改b2gPipe.properties里面的资料
Dbacces.dbhost=localhost
Dbacces.dbname=b2g
Dbacces.dbuser=使用者用户名
Dbacces.dbpasswd=使用者密码
开始annotation
java -jar blast2go.jar -in alignment_result.xml -a -v -out annot_result
使用UniGene做Annotation
基因注解可透过其他物种已知的基因来协助,一个途径是透过NCBI的Unigene,这是一个关于mRNA、EST、transcript的资料库。可从其FTP站下载许多物种的transcript。
植物界的基因注释,由于Arabidopsis和rice注释信息比较完整。以Arabidopsis为例,可以透过blast把定序出来的mRNA与 Arabidopsis的transcripts, 做alignment即可得到初步的信息
wget ftp://ftp.ncbi.nih.gov/repository/UniGene/Arabidopsis_thaliana/At.seq.uniq.gz
cat At.seq.uniq | cut -f 3-6 -d '=' | cut -f 2 -d '.' | cut -f 1 -d ' ' | sed 's/\([0-9]\)/>At.\1/'
makeblastdb -in At.seq.uniq.trim -dbtype 'nucl' -hash_index -parse_seqids -out At
blastn -query Total_Contigs.seq -db At -task dc-megablast -evalue 0.0001 -outfmt 6 -out Bamboo.At.unigene