VDJDL is a Julia package specifically designed for deep learning tasks involving VDJ immunoreceptor sequences. It offers tools and functionalities for efficient training of deep learning models using the Flux library. VDJDL is tailored to support the unique challenges of working with VDJ recombination data, providing a robust framework for researchers and developers in computational biology and bioinformatics.
- Label Encoding: Converts categorical labels into numerical format.
- Sequence Tokenization: Tokenizes DNA sequences, preparing them for input into models.
- Position Encoding: Implements absolute positional sine-cosine embeddings, providing positional information to sequences (Attetnion Is All You Need)
- Rotary MultiHeadAttention: Implements RoPE positional MultiHeadAttention layer as a wrapper of NeuralAttentionlib.jl function (RoFormer: Enhanced Transformer with Rotary Position Embedding)
- Rezero: A normalization layer featuring a single learnable scaling parameter (ReZero is All You Need: Fast Convergence at Large Depth)
- ZISNB (Zero Inflated Shifted Negative Binomial, DiscreteUniform) to handle zeros separetly from NB
- MixtureZISNB (ZISNB, DiscreteUniform) to handle V and J trimmings with negative counts
- BiZISNB (ZISNB, ZISNB, length) to handle conditionally on length, non-negative trimmings of D on both 5' and 3' ends
To install VDJDL, use the following command:
using Pkg
Pkg.add("https://github.com/mashu/VDJDL.jl")