New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bio-arc

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bio-arc

Antigen Receptor Classifier

  • 0.1.1
  • PyPI
  • Socket score

Maintainers
1

ARC (Antigen Receptor Classifier)

Authors: Austin Crinklaw, Swapnil Mahajan

Requirements:

  • Linux OS
  • HMMER3
  • NCBI Blast+
  • Python 3+
    • Python packages: Pandas, BioPython

Installation:

We provide a Dockerfile for ease of use.

ARC can also be downloaded through PyPI using the following pip command.

pip install bio-arc

Testing Installation:

A quick check for proper dependencies and successful installation can be performed by navigating to your pip package install directory (which can be located by executing pip show bio-arc) and running the following command:

python3 -m arc_test

Passing all unit-tests means that your system is configured properly and ready to classify some protein sequences.

Usage:

Input

  • A fasta format file with one or more protein sequences.
>1WBZ_A_alpha I H2-Kb
MVPCTLLLLLAAALAPTQTRAGPHSLRYFVTAVSRPGLGEPRYMEVGYVDDTEFVRFDSDAENPRYEPRARWMEQEGPEYWERETQKAKGNEQSFRVDLRTLLGYYNQSKGGSHTIQVISGCEVGSDGRLLRGYQQYAYDGCDYIALNEDLKTWTAADMAALITKHKWEQAGEAERLRAYLEGTCVEWLRRYLKNGNATLLRTDSPKAHVTHHSRPEDKVTLRCWALGFYPADITLTWQLNGEELIQDMELVETRPAGDGTFQKWASVVVPLGKEQYYTCHVYHQGLPEPLTLRWEPPPSTVSNMATVAVLVVLGAAIVTGAVVAFVMKMRRRNTGGKGGDYALAPGSQTSDLSLPDCKVMVHDPHSLA
>1WBZ_B_b2m I H2-Kb
MARSVTLVFLVLVSLTGLYAIQKTPQIQVYSRHPPENGKPNILNCYVTQFHPPHIEIQMLKNGKKIPKVEMSDMSFSKDWSFYILAHTEFTPTETDTYACRVKHASMAEPKTVYWDRDM

Commands

  • Using Fasta file as an input:
python -m ARC classify -i /path/to/input.fasta -o /path/to/output.csv

Output

  • Output file has 4 columns in CSV format.
  • First column named 'ID' is the description provoded in the fasta for each sequence.
  • Second column named 'class' is the assigned molecule class for each sequence.
    • e.g. MHC-I, MHC-II, BCR or TCR.
  • The third column named 'chain_type' is the assigned chain type for each sequence.
    • e.g. alpha, beta, heavy, lambda, kappa, scFv, TscFv or construct. These will also be labelled as V for variable domain or C for constant domain.
  • The fourth column named 'calc_mhc_allele' is the MHC allele identified using groove domain similarity to MRO alleles.
IDclasschain_typecalc_mhc_allele
1WBY_A_alpha I H2-DbMHC-Ialpha V
1WBY_B_b2m I H2-Db
1HQR_A_alpha II HLA-DRA01:01/DRB501:01MHC-IIalpha CHLA-DRA*01:01
1HQR_B_beta II HLA-DRA01:01/DRB501:01MHC-IIbeta CHLA-DRB5*01:01
2CMR_H_heavyBCRheavy V
2CMR_L_lightBCRkappa C
4RFO_L_lightBCRlambda V
3UZE_A_heavyBCRscFv
1FYT_D_alphaTCRalpha V
1FYT_E_betaTCRbeta C
3TF7_C_alphaTCRTscFv

How it works:

  • BCR and TCR chains are identified using HMMs. A given protein sequence is searched against HMMs built using BCR and TCR chain sequences from IMGT. HMMER is used to align an input sequence to the HMMs.
  • MHC class I (alpha1-alpha2 domains) and MHC class I alpha and beta chain HMMs are downloaded from Pfam website. An input protein sequence is searched against these HMMs. A HMMER bit score threshold of 25 was used to identify MHC chain sequences.
  • To identify MHC alleles, groove domains (G-domains) are assigned based on the MRO repository.
  • IgNAR sequences are identified through querying against a custom blast database.

References:

Several methods for HMMER result parsing were sourced from ANARCI.

Dunbar J and Deane CM. ANARCI: Antigen receptor numbering and receptor classification. Bioinformatics (2016)

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc