抗原受体分类器

bio-arc的Python项目详细描述


ARC(抗原受体分类)

作者:Austin Crinklaw,Swapnil Mahajan

要求:

  • Linux操作系统
  • HMMER3
  • NCBI爆炸+
  • Python3+
    • python包:pandas,biopython

安装:

为了便于使用,我们提供了一个dockerfile。

也可以使用下面的pip命令通过pypi下载arc。

pip install bio-arc

用法:

输入

  • 包含一个或多个蛋白质序列的fasta格式文件。
>1WBZ_A_alpha I H2-Kb
MVPCTLLLLLAAALAPTQTRAGPHSLRYFVTAVSRPGLGEPRYMEVGYVDDTEFVRFDSDAENPRYEPRARWMEQEGPEYWERETQKAKGNEQSFRVDLRTLLGYYNQSKGGSHTIQVISGCEVGSDGRLLRGYQQYAYDGCDYIALNEDLKTWTAADMAALITKHKWEQAGEAERLRAYLEGTCVEWLRRYLKNGNATLLRTDSPKAHVTHHSRPEDKVTLRCWALGFYPADITLTWQLNGEELIQDMELVETRPAGDGTFQKWASVVVPLGKEQYYTCHVYHQGLPEPLTLRWEPPPSTVSNMATVAVLVVLGAAIVTGAVVAFVMKMRRRNTGGKGGDYALAPGSQTSDLSLPDCKVMVHDPHSLA
>1WBZ_B_b2m I H2-Kb
MARSVTLVFLVLVSLTGLYAIQKTPQIQVYSRHPPENGKPNILNCYVTQFHPPHIEIQMLKNGKKIPKVEMSDMSFSKDWSFYILAHTEFTPTETDTYACRVKHASMAEPKTVYWDRDM

命令

  • 使用fasta文件作为输入:
python -m ARC classify -i /path/to/input.fasta -o /path/to/output.csv

输出

  • 输出文件有4列csv格式。
  • 名为“id”的第一列是在fasta中为每个序列提供的描述。
  • 第二列“类”是每个序列的指定分子类。
    • 例如,MHC-I、MHC-II、BCR或TCR。
  • 名为“chain_type”的第三列是为每个序列分配的链类型。
    • 例如α、β、重、lambda、kappa、单链抗体、tscfv或结构物。这些也将被标记为变量域的v或常数域的c。
  • 第四列名为‘calc_-mhc_等位基因’是利用与mro等位基因的沟域相似性识别出的mhc等位基因。
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

工作原理:

  • bcr和tcr链用hmms识别。根据imgt的bcr和tcr链序列构建的hmms搜索给定的蛋白质序列。hmmer用于将输入序列与hmms对齐。
  • mhc一级(alpha1-alpha2域)和mhc一级alpha和beta链hmm从pfam网站下载。根据这些hmm搜索输入蛋白质序列。hmmer比特评分阈值为25用于识别mhc链序列。 -为了识别mhc等位基因,每次运行脚本时都会下载mro存储库。Groove域(G域)被分配给新的MRO Allles并存储在CSV文件中。如果这个文件不存在,那么G域被分配给所有的MRO等位基因(这可能会减慢脚本)。

参考文献:

几种hmmer结果分析方法来自anarci。

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java opendolphin将3000个对象同步到客户端   Struts2 java。lang.ClassNotFoundException:org。阿帕奇。struts2。调度员。过滤器分配器   复合多态类型的java Spring REST JSON序列化/反序列化   eclipse如何解决SpringDataMaven构建的“生命周期配置未涵盖的插件执行”   从Jboss eap6迁移Java应用程序。3到Wildfly 9   java如何解决:*白标签错误页。**我发现**这个应用程序没有针对/错误的显式映射,所以您将其视为一种回退**   AmazonWeb服务如何在使用JavaSQSSDK时克服AWSV1+V2不匹配   java JSF 2.1使用Ajax同时验证两个输入   java JavaFX有没有一种循环复选框的方法?   SD卡的java文件系统   java合并两个docx文件:项目符号列表消失   java UnknownFormatConversionException:转换=“”   短JSON对象的java压缩方法   在Java中,不同类的列表?   java在抓取俄罗斯网站时出现垃圾字符   java将两个JSON文件合并到一个特定的结构中   用属性进行java计算   javascript正则表达式匹配所有不在引号内的实例   基于网络的swing Java桌面应用   java pdf未在pdfview 安卓中扩展