本地blast,需要自行构建数据库。那么就要用到makeblastdb。这个命令很简单。
USAGE
makeblastdb [-h] [-help] [-in input_file] [-input_type type]
-dbtype molecule_type [-title database_title] [-parse_seqids]
[-hash_index] [-mask_data mask_data_files] [-mask_id mask_algo_ids]
[-mask_desc mask_algo_descriptions] [-gi_mask]
[-gi_mask_name gi_based_mask_names] [-out database_name]
[-max_file_sz number_of_bytes] [-logfile File_Name] [-taxid TaxID]
[-taxid_map TaxIDMapFile] [-version]
DESCRIPTION
Application to create BLAST databases, version 2.4.0+
Use '-help' to print detailed descriptions of command line arguments
建库命令如下:
makeblastdb -in IWGSC_v1.0_blastdb.fasta -dbtype nucl -title CS_v1.0_full -parse_seqids -out CS_v1.0_full
但是需要注意序列名字的问题,如果不注意,使用blastdbcmd调取目标序列时会出现问题。fasta格式中序列名字必须使用“|”隔开。比如序列原始名字是>chr1A ,则需要修改成>lcl|chr1A。这样就可以了,调取序列的命令是:
blastdbcmd -db CS_v1.0_full -entry chr1A -range 2-100 #因未写输出文件,默认输出到屏幕
>chr1A
TAAACCCTAAACCCTAAACCCTAAACCCTAAACCCCTAACCCTAAACCCTAACCAAAACCCTAAACCCTAAACCCCTAAA
CCCTAAACCCTAACCTAAA
如果不按上述修改名字,会出现 OID not found的错误。
当要调取的序列较大时可以将序列输出☞文件,见如下命令。然后
blastdbcmd -db /data2/Fshare/IWGSC_v1.0_Formatdb/CS_v1.0_merge -entry chr1A_part1 -range 100000-110000 -out result.fasta
scp mollab@192.168.3.253:/home/mollab/result.fasta ~/Desktop/ #此条命令需要在本机执行,不是在服务器端执行,并且需要输入密码,文件保存在你自己电脑的桌面上
|