gseapy/gsea.py
def load_data(self, cls_vec):
        """pre-processed the data frame.new filtering methods will be implement here.
        """
        # read data in
        if isinstance(self.data, pd.DataFrame) :
            exprs = self.data.copy()
            # handle index is gene_names
            if exprs.index.dtype == 'O':
                exprs = exprs.reset_index()
        elif os.path.isfile(self.data) :
            # GCT input format?
            if self.data.endswith("gct"):
                exprs = pd.read_csv(self.data, skiprows=1, comment='#',sep="\t")
            else:
                exprs = pd.read_csv(self.data, comment='#',sep="\t")
        else:
            raise Exception('Error parsing gene expression DataFrame!')

        #drop duplicated gene names
        if exprs.iloc[:,0].duplicated().sum() > 0:
            self._logger.warning("Warning: dropping duplicated gene names, only keep the first values")
            exprs.drop_duplicates(subset=exprs.columns[0], inplace=True) #drop duplicate gene_names.
        if exprs.isnull().any().sum() > 0:
            self._logger.warning("Warning: Input data contains NA, filled NA with 0")
            exprs.dropna(how='all', inplace=True) #drop rows with all NAs
            exprs = exprs.fillna(0)
        # set gene name as index
        exprs.set_index(keys=exprs.columns[0], inplace=True)
        # select numberic columns
        df = exprs.select_dtypes(include=[np.number])
        # drop any genes which std ==0
        df_std =  df.groupby(by=cls_vec, axis=1).std()
        df =  df[~df_std.isin([0]).any(axis=1)]
        df = df + 0.00001 # we don't like zeros!!!
        return df
def load_data(self, cls_vec):
        # read data in
        if isinstance(self.data, pd.DataFrame) :
            exprs = self.data.copy()
            # handle index is gene_names
            if exprs.index.dtype == 'O':
                exprs = exprs.reset_index()
        elif os.path.isfile(self.data) :
            # GCT input format?
            if self.data.endswith("gct"):
                exprs = pd.read_csv(self.data, skiprows=1, comment='#',sep="\t")
            else:
                exprs = pd.read_csv(self.data, comment='#',sep="\t")
        else:
            raise Exception('Error parsing gene expression DataFrame!')

        #drop duplicated gene names
        if exprs.iloc[:,0].duplicated().sum() > 0:
            self._logger.warning("Warning: dropping duplicated gene names, only keep the first values")
            exprs.drop_duplicates(subset=exprs.columns[0], inplace=True) #drop duplicate gene_names.
        if exprs.isnull().any().sum() > 0:
            self._logger.warning("Warning: Input data contains NA, filled NA with 0")
            exprs.dropna(how='all', inplace=True) #drop rows with all NAs
            exprs = exprs.fillna(0)
        # set gene name as index
        exprs.set_index(keys=exprs.columns[0], inplace=True)
        # select numberic columns
        df = exprs.select_dtypes(include=[np.number])
        # drop any genes which std ==0
        df_std =  df.groupby(by=cls_vec, axis=1).std()
        df =  df[~df_std.isin([0]).any(axis=1)]
        df = df + 0.00001 # we don't like zeros!!!
        return df
def load_data ( self , cls_vec ) : # read data in if isinstance ( self . data , pd . DataFrame ) : exprs = self . data . copy ( ) # handle index is gene_names if exprs . index . dtype == 'O' : exprs = exprs . reset_index ( ) elif os . path . isfile ( self . data ) : # GCT input format? if self . data . endswith ( "gct" ) : exprs = pd . read_csv ( self . data , skiprows = 1 , comment = '#' , sep = "\t" ) else : exprs = pd . read_csv ( self . data , comment = '#' , sep = "\t" ) else : raise Exception ( 'Error parsing gene expression DataFrame!' ) #drop duplicated gene names if exprs . iloc [ : , 0 ] . duplicated ( ) . sum ( ) > 0 : self . _logger . warning ( "Warning: dropping duplicated gene names, only keep the first values" ) exprs . drop_duplicates ( subset = exprs . columns [ 0 ] , inplace = True ) #drop duplicate gene_names. if exprs . isnull ( ) . any ( ) . sum ( ) > 0 : self . _logger . warning ( "Warning: Input data contains NA, filled NA with 0" ) exprs . dropna ( how = 'all' , inplace = True ) #drop rows with all NAs exprs = exprs . fillna ( 0 ) # set gene name as index exprs . set_index ( keys = exprs . columns [ 0 ] , inplace = True ) # select numberic columns df = exprs . select_dtypes ( include = [ np . number ] ) # drop any genes which std ==0 df_std = df . groupby ( by = cls_vec , axis = 1 ) . std ( ) df = df [ ~ df_std . isin ( [ 0 ] ) . any ( axis = 1 ) ] df = df + 0.00001 # we don't like zeros!!! return df
pre-processed the data frame.new filtering methods will be implement here.
pre - processed the data frame . new filtering methods will be implement here .