Skip to content

Convenience Python APIs for antibody numbering using ANARCI

License

Notifications You must be signed in to change notification settings

benjamin-kroeger/AbNumber

This branch is 1 commit ahead of, 20 commits behind prihoda/AbNumber:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Jana Kneissl
Nov 21, 2023
85c3cd9 · Nov 21, 2023

History

87 Commits
Feb 22, 2022
Nov 21, 2023
Nov 27, 2020
Aug 19, 2021
Mar 3, 2023
Nov 27, 2020
Oct 30, 2020
Oct 12, 2020
Nov 1, 2020
Feb 22, 2022
Feb 22, 2022
Nov 9, 2020

Repository files navigation

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:

  • Streamlined Python API using Chain object
  • Identifying CDR regions, e.g. using chain.regions or chain.cdr3_seq
  • Indexing and slicing, e.g. using chain['5'] or chain['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

About

Convenience Python APIs for antibody numbering using ANARCI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Makefile 0.4%