FunInDB API Documentation

A programmatic way to access FunInDB data

The FunInDB API offers a REST interface to assist users in integrating protein-related data, particularly inulinases, into their research pipelines. You can build queries using a command terminal or integrate them into your applications. All endpoints and parameters are described below.

Command example:

To request metadata for inulinases, use:

curl -X GET "http://funindb.lbqc.org/api/items/metadata" -H "accept: application/json"

Endpoints

1. Get All Metadata

Retrieves all documents from the protein_entries collection, containing metadata about proteins, such as inulinases.

Method: GET

Endpoint: /api/items/metadata

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/metadata -H "accept: application/json"

Success Response (200 OK):

[
  {
    "entry": "A0A010QFC1",
    "entry_name": "A0A010QFC1_9PEZI",
    "protein_names": "Beta-fructofuranosidase",
    "gene_names": "CFIO01_07076",
    "organism": "Colletotrichum fioriniae PJ7",
    "length": 614,
    "ec_number": "3.2.1.7",
    "kinetics": null,
    "ph_dependence": null,
    "temperature_dependence": null,
    "mass": 67446,
    "keywords": ["Glycosidase", "Hydrolase", "Reference proteome", "Signal"],
    "alphafold_db": "A0A010QFC1;",
    "pdb": null,
    "pfam": ["PF08244", "PF00251"],
    "signal_p": "1..21",
    "pubmed_id": null,
    "doi_id": null
  }
]

Error Responses:

  • 404 Not Found:
    {"message": "No metadata found"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

2. Get All Descriptors

Retrieves all documents from the desc_entries collection, containing physicochemical descriptors for proteins.

Method: GET

Endpoint: /api/items/descriptors

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/descriptors -H "accept: application/json"

Success Response (200 OK):

[
  {
    "entry": "A0A010QFC1",
    "aa_percent": {
      "A": 0.08143322475570032,
      "C": 0.006514657980456026,
      "D": 0.06840390879478828
      ... // other amino acids
    },
    "charge_ph": -23.235077240901397,
    "isoelectric_point": 4.950699043273924,
    "aromaticity": 0.11563517915309446,
    "flexibility": [0.9591904761904763, 0.9633214285714287],
    "grav": -0.402931596091205,
    "sec_struc_frac": [0.28501628664495116, 0.2931596091205212, 0.20846905537459284, ...]
  }
]

Error Responses:

  • 404 Not Found:
    {"message": "No descriptors found"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

3. Get All Sequences

Retrieves all documents from the seqs_entries collection, containing protein sequence data.

Method: GET

Endpoint: /api/items/sequences

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/sequences -H "accept: application/json"

Success Response (200 OK):

[
  {
    "entry": "A0A010QFC1",
    "seq": "MRQHLFYTSLLSALLAAPSYALPGFFSDAERAHFSSDLKR..."
  }
]

Error Responses:

  • 404 Not Found:
    {"message": "No sequences found"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

4. Get All Taxonomic Data

Retrieves all documents from the taxon_entries collection, containing taxonomic classification for proteins.

Method: GET

Endpoint: /api/items/taxon

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/taxon -H "accept: application/json"

Success Response (200 OK):

[
  {
    {
      "entry": "A0A010QFC1",
      "Superkingdom": "Eukaryota",
      "Kingdom": "Fungi",
      "Phylum": "Ascomycota",
      "Class": "Sordariomycetes",
      "Order": "Glomerellales",
      "Family": "Glomerellaceae",
      "Genus": "Colletotrichum"
    }
    ... // other taxonomic entries
  }
]

Error Responses:

  • 404 Not Found:
    {"message": "No taxonomic data found"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

5. Get Metadata by EC Number

Retrieves metadata from the protein_entries collection for proteins matching the specified EC number.

Method: GET

Endpoint: /api/items/ec/<ec_number>

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/ec/3.2.1.7 -H "accept: application/json"

Success Response (200 OK):

[
  {
    {
      "entry": "A0A010QFC1",
      "entry_name": "A0A010QFC1_9PEZI",
      "protein_names": "Beta-fructofuranosidase",
      "gene_names": "CFIO01_07076",
      "organism": "Colletotrichum fioriniae PJ7",
      "length": 614,
      "ec_number": "3.2.1.7",
      "kinetics": null,
      "ph_dependence": null,
      "temperature_dependence": null,
      "mass": 67446,
      "keywords": ["Glycosidase", "Hydrolase", "Reference proteome", "Signal"],
      "alphafold_db": "A0A010QFC1;",
      "pdb": null,
      "pfam": ["PF08244", "PF00251"],
      "signal_p": "1..21",
      "pubmed_id": null,
      "doi_id": null
    }
    ... // other entries with the same EC number
  }
]

Error Responses:

  • 400 Bad Request:
    {"message": "Invalid EC number"}
  • 404 Not Found:
    {"message": "No proteins found for EC number 3.2.1.7"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

6. Get Sequences by EC Number

Retrieves sequences from the seqs_entries collection for proteins matching the specified EC number.

Method: GET

Endpoint: /api/items/sequences/<ec_number>

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/sequences/3.2.1.7 -H "accept: application/json"

Success Response (200 OK):

[
  {
    {
      "entry": "A0A010QFC1",
      "seq": "MRQHLFYTSLLSALLAAPSYALPGFFSDAERAHFSSDLKR..."
    }
    ... // other sequences with the same EC number
  }
]

Error Responses:

  • 400 Bad Request:
    {"message": "Invalid EC number"}
  • 404 Not Found:
    {"message": "No sequences found for EC number 3.2.1.7"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

7. Get Entry Details

Retrieves detailed information for a specific protein entry, including metadata, descriptors, sequences, and taxonomic data across all collections.

Method: GET

Endpoint: /api/items/entry/<entry>

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/entry/A0A010QFC1 -H "accept: application/json"

Success Response (200 OK):

{
  "entry": "A0A010QFC1",
  "protein": {
    "entry": "A0A010QFC1",
    "entry_name": "A0A010QFC1_9PEZI",
    "protein_names": "Beta-fructofuranosidase",
    "gene_names": "CFIO01_07076",
    "organism": "Colletotrichum fioriniae PJ7",
    "length": 614,
    "ec_number": "3.2.1.7",
    "kinetics": null,
    "ph_dependence": null,
    "temperature_dependence": null,
    "mass": 67446,
    "keywords": ["Glycosidase", "Hydrolase", "Reference proteome", "Signal"],
    "alphafold_db": "A0A010QFC1;",
    "pdb": null,
    "pfam": ["PF08244", "PF00251"],
    "signal_p": "1..21",
    "pubmed_id": null,
    "doi_id": null
  },
  "descriptor": {
    "entry": "A0A010QFC1",
    "aa_percent": {
      "A": 0.08143322475570032,
      "C": 0.006514657980456026,
      "D": 0.06840390879478828
      ... // other amino acids
    },
    "charge_ph": -23.235077240901397,
    "isoelectric_point": 4.950699043273924,
    "aromaticity": 0.11563517915309446,
    "flexibility": [0.9591904761904763, 0.9633214285714287],
    "grav": -0.402931596091205,
    "sec_struc_frac": [0.28501628664495116, 0.2931596091205212, 0.20846905537459284, ...]
  },
  "sequence": {
    "entry": "A0A010QFC1",
    "seq": "MRQHLFYTSLLSALLAAPSYALPGFFSDAERAHFSSDLKR..."
  },
  "taxon": {
    "entry": "A0A010QFC1",
    "Superkingdom": "Eukaryota",
    "Kingdom": "Fungi",
    "Phylum": "Ascomycota",
    "Class": "Sordariomycetes",
    "Order": "Glomerellales",
    "Family": "Glomerellaceae",
    "Genus": "Colletotrichum"
  }
}

Error Responses:

  • 400 Bad Request:
    {"message": "Invalid entry identifier"}
  • 404 Not Found:
    {"message": "No data found for entry A0A010QFC1"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

8. Get Data by Organism

Retrieves all protein data (metadata, sequences, descriptors, taxonomic) for a specific organism from the protein_entries collection and related collections.

Method: GET

Endpoint: /api/items/organism/<organism_name>

Example Request:

curl -X GET http://funindb.lbqc.org/api/items/organism/Colletotrichum%20fioriniae%20PJ7 -H "accept: application/json"

Success Response (200 OK):

{
  "proteins": [
    {
      "entry": "A0A010QFC1",
      "entry_name": "A0A010QFC1_9PEZI",
      "protein_names": "Beta-fructofuranosidase",
      "gene_names": "CFIO01_07076",
      "organism": "Colletotrichum fioriniae PJ7",
      "length": 614,
      "ec_number": "3.2.1.7",
      "kinetics": null,
      "ph_dependence": null,
      "temperature_dependence": null,
      "mass": 67446,
      "keywords": ["Glycosidase", "Hydrolase", "Reference proteome", "Signal"],
      "alphafold_db": "A0A010QFC1;",
      "pdb": null,
      "pfam": ["PF08244", "PF00251"],
      "signal_p": "1..21",
      "pubmed_id": null,
      "doi_id": null
    }
  ],
  "sequences": [
    {
      "entry": "A0A010QFC1",
      "seq": "MRQHLFYTSLLSALLAAPSYALPGFFSDAERAHFSSDLKR..."
    }
  ],
  "descriptors": [
    {
      "entry": "A0A010QFC1",
      "aa_percent": {
        "A": 0.08143322475570032,
        "C": 0.006514657980456026,
        "D": 0.06840390879478828,
        ... // other amino acids
      },
      "charge_ph": -23.235077240901397,
      "isoelectric_point": 4.950699043273924,
      "aromaticity": 0.11563517915309446,
      "flexibility": [0.9591904761904763, 0.9633214285714287],
      "grav": -0.402931596091205,
      "sec_struc_frac": [0.28501628664495116, 0.2931596091205212, 0.20846905537459284, ...]
    }
  ],
  "taxon": [
    {
      "entry": "A0A010QFC1",
      "Superkingdom": "Eukaryota",
      "Kingdom": "Fungi",
      "Phylum": "Ascomycota",
      "Class": "Sordariomycetes",
      "Order": "Glomerellales",
      "Family": "Glomerellaceae",
      "Genus": "Colletotrichum"
    }
  ]
}

Error Responses:

  • 400 Bad Request:
    {"message": "Invalid organism name"}
  • 404 Not Found:
    {"message": "No proteins found for organism Colletotrichum fioriniae PJ7"}
  • 500 Internal Server Error:
    {"message": "Error accessing database: Connection failed"}

HTTP Status Codes

Code Description
200 OK - Request successful
400 Bad Request - Invalid request parameters
404 Not Found - Resource not found
500 Internal Server Error - Unexpected server error