Expand description
High-performance antibody and TCR sequence numbering.
immunum numbers antibody and T-cell receptor (TCR) variable domain sequences
using Needleman-Wunsch semi-global alignment against position-specific scoring
matrices (PSSM) built from consensus sequences with BLOSUM62 substitution scores.
Chain type is detected automatically by aligning against all requested chains and
selecting the best match.
§Supported chains and schemes
| Chain | Type | Schemes |
|---|---|---|
| IGH | Antibody heavy | IMGT, Kabat |
| IGK | Antibody kappa | IMGT, Kabat |
| IGL | Antibody lambda | IMGT, Kabat |
| TRA | TCR alpha | IMGT |
| TRB | TCR beta | IMGT |
| TRG | TCR gamma | IMGT |
| TRD | TCR delta | IMGT |
§Quick start
use immunum::{Annotator, Chain, Scheme};
// Create an annotator for all antibody chains with IMGT numbering
let annotator = Annotator::new(&[Chain::IGH, Chain::IGK, Chain::IGL], Scheme::IMGT, None).unwrap();
let sequence = "QVQLVQSGAEVKRPGSSVTVSCKASGGSFSTYALSWVRQAPGRGLEWMGGVIPLLTITNYAPRFQGRITITADRSTSTAYLELNSLRPEDTAVYYCAREGTTGKPIGAFAHWGQGTLVTVSS";
let result = annotator.number(sequence).unwrap();
println!("Chain: {}", result.chain); // IGH
println!("Confidence: {:.2}", result.confidence);
// Iterate over (amino acid, IMGT position) pairs
for (aa, pos) in sequence.chars().zip(result.positions.iter()) {
println!("{aa} -> {pos}");
}§Key types
Annotator— main entry point; holds loaded scoring matrices and numbers sequencesNumberingResult— the output ofAnnotator::number: positions, chain, confidencePosition— an IMGT/Kabat position such as111or111AChain— chain type (IGH,IGK,IGL,TRA,TRB,TRG,TRD)Scheme— numbering scheme (IMGTorKabat)
§Modules
Re-exports§
pub use numbering::imgt;pub use numbering::kabat;pub use alignment::align;pub use alignment::Alignment;pub use annotator::Annotator;pub use annotator::NumberingResult;pub use annotator::SegmentResult;pub use annotator::DEFAULT_MIN_CONFIDENCE;pub use error::Error;pub use error::Result;pub use scoring::ScoringMatrix;pub use types::Chain;pub use types::Insertion;pub use types::NumberingRule;pub use types::Position;pub use types::Region;pub use types::Scheme;pub use io::read_fasta;pub use io::read_input;pub use io::NumberedRecord;pub use io::OutputFormat;pub use io::Record;pub use validation::load_validation_csv;pub use validation::validate_entry;pub use validation::ValidationEntry;pub use validation::ValidationResult;
Modules§
- alignment
- Sequence alignment using Needleman-Wunsch algorithm
- annotator
- High-level API for sequence annotation and chain detection
- error
- Error types for immunum
- io
- Input parsing and output formatting for sequence records
- numbering
- scoring
- Scoring matrices for sequence alignment
- types
- Core types for sequence numbering
- validation
- Validation against numbered test data