Exemple #1
0
 def run(self):
     features = []
     for feature in iter_domains(open(self.params['location'])):
         feature.sequence_index = get_id_index(self.target.msa.ids, feature.sequence_id)
         if feature.sequence_index is None:
             continue
         feature.mapping = map_region_to_msa(feature.region, self.target.msa.msa_positions[feature.sequence_index])
         if feature.mapping is None:
             continue
         features.append(feature)
     self.target.add_features(features)
Exemple #2
0
 def from_pfam_match_etree(cls, match_element, msa, sequence_index, offset, sequence_id=None):
     loc = match_element.find('location')
     start = int(loc.attrib['start']) - 1
     region = Region(start, int(loc.attrib['end']) - start)
     mapping = map_region_to_msa(region, msa.msa_positions[sequence_index], offset)
     if not mapping:
         return None
     hmm_start = int(loc.attrib['hmm_start']) - 1
     return cls(sequence_index=sequence_index,
                sequence_id=sequence_id,
                source=match_element.attrib['type'],
                name=match_element.attrib['id'],
                region=region,
                mapping=mapping,
                accession=match_element.attrib['accession'],
                hmm_region=Region(hmm_start, int(loc.attrib['hmm_end']) - hmm_start),
                score=float(loc.attrib['bitscore']),
                evalue=float(loc.attrib['evalue']))
Exemple #3
0
 def run(self):
     f = open(self.params['location'])
     prediction = DisopredPrediction.from_file(f)
     f.close()
     if not prediction:
         return
     sequence_index = self.coord.sequence
     offset = prediction.sequence.find(self.target.unaligned[sequence_index])
     if offset < 0:
         return
     msa_positions = self.target.msa_positions[sequence_index]
     sequence_id = self.target.ids[sequence_index]
     features = []
     for region in prediction.regions:
         mapping = map_region_to_msa(region, msa_positions, offset)
         if not mapping:
             continue
         features.append(SequenceFeature(sequence_index, sequence_id, 'disopred', 'natively disordered', region, mapping))
     self.target.features.add_features(features)