分享

makeblastdb注意事项

 zhuqiaoxiaoxue 2017-09-22

本地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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

建库命令如下:

makeblastdb -in IWGSC_v1.0_blastdb.fasta -dbtype nucl -title CS_v1.0_full -parse_seqids -out CS_v1.0_full
  • 1

但是需要注意序列名字的问题,如果不注意,使用blastdbcmd调取目标序列时会出现问题。fasta格式中序列名字必须使用“|”隔开。比如序列原始名字是>chr1A ,则需要修改成>lcl|chr1A。这样就可以了,调取序列的命令是:

blastdbcmd -db CS_v1.0_full -entry chr1A -range 2-100  #因未写输出文件,默认输出到屏幕
>chr1A 
TAAACCCTAAACCCTAAACCCTAAACCCTAAACCCCTAACCCTAAACCCTAACCAAAACCCTAAACCCTAAACCCCTAAA
CCCTAAACCCTAACCTAAA
  • 1
  • 2
  • 3
  • 4

如果不按上述修改名字,会出现 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/ #此条命令需要在本机执行,不是在服务器端执行,并且需要输入密码,文件保存在你自己电脑的桌面上
  • 1
  • 2

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多