Convenience Python APIs for antibody numbering and alignment usingANARCI
Try it out in your browser using Binder:
- Streamlined Python APIusing
Chain
object - Identifying CDR regions,e.g. using
chain.regions
orchain.cdr3_seq
- Inde xing and slicing,e.g. using
chain['5']
orchain['H2':'H5']
- Pairwise and multiple sequence alignmentin the given numbering using
chain.align(another)
- Alignment to nearest human germlineusing
chain.align(chain.find_merged_human_germline())
- Humanization using CDR graftingby
chain.graft_cdrs_onto_human_germline()
SeeAbNumber Documentationfor the full reference.
Install using Bioconda:
conda install -c bioconda abnumber
Note:Windows is not supporteddue toHMMERdependency. AbNumber is currently only available on UNIX & MacOS.
fromabnumberimportChain
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:
forpos,aainchain:
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'
forpos,aainchain['H2':'H5']:
print(pos,aa)
# H2 V
# H3 Q
# H4 L
# H5 Q
For all methods seeAbNumber Documentation
SeeANARCI on GitHuband the ANARCI paper:ANARCI: antigen receptor numbering and receptor classification