def __format_selected_snps(pheno_label, pheno_df, selected_snps):
    """
    Builds the phenotype DataFrame used for the machine learning model based on the selected SNPs
    :param pheno_df: The DataFrame for the phenotype with the user mutation data
    :param selected_snps: A list of selected SNP RSIDs
    :param pheno_label: The phenotype label (i.e. 'Brown' for eye color)
    :return: The DataFrame for the selected SNPs
    """
    # Filter out SNPs that have not been selected
    snp_data = pheno_df.loc[selected_snps]
    snp_data.index = 'gene_' + snp_data['Gene_info'].str.replace(r'\W', '_') + '_' + snp_data.index

    # Drop the mutation percentages and gene info columns because they are no longer needed
    snp_data.drop(labels=['Gene_info', 'pct_fm', 'pct_nm', 'pct_pm'], axis=1, inplace=True)

    # Transpose the data and add columns for user Id and phenotype
    transposed_data = snp_data.transpose()
    transposed_data['phenotype'] = pheno_label

    return transposed_data