Neural data recorded with implanted high-density micro-electrode arrays have to undergo a sequence of processing steps prior to interpreting the information they contain. This project targets two major steps along this sequence, namely spike sorting and spike train analysis. These two steps have been the focus of multiple research efforts for over two decades due to their inherent complexity, but were limited to small neuronal population size. As the amount of data recorded has grown enormously, the objective of this project is to develop a suite of computational tools and their associated software for spike sorting and spike train analysis, particularly for large neuronal ensembles.The challenge in this project is the high dimensionality of the data space, the highly stochastic and non stationary nature of the neuronal point processes and the absence of validated models of neuronal connectivity. For spike sorting, our approach utilizes all the information provided by the placement of the electrode array in the vicinity of the neuronal population of interest. Specificaly, we examine the temporal, spectral, and spatial properties of the signal to resolve multiple single unit responses. This is particularly useful in long-term chronic experiments in awake behaving subjects, where non-stationarity in spike waveforms and neuronal firing patterns are typically observed. For spike train analysis, our approach is based on advanced methods in statistical signal processing and machine learning. We use graph theory to represent neurons as objects and connect them using arbitrarily defined similarity measures. Identifying functionally interdependent neurons becomes a clustering problem in that space and allows us to track statsitical dependency between neuronal discharge patterns at any given trial and across trials. This is particularly useful to track the dynamics of neuronal connectivity and quantify the degree of plasticity in cortical populations.