美文网首页基因组
Blastdbcmd,makeblastdb,blastn.使用

Blastdbcmd,makeblastdb,blastn.使用

作者: 天骏 | 来源:发表于2017-08-10 16:34 被阅读0次

    blastdbcmd,makeblastdb,blastn.使用简介


    运行平台是 ubuntu 17.04


    1 blastdbcmd

    作用: Retrieves sequences or other information from a BLAST database

    它相当于以前的fastacmd.利用这个命令,可以从blast数据库中获得你想要的信息:

    例子0:

    `blastdbcmd -db refseq_rna -info`

    `blastdbcmd -db refseq_rna -info`

    可以查看数据库refseq_rna的信息

    例子1:

    `blastdbcmd -db refseq_rna -entry 224071016 -outtest.fa`

    `blastdbcmd -db refseq_rna -entry 224071016 -out test.fa`

    可以从数据库中提取除gi号为224071016的序列,并且以fasta格式存入文件(当然也可以以其它格式获得序列)

    注:

    gi ID是许多用来标志序列的标识符中的一种.是数据库文件中普遍使用,通行有效的保持索引的形式。所有来源于NCBI的序列都有一个gi号“gi|gi_identifier”.是绝对唯一的,而自己利用makeblastdb命令 构建的数据库中,利用以下三种标识符:

    gnl|database|identifier

    lcl|identifier

    identifier

    这些标识符的作用是区别于gi号在本数据库中,使得序列标识符唯一在查询和比对中分辨query序列与subject序列,

    更加详细的参数参照 blastdbcmd -help


    2 makeblastdb

    makeblastdb -ininput_file -dbtype molecule_type -input_type type_string -title database_title -parse_seqids -outdatabase_name -logfile File_Name

    makeblastdb -in input_file -dbtype molecule_type -input_type type_string -title database_title -parse_seqids -out database_name -logfile File_Name

    -in 后接输入文件,你要格式化的序列

    -dbtype 后接序列类型,nucl为核酸,prot为蛋白

    -title 给数据库的别名

    -input_type 给出输入文件的序列格式.

    -parse_seqids 将序列分列

    -out 后接数据库名,自己起一个有意义的名字,以后blast+搜索时要用到的-db的参数

    -logfile 日志文件,如果没有默认输出到屏幕

    更加详细的参数参照 makeblastdb -help


    3 blastn简单介绍

    作用: 核苷酸序列的比对以及结果分析

    例子0: 最简单的使用格式

    ```

    blastn -query test_query.fa -db refseq_rna -outtest_results

    blastn -query test_query.fa -db refseq_rna -out test_results

    ```

    例子1:

    ```

    blastdbcmd -db refseq_rna -entry nm_000249 -outtest_query.fa

    blastn -query test_query.fa -db refseq_rna -task blastn -dust no -outfmt 7 -num_alignments 2 -num_descriptions 2

    blastdbcmd -db refseq_rna -entry nm_000249 -out  test_query.fa

    blastn -query test_query.fa -db refseq_rna -task blastn -dust no -outfmt 7 -num_alignments 2 -num_descriptions 2

    ```

    -task 规定搜索采用的策略:可选为'blastn' 'blastn-short' 'dc-megablast'  'megablast' 'vecscreen'. 默认为`megablast'

    例子2: 常用的格式:

    blastn -db database_name -query input_file -outoutput_file -evalue evalue -max_target_seqs num_sequences -num_threads int_value -outfmt"7 qacc sacc evalue length pident"

    blastn -db database_name -query input_file -out output_file -evalue evalue -max_target_seqs num_sequences -num_threads int_value -outfmt "7 qacc sacc evalue length pident"

    -evalue 预期的从hit筛选hsp的阈值

    -outfmt 选择性输出的一些内容. 如 : 7 代表查询结果表格化并且带有注释行. 而 qacc 以及 sacc等则是自定义的所需的信息.可供选择的信息选项详见 -outfmt参数.-outfmt直接触发分析程序,而不用另外使用分析程序了.

    更加详细的参数参照 blastn -help


    经过观察发现: 用于blastn的query序列使用 fasta格式即可. 而数据库则不能直接使用fasta格式.而且数据库实际上是一个文件夹,而非单个文件.

    可以使用makeblastdb将fasta格式的文件转化为数据库

    另一方面可以用blastdbcmd从数据库中获取信息


    makeblastdb,blastdbcmd,blastn使用示例:

    现有fasta文件test.fasta

    注意:自己生成的数据库中序列命名有以下三种形式:

    a) > gnl|database|identifier

    b) > lcl|identifier

    c)  > identifier

    1 makeblastdb使用示例:

    1)用命令将test.fasta转化为数据库test_db:makeblastdb -in test.fasta -dbtype nucl -title ctjsw -parse_seqids -out test_db

    ```

    ctjsw@xps:~/blast-lastest$ makeblastdb -intest.fasta -dbtype nucl -title ctjsw -parse_seqids -outtest_db

    ctjsw@xpsp:~/blast-lastest$ makeblastdb -in test.fasta -dbtype nucl -title ctjsw -parse_seqids -out test_db

    ```

    2)格式化数据库后,创建三个主要的文件——库索引(indices),序列(sequences)和头(headers)文件。生成的文件的扩展名分别是:.pin、.psq、.phr(对蛋白质序列)或.nin、.nsq、.nhr(对核酸序列)。而其他的序列识别符和索引则包含在.psi和.psd(或.nsi和.nsd)中。

    该示例是核苷酸所以生成的数据库文件是: .nin , .nsq ,nhr , .nsi ,.nsd ,.nog


    2 blastdbcmd使用示例

    1)查看生成的test_db数据库的信息

    ```

    ctjsw@xps:~/blast-lastest$ blastdbcmd -db test_db -info

    ctjsw@xps:~/blast-lastest$ blastdbcmd -db test_db -info

    ```

    Database: nr

    3 sequences; 1,029 total bases

    Date: May 19, 2011  5:56 PM Longest sequence: 389 bases

    Volumes:  /home/ctjsw/blast-lastest/test_db

    2)从test_db中抽取一段 数据库的序列(seq1),并以fasta形式显示

    ```

    $ctjsw@xps:~/blast-lastest$ blastdbcmd -db test_db -entry seq1

    $ctjsw@xps:~/blast-lastest$ blastdbcmd -db test_db -entry seq1

    ```

    >lcl|seq1

    ATGTTCAACGCGAAGAACGGTTTTTCTGAGGCACACGTGAGGGGATGTCAGACCAAACGACTCACCAAACAGAACTACGC

    CGAACTTTCTCGATGTGACACGTTGGAAGACATCAAGACGTACTTGCAAACGATGAGTGATTATTCAGAATATGTTCGTG

    ATCTTCAAGCGCCAGTGAGACCGGTTGACATTATTGAATGCTGCAGAAAGAGACAGATCGCAGAGTTTAATATTTGCTGT

    CAGCAGGCTTCTTCCCCTTTGTCCAATTTTTTGGAGTATTTGACGTACGGATACATGATCGATAATCTTGTGTTGGCTTT

    test_db是自定义的数据库.利用自己的标识符"seq1",可以成功抽取了在数据库中标识符为 lcl|seq1 的序列.

    在使用下载的数据库时同样可以使用gi ID 抽取序列.

    3)将抽取的序列以fasta格式保存到 test_query文件

    ```

    ctjsw@xps:~/blast-lastest$ blastdbcmd -db test_db -entry seq1 -out test_query

    ctjsw@xps:~/blast-lastest$ blastdbcmd -db test_db -entry seq1 -out test_query

    ```

    3 blastn使用示例.

    1)利用上面生成 fasta格式的 test_query与 自定义的数据库 test_db进行比对.

    ```

    ctjsw@xps:~/blast-lastest$ blastn -query test_query -db test_db

    ctjsw@xps:~/blast-lastest$ blastn -query test_query -db test_db

    ```

    2)选定模式进行输出

    ```

    ctjsw@xps:~/blast-lastest$ blastn -query test_query -db test_db -task blastn -dust no -outfmt 7 -num_alignments 2 -num_descriptions 2

    ctjsw@xps:~/blast-lastest$ blastn -query test_query -db test_db -task blastn -dust no -outfmt 7 -num_alignments 2 -num_descriptions 2

    ```

    # 1 hits found

    lcl|seq1 seq1 100.00 320 0 0 1 320 1 320 2e-169 578

    相关文章

      网友评论

        本文标题:Blastdbcmd,makeblastdb,blastn.使用

        本文链接:https://www.haomeiwen.com/subject/vxwhrxtx.html