Sebastian Bassi: Anuncio del libro "Python for Bioinformatics"


Aca está el anuncio de mi libro Python for Bioinformatics

"Python for Bioinformatics"
ISBN 1584889292

This book introduces programming concepts to life science researchers, bioinformaticians, support staff, students, and everyone who is interested in applying programming to solve biologically-related problems. Python is the chosen programming language for this task because it is both powerful and easy-to-use.

It begins with the basic aspects of the language (like data types and control structures) up to essential skills on today's bioinformatics tasks like building web applications, using relational database management systems, XML and version control. There is a chapter devoted to Biopython ( since it can be used for most of the tasks related to bioinformatics data processing.

There is a section with applications with source code, featuring sequence manipulation, filtering vector contamination, calculating DNA melting temperature, parsing a genbank file, inferring splicing sites, and more.

There are questions at the end of every chapter and odd numbered questiona are answered in an appendix making this text suitable for classroom use.

This book can be used also as a reference material as it includes Richard Gruet's Python Quick Reference, and the Python Style Guide.

DVD: The included DVD features a virtual machine with a special edition of DNALinux, with all the programs and complementary files required to run the scripts commented in the book. All scripts can be tweaked to fit a particular configuration. By using a pre-configured virtual machine the reader has access to the same development environment than the author, so he can focus on learning Python. All code is also available at the where ## is the code number, for example:

I've been working on this book for more than two years testing the examples under different setups and working to make the code compatible for most versions of Python, Biopython and operating systems. Where there is code that only works with a particular dependency, this is clearly noted.

Finally, I want to highlight that non-bioinformaticians out there can use this book as an introduction to bioinformatics by starting with the included "Diving into the Gene Pool with BioPython" (by Zachary Voase and published originally in Python Magazine).

Francisco Malbrán: Pálpitos


Resulta ser que el pulpito trataba de mantener su tentáculos en orden. La particularidad que le caracterizaba residía en que los tentáculos le nacían por montones, y eso resultaba a veces gratificante, y a veces algo ciertamente terrible.
Entre las angustias que le aquejaban la que más normalmente le recurría era aquella que tenía que ver con soltar cosas para acomodar otras. Algunos tentáculos estaban ya retorcidos por querer mantenerse aferrados a algo, ya en posiciones contorsionistas, incómodas y hasta dolorosas, y aún así soltar resultaba un pensamiento que intuía tanto dolor que el miedo lo invadía por completo. Pasaban largos días antes de que decidiera algo así.
Pero resulta ser que había otro tipo de situaciones. El pulpito no era un ser independiente en el mundo. Tenía tentáculos que nacían de él, pero que volvían a nacer de otros (no se podía discriminar el comienzo). Su problema profundo residía en cómo solucionar situaciones en la que éstos lazos empezaban a incomodarlo, a hacerle doler, a contorsionarlo. Estas angustias eran más raras que las anteriores, pero ciertamente más complicadas y sensibles. La pregunta que se hacía normalmente era: "yo... ¿soy yo y mis tentáculos se atan a otros? ¿o yo soy yo Y los otros?"
Desde el púlpito de su mente (la del pulpito), una voz grave, profunda y contundente erigía normas a las cuales atenerse, y decía cosas tales como: "Haz de crear lazos con todo aquél que necesite tu tentáculo" y "Te sacrificarás ante la necesidad del otro" y "Nunca olvides que sólo la voz del púlpito te llevará por el camino correcto".
El pulpito, sin embargo, tenía tintas de anarquista, luchaba contra las construcciones mentales que creía haber aprendido en el pasado y que denominaba "alter-algo". Nunca fue muy culto, pero cuando discutía consigo mismo, generalmente intentaba eliminar todos los alteralgos para encontrarse con su yo verdadero. Sabía que podía fácilmente elaborar teorías y discursos convincentes y lógicos que nada tuvieran que ver con sus esencias, sino más bien con sus capacidades pulpísticas.
Mareado por sus propios razonamientos, el pulpito nadó sin dirección buscando un nicho de soledad y contención al mismo tiempo. Endureció su postura respecto de las normas (determinó nunca escuchar a la voz del púlpito) y trató de abrir su mente lo más posible para que fluyan en ella pececitos que le iluminen el espacio.
Por lo pronto, tenía el fuerte pálpito de que tendría que inventar algo brillante, trabajar duro, y esperar nomás... quizás las corrientes traerían alguna (otra) sorpresa.

Mario Zorz: Mission Impossible: Blackberry


As you know from my previous post, I've installed Eclipse Pulsar on my dev machine. The latest version of Eclipse is 3.5 as of this post, so I downloaded the package and pretty much to my (good) surprise everything goes quite smooth and I could write a simple hello world in a matter of minutes, it even detected the SDKs I had already installed (Nokia's and Motorola's, etc.) and I saw they have some nice features for code completion, style, and refactoring and optimisation tools, not to count the Subversion and Trac integration plugins (which I haven't tested out yet, but will soon).

Now, remember my goal is to make Prosciutto run on BlackBerry devices. So I was eager to install the Eclipse plugin for BlackBerry, so I followed instructions there. Unfortunately I get this error from the Eclipse software updater:

Cannot complete the install because one or more required items could not be found.
Software being installed: BlackBerry JDE Plug-in for Eclipse (
Missing requirement: BlackBerry JDE Plug-in for Eclipse ( requires 'org.eclipse.core.resources [3.4.0,3.5.0)' but it could not be found

Ok... I have to say, after looking for anything like org.eclipse.core.resources, bundles, etc. I decided to google for it and I found this blog post from Carol Hamer (she humbly defines herself as "a software engineer living in Switzerland" but she also is a book writer from what I could see in her blog's about tab). Her post is only a month old, and she seems to have found the same issues.

Digging a little bit more, I found there's a ticket open in BlackBerry jira system (their bugtracker) which you can find here:

I urge you, the developer community, to enter such URL and please *vote for it to get fixed*.

Basically, there's still no support from Research In Motion for their plugin to work with Eclipse 3.5. :(

In the meantime, I will just download Eclipse 3.4 and set up everything I need (I don't know if Pulsar is available for Eclipse 3.4, let's see...), in order to continue these efforts.

All I can say as per now is RIM is definitely making it hard for developers to get things working, and that's the reason I think it's definitely worth to wirte about it so other's don't fall into the same problems, but also to make RIM aware what the development community has to say about it. Ultimately, we just want to make apps for their devices, so developer support should be a point in itself.

I'll keep you posted on any news



Mario Zorz: Eclipse Pulsar


The refactoring efforts have proven fruitful - to some extent. On one hand, I have code that is more readable and easier to understand. Also using the rapc tool from Research In Motion to produce a BlackBerry .cod file that wont' throw errors has been proven a possible path - once I separated everything into classes and kept each class under 512 words. Now I'm at a point where Prosciutto seems to run OK on the RIM platform, but, there's a minor issue: it just shows a blank screen. I know there's Prosciutto behind that blank screen because I can see the keypressed events sometime lead to what is expected (for example, blindly clicking on an Prosciutto editable button actually does show the extended TextBox lcdui class). On the other hand, I lost quite an amount of jar size savings by doing it the OO way: the Prosciutto engine itself has grown by 14% in size - and we are talking no new functionality, just refactoring for the sake of keeping class members to less than 512 words, just to workaroung BlackBerry's limitations.

That said, I needed debugging. I'm using RIM's JDE Component Package 4.5.0 for emulating the BlackBerry 8120 (also known as Pearl), and you know, there's 2 basic ways to debug your code on any emulator: either it supports some kind of debugging, such as the JDP (Java Platform Debugging Protocol) or anything else, or you can serve yourself of placing tons of System.err.println / System.out.println and find a way to read the stderr and stdout streams somehow.

Unfortunately none of these seemed easy on the Blackberry emulators. If you want to read your System.err.println statements output somewhere you need to attach the simulator to a debugger by means of the RIM's JDE JWDP module (which is basically the JDP debugger listener as implemented by RIM). So if I were to try it anyway, I say let's go for the full thing, as I'm attaching a debugger anyway.

To make a long story short, I will just say that RIM's tools just don't seem to work properly in any environment other than RIM's defined JDK or Eclipse.

As you may (or may not) know, I use a fancy text editor and just ant and antenna to do all the stuff I need in Prosciutto. This worked well with everything else, Nokia, Motorola, even Samsung and SonyEricsson emulators (both vendors base their emulators directly on Sun's Wireless Toolkit). But BlackBerry is not the case: attaching a debugger is a daunting task and it takes several minutes - a total waste of time.

So I decided to try Eclipse and the BlackBerry Eclipse plugin. That's when I came to know about Eclipse Pulsar. For a good initiative manifesto you can read this press release . This is quite interesting, and I'm happy more and more people (and vendors) are aiming at making developer's life easier.

I have just downloaded my Pulsar distribution and I'm about to test it out. I'll let you know my findings - keeping in mind my goal is to debug Prosciutto and make it run on BlackBerry.



Mario Zorz: Latest stable release


Dear Prosciutto enthusiasts,

I'm continuing the refactoring approach. I decided I will take it as far as I can to really see what the tradeoffs are.

I will make a major announcement soon (probably a package release); as of now revision 151 (latest stable release) has:

- table handling as in you can define a set of buttons arranged in rows of a table,
- a softkey mapper
- and LBS capabilities (yes! check the sample HelloProsciutto to see how you can read the underlaying device GPS capabilities)

among other tweaks such as thread handling optimisations (overall performance is better than older revisions).

For the latest stable release before phase 2 refactoring then, please checkout revision 151 from the SVN trunk folder.


Sebastian Bassi: La bajada mas rápida de la historia


Esta bajada fue tan pero tan rápida que no lo van a poder creer: 20Mb en menos de 1 segundo. Para darse una idea, es mucho mas rápido que si hubiese transferido archivos entre mis computadoras.

root@ubuntu:~/yacy# wget
=> `AutoDL?BundleId=31611'
Connecting to||:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location:[EDITADO]=jre-6u14-linux-i586.bin [following]
=> `jre-6u14-linux-i586.bin?e=124[EDITADO]=jre-6u14-linux-i586.bin'
Connecting to||:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20,851,822 (20M) [application/octet-stream]

100%[====================================>] 20,851,822 71.24M/s

18:23:31 (71.24 MB/s) - `jre-6u14-linux-i586.bin?e=1248[EDITADO]=jre-6u14-linux-i586.bin' saved [20851822/20851822]

Nota: Puse [EDITADO] en algunos lugares para que no se vaya el texto tan a la derecha y tape datos de la columna que está ahi.

Mi única explicación es que mi servidor (que está en Linode) esté en el mismo datacenter que el sitio que estoy bajando ( ¿Como puedo saber si está en el mismo datacenter de Linode está en "The Planet".

Carlos Joel Delgado Pizarro: Hello world!


En este blog iré publicando todo lo que vaya aprendiendo en Python desde lo mas sencillo, hasta lo mas lejos que llegue, todo lo que haga estará sobre Linux (Ubuntu, Mandriva, Debian).

print "Hello world"

Sebastian Bassi: Montando la ola (Google Wave) [EDITADO]


Me acaba de llegar la confirmación que podré probar Google Wave como developer, me llegó un email con un link para llenar un formulario (hecho con Google Docs) y al final dice que me darán el user y el password:

Si no conocen que es Google Wave, les recomiendo este video:

En resumen es una combinación entre email, foro, wiki, IM y procesador de texto en un solo programa, lo que crearia toda una nueva dinamica de trabajo, al menos para quienes puedan adaptarse a ella, ya que no preveo facil al transición (todavia hay gente que rechaza toda herramienta colaborativa mas alla de enviar .docs adjuntos por email). Otra ventaja es que tendrá una implementación de referencia open source cosa que cualquier pueda instalarlo en su servidor asi no existe mas la excusa (válida por cierto) de "no quiero dejarle los datos a Google".

Nuevos datos:

Ya la empecé a usar. Es realmente increible, a pesar de lo buggy que está!. Amplien la foto de abajo para ver como es:

Sebastian Bassi: Lo que necesitas saber de los conectores de video


Escribi este Knol sobre los conectores de video. Me refiero a esas fichas de colores que hay detras de los TV, proyectores, receptores satelitales (DirecTV), DVDs, etc.

Mi grabador de DVD tiene estos (A quien le importara?):

Sebastian Bassi: El cumpleaños de la gripe A


Originally uploaded by sbassi
No es que la gripe cumpla un año, sino que como hay epidemia (o pandemia), Máximo hizo un minicumpleaños con solo 2 amigos (y nosotros).
La torta pidio que sea "de Fangio" (???). Los signos de pregunta son porque no sabemos como se le ocurrió eso, quizas porque sea Balcarceño?
Aca está el albúm del cumple:
Album cumple Maximo 2009