gseapy/enrichr.py
def parse_genelists(self):
        """parse gene list"""
        if isinstance(self.gene_list, list):
            genes = self.gene_list
        elif isinstance(self.gene_list, pd.DataFrame):
            # input type is bed file
            if self.gene_list.shape[1] >=3:
                genes= self.gene_list.iloc[:,:3].apply(lambda x: "\t".join([str(i) for i in x]), axis=1).tolist()
            # input type with weight values
            elif self.gene_list.shape[1] == 2:
               genes= self.gene_list.apply(lambda x: ",".join([str(i) for i in x]), axis=1).tolist()
            else:
               genes = self.gene_list.squeeze().tolist()
        elif isinstance(self.gene_list, pd.Series):
            genes = self.gene_list.squeeze().tolist()
        else:
            # get gene lists or bed file, or gene list with weighted values.
            genes=[]
            with open(self.gene_list) as f:
                for gene in f:
                    genes.append(gene.strip())

        self._isezid = all(map(self._is_entrez_id, genes))
        if self._isezid: 
            self._gls = set(map(int, self._gls))
        else:
            self._gls = genes

        return '\n'.join(genes)
def parse_genelists(self):
        """parse gene list"""
        if isinstance(self.gene_list, list):
            genes = self.gene_list
        elif isinstance(self.gene_list, pd.DataFrame):
            # input type is bed file
            if self.gene_list.shape[1] >=3:
                genes= self.gene_list.iloc[:,:3].apply(lambda x: "\t".join([str(i) for i in x]), axis=1).tolist()
            # input type with weight values
            elif self.gene_list.shape[1] == 2:
               genes= self.gene_list.apply(lambda x: ",".join([str(i) for i in x]), axis=1).tolist()
            else:
               genes = self.gene_list.squeeze().tolist()
        elif isinstance(self.gene_list, pd.Series):
            genes = self.gene_list.squeeze().tolist()
        else:
            # get gene lists or bed file, or gene list with weighted values.
            genes=[]
            with open(self.gene_list) as f:
                for gene in f:
                    genes.append(gene.strip())

        self._isezid = all(map(self._is_entrez_id, genes))
        if self._isezid: 
            self._gls = set(map(int, self._gls))
        else:
            self._gls = genes

        return '\n'.join(genes)
def parse_genelists ( self ) : if isinstance ( self . gene_list , list ) : genes = self . gene_list elif isinstance ( self . gene_list , pd . DataFrame ) : # input type is bed file if self . gene_list . shape [ 1 ] >= 3 : genes = self . gene_list . iloc [ : , : 3 ] . apply ( lambda x : "\t" . join ( [ str ( i ) for i in x ] ) , axis = 1 ) . tolist ( ) # input type with weight values elif self . gene_list . shape [ 1 ] == 2 : genes = self . gene_list . apply ( lambda x : "," . join ( [ str ( i ) for i in x ] ) , axis = 1 ) . tolist ( ) else : genes = self . gene_list . squeeze ( ) . tolist ( ) elif isinstance ( self . gene_list , pd . Series ) : genes = self . gene_list . squeeze ( ) . tolist ( ) else : # get gene lists or bed file, or gene list with weighted values. genes = [ ] with open ( self . gene_list ) as f : for gene in f : genes . append ( gene . strip ( ) ) self . _isezid = all ( map ( self . _is_entrez_id , genes ) ) if self . _isezid : self . _gls = set ( map ( int , self . _gls ) ) else : self . _gls = genes return '\n' . join ( genes )
parse gene list
parse gene list