/* Code generated by cmd/cgo; DO NOT EDIT. */

/* package github.com/bebop/poly-py/poly */


#line 1 "cgo-builtin-export-prolog"

#include <stddef.h>

#ifndef GO_CGO_EXPORT_PROLOGUE_H
#define GO_CGO_EXPORT_PROLOGUE_H

#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; ptrdiff_t n; } _GoString_;
#endif

#endif

/* Start of preamble from import "C" comments.  */


#line 9 "poly.go"





// #define Py_LIMITED_API // need full API for PyRun*
#include <Python.h>
typedef uint8_t bool;
// static inline is trick for avoiding need for extra .c file
// the following are used for build value -- switch on reflect.Kind
// or the types equivalent
static inline PyObject* gopy_build_bool(uint8_t val) {
	return Py_BuildValue("b", val);
}
static inline PyObject* gopy_build_int64(int64_t val) {
	return Py_BuildValue("k", val);
}
static inline PyObject* gopy_build_uint64(uint64_t val) {
	return Py_BuildValue("K", val);
}
static inline PyObject* gopy_build_float64(double val) {
	return Py_BuildValue("d", val);
}
static inline PyObject* gopy_build_string(const char* val) {
	return Py_BuildValue("s", val);
}
static inline void gopy_decref(PyObject* obj) { // macro
	Py_XDECREF(obj);
}
static inline void gopy_incref(PyObject* obj) { // macro
	Py_XINCREF(obj);
}
static inline int gopy_method_check(PyObject* obj) { // macro
	return PyMethod_Check(obj);
}
static inline void gopy_err_handle() {
	if(PyErr_Occurred() != NULL) {
		PyErr_Print();
	}
}


#line 1 "cgo-generated-wrapper"


/* End of preamble from import "C" comments.  */


/* Start of boilerplate cgo prologue.  */
#line 1 "cgo-gcc-export-header-prolog"

#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H

typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
typedef long long GoInt64;
typedef unsigned long long GoUint64;
typedef GoInt64 GoInt;
typedef GoUint64 GoUint;
typedef size_t GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
#ifdef _MSC_VER
#include <complex.h>
typedef _Fcomplex GoComplex64;
typedef _Dcomplex GoComplex128;
#else
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;
#endif

/*
  static assertion to make sure the file is being used on architecture
  at least with matching size of GoInt.
*/
typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];

#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef _GoString_ GoString;
#endif
typedef void *GoMap;
typedef void *GoChan;
typedef struct { void *t; void *v; } GoInterface;
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;

#endif

/* End of boilerplate cgo prologue.  */

#ifdef __cplusplus
extern "C" {
#endif

extern void GoPyInit();

// DecRef decrements the reference count for the specified handle
// and deletes it it goes to zero.
//
extern void DecRef(long long handle);

// IncRef increments the reference count for the specified handle.
//
extern void IncRef(long long handle);

// NumHandles returns the number of handles currently in use.
//
extern GoInt NumHandles();

// --- wrapping slice: []bool ---
//
extern long long Slice_bool_CTor();
extern GoInt Slice_bool_len(long long handle);
extern char Slice_bool_elem(long long handle, GoInt _idx);
extern long long Slice_bool_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_bool_set(long long handle, GoInt _idx, char _vl);
extern void Slice_bool_append(long long handle, char _vl);

// --- wrapping slice: []byte ---
//
extern long long Slice_byte_CTor();
extern GoInt Slice_byte_len(long long handle);
extern char Slice_byte_elem(long long handle, GoInt _idx);
extern long long Slice_byte_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_byte_set(long long handle, GoInt _idx, char _vl);
extern void Slice_byte_append(long long handle, char _vl);
extern long long Slice_byte_from_bytes(PyObject* o);
extern PyObject* Slice_byte_to_bytes(long long handle);

// --- wrapping slice: []error ---
//
extern long long Slice_error_CTor();
extern GoInt Slice_error_len(long long handle);
extern char* Slice_error_elem(long long handle, GoInt _idx);
extern long long Slice_error_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_error_set(long long handle, GoInt _idx, char* _vl);
extern void Slice_error_append(long long handle, char* _vl);

// --- wrapping slice: []float32 ---
//
extern long long Slice_float32_CTor();
extern GoInt Slice_float32_len(long long handle);
extern float Slice_float32_elem(long long handle, GoInt _idx);
extern long long Slice_float32_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_float32_set(long long handle, GoInt _idx, float _vl);
extern void Slice_float32_append(long long handle, float _vl);

// --- wrapping slice: []float64 ---
//
extern long long Slice_float64_CTor();
extern GoInt Slice_float64_len(long long handle);
extern double Slice_float64_elem(long long handle, GoInt _idx);
extern long long Slice_float64_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_float64_set(long long handle, GoInt _idx, double _vl);
extern void Slice_float64_append(long long handle, double _vl);

// --- wrapping slice: []int ---
//
extern long long Slice_int_CTor();
extern GoInt Slice_int_len(long long handle);
extern long long Slice_int_elem(long long handle, GoInt _idx);
extern long long Slice_int_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_int_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_int_append(long long handle, long long _vl);

// --- wrapping slice: []int16 ---
//
extern long long Slice_int16_CTor();
extern GoInt Slice_int16_len(long long handle);
extern short Slice_int16_elem(long long handle, GoInt _idx);
extern long long Slice_int16_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_int16_set(long long handle, GoInt _idx, short _vl);
extern void Slice_int16_append(long long handle, short _vl);

// --- wrapping slice: []int32 ---
//
extern long long Slice_int32_CTor();
extern GoInt Slice_int32_len(long long handle);
extern long Slice_int32_elem(long long handle, GoInt _idx);
extern long long Slice_int32_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_int32_set(long long handle, GoInt _idx, long _vl);
extern void Slice_int32_append(long long handle, long _vl);

// --- wrapping slice: []int64 ---
//
extern long long Slice_int64_CTor();
extern GoInt Slice_int64_len(long long handle);
extern long long Slice_int64_elem(long long handle, GoInt _idx);
extern long long Slice_int64_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_int64_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_int64_append(long long handle, long long _vl);

// --- wrapping slice: []int8 ---
//
extern long long Slice_int8_CTor();
extern GoInt Slice_int8_len(long long handle);
extern char Slice_int8_elem(long long handle, GoInt _idx);
extern long long Slice_int8_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_int8_set(long long handle, GoInt _idx, char _vl);
extern void Slice_int8_append(long long handle, char _vl);

// --- wrapping slice: []rune ---
//
extern long long Slice_rune_CTor();
extern GoInt Slice_rune_len(long long handle);
extern long Slice_rune_elem(long long handle, GoInt _idx);
extern long long Slice_rune_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_rune_set(long long handle, GoInt _idx, long _vl);
extern void Slice_rune_append(long long handle, long _vl);

// --- wrapping slice: []string ---
//
extern long long Slice_string_CTor();
extern GoInt Slice_string_len(long long handle);
extern char* Slice_string_elem(long long handle, GoInt _idx);
extern long long Slice_string_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_string_set(long long handle, GoInt _idx, char* _vl);
extern void Slice_string_append(long long handle, char* _vl);

// --- wrapping slice: []uint ---
//
extern long long Slice_uint_CTor();
extern GoInt Slice_uint_len(long long handle);
extern unsigned long long Slice_uint_elem(long long handle, GoInt _idx);
extern long long Slice_uint_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uint_set(long long handle, GoInt _idx, unsigned long long _vl);
extern void Slice_uint_append(long long handle, unsigned long long _vl);

// --- wrapping slice: []uint16 ---
//
extern long long Slice_uint16_CTor();
extern GoInt Slice_uint16_len(long long handle);
extern unsigned short Slice_uint16_elem(long long handle, GoInt _idx);
extern long long Slice_uint16_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uint16_set(long long handle, GoInt _idx, unsigned short _vl);
extern void Slice_uint16_append(long long handle, unsigned short _vl);

// --- wrapping slice: []uint32 ---
//
extern long long Slice_uint32_CTor();
extern GoInt Slice_uint32_len(long long handle);
extern unsigned long Slice_uint32_elem(long long handle, GoInt _idx);
extern long long Slice_uint32_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uint32_set(long long handle, GoInt _idx, unsigned long _vl);
extern void Slice_uint32_append(long long handle, unsigned long _vl);

// --- wrapping slice: []uint64 ---
//
extern long long Slice_uint64_CTor();
extern GoInt Slice_uint64_len(long long handle);
extern unsigned long long Slice_uint64_elem(long long handle, GoInt _idx);
extern long long Slice_uint64_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uint64_set(long long handle, GoInt _idx, unsigned long long _vl);
extern void Slice_uint64_append(long long handle, unsigned long long _vl);

// --- wrapping slice: []uint8 ---
//
extern long long Slice_uint8_CTor();
extern GoInt Slice_uint8_len(long long handle);
extern unsigned char Slice_uint8_elem(long long handle, GoInt _idx);
extern long long Slice_uint8_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uint8_set(long long handle, GoInt _idx, unsigned char _vl);
extern void Slice_uint8_append(long long handle, unsigned char _vl);

// ---- Global Variables: can only use functions to access ---
//
extern long long alphabet_DNA();
extern void alphabet_Set_DNA(long long val);
extern long long alphabet_Protein();
extern void alphabet_Set_Protein(long long val);
extern long long alphabet_RNA();
extern void alphabet_Set_RNA(long long val);

// --- wrapping struct: alphabet.Error ---
//
extern long long alphabet_Error_CTor();
extern char* alphabet_Error_Error(long long _handle);

// --- wrapping struct: alphabet.Alphabet ---
//
extern long long alphabet_Alphabet_CTor();
extern long long alphabet_Alphabet_Encode(long long _handle, char* symbol);
extern char* alphabet_Alphabet_Decode(long long _handle, char* code);
extern long long alphabet_Alphabet_Extend(long long _handle, long long symbols);
extern long long alphabet_Alphabet_Symbols(long long _handle);
extern long long alphabet_NewAlphabet(long long symbols);
extern char checks_IsDNA(char* seq);
extern char checks_IsPalindromic(char* sequence);
extern char checks_IsRNA(char* seq);
extern double checks_GcContent(char* sequence);

// --- wrapping slice: [][][]byte ---
//
extern long long Slice_Slice_Slice_byte_CTor();
extern GoInt Slice_Slice_Slice_byte_len(long long handle);
extern long long Slice_Slice_Slice_byte_elem(long long handle, GoInt _idx);
extern long long Slice_Slice_Slice_byte_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_Slice_Slice_byte_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_Slice_Slice_byte_append(long long handle, long long _vl);

// --- wrapping slice: [][]byte ---
//
extern long long Slice_Slice_byte_CTor();
extern GoInt Slice_Slice_byte_len(long long handle);
extern long long Slice_Slice_byte_elem(long long handle, GoInt _idx);
extern long long Slice_Slice_byte_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_Slice_byte_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_Slice_byte_append(long long handle, long long _vl);

// --- wrapping slice: [][]int ---
//
extern long long Slice_Slice_int_CTor();
extern GoInt Slice_Slice_int_len(long long handle);
extern long long Slice_Slice_int_elem(long long handle, GoInt _idx);
extern long long Slice_Slice_int_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_Slice_int_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_Slice_int_append(long long handle, long long _vl);

// --- wrapping slice: [][]string ---
//
extern long long Slice_Slice_string_CTor();
extern GoInt Slice_Slice_string_len(long long handle);
extern long long Slice_Slice_string_elem(long long handle, GoInt _idx);
extern long long Slice_Slice_string_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_Slice_string_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_Slice_string_append(long long handle, long long _vl);

// --- wrapping slice: []clone.Enzyme ---
//
extern long long Slice_clone_Enzyme_CTor();
extern GoInt Slice_clone_Enzyme_len(long long handle);
extern long long Slice_clone_Enzyme_elem(long long handle, GoInt _idx);
extern long long Slice_clone_Enzyme_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_clone_Enzyme_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_clone_Enzyme_append(long long handle, long long _vl);

// --- wrapping slice: []clone.Fragment ---
//
extern long long Slice_clone_Fragment_CTor();
extern GoInt Slice_clone_Fragment_len(long long handle);
extern long long Slice_clone_Fragment_elem(long long handle, GoInt _idx);
extern long long Slice_clone_Fragment_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_clone_Fragment_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_clone_Fragment_append(long long handle, long long _vl);

// --- wrapping struct: clone.Overhang ---
//
extern long long clone_Overhang_CTor();
extern long long clone_Overhang_Length_Get(long long handle);
extern void clone_Overhang_Length_Set(long long handle, long long val);
extern long long clone_Overhang_Position_Get(long long handle);
extern void clone_Overhang_Position_Set(long long handle, long long val);
extern char clone_Overhang_Forward_Get(long long handle);
extern void clone_Overhang_Forward_Set(long long handle, char val);
extern long long clone_Overhang_RecognitionSitePlusSkipLength_Get(long long handle);
extern void clone_Overhang_RecognitionSitePlusSkipLength_Set(long long handle, long long val);

// --- wrapping struct: clone.Part ---
//
extern long long clone_Part_CTor();
extern char* clone_Part_Sequence_Get(long long handle);
extern void clone_Part_Sequence_Set(long long handle, char* val);
extern char clone_Part_Circular_Get(long long handle);
extern void clone_Part_Circular_Set(long long handle, char val);

// --- wrapping struct: clone.Enzyme ---
//
extern long long clone_Enzyme_CTor();
extern char* clone_Enzyme_Name_Get(long long handle);
extern void clone_Enzyme_Name_Set(long long handle, char* val);
extern long long clone_Enzyme_RegexpFor_Get(long long handle);
extern void clone_Enzyme_RegexpFor_Set(long long handle, long long val);
extern long long clone_Enzyme_RegexpRev_Get(long long handle);
extern void clone_Enzyme_RegexpRev_Set(long long handle, long long val);
extern long long clone_Enzyme_Skip_Get(long long handle);
extern void clone_Enzyme_Skip_Set(long long handle, long long val);
extern long long clone_Enzyme_OverheadLength_Get(long long handle);
extern void clone_Enzyme_OverheadLength_Set(long long handle, long long val);
extern char* clone_Enzyme_RecognitionSite_Get(long long handle);
extern void clone_Enzyme_RecognitionSite_Set(long long handle, char* val);

// --- wrapping struct: clone.EnzymeManager ---
//
extern long long clone_EnzymeManager_CTor();
extern long long clone_EnzymeManager_CutWithEnzymeByName(long long _handle, long long part, char directional, char* name);
extern long long clone_EnzymeManager_GetEnzymeByName(long long _handle, char* name);

// --- wrapping struct: clone.Fragment ---
//
extern long long clone_Fragment_CTor();
extern char* clone_Fragment_Sequence_Get(long long handle);
extern void clone_Fragment_Sequence_Set(long long handle, char* val);
extern char* clone_Fragment_ForwardOverhang_Get(long long handle);
extern void clone_Fragment_ForwardOverhang_Set(long long handle, char* val);
extern char* clone_Fragment_ReverseOverhang_Get(long long handle);
extern void clone_Fragment_ReverseOverhang_Set(long long handle, char* val);
extern long long clone_NewEnzymeManager(long long enzymes);
extern long long clone_CutWithEnzyme(long long part, char directional, long long enzyme);
extern long long clone_GetBaseRestrictionEnzymes();

// --- wrapping struct: fold.Result ---
//
extern long long fold_Result_CTor();
extern char* fold_Result_DotBracket(long long _handle);
extern double fold_Result_MinimumFreeEnergy(long long _handle);
extern long long fold_Zuker(char* seq, double temp);

// --- wrapping slice: []fasta.Fasta ---
//
extern long long Slice_fasta_Fasta_CTor();
extern GoInt Slice_fasta_Fasta_len(long long handle);
extern long long Slice_fasta_Fasta_elem(long long handle, GoInt _idx);
extern long long Slice_fasta_Fasta_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_fasta_Fasta_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_fasta_Fasta_append(long long handle, long long _vl);

// --- wrapping struct: fasta.Fasta ---
//
extern long long fasta_Fasta_CTor();
extern char* fasta_Fasta_Name_Get(long long handle);
extern void fasta_Fasta_Name_Set(long long handle, char* val);
extern char* fasta_Fasta_Sequence_Get(long long handle);
extern void fasta_Fasta_Sequence_Set(long long handle, char* val);

// --- wrapping struct: fasta.Parser ---
//
extern long long fasta_Parser_CTor();
extern long long fasta_Parser_ParseAll(long long _handle);
extern long long fasta_Parser_ParseN(long long _handle, long long maxSequences);
extern void fasta_Parser_Reset(long long _handle, long long r, char goRun);
extern long long fasta_NewParser(long long r, long long maxLineSize);
extern long long fasta_Build(long long fastas);
extern long long fasta_Parse(long long r);
extern long long fasta_Read(char* path);
extern long long fasta_ReadGz(char* path);
extern char* fasta_Write(long long fastas, char* path);

// --- wrapping slice: []fastq.Fastq ---
//
extern long long Slice_fastq_Fastq_CTor();
extern GoInt Slice_fastq_Fastq_len(long long handle);
extern long long Slice_fastq_Fastq_elem(long long handle, GoInt _idx);
extern long long Slice_fastq_Fastq_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_fastq_Fastq_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_fastq_Fastq_append(long long handle, long long _vl);

// --- wrapping map: map[string]string ---
//
extern long long Map_string_string_CTor();
extern GoInt Map_string_string_len(long long handle);
extern char* Map_string_string_elem(long long handle, char* _ky);
extern char Map_string_string_contains(long long handle, char* _ky);
extern void Map_string_string_set(long long handle, char* _ky, char* _vl);
extern void Map_string_string_delete(long long handle, char* _ky);
extern long long Map_string_string_keys(long long handle);

// --- wrapping struct: fastq.Fastq ---
//
extern long long fastq_Fastq_CTor();
extern char* fastq_Fastq_Identifier_Get(long long handle);
extern void fastq_Fastq_Identifier_Set(long long handle, char* val);
extern long long fastq_Fastq_Optionals_Get(long long handle);
extern void fastq_Fastq_Optionals_Set(long long handle, long long val);
extern char* fastq_Fastq_Sequence_Get(long long handle);
extern void fastq_Fastq_Sequence_Set(long long handle, char* val);
extern char* fastq_Fastq_Quality_Get(long long handle);
extern void fastq_Fastq_Quality_Set(long long handle, char* val);

// --- wrapping struct: fastq.Parser ---
//
extern long long fastq_Parser_CTor();
extern long long fastq_Parser_ParseAll(long long _handle);
extern long long fastq_Parser_ParseN(long long _handle, long long maxSequences);
extern void fastq_Parser_Reset(long long _handle, long long r, char goRun);
extern long long fastq_NewParser(long long r, long long maxLineSize);
extern long long fastq_Parse(long long r);
extern long long fastq_Read(char* path);
extern long long fastq_ReadGz(char* path);
extern char* fastq_Write(long long fastqs, char* path);
extern long long fastq_Build(long long fastqs);

// --- wrapping slice: []genbank.BaseCount ---
//
extern long long Slice_genbank_BaseCount_CTor();
extern GoInt Slice_genbank_BaseCount_len(long long handle);
extern long long Slice_genbank_BaseCount_elem(long long handle, GoInt _idx);
extern long long Slice_genbank_BaseCount_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_genbank_BaseCount_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_genbank_BaseCount_append(long long handle, long long _vl);

// --- wrapping slice: []genbank.Feature ---
//
extern long long Slice_genbank_Feature_CTor();
extern GoInt Slice_genbank_Feature_len(long long handle);
extern long long Slice_genbank_Feature_elem(long long handle, GoInt _idx);
extern long long Slice_genbank_Feature_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_genbank_Feature_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_genbank_Feature_append(long long handle, long long _vl);

// --- wrapping slice: []genbank.Genbank ---
//
extern long long Slice_genbank_Genbank_CTor();
extern GoInt Slice_genbank_Genbank_len(long long handle);
extern long long Slice_genbank_Genbank_elem(long long handle, GoInt _idx);
extern long long Slice_genbank_Genbank_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_genbank_Genbank_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_genbank_Genbank_append(long long handle, long long _vl);

// --- wrapping slice: []genbank.Location ---
//
extern long long Slice_genbank_Location_CTor();
extern GoInt Slice_genbank_Location_len(long long handle);
extern long long Slice_genbank_Location_elem(long long handle, GoInt _idx);
extern long long Slice_genbank_Location_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_genbank_Location_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_genbank_Location_append(long long handle, long long _vl);

// --- wrapping slice: []genbank.Reference ---
//
extern long long Slice_genbank_Reference_CTor();
extern GoInt Slice_genbank_Reference_len(long long handle);
extern long long Slice_genbank_Reference_elem(long long handle, GoInt _idx);
extern long long Slice_genbank_Reference_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_genbank_Reference_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_genbank_Reference_append(long long handle, long long _vl);

// --- wrapping struct: genbank.Meta ---
//
extern long long genbank_Meta_CTor();
extern char* genbank_Meta_Date_Get(long long handle);
extern void genbank_Meta_Date_Set(long long handle, char* val);
extern char* genbank_Meta_Definition_Get(long long handle);
extern void genbank_Meta_Definition_Set(long long handle, char* val);
extern char* genbank_Meta_Accession_Get(long long handle);
extern void genbank_Meta_Accession_Set(long long handle, char* val);
extern char* genbank_Meta_Version_Get(long long handle);
extern void genbank_Meta_Version_Set(long long handle, char* val);
extern char* genbank_Meta_Keywords_Get(long long handle);
extern void genbank_Meta_Keywords_Set(long long handle, char* val);
extern char* genbank_Meta_Organism_Get(long long handle);
extern void genbank_Meta_Organism_Set(long long handle, char* val);
extern char* genbank_Meta_Source_Get(long long handle);
extern void genbank_Meta_Source_Set(long long handle, char* val);
extern long long genbank_Meta_Taxonomy_Get(long long handle);
extern void genbank_Meta_Taxonomy_Set(long long handle, long long val);
extern char* genbank_Meta_Origin_Get(long long handle);
extern void genbank_Meta_Origin_Set(long long handle, char* val);
extern long long genbank_Meta_Locus_Get(long long handle);
extern void genbank_Meta_Locus_Set(long long handle, long long val);
extern long long genbank_Meta_References_Get(long long handle);
extern void genbank_Meta_References_Set(long long handle, long long val);
extern long long genbank_Meta_BaseCount_Get(long long handle);
extern void genbank_Meta_BaseCount_Set(long long handle, long long val);
extern long long genbank_Meta_Other_Get(long long handle);
extern void genbank_Meta_Other_Set(long long handle, long long val);
extern char* genbank_Meta_Name_Get(long long handle);
extern void genbank_Meta_Name_Set(long long handle, char* val);
extern char* genbank_Meta_SequenceHash_Get(long long handle);
extern void genbank_Meta_SequenceHash_Set(long long handle, char* val);
extern char* genbank_Meta_SequenceHashFunction_Get(long long handle);
extern void genbank_Meta_SequenceHashFunction_Set(long long handle, char* val);

// --- wrapping struct: genbank.Reference ---
//
extern long long genbank_Reference_CTor();
extern char* genbank_Reference_Authors_Get(long long handle);
extern void genbank_Reference_Authors_Set(long long handle, char* val);
extern char* genbank_Reference_Title_Get(long long handle);
extern void genbank_Reference_Title_Set(long long handle, char* val);
extern char* genbank_Reference_Journal_Get(long long handle);
extern void genbank_Reference_Journal_Set(long long handle, char* val);
extern char* genbank_Reference_PubMed_Get(long long handle);
extern void genbank_Reference_PubMed_Set(long long handle, char* val);
extern char* genbank_Reference_Remark_Get(long long handle);
extern void genbank_Reference_Remark_Set(long long handle, char* val);
extern char* genbank_Reference_Range_Get(long long handle);
extern void genbank_Reference_Range_Set(long long handle, char* val);
extern char* genbank_Reference_Consortium_Get(long long handle);
extern void genbank_Reference_Consortium_Set(long long handle, char* val);

// --- wrapping struct: genbank.BaseCount ---
//
extern long long genbank_BaseCount_CTor();
extern char* genbank_BaseCount_Base_Get(long long handle);
extern void genbank_BaseCount_Base_Set(long long handle, char* val);
extern long long genbank_BaseCount_Count_Get(long long handle);
extern void genbank_BaseCount_Count_Set(long long handle, long long val);

// --- wrapping struct: genbank.Feature ---
//
extern long long genbank_Feature_CTor();
extern char* genbank_Feature_Type_Get(long long handle);
extern void genbank_Feature_Type_Set(long long handle, char* val);
extern char* genbank_Feature_Description_Get(long long handle);
extern void genbank_Feature_Description_Set(long long handle, char* val);
extern long long genbank_Feature_Attributes_Get(long long handle);
extern void genbank_Feature_Attributes_Set(long long handle, long long val);
extern char* genbank_Feature_SequenceHash_Get(long long handle);
extern void genbank_Feature_SequenceHash_Set(long long handle, char* val);
extern char* genbank_Feature_SequenceHashFunction_Get(long long handle);
extern void genbank_Feature_SequenceHashFunction_Set(long long handle, char* val);
extern char* genbank_Feature_Sequence_Get(long long handle);
extern void genbank_Feature_Sequence_Set(long long handle, char* val);
extern long long genbank_Feature_Location_Get(long long handle);
extern void genbank_Feature_Location_Set(long long handle, long long val);
extern long long genbank_Feature_ParentSequence_Get(long long handle);
extern void genbank_Feature_ParentSequence_Set(long long handle, long long val);
extern char* genbank_Feature_GetSequence(long long _handle);

// --- wrapping struct: genbank.Genbank ---
//
extern long long genbank_Genbank_CTor();
extern long long genbank_Genbank_Meta_Get(long long handle);
extern void genbank_Genbank_Meta_Set(long long handle, long long val);
extern long long genbank_Genbank_Features_Get(long long handle);
extern void genbank_Genbank_Features_Set(long long handle, long long val);
extern char* genbank_Genbank_Sequence_Get(long long handle);
extern void genbank_Genbank_Sequence_Set(long long handle, char* val);
extern char* genbank_Genbank_AddFeature(long long _handle, long long feature);

// --- wrapping struct: genbank.Location ---
//
extern long long genbank_Location_CTor();
extern long long genbank_Location_Start_Get(long long handle);
extern void genbank_Location_Start_Set(long long handle, long long val);
extern long long genbank_Location_End_Get(long long handle);
extern void genbank_Location_End_Set(long long handle, long long val);
extern char genbank_Location_Complement_Get(long long handle);
extern void genbank_Location_Complement_Set(long long handle, char val);
extern char genbank_Location_Join_Get(long long handle);
extern void genbank_Location_Join_Set(long long handle, char val);
extern char genbank_Location_FivePrimePartial_Get(long long handle);
extern void genbank_Location_FivePrimePartial_Set(long long handle, char val);
extern char genbank_Location_ThreePrimePartial_Get(long long handle);
extern void genbank_Location_ThreePrimePartial_Set(long long handle, char val);
extern char* genbank_Location_GbkLocationString_Get(long long handle);
extern void genbank_Location_GbkLocationString_Set(long long handle, char* val);
extern long long genbank_Location_SubLocations_Get(long long handle);
extern void genbank_Location_SubLocations_Set(long long handle, long long val);

// --- wrapping struct: genbank.Locus ---
//
extern long long genbank_Locus_CTor();
extern char* genbank_Locus_Name_Get(long long handle);
extern void genbank_Locus_Name_Set(long long handle, char* val);
extern char* genbank_Locus_SequenceLength_Get(long long handle);
extern void genbank_Locus_SequenceLength_Set(long long handle, char* val);
extern char* genbank_Locus_MoleculeType_Get(long long handle);
extern void genbank_Locus_MoleculeType_Set(long long handle, char* val);
extern char* genbank_Locus_GenbankDivision_Get(long long handle);
extern void genbank_Locus_GenbankDivision_Set(long long handle, char* val);
extern char* genbank_Locus_ModificationDate_Get(long long handle);
extern void genbank_Locus_ModificationDate_Set(long long handle, char* val);
extern char* genbank_Locus_SequenceCoding_Get(long long handle);
extern void genbank_Locus_SequenceCoding_Set(long long handle, char* val);
extern char genbank_Locus_Circular_Get(long long handle);
extern void genbank_Locus_Circular_Set(long long handle, char val);
extern long long genbank_Parse(long long r);
extern long long genbank_Read(char* path);
extern char* genbank_BuildFeatureString(long long feature);
extern char* genbank_BuildLocationString(long long location);
extern long long genbank_BuildMulti(long long sequences);
extern long long genbank_ReadMultiNth(char* path, long long count);
extern char* genbank_Write(long long sequences, char* path);
extern char* genbank_WriteMulti(long long sequences, char* path);
extern long long genbank_Build(long long gbk);
extern long long genbank_ParseMulti(long long r);
extern long long genbank_ParseMultiNth(long long r, long long count);
extern long long genbank_ReadMulti(char* path);

// --- wrapping slice: [32]byte ---
//
extern long long Array_32_byte_CTor();
extern GoInt Array_32_byte_len(long long handle);
extern char Array_32_byte_elem(long long handle, GoInt _idx);
extern void Array_32_byte_set(long long handle, GoInt _idx, char _vl);

// --- wrapping slice: []gff.Feature ---
//
extern long long Slice_gff_Feature_CTor();
extern GoInt Slice_gff_Feature_len(long long handle);
extern long long Slice_gff_Feature_elem(long long handle, GoInt _idx);
extern long long Slice_gff_Feature_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_gff_Feature_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_gff_Feature_append(long long handle, long long _vl);

// --- wrapping slice: []gff.Location ---
//
extern long long Slice_gff_Location_CTor();
extern GoInt Slice_gff_Location_len(long long handle);
extern long long Slice_gff_Location_elem(long long handle, GoInt _idx);
extern long long Slice_gff_Location_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_gff_Location_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_gff_Location_append(long long handle, long long _vl);

// --- wrapping struct: gff.Feature ---
//
extern long long gff_Feature_CTor();
extern char* gff_Feature_Name_Get(long long handle);
extern void gff_Feature_Name_Set(long long handle, char* val);
extern char* gff_Feature_Source_Get(long long handle);
extern void gff_Feature_Source_Set(long long handle, char* val);
extern char* gff_Feature_Type_Get(long long handle);
extern void gff_Feature_Type_Set(long long handle, char* val);
extern char* gff_Feature_Score_Get(long long handle);
extern void gff_Feature_Score_Set(long long handle, char* val);
extern char* gff_Feature_Strand_Get(long long handle);
extern void gff_Feature_Strand_Set(long long handle, char* val);
extern char* gff_Feature_Phase_Get(long long handle);
extern void gff_Feature_Phase_Set(long long handle, char* val);
extern long long gff_Feature_Attributes_Get(long long handle);
extern void gff_Feature_Attributes_Set(long long handle, long long val);
extern long long gff_Feature_Location_Get(long long handle);
extern void gff_Feature_Location_Set(long long handle, long long val);
extern long long gff_Feature_ParentSequence_Get(long long handle);
extern void gff_Feature_ParentSequence_Set(long long handle, long long val);
extern char* gff_Feature_GetSequence(long long _handle);

// --- wrapping struct: gff.Gff ---
//
extern long long gff_Gff_CTor();
extern long long gff_Gff_Meta_Get(long long handle);
extern void gff_Gff_Meta_Set(long long handle, long long val);
extern long long gff_Gff_Features_Get(long long handle);
extern void gff_Gff_Features_Set(long long handle, long long val);
extern char* gff_Gff_Sequence_Get(long long handle);
extern void gff_Gff_Sequence_Set(long long handle, char* val);
extern char* gff_Gff_AddFeature(long long _handle, long long feature);

// --- wrapping struct: gff.Location ---
//
extern long long gff_Location_CTor();
extern long long gff_Location_Start_Get(long long handle);
extern void gff_Location_Start_Set(long long handle, long long val);
extern long long gff_Location_End_Get(long long handle);
extern void gff_Location_End_Set(long long handle, long long val);
extern char gff_Location_Complement_Get(long long handle);
extern void gff_Location_Complement_Set(long long handle, char val);
extern char gff_Location_Join_Get(long long handle);
extern void gff_Location_Join_Set(long long handle, char val);
extern char gff_Location_FivePrimePartial_Get(long long handle);
extern void gff_Location_FivePrimePartial_Set(long long handle, char val);
extern char gff_Location_ThreePrimePartial_Get(long long handle);
extern void gff_Location_ThreePrimePartial_Set(long long handle, char val);
extern long long gff_Location_SubLocations_Get(long long handle);
extern void gff_Location_SubLocations_Set(long long handle, long long val);

// --- wrapping struct: gff.Meta ---
//
extern long long gff_Meta_CTor();
extern char* gff_Meta_Name_Get(long long handle);
extern void gff_Meta_Name_Set(long long handle, char* val);
extern char* gff_Meta_Description_Get(long long handle);
extern void gff_Meta_Description_Set(long long handle, char* val);
extern char* gff_Meta_Version_Get(long long handle);
extern void gff_Meta_Version_Set(long long handle, char* val);
extern long long gff_Meta_RegionStart_Get(long long handle);
extern void gff_Meta_RegionStart_Set(long long handle, long long val);
extern long long gff_Meta_RegionEnd_Get(long long handle);
extern void gff_Meta_RegionEnd_Set(long long handle, long long val);
extern long long gff_Meta_Size_Get(long long handle);
extern void gff_Meta_Size_Set(long long handle, long long val);
extern char* gff_Meta_SequenceHash_Get(long long handle);
extern void gff_Meta_SequenceHash_Set(long long handle, char* val);
extern char* gff_Meta_SequenceHashFunction_Get(long long handle);
extern void gff_Meta_SequenceHashFunction_Set(long long handle, char* val);
extern long long gff_Meta_CheckSum_Get(long long handle);
extern long long gff_Parse(long long file);
extern long long gff_Read(char* path);
extern long long gff_Build(long long sequence);
extern char* gff_Write(long long sequence, char* path);

// --- wrapping slice: []pileup.Pileup ---
//
extern long long Slice_pileup_Pileup_CTor();
extern GoInt Slice_pileup_Pileup_len(long long handle);
extern long long Slice_pileup_Pileup_elem(long long handle, GoInt _idx);
extern long long Slice_pileup_Pileup_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_pileup_Pileup_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_pileup_Pileup_append(long long handle, long long _vl);

// --- wrapping struct: pileup.Parser ---
//
extern long long pileup_Parser_CTor();
extern long long pileup_Parser_ParseAll(long long _handle);
extern long long pileup_Parser_ParseN(long long _handle, long long maxRows);
extern long long pileup_Parser_ParseNext(long long _handle);
extern void pileup_Parser_Reset(long long _handle, long long r, char goRun);

// --- wrapping struct: pileup.Pileup ---
//
extern long long pileup_Pileup_CTor();
extern char* pileup_Pileup_Sequence_Get(long long handle);
extern void pileup_Pileup_Sequence_Set(long long handle, char* val);
extern unsigned long long pileup_Pileup_Position_Get(long long handle);
extern void pileup_Pileup_Position_Set(long long handle, unsigned long long val);
extern char* pileup_Pileup_ReferenceBase_Get(long long handle);
extern void pileup_Pileup_ReferenceBase_Set(long long handle, char* val);
extern unsigned long long pileup_Pileup_ReadCount_Get(long long handle);
extern void pileup_Pileup_ReadCount_Set(long long handle, unsigned long long val);
extern long long pileup_Pileup_ReadResults_Get(long long handle);
extern void pileup_Pileup_ReadResults_Set(long long handle, long long val);
extern char* pileup_Pileup_Quality_Get(long long handle);
extern void pileup_Pileup_Quality_Set(long long handle, char* val);
extern long long pileup_NewParser(long long r, long long maxLineSize);
extern long long pileup_Read(char* path);
extern char* pileup_Write(long long pileups, char* path);
extern char* pileup_WritePileups(long long pileups, long long w);
extern long long pileup_Parse(long long r);

// --- wrapping slice: []polyjson.Feature ---
//
extern long long Slice_polyjson_Feature_CTor();
extern GoInt Slice_polyjson_Feature_len(long long handle);
extern long long Slice_polyjson_Feature_elem(long long handle, GoInt _idx);
extern long long Slice_polyjson_Feature_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_polyjson_Feature_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_polyjson_Feature_append(long long handle, long long _vl);

// --- wrapping slice: []polyjson.Location ---
//
extern long long Slice_polyjson_Location_CTor();
extern GoInt Slice_polyjson_Location_len(long long handle);
extern long long Slice_polyjson_Location_elem(long long handle, GoInt _idx);
extern long long Slice_polyjson_Location_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_polyjson_Location_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_polyjson_Location_append(long long handle, long long _vl);

// --- wrapping struct: polyjson.Feature ---
//
extern long long polyjson_Feature_CTor();
extern char* polyjson_Feature_Name_Get(long long handle);
extern void polyjson_Feature_Name_Set(long long handle, char* val);
extern char* polyjson_Feature_Hash_Get(long long handle);
extern void polyjson_Feature_Hash_Set(long long handle, char* val);
extern char* polyjson_Feature_Type_Get(long long handle);
extern void polyjson_Feature_Type_Set(long long handle, char* val);
extern char* polyjson_Feature_Description_Get(long long handle);
extern void polyjson_Feature_Description_Set(long long handle, char* val);
extern long long polyjson_Feature_Location_Get(long long handle);
extern void polyjson_Feature_Location_Set(long long handle, long long val);
extern long long polyjson_Feature_Tags_Get(long long handle);
extern void polyjson_Feature_Tags_Set(long long handle, long long val);
extern char* polyjson_Feature_Sequence_Get(long long handle);
extern void polyjson_Feature_Sequence_Set(long long handle, char* val);
extern long long polyjson_Feature_ParentSequence_Get(long long handle);
extern void polyjson_Feature_ParentSequence_Set(long long handle, long long val);
extern char* polyjson_Feature_GetSequence(long long _handle);

// --- wrapping struct: polyjson.Location ---
//
extern long long polyjson_Location_CTor();
extern long long polyjson_Location_Start_Get(long long handle);
extern void polyjson_Location_Start_Set(long long handle, long long val);
extern long long polyjson_Location_End_Get(long long handle);
extern void polyjson_Location_End_Set(long long handle, long long val);
extern char polyjson_Location_Complement_Get(long long handle);
extern void polyjson_Location_Complement_Set(long long handle, char val);
extern char polyjson_Location_Join_Get(long long handle);
extern void polyjson_Location_Join_Set(long long handle, char val);
extern char polyjson_Location_FivePrimePartial_Get(long long handle);
extern void polyjson_Location_FivePrimePartial_Set(long long handle, char val);
extern char polyjson_Location_ThreePrimePartial_Get(long long handle);
extern void polyjson_Location_ThreePrimePartial_Set(long long handle, char val);
extern long long polyjson_Location_SubLocations_Get(long long handle);
extern void polyjson_Location_SubLocations_Set(long long handle, long long val);

// --- wrapping struct: polyjson.Meta ---
//
extern long long polyjson_Meta_CTor();
extern char* polyjson_Meta_Name_Get(long long handle);
extern void polyjson_Meta_Name_Set(long long handle, char* val);
extern char* polyjson_Meta_Hash_Get(long long handle);
extern void polyjson_Meta_Hash_Set(long long handle, char* val);
extern char* polyjson_Meta_Description_Get(long long handle);
extern void polyjson_Meta_Description_Set(long long handle, char* val);
extern char* polyjson_Meta_URL_Get(long long handle);
extern void polyjson_Meta_URL_Set(long long handle, char* val);
extern char* polyjson_Meta_CreatedBy_Get(long long handle);
extern void polyjson_Meta_CreatedBy_Set(long long handle, char* val);
extern char* polyjson_Meta_CreatedWith_Get(long long handle);
extern void polyjson_Meta_CreatedWith_Set(long long handle, char* val);
extern long long polyjson_Meta_CreatedOn_Get(long long handle);
extern void polyjson_Meta_CreatedOn_Set(long long handle, long long val);
extern char* polyjson_Meta_Schema_Get(long long handle);
extern void polyjson_Meta_Schema_Set(long long handle, char* val);

// --- wrapping struct: polyjson.Poly ---
//
extern long long polyjson_Poly_CTor();
extern long long polyjson_Poly_Meta_Get(long long handle);
extern void polyjson_Poly_Meta_Set(long long handle, long long val);
extern long long polyjson_Poly_Features_Get(long long handle);
extern void polyjson_Poly_Features_Set(long long handle, long long val);
extern char* polyjson_Poly_Sequence_Get(long long handle);
extern void polyjson_Poly_Sequence_Set(long long handle, char* val);
extern char* polyjson_Poly_AddFeature(long long _handle, long long feature);
extern long long polyjson_Read(char* path);
extern long long polyjson_Parse(long long file);
extern char* polyjson_Write(long long sequence, char* path);

// --- wrapping map: map[string]rebase.Enzyme ---
//
extern long long Map_string_rebase_Enzyme_CTor();
extern GoInt Map_string_rebase_Enzyme_len(long long handle);
extern long long Map_string_rebase_Enzyme_elem(long long handle, char* _ky);
extern char Map_string_rebase_Enzyme_contains(long long handle, char* _ky);
extern void Map_string_rebase_Enzyme_set(long long handle, char* _ky, long long _vl);
extern void Map_string_rebase_Enzyme_delete(long long handle, char* _ky);
extern long long Map_string_rebase_Enzyme_keys(long long handle);

// --- wrapping struct: rebase.Enzyme ---
//
extern long long rebase_Enzyme_CTor();
extern char* rebase_Enzyme_Name_Get(long long handle);
extern void rebase_Enzyme_Name_Set(long long handle, char* val);
extern long long rebase_Enzyme_Isoschizomers_Get(long long handle);
extern void rebase_Enzyme_Isoschizomers_Set(long long handle, long long val);
extern char* rebase_Enzyme_RecognitionSequence_Get(long long handle);
extern void rebase_Enzyme_RecognitionSequence_Set(long long handle, char* val);
extern char* rebase_Enzyme_MethylationSite_Get(long long handle);
extern void rebase_Enzyme_MethylationSite_Set(long long handle, char* val);
extern char* rebase_Enzyme_MicroOrganism_Get(long long handle);
extern void rebase_Enzyme_MicroOrganism_Set(long long handle, char* val);
extern char* rebase_Enzyme_Source_Get(long long handle);
extern void rebase_Enzyme_Source_Set(long long handle, char* val);
extern long long rebase_Enzyme_CommercialAvailability_Get(long long handle);
extern void rebase_Enzyme_CommercialAvailability_Set(long long handle, long long val);
extern char* rebase_Enzyme_References_Get(long long handle);
extern void rebase_Enzyme_References_Set(long long handle, char* val);
extern long long rebase_Read(char* path);
extern long long rebase_Export(long long enzymeMap);
extern long long rebase_Parse(long long file);

// --- wrapping map: map[string]int ---
//
extern long long Map_string_int_CTor();
extern GoInt Map_string_int_len(long long handle);
extern long long Map_string_int_elem(long long handle, char* _ky);
extern char Map_string_int_contains(long long handle, char* _ky);
extern void Map_string_int_set(long long handle, char* _ky, long long _vl);
extern void Map_string_int_delete(long long handle, char* _ky);
extern long long Map_string_int_keys(long long handle);

// --- wrapping struct: slow5.Header ---
//
extern long long slow5_Header_CTor();
extern unsigned long slow5_Header_ReadGroupID_Get(long long handle);
extern void slow5_Header_ReadGroupID_Set(long long handle, unsigned long val);
extern char* slow5_Header_Slow5Version_Get(long long handle);
extern void slow5_Header_Slow5Version_Set(long long handle, char* val);
extern long long slow5_Header_Attributes_Get(long long handle);
extern void slow5_Header_Attributes_Set(long long handle, long long val);
extern long long slow5_Header_EndReasonHeaderMap_Get(long long handle);
extern void slow5_Header_EndReasonHeaderMap_Set(long long handle, long long val);

// --- wrapping struct: slow5.Parser ---
//
extern long long slow5_Parser_CTor();
extern long long slow5_Parser_ParseNext(long long _handle);

// --- wrapping struct: slow5.Read ---
//
extern long long slow5_Read_CTor();
extern char* slow5_Read_ReadID_Get(long long handle);
extern void slow5_Read_ReadID_Set(long long handle, char* val);
extern unsigned long slow5_Read_ReadGroupID_Get(long long handle);
extern void slow5_Read_ReadGroupID_Set(long long handle, unsigned long val);
extern double slow5_Read_Digitisation_Get(long long handle);
extern void slow5_Read_Digitisation_Set(long long handle, double val);
extern double slow5_Read_Offset_Get(long long handle);
extern void slow5_Read_Offset_Set(long long handle, double val);
extern double slow5_Read_Range_Get(long long handle);
extern void slow5_Read_Range_Set(long long handle, double val);
extern double slow5_Read_SamplingRate_Get(long long handle);
extern void slow5_Read_SamplingRate_Set(long long handle, double val);
extern unsigned long long slow5_Read_LenRawSignal_Get(long long handle);
extern void slow5_Read_LenRawSignal_Set(long long handle, unsigned long long val);
extern long long slow5_Read_RawSignal_Get(long long handle);
extern void slow5_Read_RawSignal_Set(long long handle, long long val);
extern char* slow5_Read_ChannelNumber_Get(long long handle);
extern void slow5_Read_ChannelNumber_Set(long long handle, char* val);
extern double slow5_Read_MedianBefore_Get(long long handle);
extern void slow5_Read_MedianBefore_Set(long long handle, double val);
extern long slow5_Read_ReadNumber_Get(long long handle);
extern void slow5_Read_ReadNumber_Set(long long handle, long val);
extern unsigned char slow5_Read_StartMux_Get(long long handle);
extern void slow5_Read_StartMux_Set(long long handle, unsigned char val);
extern unsigned long long slow5_Read_StartTime_Get(long long handle);
extern void slow5_Read_StartTime_Set(long long handle, unsigned long long val);
extern char* slow5_Read_EndReason_Get(long long handle);
extern void slow5_Read_EndReason_Set(long long handle, char* val);

// --- wrapping slice: []xml.Attr ---
//
extern long long Slice_xml_Attr_CTor();
extern GoInt Slice_xml_Attr_len(long long handle);
extern long long Slice_xml_Attr_elem(long long handle, GoInt _idx);
extern long long Slice_xml_Attr_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_xml_Attr_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_xml_Attr_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.AlternativeName ---
//
extern long long Slice_uniprot_AlternativeName_CTor();
extern GoInt Slice_uniprot_AlternativeName_len(long long handle);
extern long long Slice_uniprot_AlternativeName_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_AlternativeName_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_AlternativeName_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_AlternativeName_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.CofactorType ---
//
extern long long Slice_uniprot_CofactorType_CTor();
extern GoInt Slice_uniprot_CofactorType_len(long long handle);
extern long long Slice_uniprot_CofactorType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_CofactorType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_CofactorType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_CofactorType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.CommentType ---
//
extern long long Slice_uniprot_CommentType_CTor();
extern GoInt Slice_uniprot_CommentType_len(long long handle);
extern long long Slice_uniprot_CommentType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_CommentType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_CommentType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_CommentType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.Component ---
//
extern long long Slice_uniprot_Component_CTor();
extern GoInt Slice_uniprot_Component_len(long long handle);
extern long long Slice_uniprot_Component_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_Component_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_Component_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_Component_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.DbReferenceType ---
//
extern long long Slice_uniprot_DbReferenceType_CTor();
extern GoInt Slice_uniprot_DbReferenceType_len(long long handle);
extern long long Slice_uniprot_DbReferenceType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_DbReferenceType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_DbReferenceType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_DbReferenceType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.Domain ---
//
extern long long Slice_uniprot_Domain_CTor();
extern GoInt Slice_uniprot_Domain_len(long long handle);
extern long long Slice_uniprot_Domain_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_Domain_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_Domain_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_Domain_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.EventType ---
//
extern long long Slice_uniprot_EventType_CTor();
extern GoInt Slice_uniprot_EventType_len(long long handle);
extern long long Slice_uniprot_EventType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_EventType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_EventType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_EventType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.EvidenceType ---
//
extern long long Slice_uniprot_EvidenceType_CTor();
extern GoInt Slice_uniprot_EvidenceType_len(long long handle);
extern long long Slice_uniprot_EvidenceType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_EvidenceType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_EvidenceType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_EvidenceType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.EvidencedStringType ---
//
extern long long Slice_uniprot_EvidencedStringType_CTor();
extern GoInt Slice_uniprot_EvidencedStringType_len(long long handle);
extern long long Slice_uniprot_EvidencedStringType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_EvidencedStringType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_EvidencedStringType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_EvidencedStringType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.FeatureType ---
//
extern long long Slice_uniprot_FeatureType_CTor();
extern GoInt Slice_uniprot_FeatureType_len(long long handle);
extern long long Slice_uniprot_FeatureType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_FeatureType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_FeatureType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_FeatureType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.GeneLocationType ---
//
extern long long Slice_uniprot_GeneLocationType_CTor();
extern GoInt Slice_uniprot_GeneLocationType_len(long long handle);
extern long long Slice_uniprot_GeneLocationType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_GeneLocationType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_GeneLocationType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_GeneLocationType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.GeneNameType ---
//
extern long long Slice_uniprot_GeneNameType_CTor();
extern GoInt Slice_uniprot_GeneNameType_len(long long handle);
extern long long Slice_uniprot_GeneNameType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_GeneNameType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_GeneNameType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_GeneNameType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.GeneType ---
//
extern long long Slice_uniprot_GeneType_CTor();
extern GoInt Slice_uniprot_GeneType_len(long long handle);
extern long long Slice_uniprot_GeneType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_GeneType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_GeneType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_GeneType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.InteractantType ---
//
extern long long Slice_uniprot_InteractantType_CTor();
extern GoInt Slice_uniprot_InteractantType_len(long long handle);
extern long long Slice_uniprot_InteractantType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_InteractantType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_InteractantType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_InteractantType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.IsoformType ---
//
extern long long Slice_uniprot_IsoformType_CTor();
extern GoInt Slice_uniprot_IsoformType_len(long long handle);
extern long long Slice_uniprot_IsoformType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_IsoformType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_IsoformType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_IsoformType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.KeywordType ---
//
extern long long Slice_uniprot_KeywordType_CTor();
extern GoInt Slice_uniprot_KeywordType_len(long long handle);
extern long long Slice_uniprot_KeywordType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_KeywordType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_KeywordType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_KeywordType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.Link ---
//
extern long long Slice_uniprot_Link_CTor();
extern GoInt Slice_uniprot_Link_len(long long handle);
extern long long Slice_uniprot_Link_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_Link_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_Link_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_Link_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.LocationType ---
//
extern long long Slice_uniprot_LocationType_CTor();
extern GoInt Slice_uniprot_LocationType_len(long long handle);
extern long long Slice_uniprot_LocationType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_LocationType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_LocationType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_LocationType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.Name ---
//
extern long long Slice_uniprot_Name_CTor();
extern GoInt Slice_uniprot_Name_len(long long handle);
extern long long Slice_uniprot_Name_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_Name_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_Name_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_Name_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.OrganismNameType ---
//
extern long long Slice_uniprot_OrganismNameType_CTor();
extern GoInt Slice_uniprot_OrganismNameType_len(long long handle);
extern long long Slice_uniprot_OrganismNameType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_OrganismNameType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_OrganismNameType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_OrganismNameType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.OrganismType ---
//
extern long long Slice_uniprot_OrganismType_CTor();
extern GoInt Slice_uniprot_OrganismType_len(long long handle);
extern long long Slice_uniprot_OrganismType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_OrganismType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_OrganismType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_OrganismType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.PhysiologicalReactionType ---
//
extern long long Slice_uniprot_PhysiologicalReactionType_CTor();
extern GoInt Slice_uniprot_PhysiologicalReactionType_len(long long handle);
extern long long Slice_uniprot_PhysiologicalReactionType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_PhysiologicalReactionType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_PhysiologicalReactionType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_PhysiologicalReactionType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.PropertyType ---
//
extern long long Slice_uniprot_PropertyType_CTor();
extern GoInt Slice_uniprot_PropertyType_len(long long handle);
extern long long Slice_uniprot_PropertyType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_PropertyType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_PropertyType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_PropertyType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.ReferenceType ---
//
extern long long Slice_uniprot_ReferenceType_CTor();
extern GoInt Slice_uniprot_ReferenceType_len(long long handle);
extern long long Slice_uniprot_ReferenceType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_ReferenceType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_ReferenceType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_ReferenceType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.StatusType ---
//
extern long long Slice_uniprot_StatusType_CTor();
extern GoInt Slice_uniprot_StatusType_len(long long handle);
extern long long Slice_uniprot_StatusType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_StatusType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_StatusType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_StatusType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.SubcellularLocationType ---
//
extern long long Slice_uniprot_SubcellularLocationType_CTor();
extern GoInt Slice_uniprot_SubcellularLocationType_len(long long handle);
extern long long Slice_uniprot_SubcellularLocationType_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_SubcellularLocationType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_SubcellularLocationType_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_SubcellularLocationType_append(long long handle, long long _vl);

// --- wrapping slice: []uniprot.SubmittedName ---
//
extern long long Slice_uniprot_SubmittedName_CTor();
extern GoInt Slice_uniprot_SubmittedName_len(long long handle);
extern long long Slice_uniprot_SubmittedName_elem(long long handle, GoInt _idx);
extern long long Slice_uniprot_SubmittedName_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_uniprot_SubmittedName_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_uniprot_SubmittedName_append(long long handle, long long _vl);
extern char* uniprot_Decoder_DecodeElement(long long _handle, char* v, long long start);
extern long long uniprot_Decoder_Token(long long _handle);

// --- wrapping struct: uniprot.NameListType ---
//
extern long long uniprot_NameListType_CTor();
extern long long uniprot_NameListType_Consortium_Get(long long handle);
extern void uniprot_NameListType_Consortium_Set(long long handle, long long val);
extern long long uniprot_NameListType_Person_Get(long long handle);
extern void uniprot_NameListType_Person_Set(long long handle, long long val);

// --- wrapping struct: uniprot.ReactionType ---
//
extern long long uniprot_ReactionType_CTor();
extern char* uniprot_ReactionType_Text_Get(long long handle);
extern void uniprot_ReactionType_Text_Set(long long handle, char* val);
extern long long uniprot_ReactionType_DbReference_Get(long long handle);
extern void uniprot_ReactionType_DbReference_Set(long long handle, long long val);
extern long long uniprot_ReactionType_Evidence_Get(long long handle);
extern void uniprot_ReactionType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Tissue ---
//
extern long long uniprot_Tissue_CTor();
extern char* uniprot_Tissue_Value_Get(long long handle);
extern void uniprot_Tissue_Value_Set(long long handle, char* val);
extern long long uniprot_Tissue_Evidence_Get(long long handle);
extern void uniprot_Tissue_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.LocationType ---
//
extern long long uniprot_LocationType_CTor();
extern long long uniprot_LocationType_Begin_Get(long long handle);
extern void uniprot_LocationType_Begin_Set(long long handle, long long val);
extern long long uniprot_LocationType_End_Get(long long handle);
extern void uniprot_LocationType_End_Set(long long handle, long long val);
extern long long uniprot_LocationType_Position_Get(long long handle);
extern void uniprot_LocationType_Position_Set(long long handle, long long val);
extern char* uniprot_LocationType_Sequence_Get(long long handle);
extern void uniprot_LocationType_Sequence_Set(long long handle, char* val);

// --- wrapping struct: uniprot.RecommendedName ---
//
extern long long uniprot_RecommendedName_CTor();
extern long long uniprot_RecommendedName_FullName_Get(long long handle);
extern void uniprot_RecommendedName_FullName_Set(long long handle, long long val);
extern long long uniprot_RecommendedName_ShortName_Get(long long handle);
extern void uniprot_RecommendedName_ShortName_Set(long long handle, long long val);
extern long long uniprot_RecommendedName_EcNumber_Get(long long handle);
extern void uniprot_RecommendedName_EcNumber_Set(long long handle, long long val);

// --- wrapping struct: uniprot.SubcellularLocationType ---
//
extern long long uniprot_SubcellularLocationType_CTor();
extern long long uniprot_SubcellularLocationType_Location_Get(long long handle);
extern void uniprot_SubcellularLocationType_Location_Set(long long handle, long long val);
extern long long uniprot_SubcellularLocationType_Topology_Get(long long handle);
extern void uniprot_SubcellularLocationType_Topology_Set(long long handle, long long val);
extern long long uniprot_SubcellularLocationType_Orientation_Get(long long handle);
extern void uniprot_SubcellularLocationType_Orientation_Set(long long handle, long long val);

// --- wrapping struct: uniprot.OrganismNameType ---
//
extern long long uniprot_OrganismNameType_CTor();
extern char* uniprot_OrganismNameType_Value_Get(long long handle);
extern void uniprot_OrganismNameType_Value_Set(long long handle, char* val);
extern char* uniprot_OrganismNameType_Type_Get(long long handle);
extern void uniprot_OrganismNameType_Type_Set(long long handle, char* val);

// --- wrapping struct: uniprot.Sequence ---
//
extern long long uniprot_Sequence_CTor();
extern char* uniprot_Sequence_Resource_Get(long long handle);
extern void uniprot_Sequence_Resource_Set(long long handle, char* val);
extern long long uniprot_Sequence_Version_Get(long long handle);
extern void uniprot_Sequence_Version_Set(long long handle, long long val);

// --- wrapping struct: uniprot.SequenceType ---
//
extern long long uniprot_SequenceType_CTor();
extern char* uniprot_SequenceType_Value_Get(long long handle);
extern void uniprot_SequenceType_Value_Set(long long handle, char* val);
extern long long uniprot_SequenceType_Length_Get(long long handle);
extern void uniprot_SequenceType_Length_Set(long long handle, long long val);
extern long long uniprot_SequenceType_Mass_Get(long long handle);
extern void uniprot_SequenceType_Mass_Set(long long handle, long long val);
extern char* uniprot_SequenceType_Checksum_Get(long long handle);
extern void uniprot_SequenceType_Checksum_Set(long long handle, char* val);
extern long long uniprot_SequenceType_Modified_Get(long long handle);
extern void uniprot_SequenceType_Modified_Set(long long handle, long long val);
extern long long uniprot_SequenceType_Version_Get(long long handle);
extern void uniprot_SequenceType_Version_Set(long long handle, long long val);
extern char uniprot_SequenceType_Precursor_Get(long long handle);
extern void uniprot_SequenceType_Precursor_Set(long long handle, char val);
extern char* uniprot_SequenceType_Fragment_Get(long long handle);
extern void uniprot_SequenceType_Fragment_Set(long long handle, char* val);
extern char* uniprot_SequenceType_UnmarshalXML(long long _handle, long long d, long long start);

// --- wrapping struct: uniprot.Uniprot ---
//
extern long long uniprot_Uniprot_CTor();
extern long long uniprot_Uniprot_Entry_Get(long long handle);
extern void uniprot_Uniprot_Entry_Set(long long handle, long long val);
extern char* uniprot_Uniprot_Copyright_Get(long long handle);
extern void uniprot_Uniprot_Copyright_Set(long long handle, char* val);

// --- wrapping struct: uniprot.Disease ---
//
extern long long uniprot_Disease_CTor();
extern char* uniprot_Disease_Name_Get(long long handle);
extern void uniprot_Disease_Name_Set(long long handle, char* val);
extern char* uniprot_Disease_Acronym_Get(long long handle);
extern void uniprot_Disease_Acronym_Set(long long handle, char* val);
extern char* uniprot_Disease_Description_Get(long long handle);
extern void uniprot_Disease_Description_Set(long long handle, char* val);
extern long long uniprot_Disease_DbReference_Get(long long handle);
extern void uniprot_Disease_DbReference_Set(long long handle, long long val);

// --- wrapping struct: uniprot.PhDependence ---
//
extern long long uniprot_PhDependence_CTor();
extern long long uniprot_PhDependence_Text_Get(long long handle);
extern void uniprot_PhDependence_Text_Set(long long handle, long long val);

// --- wrapping struct: uniprot.PropertyType ---
//
extern long long uniprot_PropertyType_CTor();
extern char* uniprot_PropertyType_Type_Get(long long handle);
extern void uniprot_PropertyType_Type_Set(long long handle, char* val);
extern char* uniprot_PropertyType_Value_Get(long long handle);
extern void uniprot_PropertyType_Value_Set(long long handle, char* val);

// --- wrapping struct: uniprot.Anon6 ---
//
extern long long uniprot_Anon6_CTor();
extern char* uniprot_Anon6_Type_Get(long long handle);
extern void uniprot_Anon6_Type_Set(long long handle, char* val);

// --- wrapping struct: uniprot.FeatureType ---
//
extern long long uniprot_FeatureType_CTor();
extern char* uniprot_FeatureType_Original_Get(long long handle);
extern void uniprot_FeatureType_Original_Set(long long handle, char* val);
extern long long uniprot_FeatureType_Variation_Get(long long handle);
extern void uniprot_FeatureType_Variation_Set(long long handle, long long val);
extern long long uniprot_FeatureType_Location_Get(long long handle);
extern void uniprot_FeatureType_Location_Set(long long handle, long long val);
extern char* uniprot_FeatureType_Type_Get(long long handle);
extern void uniprot_FeatureType_Type_Set(long long handle, char* val);
extern char* uniprot_FeatureType_Description_Get(long long handle);
extern void uniprot_FeatureType_Description_Set(long long handle, char* val);
extern long long uniprot_FeatureType_Evidence_Get(long long handle);
extern void uniprot_FeatureType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.GeneType ---
//
extern long long uniprot_GeneType_CTor();
extern long long uniprot_GeneType_Name_Get(long long handle);
extern void uniprot_GeneType_Name_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Link ---
//
extern long long uniprot_Link_CTor();
extern char* uniprot_Link_Uri_Get(long long handle);
extern void uniprot_Link_Uri_Set(long long handle, char* val);

// --- wrapping struct: uniprot.OrganismType ---
//
extern long long uniprot_OrganismType_CTor();
extern long long uniprot_OrganismType_Name_Get(long long handle);
extern void uniprot_OrganismType_Name_Set(long long handle, long long val);
extern long long uniprot_OrganismType_DbReference_Get(long long handle);
extern void uniprot_OrganismType_DbReference_Set(long long handle, long long val);
extern long long uniprot_OrganismType_Lineage_Get(long long handle);
extern void uniprot_OrganismType_Lineage_Set(long long handle, long long val);
extern long long uniprot_OrganismType_Evidence_Get(long long handle);
extern void uniprot_OrganismType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.DbReferenceType ---
//
extern long long uniprot_DbReferenceType_CTor();
extern char* uniprot_DbReferenceType_Molecule_Get(long long handle);
extern void uniprot_DbReferenceType_Molecule_Set(long long handle, char* val);
extern long long uniprot_DbReferenceType_Property_Get(long long handle);
extern void uniprot_DbReferenceType_Property_Set(long long handle, long long val);
extern char* uniprot_DbReferenceType_Type_Get(long long handle);
extern void uniprot_DbReferenceType_Type_Set(long long handle, char* val);
extern long long uniprot_DbReferenceType_Evidence_Get(long long handle);
extern void uniprot_DbReferenceType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Strain ---
//
extern long long uniprot_Strain_CTor();
extern char* uniprot_Strain_Value_Get(long long handle);
extern void uniprot_Strain_Value_Set(long long handle, char* val);
extern long long uniprot_Strain_Evidence_Get(long long handle);
extern void uniprot_Strain_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.SubmittedName ---
//
extern long long uniprot_SubmittedName_CTor();
extern long long uniprot_SubmittedName_FullName_Get(long long handle);
extern void uniprot_SubmittedName_FullName_Set(long long handle, long long val);
extern long long uniprot_SubmittedName_EcNumber_Get(long long handle);
extern void uniprot_SubmittedName_EcNumber_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Transposon ---
//
extern long long uniprot_Transposon_CTor();
extern char* uniprot_Transposon_Value_Get(long long handle);
extern void uniprot_Transposon_Value_Set(long long handle, char* val);
extern long long uniprot_Transposon_Evidence_Get(long long handle);
extern void uniprot_Transposon_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.CommentType ---
//
extern long long uniprot_CommentType_CTor();
extern char* uniprot_CommentType_Molecule_Get(long long handle);
extern void uniprot_CommentType_Molecule_Set(long long handle, char* val);
extern long long uniprot_CommentType_Absorption_Get(long long handle);
extern void uniprot_CommentType_Absorption_Set(long long handle, long long val);
extern long long uniprot_CommentType_Kinetics_Get(long long handle);
extern void uniprot_CommentType_Kinetics_Set(long long handle, long long val);
extern long long uniprot_CommentType_PhDependence_Get(long long handle);
extern void uniprot_CommentType_PhDependence_Set(long long handle, long long val);
extern long long uniprot_CommentType_RedoxPotential_Get(long long handle);
extern void uniprot_CommentType_RedoxPotential_Set(long long handle, long long val);
extern long long uniprot_CommentType_TemperatureDependence_Get(long long handle);
extern void uniprot_CommentType_TemperatureDependence_Set(long long handle, long long val);
extern long long uniprot_CommentType_Reaction_Get(long long handle);
extern void uniprot_CommentType_Reaction_Set(long long handle, long long val);
extern long long uniprot_CommentType_PhysiologicalReaction_Get(long long handle);
extern void uniprot_CommentType_PhysiologicalReaction_Set(long long handle, long long val);
extern long long uniprot_CommentType_Cofactor_Get(long long handle);
extern void uniprot_CommentType_Cofactor_Set(long long handle, long long val);
extern long long uniprot_CommentType_SubcellularLocation_Get(long long handle);
extern void uniprot_CommentType_SubcellularLocation_Set(long long handle, long long val);
extern long long uniprot_CommentType_Conflict_Get(long long handle);
extern void uniprot_CommentType_Conflict_Set(long long handle, long long val);
extern long long uniprot_CommentType_Link_Get(long long handle);
extern void uniprot_CommentType_Link_Set(long long handle, long long val);
extern long long uniprot_CommentType_Event_Get(long long handle);
extern void uniprot_CommentType_Event_Set(long long handle, long long val);
extern long long uniprot_CommentType_Isoform_Get(long long handle);
extern void uniprot_CommentType_Isoform_Set(long long handle, long long val);
extern long long uniprot_CommentType_Interactant_Get(long long handle);
extern void uniprot_CommentType_Interactant_Set(long long handle, long long val);
extern char uniprot_CommentType_OrganismsDiffer_Get(long long handle);
extern void uniprot_CommentType_OrganismsDiffer_Set(long long handle, char val);
extern long long uniprot_CommentType_Experiments_Get(long long handle);
extern void uniprot_CommentType_Experiments_Set(long long handle, long long val);
extern long long uniprot_CommentType_Disease_Get(long long handle);
extern void uniprot_CommentType_Disease_Set(long long handle, long long val);
extern long long uniprot_CommentType_Location_Get(long long handle);
extern void uniprot_CommentType_Location_Set(long long handle, long long val);
extern long long uniprot_CommentType_Text_Get(long long handle);
extern void uniprot_CommentType_Text_Set(long long handle, long long val);
extern char* uniprot_CommentType_Type_Get(long long handle);
extern void uniprot_CommentType_Type_Set(long long handle, char* val);
extern char* uniprot_CommentType_LocationType_Get(long long handle);
extern void uniprot_CommentType_LocationType_Set(long long handle, char* val);
extern char* uniprot_CommentType_Name_Get(long long handle);
extern void uniprot_CommentType_Name_Set(long long handle, char* val);
extern float uniprot_CommentType_Mass_Get(long long handle);
extern void uniprot_CommentType_Mass_Set(long long handle, float val);
extern char* uniprot_CommentType_Error_Get(long long handle);
extern void uniprot_CommentType_Error_Set(long long handle, char* val);
extern char* uniprot_CommentType_Method_Get(long long handle);
extern void uniprot_CommentType_Method_Set(long long handle, char* val);
extern long long uniprot_CommentType_Evidence_Get(long long handle);
extern void uniprot_CommentType_Evidence_Set(long long handle, long long val);
extern char* uniprot_CommentType_UnmarshalXML(long long _handle, long long d, long long start);

// --- wrapping struct: uniprot.PositionType ---
//
extern long long uniprot_PositionType_CTor();
extern unsigned long long uniprot_PositionType_Position_Get(long long handle);
extern void uniprot_PositionType_Position_Set(long long handle, unsigned long long val);
extern char* uniprot_PositionType_Status_Get(long long handle);
extern void uniprot_PositionType_Status_Set(long long handle, char* val);
extern long long uniprot_PositionType_Evidence_Get(long long handle);
extern void uniprot_PositionType_Evidence_Set(long long handle, long long val);
extern char* uniprot_PositionType_UnmarshalXML(long long _handle, long long d, long long start);

// --- wrapping struct: uniprot.StatusType ---
//
extern long long uniprot_StatusType_CTor();
extern char* uniprot_StatusType_Value_Get(long long handle);
extern void uniprot_StatusType_Value_Set(long long handle, char* val);
extern char* uniprot_StatusType_Status_Get(long long handle);
extern void uniprot_StatusType_Status_Set(long long handle, char* val);

// --- wrapping struct: uniprot.GeneLocationType ---
//
extern long long uniprot_GeneLocationType_CTor();
extern long long uniprot_GeneLocationType_Name_Get(long long handle);
extern void uniprot_GeneLocationType_Name_Set(long long handle, long long val);
extern char* uniprot_GeneLocationType_Type_Get(long long handle);
extern void uniprot_GeneLocationType_Type_Set(long long handle, char* val);
extern long long uniprot_GeneLocationType_Evidence_Get(long long handle);
extern void uniprot_GeneLocationType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Entry ---
//
extern long long uniprot_Entry_CTor();
extern long long uniprot_Entry_Accession_Get(long long handle);
extern void uniprot_Entry_Accession_Set(long long handle, long long val);
extern long long uniprot_Entry_Name_Get(long long handle);
extern void uniprot_Entry_Name_Set(long long handle, long long val);
extern long long uniprot_Entry_Protein_Get(long long handle);
extern void uniprot_Entry_Protein_Set(long long handle, long long val);
extern long long uniprot_Entry_Gene_Get(long long handle);
extern void uniprot_Entry_Gene_Set(long long handle, long long val);
extern long long uniprot_Entry_Organism_Get(long long handle);
extern void uniprot_Entry_Organism_Set(long long handle, long long val);
extern long long uniprot_Entry_OrganismHost_Get(long long handle);
extern void uniprot_Entry_OrganismHost_Set(long long handle, long long val);
extern long long uniprot_Entry_GeneLocation_Get(long long handle);
extern void uniprot_Entry_GeneLocation_Set(long long handle, long long val);
extern long long uniprot_Entry_Reference_Get(long long handle);
extern void uniprot_Entry_Reference_Set(long long handle, long long val);
extern long long uniprot_Entry_Comment_Get(long long handle);
extern void uniprot_Entry_Comment_Set(long long handle, long long val);
extern long long uniprot_Entry_DbReference_Get(long long handle);
extern void uniprot_Entry_DbReference_Set(long long handle, long long val);
extern long long uniprot_Entry_ProteinExistence_Get(long long handle);
extern void uniprot_Entry_ProteinExistence_Set(long long handle, long long val);
extern long long uniprot_Entry_Keyword_Get(long long handle);
extern void uniprot_Entry_Keyword_Set(long long handle, long long val);
extern long long uniprot_Entry_Feature_Get(long long handle);
extern void uniprot_Entry_Feature_Set(long long handle, long long val);
extern long long uniprot_Entry_Evidence_Get(long long handle);
extern void uniprot_Entry_Evidence_Set(long long handle, long long val);
extern long long uniprot_Entry_Sequence_Get(long long handle);
extern void uniprot_Entry_Sequence_Set(long long handle, long long val);
extern char* uniprot_Entry_Dataset_Get(long long handle);
extern void uniprot_Entry_Dataset_Set(long long handle, char* val);
extern long long uniprot_Entry_Created_Get(long long handle);
extern void uniprot_Entry_Created_Set(long long handle, long long val);
extern long long uniprot_Entry_Modified_Get(long long handle);
extern void uniprot_Entry_Modified_Set(long long handle, long long val);
extern long long uniprot_Entry_Version_Get(long long handle);
extern void uniprot_Entry_Version_Set(long long handle, long long val);
extern char* uniprot_Entry_UnmarshalXML(long long _handle, long long d, long long start);

// --- wrapping struct: uniprot.Name ---
//
extern long long uniprot_Name_CTor();
extern char* uniprot_Name_Value_Get(long long handle);
extern void uniprot_Name_Value_Set(long long handle, char* val);
extern long long uniprot_Name_Evidence_Get(long long handle);
extern void uniprot_Name_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.PhysiologicalReactionType ---
//
extern long long uniprot_PhysiologicalReactionType_CTor();
extern long long uniprot_PhysiologicalReactionType_DbReference_Get(long long handle);
extern void uniprot_PhysiologicalReactionType_DbReference_Set(long long handle, long long val);
extern char* uniprot_PhysiologicalReactionType_Direction_Get(long long handle);
extern void uniprot_PhysiologicalReactionType_Direction_Set(long long handle, char* val);
extern long long uniprot_PhysiologicalReactionType_Evidence_Get(long long handle);
extern void uniprot_PhysiologicalReactionType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.ProteinExistenceType ---
//
extern long long uniprot_ProteinExistenceType_CTor();
extern char* uniprot_ProteinExistenceType_Type_Get(long long handle);
extern void uniprot_ProteinExistenceType_Type_Set(long long handle, char* val);

// --- wrapping struct: uniprot.ConsortiumType ---
//
extern long long uniprot_ConsortiumType_CTor();
extern char* uniprot_ConsortiumType_Name_Get(long long handle);
extern void uniprot_ConsortiumType_Name_Set(long long handle, char* val);

// --- wrapping struct: uniprot.Kinetics ---
//
extern long long uniprot_Kinetics_CTor();
extern long long uniprot_Kinetics_KM_Get(long long handle);
extern void uniprot_Kinetics_KM_Set(long long handle, long long val);
extern long long uniprot_Kinetics_Vmax_Get(long long handle);
extern void uniprot_Kinetics_Vmax_Set(long long handle, long long val);
extern long long uniprot_Kinetics_Text_Get(long long handle);
extern void uniprot_Kinetics_Text_Set(long long handle, long long val);

// --- wrapping struct: uniprot.PersonType ---
//
extern long long uniprot_PersonType_CTor();
extern char* uniprot_PersonType_Name_Get(long long handle);
extern void uniprot_PersonType_Name_Set(long long handle, char* val);

// --- wrapping struct: uniprot.RedoxPotential ---
//
extern long long uniprot_RedoxPotential_CTor();
extern long long uniprot_RedoxPotential_Text_Get(long long handle);
extern void uniprot_RedoxPotential_Text_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Conflict ---
//
extern long long uniprot_Conflict_CTor();
extern long long uniprot_Conflict_Sequence_Get(long long handle);
extern void uniprot_Conflict_Sequence_Set(long long handle, long long val);
extern char* uniprot_Conflict_Type_Get(long long handle);
extern void uniprot_Conflict_Type_Set(long long handle, char* val);

// --- wrapping struct: uniprot.Lineage ---
//
extern long long uniprot_Lineage_CTor();
extern long long uniprot_Lineage_Taxon_Get(long long handle);
extern void uniprot_Lineage_Taxon_Set(long long handle, long long val);

// --- wrapping struct: uniprot.ProteinType ---
//
extern long long uniprot_ProteinType_CTor();
extern long long uniprot_ProteinType_RecommendedName_Get(long long handle);
extern void uniprot_ProteinType_RecommendedName_Set(long long handle, long long val);
extern long long uniprot_ProteinType_AlternativeName_Get(long long handle);
extern void uniprot_ProteinType_AlternativeName_Set(long long handle, long long val);
extern long long uniprot_ProteinType_SubmittedName_Get(long long handle);
extern void uniprot_ProteinType_SubmittedName_Set(long long handle, long long val);
extern long long uniprot_ProteinType_AllergenName_Get(long long handle);
extern void uniprot_ProteinType_AllergenName_Set(long long handle, long long val);
extern long long uniprot_ProteinType_BiotechName_Get(long long handle);
extern void uniprot_ProteinType_BiotechName_Set(long long handle, long long val);
extern long long uniprot_ProteinType_CdAntigenName_Get(long long handle);
extern void uniprot_ProteinType_CdAntigenName_Set(long long handle, long long val);
extern long long uniprot_ProteinType_InnName_Get(long long handle);
extern void uniprot_ProteinType_InnName_Set(long long handle, long long val);
extern long long uniprot_ProteinType_Domain_Get(long long handle);
extern void uniprot_ProteinType_Domain_Set(long long handle, long long val);
extern long long uniprot_ProteinType_Component_Get(long long handle);
extern void uniprot_ProteinType_Component_Set(long long handle, long long val);

// --- wrapping struct: uniprot.SourceType ---
//
extern long long uniprot_SourceType_CTor();
extern long long uniprot_SourceType_DbReference_Get(long long handle);
extern void uniprot_SourceType_DbReference_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Component ---
//
extern long long uniprot_Component_CTor();
extern long long uniprot_Component_RecommendedName_Get(long long handle);
extern void uniprot_Component_RecommendedName_Set(long long handle, long long val);
extern long long uniprot_Component_AlternativeName_Get(long long handle);
extern void uniprot_Component_AlternativeName_Set(long long handle, long long val);
extern long long uniprot_Component_SubmittedName_Get(long long handle);
extern void uniprot_Component_SubmittedName_Set(long long handle, long long val);
extern long long uniprot_Component_AllergenName_Get(long long handle);
extern void uniprot_Component_AllergenName_Set(long long handle, long long val);
extern long long uniprot_Component_BiotechName_Get(long long handle);
extern void uniprot_Component_BiotechName_Set(long long handle, long long val);
extern long long uniprot_Component_CdAntigenName_Get(long long handle);
extern void uniprot_Component_CdAntigenName_Set(long long handle, long long val);
extern long long uniprot_Component_InnName_Get(long long handle);
extern void uniprot_Component_InnName_Set(long long handle, long long val);

// --- wrapping struct: uniprot.CofactorType ---
//
extern long long uniprot_CofactorType_CTor();
extern char* uniprot_CofactorType_Name_Get(long long handle);
extern void uniprot_CofactorType_Name_Set(long long handle, char* val);
extern long long uniprot_CofactorType_DbReference_Get(long long handle);
extern void uniprot_CofactorType_DbReference_Set(long long handle, long long val);
extern long long uniprot_CofactorType_Evidence_Get(long long handle);
extern void uniprot_CofactorType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.EvidenceType ---
//
extern long long uniprot_EvidenceType_CTor();
extern long long uniprot_EvidenceType_Source_Get(long long handle);
extern void uniprot_EvidenceType_Source_Set(long long handle, long long val);
extern long long uniprot_EvidenceType_ImportedFrom_Get(long long handle);
extern void uniprot_EvidenceType_ImportedFrom_Set(long long handle, long long val);
extern char* uniprot_EvidenceType_Type_Get(long long handle);
extern void uniprot_EvidenceType_Type_Set(long long handle, char* val);
extern long long uniprot_EvidenceType_Key_Get(long long handle);
extern void uniprot_EvidenceType_Key_Set(long long handle, long long val);

// --- wrapping struct: uniprot.ImportedFromType ---
//
extern long long uniprot_ImportedFromType_CTor();
extern long long uniprot_ImportedFromType_DbReference_Get(long long handle);
extern void uniprot_ImportedFromType_DbReference_Set(long long handle, long long val);

// --- wrapping struct: uniprot.SourceDataType ---
//
extern long long uniprot_SourceDataType_CTor();
extern long long uniprot_SourceDataType_Strain_Get(long long handle);
extern void uniprot_SourceDataType_Strain_Set(long long handle, long long val);
extern long long uniprot_SourceDataType_Plasmid_Get(long long handle);
extern void uniprot_SourceDataType_Plasmid_Set(long long handle, long long val);
extern long long uniprot_SourceDataType_Transposon_Get(long long handle);
extern void uniprot_SourceDataType_Transposon_Set(long long handle, long long val);
extern long long uniprot_SourceDataType_Tissue_Get(long long handle);
extern void uniprot_SourceDataType_Tissue_Set(long long handle, long long val);

// --- wrapping struct: uniprot.AlternativeName ---
//
extern long long uniprot_AlternativeName_CTor();
extern long long uniprot_AlternativeName_FullName_Get(long long handle);
extern void uniprot_AlternativeName_FullName_Set(long long handle, long long val);
extern long long uniprot_AlternativeName_ShortName_Get(long long handle);
extern void uniprot_AlternativeName_ShortName_Set(long long handle, long long val);
extern long long uniprot_AlternativeName_EcNumber_Get(long long handle);
extern void uniprot_AlternativeName_EcNumber_Set(long long handle, long long val);

// --- wrapping struct: uniprot.InteractantType ---
//
extern long long uniprot_InteractantType_CTor();
extern char* uniprot_InteractantType_Id_Get(long long handle);
extern void uniprot_InteractantType_Id_Set(long long handle, char* val);
extern char* uniprot_InteractantType_Label_Get(long long handle);
extern void uniprot_InteractantType_Label_Set(long long handle, char* val);
extern long long uniprot_InteractantType_DbReference_Get(long long handle);
extern void uniprot_InteractantType_DbReference_Set(long long handle, long long val);
extern char* uniprot_InteractantType_IntactId_Get(long long handle);
extern void uniprot_InteractantType_IntactId_Set(long long handle, char* val);

// --- wrapping struct: uniprot.KeywordType ---
//
extern long long uniprot_KeywordType_CTor();
extern char* uniprot_KeywordType_Value_Get(long long handle);
extern void uniprot_KeywordType_Value_Set(long long handle, char* val);
extern long long uniprot_KeywordType_Evidence_Get(long long handle);
extern void uniprot_KeywordType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.EventType ---
//
extern long long uniprot_EventType_CTor();
extern char* uniprot_EventType_Type_Get(long long handle);
extern void uniprot_EventType_Type_Set(long long handle, char* val);

// --- wrapping struct: uniprot.CitationType ---
//
extern long long uniprot_CitationType_CTor();
extern char* uniprot_CitationType_Title_Get(long long handle);
extern void uniprot_CitationType_Title_Set(long long handle, char* val);
extern long long uniprot_CitationType_EditorList_Get(long long handle);
extern void uniprot_CitationType_EditorList_Set(long long handle, long long val);
extern long long uniprot_CitationType_AuthorList_Get(long long handle);
extern void uniprot_CitationType_AuthorList_Set(long long handle, long long val);
extern char* uniprot_CitationType_Locator_Get(long long handle);
extern void uniprot_CitationType_Locator_Set(long long handle, char* val);
extern long long uniprot_CitationType_DbReference_Get(long long handle);
extern void uniprot_CitationType_DbReference_Set(long long handle, long long val);
extern char* uniprot_CitationType_Type_Get(long long handle);
extern void uniprot_CitationType_Type_Set(long long handle, char* val);
extern char* uniprot_CitationType_Date_Get(long long handle);
extern void uniprot_CitationType_Date_Set(long long handle, char* val);
extern char* uniprot_CitationType_Name_Get(long long handle);
extern void uniprot_CitationType_Name_Set(long long handle, char* val);
extern char* uniprot_CitationType_Volume_Get(long long handle);
extern void uniprot_CitationType_Volume_Set(long long handle, char* val);
extern char* uniprot_CitationType_First_Get(long long handle);
extern void uniprot_CitationType_First_Set(long long handle, char* val);
extern char* uniprot_CitationType_Last_Get(long long handle);
extern void uniprot_CitationType_Last_Set(long long handle, char* val);
extern char* uniprot_CitationType_Publisher_Get(long long handle);
extern void uniprot_CitationType_Publisher_Set(long long handle, char* val);
extern char* uniprot_CitationType_City_Get(long long handle);
extern void uniprot_CitationType_City_Set(long long handle, char* val);
extern char* uniprot_CitationType_Db_Get(long long handle);
extern void uniprot_CitationType_Db_Set(long long handle, char* val);
extern char* uniprot_CitationType_Number_Get(long long handle);
extern void uniprot_CitationType_Number_Set(long long handle, char* val);
extern char* uniprot_CitationType_Institute_Get(long long handle);
extern void uniprot_CitationType_Institute_Set(long long handle, char* val);
extern char* uniprot_CitationType_Country_Get(long long handle);
extern void uniprot_CitationType_Country_Set(long long handle, char* val);

// --- wrapping struct: uniprot.Domain ---
//
extern long long uniprot_Domain_CTor();
extern long long uniprot_Domain_RecommendedName_Get(long long handle);
extern void uniprot_Domain_RecommendedName_Set(long long handle, long long val);
extern long long uniprot_Domain_AlternativeName_Get(long long handle);
extern void uniprot_Domain_AlternativeName_Set(long long handle, long long val);
extern long long uniprot_Domain_SubmittedName_Get(long long handle);
extern void uniprot_Domain_SubmittedName_Set(long long handle, long long val);
extern long long uniprot_Domain_AllergenName_Get(long long handle);
extern void uniprot_Domain_AllergenName_Set(long long handle, long long val);
extern long long uniprot_Domain_BiotechName_Get(long long handle);
extern void uniprot_Domain_BiotechName_Set(long long handle, long long val);
extern long long uniprot_Domain_CdAntigenName_Get(long long handle);
extern void uniprot_Domain_CdAntigenName_Set(long long handle, long long val);
extern long long uniprot_Domain_InnName_Get(long long handle);
extern void uniprot_Domain_InnName_Set(long long handle, long long val);

// --- wrapping struct: uniprot.EvidencedStringType ---
//
extern long long uniprot_EvidencedStringType_CTor();
extern char* uniprot_EvidencedStringType_Value_Get(long long handle);
extern void uniprot_EvidencedStringType_Value_Set(long long handle, char* val);
extern long long uniprot_EvidencedStringType_Evidence_Get(long long handle);
extern void uniprot_EvidencedStringType_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Plasmid ---
//
extern long long uniprot_Plasmid_CTor();
extern char* uniprot_Plasmid_Value_Get(long long handle);
extern void uniprot_Plasmid_Value_Set(long long handle, char* val);
extern long long uniprot_Plasmid_Evidence_Get(long long handle);
extern void uniprot_Plasmid_Evidence_Set(long long handle, long long val);

// --- wrapping struct: uniprot.ReferenceType ---
//
extern long long uniprot_ReferenceType_CTor();
extern long long uniprot_ReferenceType_Citation_Get(long long handle);
extern void uniprot_ReferenceType_Citation_Set(long long handle, long long val);
extern long long uniprot_ReferenceType_Scope_Get(long long handle);
extern void uniprot_ReferenceType_Scope_Set(long long handle, long long val);
extern long long uniprot_ReferenceType_Source_Get(long long handle);
extern void uniprot_ReferenceType_Source_Set(long long handle, long long val);
extern long long uniprot_ReferenceType_Evidence_Get(long long handle);
extern void uniprot_ReferenceType_Evidence_Set(long long handle, long long val);
extern char* uniprot_ReferenceType_Key_Get(long long handle);
extern void uniprot_ReferenceType_Key_Set(long long handle, char* val);

// --- wrapping struct: uniprot.TemperatureDependence ---
//
extern long long uniprot_TemperatureDependence_CTor();
extern long long uniprot_TemperatureDependence_Text_Get(long long handle);
extern void uniprot_TemperatureDependence_Text_Set(long long handle, long long val);

// --- wrapping struct: uniprot.Absorption ---
//
extern long long uniprot_Absorption_CTor();
extern long long uniprot_Absorption_Max_Get(long long handle);
extern void uniprot_Absorption_Max_Set(long long handle, long long val);
extern long long uniprot_Absorption_Text_Get(long long handle);
extern void uniprot_Absorption_Text_Set(long long handle, long long val);

// --- wrapping struct: uniprot.IsoformType ---
//
extern long long uniprot_IsoformType_CTor();
extern long long uniprot_IsoformType_Id_Get(long long handle);
extern void uniprot_IsoformType_Id_Set(long long handle, long long val);
extern long long uniprot_IsoformType_Name_Get(long long handle);
extern void uniprot_IsoformType_Name_Set(long long handle, long long val);
extern long long uniprot_IsoformType_Sequence_Get(long long handle);
extern void uniprot_IsoformType_Sequence_Set(long long handle, long long val);
extern long long uniprot_IsoformType_Text_Get(long long handle);
extern void uniprot_IsoformType_Text_Set(long long handle, long long val);

// --- wrapping struct: uniprot.GeneNameType ---
//
extern long long uniprot_GeneNameType_CTor();
extern char* uniprot_GeneNameType_Value_Get(long long handle);
extern void uniprot_GeneNameType_Value_Set(long long handle, char* val);
extern long long uniprot_GeneNameType_Evidence_Get(long long handle);
extern void uniprot_GeneNameType_Evidence_Set(long long handle, long long val);
extern char* uniprot_GeneNameType_Type_Get(long long handle);
extern void uniprot_GeneNameType_Type_Set(long long handle, char* val);

// --- wrapping slice: uniprot.IntListType ---
//
extern long long uniprot_IntListType_CTor();
extern GoInt uniprot_IntListType_len(long long handle);
extern long long uniprot_IntListType_elem(long long handle, GoInt _idx);
extern long long uniprot_IntListType_subslice(long long handle, GoInt _st, GoInt _ed);
extern void uniprot_IntListType_set(long long handle, GoInt _idx, long long _vl);
extern void uniprot_IntListType_append(long long handle, long long _vl);
extern char* uniprot_IntListType_UnmarshalText(long long _handle, long long text);
extern long long primers_CreateBarcodes(long long length, long long maxSubSequence);
extern long long primers_CreateBarcodesGcRange(long long length, long long maxSubSequence, double minGcContent, double maxGcContent);
extern double primers_MarmurDoty(char* sequence);
extern double primers_MeltingTemp(char* sequence);
extern char* primers_NucleobaseDeBruijnSequence(long long substringLength);
extern long long pcr_Simulate(long long sequences, double targetTm, char circular, long long primerList);
extern long long pcr_SimulateSimple(long long sequences, double targetTm, char circular, long long primerList);
extern char* random_DNASequence(long long length, long long seed);
extern char* random_ProteinSequence(long long length, long long seed);
extern char* random_RNASequence(long long length, long long seed);

// --- wrapping struct: align.Scoring ---
//
extern long long align_Scoring_CTor();
extern long long align_Scoring_SubstitutionMatrix_Get(long long handle);
extern void align_Scoring_SubstitutionMatrix_Set(long long handle, long long val);
extern long long align_Scoring_GapPenalty_Get(long long handle);
extern void align_Scoring_GapPenalty_Set(long long handle, long long val);
extern long long align_Scoring_Score(long long _handle, char a, char b);
extern long long align_NewScoring(long long substitutionMatrix, long long gapPenalty);

// ---- Global Variables: can only use functions to access ---
//
extern long long matrix_BLOSUM100();
extern void matrix_Set_BLOSUM100(long long val);
extern long long matrix_BLOSUM30();
extern void matrix_Set_BLOSUM30(long long val);
extern long long matrix_BLOSUM35();
extern void matrix_Set_BLOSUM35(long long val);
extern long long matrix_BLOSUM40();
extern void matrix_Set_BLOSUM40(long long val);
extern long long matrix_BLOSUM45();
extern void matrix_Set_BLOSUM45(long long val);
extern long long matrix_BLOSUM50();
extern void matrix_Set_BLOSUM50(long long val);
extern long long matrix_BLOSUM55();
extern void matrix_Set_BLOSUM55(long long val);
extern long long matrix_BLOSUM60();
extern void matrix_Set_BLOSUM60(long long val);
extern long long matrix_BLOSUM62();
extern void matrix_Set_BLOSUM62(long long val);
extern long long matrix_BLOSUM65();
extern void matrix_Set_BLOSUM65(long long val);
extern long long matrix_BLOSUM70();
extern void matrix_Set_BLOSUM70(long long val);
extern long long matrix_BLOSUM75();
extern void matrix_Set_BLOSUM75(long long val);
extern long long matrix_BLOSUM80();
extern void matrix_Set_BLOSUM80(long long val);
extern long long matrix_BLOSUM85();
extern void matrix_Set_BLOSUM85(long long val);
extern long long matrix_BLOSUM90();
extern void matrix_Set_BLOSUM90(long long val);
extern long long matrix_BLOSUMN();
extern void matrix_Set_BLOSUMN(long long val);
extern long long matrix_DAYHOFF();
extern void matrix_Set_DAYHOFF(long long val);
extern long long matrix_Default();
extern void matrix_Set_Default(long long val);
extern long long matrix_GONNET();
extern void matrix_Set_GONNET(long long val);
extern long long matrix_IDENTITY();
extern void matrix_Set_IDENTITY(long long val);
extern long long matrix_MATCH();
extern void matrix_Set_MATCH(long long val);
extern long long matrix_NUC_4();
extern void matrix_Set_NUC_4(long long val);
extern long long matrix_NUC_4_4();
extern void matrix_Set_NUC_4_4(long long val);
extern long long matrix_PAM10();
extern void matrix_Set_PAM10(long long val);
extern long long matrix_PAM100();
extern void matrix_Set_PAM100(long long val);
extern long long matrix_PAM110();
extern void matrix_Set_PAM110(long long val);
extern long long matrix_PAM120();
extern void matrix_Set_PAM120(long long val);
extern long long matrix_PAM120_cdi();
extern void matrix_Set_PAM120_cdi(long long val);
extern long long matrix_PAM130();
extern void matrix_Set_PAM130(long long val);
extern long long matrix_PAM140();
extern void matrix_Set_PAM140(long long val);
extern long long matrix_PAM150();
extern void matrix_Set_PAM150(long long val);
extern long long matrix_PAM160();
extern void matrix_Set_PAM160(long long val);
extern long long matrix_PAM160_cdi();
extern void matrix_Set_PAM160_cdi(long long val);
extern long long matrix_PAM170();
extern void matrix_Set_PAM170(long long val);
extern long long matrix_PAM180();
extern void matrix_Set_PAM180(long long val);
extern long long matrix_PAM190();
extern void matrix_Set_PAM190(long long val);
extern long long matrix_PAM20();
extern void matrix_Set_PAM20(long long val);
extern long long matrix_PAM200();
extern void matrix_Set_PAM200(long long val);
extern long long matrix_PAM200_cdi();
extern void matrix_Set_PAM200_cdi(long long val);
extern long long matrix_PAM210();
extern void matrix_Set_PAM210(long long val);
extern long long matrix_PAM220();
extern void matrix_Set_PAM220(long long val);
extern long long matrix_PAM230();
extern void matrix_Set_PAM230(long long val);
extern long long matrix_PAM240();
extern void matrix_Set_PAM240(long long val);
extern long long matrix_PAM250();
extern void matrix_Set_PAM250(long long val);
extern long long matrix_PAM250_cdi();
extern void matrix_Set_PAM250_cdi(long long val);
extern long long matrix_PAM260();
extern void matrix_Set_PAM260(long long val);
extern long long matrix_PAM270();
extern void matrix_Set_PAM270(long long val);
extern long long matrix_PAM280();
extern void matrix_Set_PAM280(long long val);
extern long long matrix_PAM290();
extern void matrix_Set_PAM290(long long val);
extern long long matrix_PAM30();
extern void matrix_Set_PAM30(long long val);
extern long long matrix_PAM300();
extern void matrix_Set_PAM300(long long val);
extern long long matrix_PAM310();
extern void matrix_Set_PAM310(long long val);
extern long long matrix_PAM320();
extern void matrix_Set_PAM320(long long val);
extern long long matrix_PAM330();
extern void matrix_Set_PAM330(long long val);
extern long long matrix_PAM340();
extern void matrix_Set_PAM340(long long val);
extern long long matrix_PAM350();
extern void matrix_Set_PAM350(long long val);
extern long long matrix_PAM360();
extern void matrix_Set_PAM360(long long val);
extern long long matrix_PAM370();
extern void matrix_Set_PAM370(long long val);
extern long long matrix_PAM380();
extern void matrix_Set_PAM380(long long val);
extern long long matrix_PAM390();
extern void matrix_Set_PAM390(long long val);
extern long long matrix_PAM40();
extern void matrix_Set_PAM40(long long val);
extern long long matrix_PAM400();
extern void matrix_Set_PAM400(long long val);
extern long long matrix_PAM40_cdi();
extern void matrix_Set_PAM40_cdi(long long val);
extern long long matrix_PAM410();
extern void matrix_Set_PAM410(long long val);
extern long long matrix_PAM420();
extern void matrix_Set_PAM420(long long val);
extern long long matrix_PAM430();
extern void matrix_Set_PAM430(long long val);
extern long long matrix_PAM440();
extern void matrix_Set_PAM440(long long val);
extern long long matrix_PAM450();
extern void matrix_Set_PAM450(long long val);
extern long long matrix_PAM460();
extern void matrix_Set_PAM460(long long val);
extern long long matrix_PAM470();
extern void matrix_Set_PAM470(long long val);
extern long long matrix_PAM480();
extern void matrix_Set_PAM480(long long val);
extern long long matrix_PAM490();
extern void matrix_Set_PAM490(long long val);
extern long long matrix_PAM50();
extern void matrix_Set_PAM50(long long val);
extern long long matrix_PAM500();
extern void matrix_Set_PAM500(long long val);
extern long long matrix_PAM60();
extern void matrix_Set_PAM60(long long val);
extern long long matrix_PAM70();
extern void matrix_Set_PAM70(long long val);
extern long long matrix_PAM80();
extern void matrix_Set_PAM80(long long val);
extern long long matrix_PAM80_cdi();
extern void matrix_Set_PAM80_cdi(long long val);
extern long long matrix_PAM90();
extern void matrix_Set_PAM90(long long val);

// --- wrapping struct: matrix.SubstitutionMatrix ---
//
extern long long matrix_SubstitutionMatrix_CTor();
extern long long matrix_SubstitutionMatrix_FirstAlphabet_Get(long long handle);
extern void matrix_SubstitutionMatrix_FirstAlphabet_Set(long long handle, long long val);
extern long long matrix_SubstitutionMatrix_SecondAlphabet_Get(long long handle);
extern void matrix_SubstitutionMatrix_SecondAlphabet_Set(long long handle, long long val);
extern long long matrix_SubstitutionMatrix_Score(long long _handle, char* a, char* b);
extern long long matrix_NewSubstitutionMatrix(long long firstAlphabet, long long secondAlphabet, long long scores);

// --- wrapping struct: bwt.BWT ---
//
extern long long bwt_BWT_CTor();
extern long long bwt_BWT_Count(long long _handle, char* pattern);
extern long long bwt_BWT_Locate(long long _handle, char* pattern);
extern char* bwt_BWT_Extract(long long _handle, long long start, long long end);
extern long long bwt_BWT_Len(long long _handle);
extern char* bwt_BWT_GetTransform(long long _handle);
extern long long bwt_New(char* sequence);

// --- wrapping struct: mash.Mash ---
//
extern long long mash_Mash_CTor();
extern long long mash_Mash_KmerSize_Get(long long handle);
extern void mash_Mash_KmerSize_Set(long long handle, long long val);
extern long long mash_Mash_SketchSize_Get(long long handle);
extern void mash_Mash_SketchSize_Set(long long handle, long long val);
extern long long mash_Mash_Sketches_Get(long long handle);
extern void mash_Mash_Sketches_Set(long long handle, long long val);
extern void mash_Mash_Sketch(long long _handle, char* sequence, char goRun);
extern double mash_Mash_Similarity(long long _handle, long long other);
extern double mash_Mash_Distance(long long _handle, long long other);
extern long long mash_New(long long kmerSize, long long sketchSize);
extern char* seqhash_Hash(char* sequence, char* sequenceType, char circular, char doubleStranded);
extern char* seqhash_RotateSequence(char* sequence);

// --- wrapping slice: []codon.AminoAcid ---
//
extern long long Slice_codon_AminoAcid_CTor();
extern GoInt Slice_codon_AminoAcid_len(long long handle);
extern long long Slice_codon_AminoAcid_elem(long long handle, GoInt _idx);
extern long long Slice_codon_AminoAcid_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_codon_AminoAcid_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_codon_AminoAcid_append(long long handle, long long _vl);

// --- wrapping slice: []codon.Codon ---
//
extern long long Slice_codon_Codon_CTor();
extern GoInt Slice_codon_Codon_len(long long handle);
extern long long Slice_codon_Codon_elem(long long handle, GoInt _idx);
extern long long Slice_codon_Codon_subslice(long long handle, GoInt _st, GoInt _ed);
extern void Slice_codon_Codon_set(long long handle, GoInt _idx, long long _vl);
extern void Slice_codon_Codon_append(long long handle, long long _vl);

// --- wrapping map: map[string]weightedrand.Chooser ---
//
extern long long Map_string_weightedrand_Chooser_CTor();
extern GoInt Map_string_weightedrand_Chooser_len(long long handle);
extern long long Map_string_weightedrand_Chooser_elem(long long handle, char* _ky);
extern char Map_string_weightedrand_Chooser_contains(long long handle, char* _ky);
extern void Map_string_weightedrand_Chooser_set(long long handle, char* _ky, long long _vl);
extern void Map_string_weightedrand_Chooser_delete(long long handle, char* _ky);
extern long long Map_string_weightedrand_Chooser_keys(long long handle);
extern long long codon_Table_GetWeightedAminoAcids(long long _handle);
extern char* codon_Table_Optimize(long long _handle, char* aminoAcids, long long randomState);
extern char* codon_Table_Translate(long long _handle, char* dnaSeq);

// --- wrapping struct: codon.AminoAcid ---
//
extern long long codon_AminoAcid_CTor();
extern char* codon_AminoAcid_Letter_Get(long long handle);
extern void codon_AminoAcid_Letter_Set(long long handle, char* val);
extern long long codon_AminoAcid_Codons_Get(long long handle);
extern void codon_AminoAcid_Codons_Set(long long handle, long long val);

// --- wrapping struct: codon.Codon ---
//
extern long long codon_Codon_CTor();
extern char* codon_Codon_Triplet_Get(long long handle);
extern void codon_Codon_Triplet_Set(long long handle, char* val);
extern long long codon_Codon_Weight_Get(long long handle);
extern void codon_Codon_Weight_Set(long long handle, long long val);

// --- wrapping struct: codon.Stats ---
//
extern long long codon_Stats_CTor();
extern long long codon_Stats_StartCodonCount_Get(long long handle);
extern void codon_Stats_StartCodonCount_Set(long long handle, long long val);
extern long long codon_Stats_GeneCount_Get(long long handle);
extern void codon_Stats_GeneCount_Set(long long handle, long long val);

// --- wrapping struct: codon.TranslationTable ---
//
extern long long codon_TranslationTable_CTor();
extern long long codon_TranslationTable_StartCodons_Get(long long handle);
extern void codon_TranslationTable_StartCodons_Set(long long handle, long long val);
extern long long codon_TranslationTable_StopCodons_Get(long long handle);
extern void codon_TranslationTable_StopCodons_Set(long long handle, long long val);
extern long long codon_TranslationTable_AminoAcids_Get(long long handle);
extern void codon_TranslationTable_AminoAcids_Set(long long handle, long long val);
extern long long codon_TranslationTable_TranslationMap_Get(long long handle);
extern void codon_TranslationTable_TranslationMap_Set(long long handle, long long val);
extern long long codon_TranslationTable_StartCodonTable_Get(long long handle);
extern void codon_TranslationTable_StartCodonTable_Set(long long handle, long long val);
extern long long codon_TranslationTable_Choosers_Get(long long handle);
extern void codon_TranslationTable_Choosers_Set(long long handle, long long val);
extern long long codon_TranslationTable_Stats_Get(long long handle);
extern void codon_TranslationTable_Stats_Set(long long handle, long long val);
extern long long codon_TranslationTable_Copy(long long _handle);
extern long long codon_TranslationTable_GetWeightedAminoAcids(long long _handle);
extern char* codon_TranslationTable_Optimize(long long _handle, char* aminoAcids, long long randomState);
extern char* codon_TranslationTable_UpdateWeights(long long _handle, long long aminoAcids);
extern char* codon_TranslationTable_UpdateWeightsWithSequence(long long _handle, long long data);
extern char* codon_TranslationTable_Translate(long long _handle, char* dnaSeq);
extern long long codon_NewStats();
extern long long codon_NewTranslationTable(long long index);
extern long long codon_ParseCodonJSON(long long file);
extern long long codon_ReadCodonJSON(char* path);
extern long long codon_AddCodonTable(long long firstCodonTable, long long secondCodonTable);
extern long long codon_CompromiseCodonTable(long long firstCodonTable, long long secondCodonTable, double cutOff);
extern void codon_WriteCodonJSON(long long codonTable, char* path, char goRun);

// --- wrapping struct: fix.Change ---
//
extern long long fix_Change_CTor();
extern long long fix_Change_Position_Get(long long handle);
extern void fix_Change_Position_Set(long long handle, long long val);
extern long long fix_Change_Step_Get(long long handle);
extern void fix_Change_Step_Set(long long handle, long long val);
extern char* fix_Change_From_Get(long long handle);
extern void fix_Change_From_Set(long long handle, char* val);
extern char* fix_Change_To_Get(long long handle);
extern void fix_Change_To_Set(long long handle, char* val);
extern char* fix_Change_Reason_Get(long long handle);
extern void fix_Change_Reason_Set(long long handle, char* val);

// --- wrapping struct: fix.DnaSuggestion ---
//
extern long long fix_DnaSuggestion_CTor();
extern long long fix_DnaSuggestion_Start_Get(long long handle);
extern void fix_DnaSuggestion_Start_Set(long long handle, long long val);
extern long long fix_DnaSuggestion_End_Get(long long handle);
extern void fix_DnaSuggestion_End_Set(long long handle, long long val);
extern char* fix_DnaSuggestion_Bias_Get(long long handle);
extern void fix_DnaSuggestion_Bias_Set(long long handle, char* val);
extern long long fix_DnaSuggestion_QuantityFixes_Get(long long handle);
extern void fix_DnaSuggestion_QuantityFixes_Set(long long handle, long long val);
extern char* fix_DnaSuggestion_SuggestionType_Get(long long handle);
extern void fix_DnaSuggestion_SuggestionType_Set(long long handle, char* val);
extern char* fragment_NextOverhang(long long currentOverhangs);
extern double fragment_SetEfficiency(long long overhangs);
extern long transform_ComplementBaseRNA(long basePair);
extern char* transform_ComplementRNA(char* sequence);
extern char* transform_Reverse(char* sequence);
extern char* transform_ReverseComplement(char* sequence);
extern char* transform_ReverseComplementRNA(char* sequence);
extern char* transform_Complement(char* sequence);
extern long transform_ComplementBase(long basePair);
extern long long variants_AllVariantsIUPAC(char* seq);

#ifdef __cplusplus
}
#endif
