Main Content


Create options for BLAST query program

Since R2024a



    blastOpts = blastplusoptions(queryProgram) creates a BLAST+ [1][2] options object blastOpts for the specified queryProgram.

    blastOpts = blastplusoptions(queryProgram,Name=Value) sets the corresponding object properties using one or more name-value arguments. For the complete list of options objects, see the blastOpts output argument description. Then go to the object page to see the corresponding properties. For example, blastOpts = blastplusoptions("blastn",ReportFormat="BLASTXML") specifies to report the search results in the BLAST XML format.

    blastOpts = blastplusoptions(queryProgram,S) specifies optional parameters using a string or character vector S. For example, blastOpts = blastplusoptions("blastn","-dbsize 50") sets the effective database size to 50.


    collapse all

    Download some paired-end sequencing data in the FASTA format using the accession run number SRR26273031.

    databaseFasta = srafasterqdump("SRR26273031",FastaOutput=true)

    Create a local nucleotide database using the downloaded FASTA file. Specify "SRR26273031_nucl_db" as the base name of the output database. When creating the database, the function also generates multiple index files with the same base name. The blastplus function uses these index files automatically when you search the database later in this example.


    You can also specify additional database creation options using a MakeDatabaseOptions object. For instance, specify the title of the database.

    dbopts = bioinfo.blastplus.MakeDatabaseOptions;
    dbopts.Title = "SRR26273031_Nucleotide_DB"
    dbopts = 
      MakeDatabaseOptions with properties:
       Default properties:
            ExtraCommand: ""
              IncludeAll: 0
               InputType: "fasta"
        ParseSequenceIDs: 0
                 Version: "2.14.0"
       Modified properties:
                   Title: "SRR26273031_Nucleotide_DB"

    You can then use the options object to make the database.


    Alternatively, you can use specify options, such as the title of the database, by using name-value arguments. For example:


    To reset the property values to their default values, use the reset function.

    dopts2 = reset(dbopts)
    dopts2 = 
      MakeDatabaseOptions with properties:
       Default properties:
            ExtraCommand: ""
              IncludeAll: 0
               InputType: "fasta"
        ParseSequenceIDs: 0
                   Title: [1×0 string]
                 Version: "2.14.0"
       Modified properties:
        No properties.

    Search the database using the FASTA file queryFile.fasta containing two nucleotide query sequences. This file is provided with the toolbox. Use the blastn query program which lets you search nucleotide queries against a nucleotide database. Specify "search1" as the name of the output report file. By default, the report file format is the traditional BLAST pairwise format. This format presents each query-subject pair alignment in detail.


    Open the file to review the search results. The first query sequence returns no hits, while the second query sequence returns multiple hits.

    open search1;

    You can also modify search options by creating a corresponding options object for the blastn query program. Use blastplusoptions or bioinfo.blastplus.*Options to create the options object. For instance, change the report format to an XML format.

    bnopts = blastplusoptions("blastn"); % Or use bioinfo.blastplus.BLASTNOptions
    bnopts.ReportFormat = "BLASTXML";
    open search2_xml;

    Alternatively, you can set the value of a property of the options object, such as ReportFormat, using name-value argument syntax. For example:


    You can use other query programs to search the database. For instance, use tblastx to search translated nucleotide queries against a translated nucleotide database. Both query sequences return hits for this search. Use the compact tabular format for the report. For details about the generated columns and other report formats, see ReportFormat.

    open search3_tab;

    Delete the reports and downloaded FASTA file.

    delete search1 search2_xml search3_tab SRR26273031.fasta

    Input Arguments

    collapse all

    Search query program, specified as one of the following:

    • "blastn" — Search a nucleotide query against a nucleotide database.

    • "blastp" — Search a protein query against a protein database.

    • "blastx" — Translate a nucleotide query and search it against a protein database.

    • "tblastn" — Search a protein query against a translated nucleotide database.

    • "tblastx" — Search a translated nucleotide query against a translated nucleotide database.

    Data Types: char | string

    BLAST+ options, specified as a character vector or string scalar. S must be in the native syntax (prefixed by one dash).

    Example: '-dbsize 50'

    Output Arguments

    collapse all


    [1] Camacho, Christiam, George Coulouris, Vahram Avagyan, Ning Ma, Jason Papadopoulos, Kevin Bealer, and Thomas L Madden. “BLAST+: Architecture and Applications.” BMC Bioinformatics 10, no. 1 (December 2009): 421.

    [2] “BLAST: Basic Local Alignment Search Tool.”

    Version History

    Introduced in R2024a