Skip to content

BV-BRC/BV-BRC-HostAnnotation

Repository files navigation

BV-BRC-HostAnnotation

Overview

The Bacterial-Viral Bioinformatics Resource Center contains GenBank genomic data and associated metadata on bacteria and viruses isolated from thousands of unique hosts. The designation of a host as the organism infected by the microbe, is an important variable for analysis of genomic sequence data, and an efficient mechanism for using host or host groups to select records from the BV-BRC. This requires that the host designation in the sequence record follows standardized taxonomic names. This is frequently not the case for GenBank records, with the 'host' modifier of the 'source' feature containing a variety of values from official taxonomic names to various common names and name synonyms. To provide host names based on official taxonomy, we have developed an automated host annotation pipeline to ascertain the proper scientific taxonomic name based on the provided GenBank host name.

Purpose

  • The Host Annotation Pipeline provides automated scientific name curation for GenBank host names referenced in the BV-BRC application.
  • The curator application supports manual review and update of the annotations generated by the Host Annotation Pipeline, as well as direct creation of annotations within the pipeline�s database (these will be given priority over automated annotations).
  • A more detailed explanation of the workflow can be found here.

Applications

The BV-BRC Host Annotation project contains several sub-projects, including a web application for ""manual" curation, a Windows Web API (web services) application, the main library (DLL) used by the Web API and console / command-line application, and an example Python client that demonstrates Web API usage.


Web application

The web application (host-annotation-app) supports the manual curation and review of GenBank host names imported into BV-BRC.

  • Dependencies

    • Axios: A promise-based HTTP Client for node.js and the browser
    • capacitor: Capacitor is an open source native runtime for building Web Native apps. Create cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS.
    • DataTables: A JavaScript HTML table enhancing library. It is a highly flexible tool, built upon the foundations of progressive enhancement, that adds advanced features to any HTML table.
    • ionic framework: An open source mobile UI toolkit for building modern, high quality cross-platform mobile apps from a single code base.
    • ionic icons: Premium designed icons for use in web, iOS, Android, and desktop apps.
    • stencil: A library for building reusable, scalable component libraries.
    • sweetalert2: A beautiful, responsive, customizable, accessible (WAI-ARIA) replacement for JavaScript's popup boxes.
  • More details can be found here.


Web API

The Web API (HostAnnotationWeb) provides web services to the web application and command-line tools.

  • Dependencies

  • More details can be found here


Class library

The class library / DLL is used by the Web API and the command-line application.

  • Dependencies
    • .NET 8.0
    • BCrypt.Net: A port of jBCrypt implemented in C#, using a variant of the Blowfish encryption algorithm�s keying schedule.
    • jose-jwt: Javascript Object Signing and Encryption (JOSE), JSON Web Token (JWT), JSON Web Encryption (JWE) and JSON Web Key (JWK) Implementation for .NET. Full suite of signature and encryption algorithms.

Python client

Example Python code that demonstrates how to use the Web API from a command-line tool.

  • Dependencies
    • Python 3
    • marshmallow: An ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.
    • pprint: A module that provides a capability to �pretty-print� arbitrary Python data structures in a form which can be used as input to the interpreter.
    • typing: Provides runtime support for type hints.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published