<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def orthologize(self, species_id: str) -> "BEL": """Orthologize BEL AST to given species_id Will return original entity (ns:value) if no ortholog found. Args: species_id (str):
 species id to convert genes/rna/proteins into Returns: BEL: returns self """


        if not self.ast:
            return self

        # Collect canonical/decanonical NSArg values
        if not self.ast.collected_orthologs:
            self = self.collect_orthologs([species_id])

        self.ast.species = set()
        self.ast = bel_utils.orthologize(self.ast, self, species_id)

        return self