Open writing projects/Sage and cython a brief introduction

From OpenWetWare
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Work in progress

Please check back later for the final version...

Abstract

This is a quick introduction to [Sage], a powerful new computational platform that builds on the strengths of Python. This article was directly inspired by Julius B. Lucks' ["Python: All A Scientist Needs"]; I recommend reading it first as it explains some of the attractions of Python and biopython.

Sage () is a free and open-source project for computation of all sorts that uses Python as its primary language and "glue". One of the goals of Sage is to provide a viable free and open-source alternative to Matlab, Maple, and Mathematica. Sage unifies a great deal of open-source mathematical and statistical software; it includes biopython as an optional package and the statistics language R by default.

Sage notebook interface

(TODO: notebook interface screenshots, different computers, good 2-d graphics)

Cython

Sage initially used an alternative to SWIG (described in Julius's article) called Pyrex to compile Python code to C when performance concerns demanded it. Because they needed to extend Pyrex in various ways, they created a friendly fork of Pyrex called "Cython". I believe it is fair to say that Cython is the easiest way to create C code in Python.

(TODO: example of Cython usage)