# BlastTabularAdapter

Auto-generated from the config schema in the source — see the [config guide](https://jbrowse.org/jb2/docs/config_guide) for concepts. Provided by the `comparative-adapters` plugin. [View source](https://github.com/GMOD/jbrowse-components/blob/main/plugins/comparative-adapters/src/BlastTabularAdapter/configSchema.ts).

## Example usage

The default `columns` are BLAST's own `-outfmt 6` order, so a file produced
without custom columns needs only the two assemblies naming which side is
which:

```js
{
  type: 'SyntenyTrack',
  trackId: 'my_track',
  name: 'My track',
  assemblyNames: ['grape', 'peach'],
  adapter: {
    type: 'BlastTabularAdapter',
    uri: 'https://example.com/hits.tsv',
    assemblyNames: ['grape', 'peach'],
    queryAssembly: 'grape',
    targetAssembly: 'peach',
  },
}
```

### Example: custom outfmt

If you passed your own column list to `-outfmt`, repeat it here exactly.
`qseqid sseqid qstart qend sstart send` must be among them; the rest are read
where present:

```js
{
  type: 'SyntenyTrack',
  trackId: 'my_track',
  name: 'My track',
  assemblyNames: ['grape', 'peach'],
  adapter: {
    type: 'BlastTabularAdapter',
    uri: 'https://example.com/hits.tsv',
    assemblyNames: ['grape', 'peach'],
    columns: 'qseqid sseqid qstart qend sstart send evalue',
  },
}
```

Reads BLAST tabular output (`-outfmt 6` or `7`) as pairwise alignments
between a query and a target assembly.

## Related links

- **Track:** [SyntenyTrack](../syntenytrack)
- **Display:** [ChordSyntenyDisplay](../chordsyntenydisplay)
- **Display:** [DotplotDisplay](../dotplotdisplay)
- **Display:** [LGVSyntenyDisplay](../lgvsyntenydisplay)
- **Display:** [LinearMarkDisplay](../linearmarkdisplay)
- **Display:** [LinearSyntenyDisplay](../linearsyntenydisplay)
- **Display:** [MultiWaySyntenyDisplay](../multiwaysyntenydisplay)

## Config slots

These slots go inside the track's `adapter`: `"adapter": { "type": "BlastTabularAdapter", ... }`. It also accepts the [shorthand](https://jbrowse.org/jb2/docs/config_guides/file_types#the-uri-shorthand) keys `uri`, `baseUri` in place of writing a location slot out. Slot types (`fileLocation`, `frozen`, ...) are explained in the [config slot types reference](https://jbrowse.org/jb2/docs/config_guides/slot_types). Slots a base configuration contributes are listed here too, so this table is the whole surface.

| Slot | Description |
| --- | --- |
| **blastTableLocation**<br>[`fileLocation`](https://jbrowse.org/jb2/docs/config_guides/slot_types#filelocation) = <code>{ uri: '/path/to/blastTable.tsv', locationType: 'UriLocation' }</code> | location of the BLAST tabular output (`-outfmt 6` or `7`). Set `columns` to match if the run used a custom column list. |
| **columns**<br>[`string`](https://jbrowse.org/jb2/docs/config_guides/slot_types#string) = <code>'qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore'</code> | Optional space-separated column name list. If custom columns were used in outfmt, enter them here exactly as specified in the command. At least qseqid, sseqid, qstart, qend, sstart, and send are required |
| **assemblyNames**<br>[`stringArray`](https://jbrowse.org/jb2/docs/config_guides/slot_types#stringarray) = <code>[]</code> | Array of assembly names to use for this file. The query assembly name is the first value in the array, target assembly name is the second |
| **targetAssembly**<br>[`string`](https://jbrowse.org/jb2/docs/config_guides/slot_types#string) = <code>''</code> | Alternative to assemblyNames: the target assembly name |
| **queryAssembly**<br>[`string`](https://jbrowse.org/jb2/docs/config_guides/slot_types#string) = <code>''</code> | Alternative to assemblyNames: the query assembly name |

