Beispiel #1
0
    def addResidue(self, res: Residue) -> None:
        parentStrand = res.get_parent().get_id()

        if res.get_resname() not in [AMINO_ACIDS.keys(), *Nucleotides
                                     ] and res not in self.ligands:
            self.ligands.append(res)
            return

        if parentStrand not in self.strands.keys():
            self.strands[parentStrand] = []
        if res not in self.strands[parentStrand]:
            self.strands[parentStrand].append(res)

            # response = _neoget("""
            # match (n {{entity_poly_strand_id:"{parentStrand}"}})-[]-(r:RibosomeStructure{{rcsb_id:"{pdbid}"}}) \
            # return {{type: n.entity_poly_polymer_type, nomenclature:n.nomenclature}};""".format_map({
            #     "parentStrand": parentStrand,
            #     "pdbid"       : self.pdbid
            # }))

            # try:
            #     profile = response[0]

            #     if profile['type'] == 'RNA':
            #         self.adjacentRnaStrands.append(parentStrand)
            #         self.rna[parentStrand] = []

            #     if profile['type'] == 'Protein':
            #         self.adjacentRPStrands.append(parentStrand)
            #         self.rps            [parentStrand] = []
            #         self.nomenclatureMap[parentStrand] = profile['nomenclature']
            # except:
            #     pass
        # if parentStrand in self.adjacentRnaStrands:
        #     if res in self.rna[parentStrand] :
        #         None
        #     else:
        #         self.rna[parentStrand].append(res)
        # elif parentStrand in self.adjacentRPStrands:
        #     if res in self.rps[parentStrand]:
        #         None
        #     else:
        #         self.rps[parentStrand].append(res)
        # print("added residue")
        self.rescount += 1
Beispiel #2
0
    def __deprecated_addResidue(self, res: Residue) -> None:
        parentStrand = res.get_parent().get_id()

        if res.get_resname() not in [AMINO_ACIDS.keys(), *Nucleotides
                                     ] and res not in self.ligands:
            self.ligands.append(res)

        if parentStrand not in self.adjacentRnaStrands and parentStrand not in self.adjacentRPStrands:

            response = _neoget("""
            match (n {{entity_poly_strand_id:"{parentStrand}"}})-[]-(r:RibosomeStructure{{rcsb_id:"{pdbid}"}}) \
            return {{type: n.entity_poly_polymer_type, nomenclature:n.nomenclature}};"""
                               .format_map({
                                   "parentStrand": parentStrand,
                                   "pdbid": self.pdbid
                               }))

            try:
                profile = response[0]
                if profile['type'] == 'RNA':
                    self.adjacentRnaStrands.append(parentStrand)
                    self.rna[parentStrand] = []

                if profile['type'] == 'Protein':
                    self.adjacentRPStrands.append(parentStrand)
                    self.rps[parentStrand] = []
                    self.nomenclatureMap[parentStrand] = profile[
                        'nomenclature']
            except:
                pass
        if parentStrand in self.adjacentRnaStrands:
            if res in self.rna[parentStrand]:
                None
            else:
                self.rna[parentStrand].append(res)
        elif parentStrand in self.adjacentRPStrands:
            if res in self.rps[parentStrand]:
                None
            else:
                self.rps[parentStrand].append(res)
        print("added residue")
        self.rescount += 1
Beispiel #3
0
 def from_bio_residue(
         cls, residue: Residue,
         residue_id_mapping: 'BiopythonToMmcifResidueIds.Mapping'):
     return ResidueId(
         residue_id_mapping.to_label_seq_id(BioResidueId(*residue.id)),
         residue.get_parent().id)