<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def plot_correlated_genes( self, name, n_genes=5, number_of_features=1000, **kwargs):
 """Plots gene expression patterns correlated with the input gene. Parameters name - string The name of the gene with respect to which correlated gene expression patterns will be displayed. n_genes - int, optional, default 5 The number of top ranked correlated genes to display. **kwargs - All keyword arguments in 'show_gene_expression' and 'scatter' are eligible. """

        all_gene_names = np.array(list(self.adata.var_names))
        if((all_gene_names == name).sum() == 0):
            print(
                "Gene not found in the filtered dataset. Note that genes "
                "are case sensitive.")
            return
        sds = self.corr_bin_genes(
            input_gene=name,
            number_of_features=number_of_features)
        if (n_genes + 1 > sds.size):
            x = sds.size
        else:
            x = n_genes + 1

        for i in range(1, x):
            self.show_gene_expression(sds[i], **kwargs)
        return sds[1:]