prihoda / AbNumber

Convenience Python APIs for antibody numbering using ANARCI
MIT License
80 stars 11 forks source link

AbNumber

Build & Test BioConda Install Docs

Convenience Python APIs for antibody numbering and alignment using ANARCI

Try it out in your browser using Binder: Binder

Features:

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