def build_cnv_only_2_gene_training_data(self, data_dir, outcome_file,
                                            cnv_2_gene_file):
        '''
		Function:
			只抓取有CNV的資料,產生以gene symbol為feature的sample set.
		Input:
			cnv_2_gene_file: 整理好的array_id對應到gene_symbol.

		'''

        print(" ##### In build_cnv_only_2_gene_training_data ... ")

        excel_obj = ExcelReader()
        data_reader_obj = DataReader()

        outcome_dict = excel_obj.get_cyto_cnv_result(outcome_file)
        cnv_df = data_reader_obj.cnv_data_reader_pipeline(data_dir)

        #### probe mapping to gene
        (array_2_gene,
         gene_2_array) = data_reader_obj.get_cnv_to_gene_table(cnv_2_gene_file)

        # print(array_2_gene)
        gene_cnv = data_reader_obj.build_array_with_cnv_to_gene(
            cnv_df, array_2_gene, gene_2_array)

        ## gene cnv
        data_df = data_reader_obj.combine_outcome_data(gene_cnv, outcome_dict)

        return data_df