Skip to content

Build search config via QueryHub_zh

Weiheng Liao edited this page Oct 25, 2022 · 5 revisions

通过 QueryHub 构建搜索配置

Patpat采取双维度——蛋白质水平和肽段水平——的策略对公开数据库进行搜索。在搜索之前,Patpat需要确定搜索配置,即确定应该搜索的蛋白质序列和肽段序列。

1 快速构建配置

在项目README中已经介绍:

q = hub.QueryHub()
q.identifier = '<UniProt identifier>'
q.simple_query()

conf_ = q.get_query_config()

2 稍微复杂点:可拔插的QueryHub

让我们开始吧!

2.1 蛋白质水平

首先,实例化QueryHub,并将QueryHub的蛋白质查询器protein_querier设定为UniProt 蛋白质查询器UniProtProteinQuerier(),这个类通过蛋白质识别符从UniProt数据库中获得相关元数据。顺便一提,查询器相关的类存放于 querier模块中。

每个查询器都通过set_params()接口传入参数。在这里,我们将识别符传入其中,并调用protein_query()进行查询。

q = hub.QueryHub()

q.protein_querier = querier.UniProtProteinQuerier()
q.protein_querier.set_params(accession='<UniProt identifier>')
q.protein_query()

2.2 肽段水平

在本阶段,我们要确定什么肽段值得进行搜索。同样的,我们将肽段查询器peptide_querier定义为LocalPeptideQuerier(), 该类根据本地FASTA文件查询符合要求的肽段。 一般的,我们所指符合要求就是目标蛋白质的Unique peptide(或称Proteotypic peptide)。

q.peptide_querier = querier.LocalPeptideQuerier()

我们采用模拟酶切的方法,将目标蛋白质所在的蛋白质组序列以同样的参数进行处理,通过简单计数即可判断肽段是否为特异性肽段。 以下描述了几个LocalPeptideQuerier()`可以设定的参数:

  • sequence: 目标蛋白质的序列信息。若已进行蛋白质水平的查询,调用QueryHub.fasta['sequence']即可获得序列信息。
  • organism: 目标蛋白质的物种信息。若已进行蛋白质水平的查询,调用QueryHub.organism即可获得物种信息。
  • digestion_params: 可选,酶切参数。Patpat的模拟酶切由pyteomics`包支持。
  • source: 可选,本地FASTA文件路径,可根据物种信息自动选择。

在本例中,酶切参数和本地FASTA路径均采用Patpat的默认参数,用户可根据需要自行确定。其中,酶切规则设定请查阅 相关文档。 传入参数后,调用peptide_query()开始查询。

digestion_params_ = {
    'rules': 'trypsin',
    'miss': 1,
    'min_length': 7,
    'max_length': 35}
source_ = None

q.peptide_querier = querier.LocalPeptideQuerier()
q.peptide_querier.set_params(sequence=q.fasta['sequence'],
                             organism=q.organism,
                             digestion_params=digestion_params_,
                             source=source_)
q.peptide_query()

2.3 获得搜索配置

conf_ = q.get_query_config()

搞到搜索配置了!加油,接下来就是正式搜索环节! 通过 MapperHub 搜索数据集

Clone this wiki locally