Dfam REST API API Reference

The Dfam REST API provides a means for programs and scripts to access information from the current release of the Dfam database. It provides the core functionality used by the dfam.org website and is offered for use in community developed applications and workflows.

For more information on getting started with the Dfam API, see the documentation and examples at http://dfam.org/help/api

Known Consumers

http://dfam.org/

Authors

Robert Hubley, Arian Smit, Travis Wheeler, Jeb Rosen

Copyright 2016-2019 Institute for Systems Biology

API Endpoint
https://dfam.org/
Terms of Service: https://creativecommons.org/publicdomain/zero/1.0/
Contact: help@dfam.org
Request Content-Types: application/json
Response Content-Types: application/json
Schemes: http, https
Version: 0.3.0

version

GET /version

Get the current version of the API.

Success

default

Error

Response Content-Types: application/json
Response Example (200 OK)
{
  "major": "string",
  "minor": "string",
  "bugfix": "string"
}
Response Example (default )
{
  "message": "string"
}

blog

GET /blogposts

Get a list of recent Dfam blog posts. This API is intended for use only at dfam.org.

200 OK

Success

type
object[]
default

Error

Response Content-Types: application/json
Response Example (200 OK)
[
  "object"
]
Response Example (default )
{
  "message": "string"
}

assemblies

GET /assemblies

Retrieve a list of all genome assemblies in Dfam that have annotations.

Success

default

Error

Response Example (200 OK)
[
  {
    "id": "string",
    "name": "string"
  }
]
Response Example (default )
{
  "message": "string"
}

families

GET /families

Get a list of families in Dfam, optionally filtered and sorted.

format: string
in query

Desired output format. "summary" and "full" are the only formats currently recognized. Defaults to "summary".

sort: string
in query

A string containing sort columns, for example "name:asc,length:desc". Sorting by any of "accession", "name", "length", and "type", "subtype", "date_created", and "date_modified" are supported. If unspecified, "accession:asc" will be used.

name: string
in query

Search term for any part of the family name. Takes precedence over "name_prefix" if both are specified.

name_prefix: string
in query

Search term for a prefix of the family name.

name_accession: string
in query

Search term for any part of the family name or accession

classification: string
in query

Search term for family classification. Sub-classifications are included. A full classification lineage is expected for this search term; such as "root;Interspersed_Repeat".

clade: string
in query

Search term for family clade. Can be either an NCBI Taxonomy ID or scientific name. If the scientific name is ambiguous (e.g. "Drosophila"), the taxonomy ID should be used instead.

clade_relatives: string
in query

Relatives of the requested clade to include: 'ancestors', 'descendants', or 'both'

type: string
in query

Search term for TE type, as understood by RepeatMasker.

subtype: string
in query

Search term for TE subtype, as understood by RepeatMasker.

updated_after: string (date)
in query

Filter by "updated on or after" date.

updated_before: string (date)
in query

Filter by "updated on or before" date.

desc: string
in query

Search term for family description.

keywords: string
in query

Keywords to search in text fields (currently name, title, description, accession, author).

start: integer
in query

Index of first record to return. Commonly used along with limit to implement paging.

limit: integer
in query

Maxium number of records to return.

Success

default

Error

Response Example (200 OK)
{
  "total_count": "integer",
  "results": [
    {
      "accession": "string",
      "name": "string",
      "title": "string",
      "description": "string",
      "length": "integer",
      "classification": "string",
      "repeat_type_name": "string",
      "repeat_subtype_name": "string",
      "consensus_sequence": "string",
      "author": "string",
      "submitter": "string",
      "date_created": "string",
      "date_modified": "string",
      "curation_state_name": "string",
      "curation_state_description": "string",
      "target_site_cons": "string",
      "refineable": "boolean",
      "disabled": "boolean",
      "model_mask": "string",
      "hmm_general_threshold": "number",
      "aliases": [
        {
          "database": "string",
          "alias": "string"
        }
      ],
      "search_stages": [
        {
          "name": "string"
        }
      ],
      "buffer_stages": [
        {
          "name": "string",
          "start": "integer",
          "end": "integer"
        }
      ],
      "citations": [
        {
          "pmid": "integer",
          "title": "string",
          "authors": "string",
          "journal": "string",
          "pubdate": "string"
        }
      ],
      "clades": [
        "string"
      ],
      "coding_seqs": [
        {
          "product": "string",
          "translation": "string",
          "cds_start": "integer",
          "cds_end": "integer",
          "exon_count": "integer",
          "exon_starts": [
            "integer"
          ],
          "exon_ends": [
            "integer"
          ],
          "external_reference": "string",
          "reverse": "boolean",
          "stop_codons": "integer",
          "frameshifts": "integer",
          "gaps": "integer",
          "percent_identity": "number",
          "left_unaligned": "integer",
          "right_unaligned": "integer",
          "classification_id": "integer",
          "align_data": "string",
          "description": "string",
          "protein_type": "string"
        }
      ],
      "features": [
        {
          "type": "string",
          "description": "string",
          "model_start_pos": "integer",
          "model_end_pos": "integer",
          "label": "string",
          "attributes": [
            {
              "attribute": "string",
              "value": "string"
            }
          ]
        }
      ]
    }
  ]
}
Response Example (default )
{
  "message": "string"
}

GET /families/{id}

Retrieve full details of an individual Dfam family.

id: string
in path

The Dfam family accession.

Success

default

Error

Response Example (200 OK)
{
  "accession": "string",
  "name": "string",
  "title": "string",
  "description": "string",
  "length": "integer",
  "classification": "string",
  "repeat_type_name": "string",
  "repeat_subtype_name": "string",
  "consensus_sequence": "string",
  "author": "string",
  "submitter": "string",
  "date_created": "string",
  "date_modified": "string",
  "curation_state_name": "string",
  "curation_state_description": "string",
  "target_site_cons": "string",
  "refineable": "boolean",
  "disabled": "boolean",
  "model_mask": "string",
  "hmm_general_threshold": "number",
  "aliases": [
    {
      "database": "string",
      "alias": "string"
    }
  ],
  "search_stages": [
    {
      "name": "string"
    }
  ],
  "buffer_stages": [
    {
      "name": "string",
      "start": "integer",
      "end": "integer"
    }
  ],
  "citations": [
    {
      "pmid": "integer",
      "title": "string",
      "authors": "string",
      "journal": "string",
      "pubdate": "string"
    }
  ],
  "clades": [
    "string"
  ],
  "coding_seqs": [
    {
      "product": "string",
      "translation": "string",
      "cds_start": "integer",
      "cds_end": "integer",
      "exon_count": "integer",
      "exon_starts": [
        "integer"
      ],
      "exon_ends": [
        "integer"
      ],
      "external_reference": "string",
      "reverse": "boolean",
      "stop_codons": "integer",
      "frameshifts": "integer",
      "gaps": "integer",
      "percent_identity": "number",
      "left_unaligned": "integer",
      "right_unaligned": "integer",
      "classification_id": "integer",
      "align_data": "string",
      "description": "string",
      "protein_type": "string"
    }
  ],
  "features": [
    {
      "type": "string",
      "description": "string",
      "model_start_pos": "integer",
      "model_end_pos": "integer",
      "label": "string",
      "attributes": [
        {
          "attribute": "string",
          "value": "string"
        }
      ]
    }
  ]
}
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/hmm

Retrieve an individual Dfam family's annotated HMM.

format: string
in query

The desired output format: "hmm", "logo", or "image".

download: boolean
in query

If true, adds headers to trigger a browser download.

id: string
in path

The Dfam family accession.

200 OK

Success

type
string
default

Error

Response Content-Types: text/plain, image/png, application/json
Response Example (200 OK)
"string"
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/sequence

Retrieve an individual Dfam family's annotated consensus sequence. If only the raw sequence is needed, use the consensus_sequence property from the /families/{id} endpoint instead.

format: string
in query

The desired output format. currently only "embl" is supported.

download: boolean
in query

If true, adds headers to trigger a browser download.

id: string
in path

The Dfam family accession.

200 OK

Success

type
string
default

Error

Response Content-Types: text/plain
Response Example (200 OK)
"string"
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/seed

Retrieve an individual Dfam family's seed alignment data.

format: string
in query

The format to return, one of 'stockholm' or 'alignment_summary'.

download: boolean
in query

If true, adds headers to trigger a browser download.

id: string
in path

The Dfam family accession.

200 OK

Success

type
string
default

Error

Response Content-Types: text/plain
Response Example (200 OK)
"string"
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/relationships

Retrieve an individual Dfam family's relationship information.

id: string
in path

The Dfam family accession.

default

Error

Response Example (200 OK)
[
  {
    "strand": "string",
    "evalue": "string",
    "identity": "string",
    "coverage": "string",
    "cigar": "string",
    "model_start": "integer",
    "target_start": "integer",
    "model_end": "integer",
    "target_end": "integer",
    "auto_overlap": {
      "model": {
        "id": "string",
        "accession": "string",
        "length": "integer"
      },
      "target": {
        "id": "string",
        "accession": "string",
        "length": "integer"
      }
    }
  }
]
Response Example (default )
{
  "message": "string"
}

familyAssemblies

GET /families/{id}/assemblies

Retrieve a list of genome assemblies with annotations for this Dfam family.

id: string
in path

The Dfam family accession.

Success

default

Error

Response Example (200 OK)
[
  {
    "id": "string",
    "name": "string",
    "hmm_hit_ga": "number",
    "hmm_hit_tc": "number",
    "hmm_fdr": "number"
  }
]
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/assemblies/{assembly_id}/model_coverage

Retrieve a family's coverage data associated with a given assembly.

model: string
in query

Model type, "cons" or "hmm".

id: string
in path

The Dfam family accession.

assembly_id: string
in path

The assembly identifier, as shown in /families/{id}/assemblies.

200 OK

Success

type
object
default

Error

Response Example (200 OK)
{
  "nrph": "string",
  "all": "string",
  "false": "string"
}
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/assemblies/{assembly_id}/model_conservation

Retrieve a family's conservation data associated with a given assembly.

model: string
in query

Model type, "cons" or "hmm".

id: string
in path

The Dfam family accession.

assembly_id: string
in path

The assembly identifier, as shown in /families/{id}/assemblies.

200 OK

Success

type
object[]
default

Error

Response Example (200 OK)
[
  {
    "threshold": "string",
    "max_insert": "integer",
    "num_seqs": "integer",
    "graph": "string"
  }
]
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/assemblies/{assembly_id}/annotations

Retrieve a family's annotations associated with a given assembly.

nrph: boolean
in query

"true" to include only non-redundant profile hits.

download: boolean
in query

If true, adds headers to trigger a browser download.

id: string
in path

The Dfam family accession.

assembly_id: string
in path

The assembly identifier, as shown in /families/{id}/assemblies.

200 OK

Success

type
string
default

Error

Response Content-Types: text/plain
Response Example (200 OK)
"string"
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/assemblies/{assembly_id}/annotation_stats

Retrieve a family's annotation statistics associated with a given assembly.

id: string
in path

The Dfam family accession.

assembly_id: string
in path

The assembly identifier, as shown in /families/{id}/assemblies.

Response Example (200 OK)
{
  "hmm": {
    "divergence": "number",
    "gathering_nonredundant": "integer",
    "gathering_all": "integer",
    "trusted_nonredundant": "integer",
    "trusted_all": "integer"
  }
}
Response Example (default )
{
  "message": "string"
}

GET /families/{id}/assemblies/{assembly_id}/karyotype

Retrieve a family's karyotype data associated with a given assembly.

id: string
in path

The Dfam family accession.

assembly_id: string
in path

The assembly identifier, as shown in /families/{id}/assemblies.

200 OK

Success

type
object
default

Error

Response Example (200 OK)
"object"
Response Example (default )
{
  "message": "string"
}

classification

GET /classes

Get the entire TE classification hierarchy used by Dfam.

name: string
in query

Classification name to search for. If given, the results will be returned as an array instead of the default hierarchical format.

Success

default

Error

Response Example (200 OK)
{
  "name": "string",
  "tooltip": "string",
  "description": "string",
  "hyperlink": "string",
  "full_name": "string",
  "repeatmasker_type": "string",
  "repeatmasker_subtype": "string",
  "count": "string",
  "repbase_equiv": "string",
  "wicker_equiv": "string",
  "curcio_derbyshire_equiv": "string",
  "piegu_equiv": "string",
  "aliases": "string",
  "children": [
    {
      "name": "string",
      "tooltip": "string",
      "description": "string",
      "hyperlink": "string",
      "full_name": "string",
      "repeatmasker_type": "string",
      "repeatmasker_subtype": "string",
      "count": "string",
      "repbase_equiv": "string",
      "wicker_equiv": "string",
      "curcio_derbyshire_equiv": "string",
      "piegu_equiv": "string",
      "aliases": "string",
      "children": [
        {
          "name": "string",
          "tooltip": "string",
          "description": "string",
          "hyperlink": "string",
          "full_name": "string",
          "repeatmasker_type": "string",
          "repeatmasker_subtype": "string",
          "count": "string",
          "repbase_equiv": "string",
          "wicker_equiv": "string",
          "curcio_derbyshire_equiv": "string",
          "piegu_equiv": "string",
          "aliases": "string",
          "children": [
            {
              "name": "string",
              "tooltip": "string",
              "description": "string",
              "hyperlink": "string",
              "full_name": "string",
              "repeatmasker_type": "string",
              "repeatmasker_subtype": "string",
              "count": "string",
              "repbase_equiv": "string",
              "wicker_equiv": "string",
              "curcio_derbyshire_equiv": "string",
              "piegu_equiv": "string",
              "aliases": "string",
              "children": [
                {
                  "name": "string",
                  "tooltip": "string",
                  "description": "string",
                  "hyperlink": "string",
                  "full_name": "string",
                  "repeatmasker_type": "string",
                  "repeatmasker_subtype": "string",
                  "count": "string",
                  "repbase_equiv": "string",
                  "wicker_equiv": "string",
                  "curcio_derbyshire_equiv": "string",
                  "piegu_equiv": "string",
                  "aliases": "string",
                  "children": [
                    {
                      "name": "string",
                      "tooltip": "string",
                      "description": "string",
                      "hyperlink": "string",
                      "full_name": "string",
                      "repeatmasker_type": "string",
                      "repeatmasker_subtype": "string",
                      "count": "string",
                      "repbase_equiv": "string",
                      "wicker_equiv": "string",
                      "curcio_derbyshire_equiv": "string",
                      "piegu_equiv": "string",
                      "aliases": "string",
                      "children": [
                        {
                          "name": "string",
                          "tooltip": "string"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
Response Example (default )
{
  "message": "string"
}

taxa

GET /taxa

Query Dfam's copy of the NCBI taxonomy database.

name: string
in query

Search string for taxonomy name.

annotated: boolean
in query

Whether only taxa with annotated assemblies should be returned.

limit: integer
in query

Only return up to a maximum number of matching taxa.

200 OK

Success

default

Error

Response Example (200 OK)
{
  "taxa": [
    {
      "id": "number",
      "name": "string"
    }
  ]
}
Response Example (default )
{
  "message": "string"
}

annotations

GET /annotations

Retrieve annotations for a given genome assembly in a given range.

assembly: string
in query

Genome assembly to search. A list of assemblies is available at /assemblies.

chrom: string
in query

Chromosome to search. Assembly dependent, but normally in the "chrN" format.

start: integer
in query

Start of the sequence range (one based).

end: integer
in query

End of the sequence range (one based, fully-closed).

family: string
in query

An optional family to restrict results to.

nrph: boolean
in query

true to exclude redundant profile hits.

Success

default

Error

Response Example (200 OK)
{
  "offset": "integer",
  "length": "integer",
  "query": "string",
  "hits": [
    {
      "accession": "string",
      "sequence": "string",
      "query": "string",
      "type": "string",
      "bit_score": "number",
      "e_value": "string",
      "model_start": "integer",
      "model_end": "integer",
      "strand": "string",
      "ali_start": "integer",
      "ali_end": "integer",
      "seq_start": "integer",
      "seq_end": "integer"
    }
  ],
  "tandem_repeats": [
    {
      "start": "integer",
      "end": "integer",
      "type": "string",
      "repeat_length": "integer",
      "sequence": "string"
    }
  ]
}
Response Example (default )
{
  "message": "string"
}

alignment

GET /alignment

Query the alignment of a family to an assembly. This API is meant for use only on dfam.org.

assembly: string
in query

Genome assembly to align to. A list of assemblies is available at /assemblies.

chrom: string
in query

Chromosome to align to.

start: integer
in query

Start of the sequence range (one based).

end: integer
in query

End of the sequence range (one based, fully closed).

family: string
in query

The family to align against.

Success

default

Error

Response Example (200 OK)
{
  "hmm": {
    "start": "integer",
    "end": "integer",
    "id": "string",
    "string": "string"
  },
  "seq": {
    "start": "integer",
    "end": "integer",
    "id": "string",
    "string": "string"
  },
  "match": {
    "string": "string"
  },
  "pp": {
    "string": "string"
  }
}
Response Example (default )
{
  "message": "string"
}

searches

POST /searches

Submit a sequence search request.

sequence: string
in formData

Sequence data to search, in FASTA format.

organism: string
in formData

Source organism of the sequence, used for determining search thresholds.

cutoff: string
in formData

Type of cutoff to use, either 'curated' or 'evalue'.

evalue: string
in formData

E-value cutoff to use in the search. Only effective if cutoff is set to 'evalue'.

Success

default

Error

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string"
}
Response Example (default )
{
  "message": "string"
}

GET /searches/{id}

Retrieve the results of a sequence search.

id: string
in path

A result set ID matching the ID returned by a previous search submission.

Success

default

Error

Response Example (200 OK)
{
  "offset": "integer",
  "length": "integer",
  "query": "string",
  "hits": [
    {
      "accession": "string",
      "sequence": "string",
      "query": "string",
      "type": "string",
      "bit_score": "number",
      "e_value": "string",
      "model_start": "integer",
      "model_end": "integer",
      "strand": "string",
      "ali_start": "integer",
      "ali_end": "integer",
      "seq_start": "integer",
      "seq_end": "integer"
    }
  ],
  "tandem_repeats": [
    {
      "start": "integer",
      "end": "integer",
      "type": "string",
      "repeat_length": "integer",
      "sequence": "string"
    }
  ]
}
Response Example (default )
{
  "message": "string"
}

GET /searches/{id}/alignment

Retrieve an alignment from a sequence search result.

id: string
in path

The result set ID returned by the API at submission time.

sequence: string
in query

The name of the input sequence to align.

start: integer
in query

Start of the sequence range.

end: integer
in query

End of the sequence range.

family: string
in query

The family to align against.

Success

default

Error

Response Example (200 OK)
{
  "hmm": {
    "start": "integer",
    "end": "integer",
    "id": "string",
    "string": "string"
  },
  "seq": {
    "start": "integer",
    "end": "integer",
    "id": "string",
    "string": "string"
  },
  "match": {
    "string": "string"
  },
  "pp": {
    "string": "string"
  }
}
Response Example (default )
{
  "message": "string"
}

Schema Definitions

assembliesResponse: array

object
id: string

Genome assembly identifier, used in API parameters and responses.

name: string

The scientific name of the organism this assembly corresponds to.

Example
[
  {
    "id": "string",
    "name": "string"
  }
]

taxaResponse:

taxa: object[]
object
id: number

Taxon identifier, as provided by the NCBI Taxonomy database.

name: string

Display name. Intended to be unambiguous, but this should not be relied on.

Example
{
  "taxa": [
    {
      "id": "number",
      "name": "string"
    }
  ]
}

classesResponse:

name: string

The name of this level of the TE classification hierarchy.

tooltip: string

A short description of the classification.

description: string

Additional details of the classification.

hyperlink: string

Link to an external resource with more information on the classification.

full_name: string

Semicolon-delimited hierarchical path to this classification, starting from the root.

repeatmasker_type: string

Corresponding 'Type' for use with RepeatMasker.

repeatmasker_subtype: string

Corresponding 'SubType' for use with RepeatMasker.

count: string

The number of families in the database with this classification.

repbase_equiv: string

The name of the equivalent classification in RepBase.

wicker_equiv: string

The name of the equivalent Wicker classification.

curcio_derbyshire_equiv: string

The name of the equivalent Curcio-Derbyshire classification.

piegu_equiv: string

The name of the equivalent Piegu classification.

aliases: string

Comma-separated list of alternative names or abbreviations for this classification.

children: classesResponse

Hierarchical child classifications of this classification.

classesResponse
Example
{
  "name": "string",
  "tooltip": "string",
  "description": "string",
  "hyperlink": "string",
  "full_name": "string",
  "repeatmasker_type": "string",
  "repeatmasker_subtype": "string",
  "count": "string",
  "repbase_equiv": "string",
  "wicker_equiv": "string",
  "curcio_derbyshire_equiv": "string",
  "piegu_equiv": "string",
  "aliases": "string",
  "children": [
    {
      "name": "string",
      "tooltip": "string",
      "description": "string",
      "hyperlink": "string",
      "full_name": "string",
      "repeatmasker_type": "string",
      "repeatmasker_subtype": "string",
      "count": "string",
      "repbase_equiv": "string",
      "wicker_equiv": "string",
      "curcio_derbyshire_equiv": "string",
      "piegu_equiv": "string",
      "aliases": "string",
      "children": [
        {
          "name": "string",
          "tooltip": "string",
          "description": "string",
          "hyperlink": "string",
          "full_name": "string",
          "repeatmasker_type": "string",
          "repeatmasker_subtype": "string",
          "count": "string",
          "repbase_equiv": "string",
          "wicker_equiv": "string",
          "curcio_derbyshire_equiv": "string",
          "piegu_equiv": "string",
          "aliases": "string",
          "children": [
            {
              "name": "string",
              "tooltip": "string",
              "description": "string",
              "hyperlink": "string",
              "full_name": "string",
              "repeatmasker_type": "string",
              "repeatmasker_subtype": "string",
              "count": "string",
              "repbase_equiv": "string",
              "wicker_equiv": "string",
              "curcio_derbyshire_equiv": "string",
              "piegu_equiv": "string",
              "aliases": "string",
              "children": [
                {
                  "name": "string",
                  "tooltip": "string",
                  "description": "string",
                  "hyperlink": "string",
                  "full_name": "string",
                  "repeatmasker_type": "string",
                  "repeatmasker_subtype": "string",
                  "count": "string",
                  "repbase_equiv": "string",
                  "wicker_equiv": "string",
                  "curcio_derbyshire_equiv": "string",
                  "piegu_equiv": "string",
                  "aliases": "string",
                  "children": [
                    {
                      "name": "string",
                      "tooltip": "string",
                      "description": "string",
                      "hyperlink": "string",
                      "full_name": "string",
                      "repeatmasker_type": "string",
                      "repeatmasker_subtype": "string",
                      "count": "string",
                      "repbase_equiv": "string",
                      "wicker_equiv": "string",
                      "curcio_derbyshire_equiv": "string",
                      "piegu_equiv": "string",
                      "aliases": "string",
                      "children": [
                        {
                          "name": "string",
                          "tooltip": "string",
                          "description": "string"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

familiesResponse:

total_count: integer

The total number of results that match the search terms in the database, regardless of any limit and/or offset provided.

results: familyResponse
familyResponse
Example
{
  "total_count": "integer",
  "results": [
    {
      "accession": "string",
      "name": "string",
      "title": "string",
      "description": "string",
      "length": "integer",
      "classification": "string",
      "repeat_type_name": "string",
      "repeat_subtype_name": "string",
      "consensus_sequence": "string",
      "author": "string",
      "submitter": "string",
      "date_created": "string",
      "date_modified": "string",
      "curation_state_name": "string",
      "curation_state_description": "string",
      "target_site_cons": "string",
      "refineable": "boolean",
      "disabled": "boolean",
      "model_mask": "string",
      "hmm_general_threshold": "number",
      "aliases": [
        {
          "database": "string",
          "alias": "string"
        }
      ],
      "search_stages": [
        {
          "name": "string"
        }
      ],
      "buffer_stages": [
        {
          "name": "string",
          "start": "integer",
          "end": "integer"
        }
      ],
      "citations": [
        {
          "pmid": "integer",
          "title": "string",
          "authors": "string",
          "journal": "string",
          "pubdate": "string"
        }
      ],
      "clades": [
        "string"
      ],
      "coding_seqs": [
        {
          "product": "string",
          "translation": "string",
          "cds_start": "integer",
          "cds_end": "integer",
          "exon_count": "integer",
          "exon_starts": [
            "integer"
          ],
          "exon_ends": [
            "integer"
          ],
          "external_reference": "string",
          "reverse": "boolean",
          "stop_codons": "integer",
          "frameshifts": "integer",
          "gaps": "integer",
          "percent_identity": "number",
          "left_unaligned": "integer",
          "right_unaligned": "integer",
          "classification_id": "integer",
          "align_data": "string",
          "description": "string",
          "protein_type": "string"
        }
      ],
      "features": [
        {
          "type": "string",
          "description": "string",
          "model_start_pos": "integer",
          "model_end_pos": "integer",
          "label": "string",
          "attributes": [
            {
              "attribute": "string",
              "value": "string"
            }
          ]
        }
      ]
    }
  ]
}

familyResponse:

accession: string

A name of the form DF1234567 that is a unique identifier for the family.

name: string

A human-readable short name for the family. Historically, this was known to be unique but this should not be relied upon going forward.

title: string

A short description or tagline describing the family.

description: string

A more detailed description of the family, including any details that do not fit into another available field.

length: integer

The length of the family's seed alignment, consensus sequence, and Profile Hidden Markov Model.

classification: string

The semicolon-delimited full hierarchy of the family's classification.

repeat_type_name: string

The RepeatMasker type of the family.

repeat_subtype_name: string

The RepeatMasker subtype of the family.

consensus_sequence: string

The family's consensus sequence. This may be derived from the seed alignment, the profile HMM, or hand curation.

author: string

Freeform text; a list of authors involved in the curation and description of the family.

submitter: string

The name of the user who submitted the family to Dfam.

date_created: string

The date upon which the family was registered in Dfam.

date_modified: string

The most recent date upon which the family was modified.

curation_state_name: string

The curation state of the family, for example 'Released' or 'Pending'.

curation_state_description: string

A human-readable explanation of the meaning of the curation state.

target_site_cons: string

The target site consensus for the family, if known.

refineable: boolean

Deprecated flag used by RepeatMasker.

disabled: boolean

'true' if the family is disabled or removed in the current release. Disabled families are normally visible only when accessing the API with curator credentials.

model_mask: string

Regions of the family's pHMM known to produce many false positive matches.

hmm_general_threshold: number

Threshold used when searching for the family in a DNA sequence from an unknown or new organism.

aliases: object[]
object
database: string

Name of the database the alias is found in.

alias: string

The alias for the family in another database.

search_stages: object[]
object
name: string

Names of RepeatMasker search stages the family is processed in.

buffer_stages: object[]
object
name: string

The name of the RepeatMasker buffer stage the family is processed in.

start: integer
end: integer
citations: object[]

Publications pertinent to the family.

object
pmid: integer

The PubMed ID for the citation.

title: string

The article title.

authors: string

Authors of the article.

journal: string

The name of the cited journal.

pubdate: string

Date of article publication.

clades: string[]

A list of clades the family is known to be found in, each in semicolon-delimited hierarchical format.

string
coding_seqs: object[]

Known coding sequences in the family.

object
product: string

Name of the product of the coding sequence.

translation: string

Amino acid translation of the coding sequence.

cds_start: integer

The start position of the coding sequence within the family (one-based).

cds_end: integer

The end position of the coding sequence within the family (one-based, fully-closed).

exon_count: integer

The number of exons in the coding sequence.

exon_starts: integer[]

List of exon start positions (one-based).

integer
exon_ends: integer[]

List of exon end positions (one-based, fully-closed).

integer
external_reference: string

'null' for all coding sequences that come from Dfam families.

reverse: boolean

'true' if the coding sequence is on the reverse strand.

stop_codons: integer

The number of stop codons in the most recent alignment to the family.

frameshifts: integer

The number of frameshifts in the most recent alignment to the family.

gaps: integer

The number of gaps in the most recent alignment to the family.

percent_identity: number

Percent identity with the most recent alignment to the family.

left_unaligned: integer

The number of amino acids not aligned to the 5' end of the reference sequence.

right_unaligned: integer

The number of amino acids not aligned to the 3' end of the reference sequence.

classification_id: integer

'null' for all coding sequences that come from Dfam families.

align_data: string

(For future expansion) The alignment of each coding sequence. Not currently populated.

description: string

Freeform description of the coding sequence.

protein_type: string
features: object[]

Miscellaneous features of the family, such as strucural defintions and binding sites.

object
type: string

The type of the feature.

description: string

Human-readable description of the feature.

model_start_pos: integer

Start posotion of the feature within the family model (one-based).

model_end_pos: integer

End posotion of the feature within the family model (one-based, fully-closed).

label: string

Short label for this feature.

attributes: object[]

List of additional attributes for this feature.

object
attribute: string
value: string
Example
{
  "accession": "string",
  "name": "string",
  "title": "string",
  "description": "string",
  "length": "integer",
  "classification": "string",
  "repeat_type_name": "string",
  "repeat_subtype_name": "string",
  "consensus_sequence": "string",
  "author": "string",
  "submitter": "string",
  "date_created": "string",
  "date_modified": "string",
  "curation_state_name": "string",
  "curation_state_description": "string",
  "target_site_cons": "string",
  "refineable": "boolean",
  "disabled": "boolean",
  "model_mask": "string",
  "hmm_general_threshold": "number",
  "aliases": [
    {
      "database": "string",
      "alias": "string"
    }
  ],
  "search_stages": [
    {
      "name": "string"
    }
  ],
  "buffer_stages": [
    {
      "name": "string",
      "start": "integer",
      "end": "integer"
    }
  ],
  "citations": [
    {
      "pmid": "integer",
      "title": "string",
      "authors": "string",
      "journal": "string",
      "pubdate": "string"
    }
  ],
  "clades": [
    "string"
  ],
  "coding_seqs": [
    {
      "product": "string",
      "translation": "string",
      "cds_start": "integer",
      "cds_end": "integer",
      "exon_count": "integer",
      "exon_starts": [
        "integer"
      ],
      "exon_ends": [
        "integer"
      ],
      "external_reference": "string",
      "reverse": "boolean",
      "stop_codons": "integer",
      "frameshifts": "integer",
      "gaps": "integer",
      "percent_identity": "number",
      "left_unaligned": "integer",
      "right_unaligned": "integer",
      "classification_id": "integer",
      "align_data": "string",
      "description": "string",
      "protein_type": "string"
    }
  ],
  "features": [
    {
      "type": "string",
      "description": "string",
      "model_start_pos": "integer",
      "model_end_pos": "integer",
      "label": "string",
      "attributes": [
        {
          "attribute": "string",
          "value": "string"
        }
      ]
    }
  ]
}

familyRelationshipsResponse: array

object
strand: string

For a forward strand match, '+'; for a reverse strand match, '-'.

evalue: string

The e-value of the hit.

identity: string

Percentage identity of the overlap region.

coverage: string

Percentage shared coverage of the two families.

cigar: string

Alignment between the two families, expressed as a sequence of "M", "I", and "D" characters. Not actually a CIGAR alignment, but derived from that format.

model_start: integer

Start position of the overlap region in the first family (one-based).

target_start: integer

Start position of the overlap region in the second family (one-based).

model_end: integer

End position of the overlap region in the first family (one-based, fully-closed).

target_end: integer

End position of the overlap region in the second family (one-based, fully-closed).

auto_overlap: object
model: object

Details of the first family.

id: string

Human-readable identifier for the family (in Dfam, the "name").

accession: string

The Dfam accession for the family.

length: integer

The total length of the family.

target: object

Details of the second family.

id: string

Human-readable identifier for the family (in Dfam, the "name").

accession: string

The Dfam accession for the family.

length: integer

The total length of the family.

Example
[
  {
    "strand": "string",
    "evalue": "string",
    "identity": "string",
    "coverage": "string",
    "cigar": "string",
    "model_start": "integer",
    "target_start": "integer",
    "model_end": "integer",
    "target_end": "integer",
    "auto_overlap": {
      "model": {
        "id": "string",
        "accession": "string",
        "length": "integer"
      },
      "target": {
        "id": "string",
        "accession": "string",
        "length": "integer"
      }
    }
  }
]

familyAssembliesResponse: array

object
id: string

Assembly identifier, used in API parameters and responses.

name: string

The scientific name of the organism this assembly corresponds to.

hmm_hit_ga: number

The Gathering Threshold used when searching for the family in this assembly.

hmm_hit_tc: number

The Trusted Cutoff used when searching for the family in this assembly.

hmm_fdr: number

The false discovery rate of searching for the family in this assembly.

Example
[
  {
    "id": "string",
    "name": "string",
    "hmm_hit_ga": "number",
    "hmm_hit_tc": "number",
    "hmm_fdr": "number"
  }
]

familyAssemblyAnnotationStatsResponse:

hmm: object
divergence: number

Kimura average divergence, calculated on non-redundant profile hits above the gathering threshold.

gathering_nonredundant: integer

Number of non-redundant profile hits above the gathering threshold.

gathering_all: integer

Total number of hits above the gathering threshold, including redundant hits.

trusted_nonredundant: integer

Number of non-redundant profile hits above the trusted cutoff.

trusted_all: integer

Total number of hits above the trusted cutoff, including redundant hits.

Example
{
  "hmm": {
    "divergence": "number",
    "gathering_nonredundant": "integer",
    "gathering_all": "integer",
    "trusted_nonredundant": "integer",
    "trusted_all": "integer"
  }
}

annotationsResponse: object

offset: integer

The start position of the results (one-based).

length: integer

The length of the region included in the results.

query: string

The sequence and region covered by the results.

hits: object[]

List of hits found by searching profile hidden markov models with HMMER.

object
accession: string

Accession of the matching family.

sequence: string

The name of the sequence.

query: string

The name of the matching family.

type: string

RepeatMasker type of the family.

bit_score: number

The bit score of the hit reported by HMMER.

e_value: string

The e-value of the hit reported by HMMER.

model_start: integer

The start position of the hit within the model.

model_end: integer

The end position of the hit within the model.

strand: string

The sequence strand where the hit was found; '+' or '-'.

ali_start: integer

The start position of the hit within the sequence (one-based).

ali_end: integer

The end position of the hit within the sequence (one-based, fully-closed).

seq_start: integer

The start position of the alignment envelope used to reproduce alignments (one-based).

seq_end: integer

The end position of the alignment envelope used to reproduce alignments (one-based,fully-closed).

tandem_repeats: object[]

List of tandem repetitive sequences within the results range.

object
start: integer

The start position of the repeat (one-based).

end: integer

The end position of the repeat (one-based, fully-closed).

type: string

The repetitive sequence, for example 'GT'.

repeat_length: integer

The length of the unit of repetition of the sequence.

sequence: string

The name of the sequence searched.

Example
{
  "offset": "integer",
  "length": "integer",
  "query": "string",
  "hits": [
    {
      "accession": "string",
      "sequence": "string",
      "query": "string",
      "type": "string",
      "bit_score": "number",
      "e_value": "string",
      "model_start": "integer",
      "model_end": "integer",
      "strand": "string",
      "ali_start": "integer",
      "ali_end": "integer",
      "seq_start": "integer",
      "seq_end": "integer"
    }
  ],
  "tandem_repeats": [
    {
      "start": "integer",
      "end": "integer",
      "type": "string",
      "repeat_length": "integer",
      "sequence": "string"
    }
  ]
}

alignmentResponse: object

hmm: object
start: integer

Start position in the model of the alignment (one-based).

end: integer

End position in the model of the alignment (one-based, fully-closed).

id: string

An identifier for the model.

string: string

Model string for the aligned region, from nhmmer.

seq: object
start: integer

Start position in the sequence of the alignment (one-based).

end: integer

End position in the sequence of the alignment (one-based, fully-closed).

id: string

An identifier for the sequence.

string: string

Sequence string for the aligned region, from nhmmer.

match: object
string: string

String describing the match states of the alignment, from nhmmer.

pp: object
string: string

String describing the posterior probability of the alignment, from nhmmer.

Example
{
  "hmm": {
    "start": "integer",
    "end": "integer",
    "id": "string",
    "string": "string"
  },
  "seq": {
    "start": "integer",
    "end": "integer",
    "id": "string",
    "string": "string"
  },
  "match": {
    "string": "string"
  },
  "pp": {
    "string": "string"
  }
}

submitSearchResponse:

id: string

An identifier for this query that can be used to retrieve results.

Example
{
  "id": "string"
}

versionResponse:

major: string

Major version number.

minor: string

Minor version number.

bugfix: string

Bugfix version number.

Example
{
  "major": "string",
  "minor": "string",
  "bugfix": "string"
}

ErrorResponse:

message: string

Human-readable explanation of the error.

Example
{
  "message": "string"
}