IgBLAST API
Annotate antibody and T cell receptor sequences against germline V, D and J genes.
IgBLAST is NCBI's aligner for immunoglobulin and T cell receptor variable domains. It reports the top germline V, D, J and constant-region matches for each query, the rearrangement summary (chain type, stop codons, V-J frame, productivity), the V-D and D-J junction details with their N/P nucleotides, and the framework and complementarity determining regions under either the IMGT or the Kabat delineation. Nucleotide queries run through igblastn and protein queries through igblastp; a nucleotide run also writes the AIRR Rearrangement TSV and, on request, a clonotype summary of the whole repertoire.
Input method
Set input_mode to choose how inputs are supplied. Only fields for the selected method are used.
text: Enter sequence or FASTAupload: Upload sequence or FASTA
Example presets
Send {"preset": "human_igh_airr"} to load an example and its bundled inputs. Add other request fields to override its settings. The schema includes all presets under tool.presets.
| preset | Description |
|---|---|
human_igh_airr | Y14934, the human rearranged heavy chain NCBI's own IgBLAST web service names as its example accession, against the AIRR-C human germline set and the NCBI human constant-region genes. Leaves the AIRR rearrangement table alongside the flat query-anchored report. Source ↗ |
human_rf_repertoire | Five rheumatoid factor heavy chains from the same GenBank submission as the example accession (Y14934-Y14938), annotated together so the run also writes a clonotype summary: the IgG1 pair share a V(D)J assignment and differ only in CDR3, which is what puts them in clonotypes of their own. Source ↗ |
mouse_igh_report | The mouse igblastn example from the IgBLAST cookbook -- NCBI's mouse_gl_V, mouse_gl_D and mouse_gl_J with the mouse auxiliary file, -show_translation and -outfmt 3 -- run against X67210, a BALB/c hybridoma IgG2b heavy chain mRNA that carries its constant region as well as the rearranged V(D)J. Source ↗ |
mouse_vh_protein | The igblastp example from the IgBLAST cookbook -- mouse_gl_V, -organism mouse, -outfmt 3 -- on the V domain of the same X67210 heavy chain. A protein query aligns against germline V genes only, so there is no D, J, junction or AIRR table for it. Source ↗ |
Fields
The same names the web form posts. See the field type table for what each kind means over HTTP.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
job_name
|
string text | no | igblast-demo |
Job name Names the files this run leaves: <job name>.airr.tsv, <job name>.igblast.txt and <job name>.clonotypes.txt. up to 80 characters. |
sequence_type
|
string select | no | nucleotide |
Query type
igblastn aligns a rearranged nucleotide sequence against V, D and J germline genes and can also call the constant region. igblastp aligns a translated V domain against germline V genes only: D, J, C, the junction and the AIRR table do not apply to it.
In this form: One field chooses the program, because IgBLAST ships the two as separate executables.
One of:
nucleotide, protein.
|
input_fasta
|
string textarea | yes | >Y14934.1 Homo sapiens mRNA for IgG1 rheumatoid factor immunoglobulin heavy chain
GGGGGAGG … |
Query sequence or FASTA One bare sequence (line wrapping allowed) or FASTA records with unique headers; every record is annotated independently. Nucleotide queries accept A, C, G, T, U and the IUPAC ambiguity letters; protein queries accept the amino-acid letters. Up to 5000 records and 400,000 characters per run. In this form: IgBLAST's -query takes a file; what you enter here is written to query.fasta inside the isolated run directory. A designed sequence from an earlier ProteinMPNN, LigandMPNN, AbMPNN or AntiFold run can be dropped in whole from the picker above; those write amino acids, so set the query type to protein. up to 400000 characters. |
inputs_file
|
string file | no | — |
Query file Upload a FASTA file, or a plain-text sequence. The file's text is sent to the compute node and used exactly as if it had been typed above. file types .fasta,.fa,.fna,.faa,.fas,.seq,.txt. |
organism
|
string select | no | human |
Organism
IgBLAST's -organism. Chooses the internal annotation data that places the framework and CDR boundaries, so it has to match the germline databases below. Ig is supported for human, mouse, rat, rabbit and rhesus monkey; TCR only for human and mouse.
One of:
human, mouse, rat, rabbit, rhesus_monkey.
|
ig_seqtype
|
string select | no | Ig |
Receptor type
IgBLAST's -ig_seqtype. TCR needs TCR germline databases, which NCBI does not distribute prebuilt: build them from IMGT with bin/edit_imgt_file.pl and bin/makeblastdb, and point IGBLAST_GERMLINE_ROOT at them.
One of:
Ig, TCR.
|
germline_db_v
|
string select | no | auto |
Germline V database
IgBLAST's -germline_db_V. Automatic picks NCBI's recommended prebuilt set for the organism above: the AIRR-C set for human, NCBI's own set for mouse and rhesus monkey. Any BLAST database installed under the germline root can be chosen instead.
One of:
auto, airr_c_129S1_SvImJ.V, airr_c_AKR_J.V, airr_c_A_J.V, airr_c_BALB_c_ByJ.V, airr_c_C3H_HeJ.V, airr_c_C57BL_6.V, airr_c_C57BL_6J.V, airr_c_CAST_EiJ.V, airr_c_CBA_J.V, airr_c_DBA_1J.V, airr_c_DBA_2J.V, airr_c_LEWES_EiJ.V, airr_c_MRL_MpJ.V, airr_c_MSM_MsJI.V, airr_c_NOD_ShiLtJ.V, airr_c_NOR_LtJ.V, airr_c_NZB_BlNJ.V, airr_c_PWD_PhJ.V, airr_c_SJL_J.V, airr_c_balbc.V, airr_c_human_ig.V, mouse_gl_V, rhesus_monkey_V.
|
germline_db_d
|
string select | no | auto |
Germline D database
IgBLAST's -germline_db_D, for nucleotide queries only. Light-chain and TCR alpha/gamma rearrangements have no D segment and IgBLAST simply reports none, so leaving this on Automatic is safe for a mixed repertoire.
One of:
auto, (empty), airr_c_human_igh.D, mouse_gl_D.
|
germline_db_j
|
string select | no | auto |
Germline J database
IgBLAST's -germline_db_J, for nucleotide queries only. The auxiliary coding-frame file is keyed to the J genes, so the CDR3 end and FWR4 are only annotated when the two agree.
One of:
auto, (empty), airr_c_human_ig.J, mouse_gl_J, rhesus_monkey_J.
|
c_region_db
|
string select | no | auto |
Constant region database
IgBLAST's -c_region_db, for nucleotide queries only. Identifies the isotype when the query runs into the constant region. NCBI distributes a prebuilt set for human only, so Automatic leaves it unset for every other organism.
In this form: A query that stops at the end of the J segment, as most V(D)J amplicons do, has no constant region to call and reports an empty c_call.
One of:
auto, (empty), ncbi_human_c_genes.
|
domain_system
|
string select | no | imgt |
Domain delineation
IgBLAST's -domain_system: which numbering convention the framework and complementarity determining regions are cut at.
One of:
imgt, kabat.
|
show_translation
|
boolean checkbox | no | true |
Show translated alignments IgBLAST's -show_translation. Prints the amino-acid translation above the nucleotide alignment in the readable report. Nucleotide queries only. |
extend_align5end
|
boolean checkbox | no | false |
Extend V alignment at the 5' end IgBLAST's -extend_align5end. Forces the V alignment out to the start of the query, which recovers the first framework residues of a read beginning inside FR1. |
extend_align3end
|
boolean checkbox | no | false |
Extend J alignment at the 3' end IgBLAST's -extend_align3end. Forces the J alignment out to the end of the query. |
min_v_length
|
number number | no | 9 |
Minimum V length IgBLAST's -min_V_length: shorter V alignments are not reported. Default 9. minimum 9, maximum 1000. |
min_j_length
|
number number | no | 0 |
Minimum J length IgBLAST's -min_J_length: shorter J alignments are not reported. Default 0, meaning no minimum. Nucleotide queries only. minimum 0, maximum 1000. |
min_d_match
|
number number | no | 5 |
Minimum D match IgBLAST's -min_D_match: the consecutive nucleotide bases a D gene must match to be called. Raise it to suppress the spurious short D hits a hypermutated junction attracts. Nucleotide queries only. minimum 5, maximum 100. |
v_penalty
|
number number | no | -1 |
V mismatch penalty IgBLAST's -V_penalty. Default -1, which tolerates the somatic hypermutation a matured V segment carries. minimum -3, maximum -1. |
d_penalty
|
number number | no | -2 |
D mismatch penalty IgBLAST's -D_penalty. Default -2. Nucleotide queries only. minimum -4, maximum -1. |
j_penalty
|
number number | no | -2 |
J mismatch penalty IgBLAST's -J_penalty. Default -2. Nucleotide queries only. minimum -3, maximum -1. |
allow_vdj_overlap
|
boolean checkbox | no | false |
Allow V(D)J genes to overlap IgBLAST's -allow_vdj_overlap. Active only when the D and J mismatch penalties are set to -4 and -3; a run that asks for it without them is refused rather than silently ignoring the option. |
write_airr
|
boolean checkbox | no | true |
Write the AIRR rearrangement table Runs IgBLAST with -outfmt 19 and keeps the result as <job name>.airr.tsv: one row per query with the V, D, J and C calls, the junction, every FWR and CDR, and the per-segment alignment coordinates, under the AIRR Rearrangement schema. This is the file offered at the top of the results page. Nucleotide queries only. |
report_format
|
string select | no | 3 |
Readable report format
IgBLAST's -outfmt for the readable report kept as <job name>.igblast.txt. Format 3 is IgBLAST's own default and the one its documented examples use.
One of:
3, 4, 7, (empty).
|
num_alignments_v
|
number number | no | 3 |
V alignments to report IgBLAST's -num_alignments_V: germline V genes shown per query in the readable report. Default 3. minimum 0, maximum 100. |
num_alignments_d
|
number number | no | 3 |
D alignments to report IgBLAST's -num_alignments_D. Default 3. Nucleotide queries only. minimum 0, maximum 100. |
num_alignments_j
|
number number | no | 3 |
J alignments to report IgBLAST's -num_alignments_J. Default 3. Nucleotide queries only. minimum 0, maximum 100. |
num_alignments_c
|
number number | no | 2 |
C alignments to report IgBLAST's -num_alignments_C. Default 2. Only used when a constant region database is selected. minimum 0, maximum 100. |
num_clonotype
|
number number | no | 100 |
Top clonotypes to report IgBLAST's -num_clonotype, written to <job name>.clonotypes.txt through -clonotype_out. A clonotype groups the queries sharing their V(D)J calls, productivity and CDR3. Set to 0 to skip the clonotype pass. Nucleotide queries only. minimum 0, maximum 100000. |
evalue
|
string text | no | — |
E-value threshold IgBLAST's -evalue. Leave empty for the program's own default: 20 for igblastn, 1 for igblastp. up to 32 characters. |
word_size
|
string text | no | — |
Word size IgBLAST's -word_size, the length of the best perfect match the word finder seeds on. Leave empty for the program's default; the minimum is 4 for nucleotide queries and 2 for protein. up to 8 characters. |
gapopen
|
string text | no | — |
Gap open cost IgBLAST's -gapopen. Leave empty for the program's default. up to 8 characters. |
gapextend
|
string text | no | — |
Gap extend cost IgBLAST's -gapextend. Leave empty for the program's default. up to 8 characters. |
strand
|
string select | no | both |
Query strand
IgBLAST's -strand. Default both, which is what lets IgBLAST report a reverse-complemented read and set rev_comp in the AIRR table. Nucleotide queries only.
One of:
both, plus, minus.
|
num_threads
|
number number | no | 4 |
Threads IgBLAST's -num_threads. Default 4. minimum 1, maximum 32. |
A request that runs
These are the defaults, exactly as the web form would post them.
curl -X POST https://athanortools.com/api/igblast/ \
-H 'Content-Type: application/json' \
-d '{
"input_mode": "text",
"job_name": "igblast-demo",
"sequence_type": "nucleotide",
"input_fasta": ">Y14934.1 Homo sapiens mRNA for IgG1 rheumatoid factor immunoglobulin heavy chain\nGGGGGAGGCCTGGTCAAGCCTGGGGGGTCCCTGAGACTCTCCTGTGCAGCCTCTGGATTCCCCTTCAGTA\nACTACACCATGCACTGGGTCCGCCAGGCTCCAGGGAAGGGGCTGGAGTGGGTCTCATCCATTACTAGTAG\nTAGTAGTTACAGATATTACGCAGACTCAGTGGAGGGCCGATTCACCATCTCCAGAGACAACGCCAAGAAC\nTCACTGTATCTGCAAATGAACAGCCTGAGAGCCGAGGACACGGCTGTGTATTTCTGTGTGAGAGATCGGG\nGCTATGATAGTAGTGGTTATTACGGAAATCTTGACTGCTGGGGCCAGGGAACCCTGGTCACCGTCTCCTC\nA\n",
"organism": "human",
"ig_seqtype": "Ig",
"germline_db_v": "auto",
"germline_db_d": "auto",
"germline_db_j": "auto",
"c_region_db": "auto",
"domain_system": "imgt",
"show_translation": true,
"extend_align5end": false,
"extend_align3end": false,
"min_v_length": 9,
"min_j_length": 0,
"min_d_match": 5,
"v_penalty": -1,
"d_penalty": -2,
"j_penalty": -2,
"allow_vdj_overlap": false,
"write_airr": true,
"report_format": "3",
"num_alignments_v": 3,
"num_alignments_d": 3,
"num_alignments_j": 3,
"num_alignments_c": 2,
"num_clonotype": 100,
"evalue": "",
"word_size": "",
"gapopen": "",
"gapextend": "",
"strand": "both",
"num_threads": 4
}'
The reply is 202 with a queued job; poll its
status_url until status is
succeeded or failed. See
the quick start for the
whole exchange.
What comes back
| status | Meaning |
|---|---|
queued |
Accepted, waiting for the jobs ahead of it. `position` counts how many those are. |
running |
The tool is executing now. |
succeeded |
Finished; `result` holds the tool's output and `license` the terms it came under. |
failed |
Finished; `error` holds a code and a message. |
cancelled |
Abandoned at the submitter's request; there is no result. A job cancelled before its turn never ran at all. |
Errors
| code | Meaning |
|---|---|
invalid_input |
The client supplied invalid or incomplete input. |
tool_unavailable |
The requested third-party dependency is not available on this host. |
execution_failed |
A configured third-party tool exited unsuccessfully. |
internal_error |
An adapter failed in a way it does not describe. The detail is in the server log, not the response. |
not_found |
No job has that id. Finished jobs are dropped eventually. |