Maurice Ling's Professional Portfolio - Research Portfolio:

   R & D Summary

    COPADS - Collection of Python Algorithms and Data Structures


The main aim of COPADS is to develop a compilation of of Python data structures and its algorithms, making it almost a purely developmental project. Personally, I look at this as a re-usable collection of tools that I can use in other projects. Therefore, this project is essentially "needs-driven", except a core subset of data structures and algorithms.

This project originated from 3 threads of thought. Firstly, while browsing through Mehta and Sahni's Handbook of Data Structures and Applications, I thought there might be utility to have a number of the listed data structures implemented in Python. Given my interest in biological data management, having a good set of data structures is always handy. The 2nd thread of thought came from Numerical Recipes. Again, I thought these algorithms will be handy to have and had started to translate some of them into Python during some overly energetic days. Finally, Python Cookbook had undergone 2 editions by 2008 and ActiveState had provided an online platform for Python Recipes which I found to be useful and can see how some of these recipes can be merged. Thus, COPADS is borned.

Annotated Publications from this project

Ling, MHT. 2009. Compendium of Distributions, I: Beta, Binomial, Chi-Square, F, Gamma, Geometric, Poisson, Student's t, and Uniform. The Python Papers Source Codes 1:4. [Abstract][PDF][Zipped Codes]

This paper is the first of a series to implement routines to calculate statistical distributions which forms the basis of other statistical tests.

Ling, MHT. 2009. Ten Z-test Routines from Gopal Kanji's 100 Statistical Tests. The Python Papers Source Codes 1:5. [Abstract] [PDF] [Zipped Codes]

This paper is the first of a series to implement statistical tests routines. For this manuscript, I chose to implement test routines from Gopal Kanji's book which uses Normal distribution, accounting for 10% of the book.

Ling, MHT. 2010. COPADS, I: Distances Measures between Two Lists or Sets. The Python Papers Source Codes 2:2. [Abstract] [PDF] [Zipped Codes]

This paper implements 35 distance coefficients with worked examples: Jaccard, Dice, Sokal and Michener, Matching, Anderberg, Ochiai, Ochiai 2, First Kulcsynski, Second Kulcsynski, Forbes, Hamann, Simpson, Russel and Rao, Roger and Tanimoto, Sokal and Sneath, Sokal and Sneath 2, Sokal and Sneath 3, Buser, Fossum, Yule Q, Yule Y, McConnaughey, Stiles, Pearson, Dennis, Gower and Legendre, Tulloss, Hamming, Euclidean, Minkowski, Manhattan, Canberra, Complement Bray and Curtis, Cosine, Tanimoto.