cuSBF
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
cusbf::ProteinAlphabet Struct Reference

An alphabet for encoding protein sequences, consisting of the 20 standard amino acids plus common ambiguous and rare residue symbols: More...

Static Public Member Functions

constexpr __host__ __device__ static __forceinline__ uint8_t encode (const char *input)
 

Static Public Attributes

static constexpr uint64_t symbolWidth = 1
 
static constexpr uint64_t symbolCount = 26
 
static constexpr uint8_t invalidSymbol = 0xFFu
 
static constexpr uint8_t separator = '*'
 
static constexpr char validBytes [] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 

Detailed Description

An alphabet for encoding protein sequences, consisting of the 20 standard amino acids plus common ambiguous and rare residue symbols:

A through Z.

Each symbol is encoded as a unique 5-bit value from 0 to 25. Invalid bytes are encoded as 0xFF.

Definition at line 167 of file Alphabet.cuh.

Member Function Documentation

◆ encode()

constexpr __host__ __device__ static __forceinline__ uint8_t cusbf::ProteinAlphabet::encode ( const char *  input)
inlinestaticconstexpr

Definition at line 174 of file Alphabet.cuh.

176 {
177 const auto byte = static_cast<uint8_t>(input[0]);
178 const uint8_t upper = byte & 0xDFu;
179 const uint8_t letterIndex = upper - 'A';
180 const uint8_t valid = letterIndex < 26;
181 const uint8_t mask = -valid;
182 return (letterIndex & mask) | (invalidSymbol & ~mask);
183 }
static constexpr uint8_t invalidSymbol
Definition Alphabet.cuh:170

Member Data Documentation

◆ invalidSymbol

constexpr uint8_t cusbf::ProteinAlphabet::invalidSymbol = 0xFFu
staticconstexpr

Definition at line 170 of file Alphabet.cuh.

◆ separator

constexpr uint8_t cusbf::ProteinAlphabet::separator = '*'
staticconstexpr

Definition at line 171 of file Alphabet.cuh.

◆ symbolCount

constexpr uint64_t cusbf::ProteinAlphabet::symbolCount = 26
staticconstexpr

Definition at line 169 of file Alphabet.cuh.

◆ symbolWidth

constexpr uint64_t cusbf::ProteinAlphabet::symbolWidth = 1
staticconstexpr

Definition at line 168 of file Alphabet.cuh.

◆ validBytes

constexpr char cusbf::ProteinAlphabet::validBytes[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
staticconstexpr

Definition at line 172 of file Alphabet.cuh.


The documentation for this struct was generated from the following file: