NGS-SDK: CONTENTS

language

  The language sub-directory contains "bindings" for supported API languages.
  Bindings are functions or methods that connect the API to the dispatch
  interface.

  All of the non-line API methods for C++ are contained in "language/c++".
  Note that most of the C++ bindings are inlines, and can be found in "ngs/inl".

  Java bindings come in the form of "JNI" (Java Native Interface) C functions.

  Python bindings also come in the form of C functions, and serve the same
  essential purpose as Java's JNI.


dispatch

  The dispatch sub-directory contains code responsible for dispatching API
  messages to NGS back-end "engines," e.g. the NCBI SRA engine.

  Dispatch code is written natively in C++, but performs the function of
  relaying messages across a C interface to engine code. This avoids common
  fragilities that make C++ inappropriate for use in shared libraries.

  The dispatch sub-directory also contains NCBI-specific code that clients can
  link against to bring in the NCBI SRA or BAM engines. This code is NCBI
  specific, and does not affect the interface code.


adapter

  As mentioned in the "dispatch" section, the conduit between interface and
  engine uses a C-only polymorphic protocol. While it is possible to implement
  this directly within an engine, some developers may prefer to use C++. This
  directory provides C++ base classes that adapt the C protocol to C++ in a safe
  way.


test

  (* ANATOLY CAN PROVIDE INPUT HERE *)

