Source code for mmtfPyspark.webfilters.wildTypeQuery

#!/user/bin/env python
'''wildType.py

This filter returns entries that contain wild type protein chains.
polymer chain(s) made of L-amino acids. If the "exclusive" flag is set to true
in the constructor, all polymer chains must be L-proteins. For a multi-model structure,
this filter only checks the first model.
'''

__author__ = "Mars (Shih-Cheng) Huang"
__maintainer__ = "Mars (Shih-Cheng) Huang"
__email__ = "marshuang80@gmail.com"
__version__ = "0.2.0"
__status__ = "Done"

from mmtfPyspark.webfilters import AdvancedQuery


[docs]class WildTypeQuery(object): SEQUENCE_COVERAGE_100 = 100 SEQUENCE_COVERAGE_95 = 95 SEQUENCE_COVERAGE_90 = 90 SEQUENCE_COVERAGE_85 = 85 SEQUENCE_COVERAGE_80 = 80 SEQUENCE_COVERAGE_75 = 75 SEQUENCE_COVERAGE_70 = 70 SEQUENCE_COVERAGE_65 = 65 SEQUENCE_COVERAGE_60 = 60 def __init__(self, includeExpressionTags, percentSequenceCoverage=None): '''Default constructor maches an entry that contains at least one L-protein chain. As an example, an L-protein/DNA complex passes this filter Parameters ---------- includeExpressionTags : bool flag to include expression tags percentSequenceCoverage : int percentage of sequence converage [NONE] ''' query = "<orgPdbQuery><queryType>org.pdb.query.simple.WildTypeProteinQuery</queryType>" if includeExpressionTags: query += "<includeExprTag>Y</includeExprTag>" else: query += "<includeExprTag>N</includeExprTag>" if not percentSequenceCoverage == None: query += "<percentSeqAlignment>%i</percentSeqAlignment>"%percentSequenceCoverage query += "</orgPdbQuery>" self.filter = AdvancedQuery(query) def __call__(self, t): return self.filter(t)