AbNumber
AbNumber copied to clipboard
Convenience Python APIs for antibody numbering using ANARCI
AbNumber
Convenience Python APIs for antibody numbering and alignment using ANARCI
Try it out in your browser using Binder:
Features:
-
Streamlined Python API using
Chain
object -
Identifying CDR regions, e.g. using
chain.regions
orchain.cdr3_seq
-
Indexing and slicing, e.g. using
chain['5']
orchain['H2':'H5']
-
Pairwise and multiple sequence alignment in the given numbering using
chain.align(another)
-
Alignment to nearest human germline using
chain.align(chain.find_merged_human_germline())
-
Humanization using CDR grafting by
chain.graft_cdrs_onto_human_germline()
See AbNumber Documentation for the full reference.
Installation
Install using Bioconda:
conda install -c bioconda abnumber
Note: Windows is not supported due to HMMER dependency. AbNumber is currently only available on UNIX & MacOS.
Examples
from abnumber import Chain
seq = 'QVQLQQSGAELARPGASVKMSCKASGYTFTRYTMHWVKQRPGQGLEWIGYINPSRGYTNYNQKFKDKATLTTDKSSSTAYMQLSSLTSEDSAVYYCARYYDDHYCLDYWGQGTTLTVSSAKTTAPSVYPLA'
chain = Chain(seq, scheme='imgt')
chain
# QVQLQQSGAELARPGASVKMSCKASGYTFTRYTMHWVKQRPGQGLEWIGYINPSRGYTNYNQKFKDKATLTTDKSSSTAYMQLSSLTSEDSAVYYCARYYDDHYCLDYWGQGTTLTVSS
# ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^
chain.cdr3_seq
# ARYYDDHYCLDY
chain.print(numbering=True)
# 0 1 2 3 4 5 6 7 8 9 10 11 12
# 12345678912345678901234567890567890123456789012345678923456789012456789012345678901234567890123456789023456789012345678
# QVQLQQSGAELARPGASVKMSCKASGYTFTRYTMHWVKQRPGQGLEWIGYINPSRGYTNYNQKFKDKATLTTDKSSSTAYMQLSSLTSEDSAVYYCARYYDDHYCLDYWGQGTTLTVSS
# ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^
Chain can be iterated:
for pos, aa in chain:
print(pos, aa)
# H1 Q
# H2 V
# H3 Q
# H4 L
# H5 Q
Chain can also be indexed and sliced using scheme numbering:
chain['5']
# 'Q'
for pos, aa in chain['H2':'H5']:
print(pos, aa)
# H2 V
# H3 Q
# H4 L
# H5 Q
For all methods see AbNumber Documentation
Credits
See ANARCI on GitHub and the ANARCI paper: ANARCI: antigen receptor numbering and receptor classification