Zip and Skip Tries
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
genetics.cuh File Reference

Provides utilities for working with genetic data in various formats. More...

#include "BitString.cuh"
#include "nucleotide.hpp"
#include <filesystem>
#include <istream>
#include <string>
#include <vector>
Include dependency graph for genetics.cuh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  genetics::GeneManager
 Manages efficient loading of multiple genetic sequences from a combined file. More...
 
struct  genetics::GeneManager::GeneInfo
 Structure to track information about a gene in the combined file. More...
 

Namespaces

namespace  genetics
 Contains utilities for working with genetic data and file formats.
 

Typedefs

typedef BitString< Nucleotide, 2 > Gene
 A specialized BitString for representing genetic sequences.
 

Enumerations

enum class  genetics::FileType {
  genetics::GBK , genetics::FNA , genetics::DNA , genetics::DNA_BIN ,
  genetics::DNA_BIN_COMBINED , genetics::UNKNOWN
}
 Enumerates the supported genetic file formats. More...
 

Functions

Gene genetics::from_gbk (const std::string &filename)
 Loads a gene from a GenBank format file.
 
Gene genetics::from_fna (const std::string &filename)
 Loads a gene from a FASTA nucleotide format file.
 
Gene genetics::from_dna (const std::string &filename)
 Loads a gene from a plain text DNA format file.
 
Gene genetics::from_file (const std::string &filename)
 Loads a gene from a file with automatic format detection.
 
Gene genetics::from_file (const std::filesystem::path &path)
 Loads a gene from a file path with automatic format detection.
 
Gene genetics::from_file (const std::filesystem::directory_entry &entry)
 Loads a gene from a directory entry with automatic format detection.
 
void genetics::to_dna (const Gene &gene, const std::string &filename)
 Saves a gene to a plain text DNA format file.
 
std::vector< Genegenetics::from_directory (const std::string &dirname)
 Loads all genes from files in a directory with automatic format detection.
 
std::vector< Genegenetics::from_directory (const std::string &dirname, FileType type)
 Loads all genes from files of a specific format in a directory.
 
std::vector< std::string > genetics::get_dna_strings_from_directory (const std::string &dirname)
 Extracts DNA strings from all supported files in a directory.
 
FileType genetics::get_file_type (const std::string &filename)
 Determines the file type based on its filename extension.
 
FileType genetics::get_file_type (const std::filesystem::path &path)
 Determines the file type based on its path's extension.
 
FileType genetics::get_file_type (const std::filesystem::directory_entry &entry)
 Determines the file type based on a directory entry's path extension.
 
Gene genetics::from_stream (std::istream &stream)
 Loads a gene from an input stream.
 
std::vector< std::filesystem::path > genetics::get_virus_nucleotide_paths ()
 Gets paths to all virus nucleotide files in the virus directory.
 
void genetics::combine_dna_bin_files (const std::string &dirname, const std::string &combined_filename)
 Combines multiple binary DNA files into a single combined file.
 

Variables

static const std::string genetics::GENETIC_DIRECTORY = "genetic/"
 Path to the genetic data directory.
 
static const std::string genetics::VIRUS_DIRECTORY = GENETIC_DIRECTORY + "virus/"
 Path to the virus genome data directory.
 
static const std::string genetics::ABC_HUMI_DIRECTORY = GENETIC_DIRECTORY + "ABC-HuMi/"
 Path to the ABC-HuMi dataset directory.
 
static const std::string genetics::DNA_EXTENSION = ".dna"
 File extension for plain text DNA files.
 
static const std::string genetics::DNA_BIN_EXTENSION = ".dna.bin"
 File extension for binary DNA files.
 
static const std::string genetics::DNA_BIN_COMBINED_EXTENSION = ".dna.bin.combined"
 File extension for combined binary DNA files.
 
static const std::string genetics::DNA_BIN_SIZES_EXTENSION = ".dna.bin.sizes"
 File extension for binary DNA file size information.
 
static const std::string genetics::GBK_EXTENSION = ".gbk"
 File extension for GenBank format files.
 
static const std::string genetics::FNA_EXTENSION = ".fna"
 File extension for FASTA nucleotide format files.
 

Detailed Description

Provides utilities for working with genetic data in various formats.

This file defines types and functions for loading, saving, and manipulating genetic data from various file formats such as GBK, FNA, and DNA. It uses the BitString template specialized for nucleotides to efficiently represent genetic sequences.

See also
BitString.cuh
nucleotide.hpp

Definition in file genetics.cuh.

Typedef Documentation

◆ Gene

A specialized BitString for representing genetic sequences.

Represents DNA sequences as bit strings with 2 bits per nucleotide, allowing for compact representation and efficient operations on genetic data.

Definition at line 28 of file genetics.cuh.