Sign in or Join FriendFeed
FriendFeed is the easiest way to share online. Learn more »
Python for Bioinformatics

Python for Bioinformatics

For anyone interested in Python and Bioinformatics
imabonehead
PyPy Status Blog: PyPy is faster than C, again: string formatting - http://morepypy.blogspot.com/2011...
"Overall PyPy is almost 2x faster. This is clearly win for dynamic compilation over static - the sprintf function lives in libc and so cannot be specializing over the constant string, which has to be parsed every time it's executed. In the case of PyPy, we specialize the assembler if we detect the left hand string of the modulo operator to be constant." - imabonehead from Bookmarklet
imabonehead
"This is a small collection of various tricks and hints that I have stumbled across while programming in Python. Some are trivial, and some are a bit more tricky. Feel free to steal shamelessly from this collection. :-)" - imabonehead from Bookmarklet
imabonehead
Iddo Friedberg
Have money to spend on CRC books. Favs? Math, biology, bioinformatics, inc. pop sci & children's books. Thanks! http://www.crcpress.com/
physics too - Iddo Friedberg
Mike Chelen
Mateusz Koryciński
imabonehead
Ruby and Python threading: What you need to know - Web Development - Techguide - http://www.zdnetasia.com/ruby-an...
"In Ruby and Python's standard implementations (MRI and CPython, respectively), the languages make use of a Global Interpreter Lock (GIL). The GIL mechanism performs timeslicing and scheduling of threads. Here's how it works: Each thread has exclusive access to the GIL for a bit of time, does some work, and releases it. Meanwhile, every other thread is on hold, waiting to get a chance to access the GIL. When the GIL is released, a random thread will get to access it and start running." - imabonehead from Bookmarklet
"There are two major advantages to using this system. The first is that you can write code in these languages that use threading, and it will run on an operating system that does not natively support threading with no modifications needed. The second is that, because only one thread is running at a time, there are no thread safety issues, even when working with a non-thread safe library." - imabonehead
"There are some major downsides, though. The biggest one is that multiple threads will never run at the same time. While your application may look like it is running in parallel, in reality, the process never has more than one thread, and it is just wildly bouncing around within one thread doing different things. This brings us to our second issue, which is speed. You will not see any... more... - imabonehead
imabonehead
Python Cloud DB: Google's MapReduce in 98 Lines of Python - http://clouddbs.blogspot.com/2010...
Python Cloud DB: Google's MapReduce in 98 Lines of Python
"Lately I've been not only learning more python but also learning about the MapReduce algorithm. Naturally I started with the many freely available web resources, from brief overviews to instructive video tutorials to detailed Google Research articles on MapReduce. This is all well and fine but I wanted to know how to actually write MapReduce applications in python, and to obtain a better understanding of the magic behind the algorithm itself. I found a small python multi-server implementation of MapReduce named mincemeat, another called octopy, as well as interfaces to large non-python systems such as Hadoop. However I was still unable to find a quick and dirty implementation of MapReduce that was high-level, concise, easy to run, easy to understand, and relevant. So I wrote one." - imabonehead from Bookmarklet
imabonehead
(How to Write a ((Better) Lisp) Interpreter (in Python)) - http://norvig.com/lispy2.html
"In a previous essay I showed how to write a simple Lisp interpreter in 96 lines of Python: lis.py. In this essay I make the implementation, lispy.py, three times more complicated, but more complete. Each section handles an addition." - imabonehead from Bookmarklet
Iddo Friedberg
Abhishek Tiwari
txt2re: headache relief for programmers :: regular expression generator via @CameronNeylon - http://txt2re.com/
txt2re: headache relief for programmers :: regular expression generator via @CameronNeylon
very useful tool! - lanfeng
Iddo Friedberg
Iddo Friedberg
Paul Bacchus
mozdev.org - pyxpcomext: index - http://pyxpcomext.mozdev.org/
Python extension for Firefox - Paul Bacchus from Bookmarklet
Abhishek Tiwari
Fwd: Best practices in web development with Python and Django « News Apps Blog - http://blog.apps.chicagotribune.com/2010... (via http://friendfeed.com/abhishe...)
Jeroen Van Goey
pn
pn
Fwd: Preview of Python Testing Beginner’s Guide - http://python.genedrift.org/2010... (via http://friendfeed.com/nuin...)
Iddo Friedberg
Michael R. Bernstein
Michael R. Bernstein
Keepin' up to date with the rockingest Pythion conference in North America! - Michael R. Bernstein from Bookmarklet
Abhishek Tiwari
“Python for Informatics” Open Textbook Remixed in 11 Days - Creative Commons - http://creativecommons.org/weblog...
"Chuck Severance, clinical professor at the University of Michigan’s School of Information, recently published a new textbook in 11 days because he was able to remix an existing textbook." - Abhishek Tiwari from Bookmarklet
Mike Chelen
ZenPDB: The Noble Eightfold Path in PDB file processing - http://code.google.com/p...
"ZenPDB is a Python module to process and analyze macromolecular structures. Macromolecular structures are represented as hierarchically nested python dictionaries, which allows to traverse and manipulate them in a pythonic way and implement structural biology algorithms compactly. This module is also useful to establish processing pipelines. ZenPDB is currently capable of parsing and writing PDB files, but PDBML input is also planned. ZenPDB provides fast and versatile Cython implementations of important algorithms in structural biology, namely accessible surface area (ASA) and distance contact calculations by using kd-trees for nearest neighbour look-up. It is crystallography-aware and can construct crystal lattices, unit cells and biological units." - Mike Chelen from Bookmarklet
Iddo Friedberg
Added a version that uses BioPerl and the Gbrowse database back end. http://github.com/hyphalt... - Jason Stajich
@Neil Good point. I did not address this in the code, so this "end condition" is probably not handled correctly. @Jason: Thanks! I would imagine that if such a code were to be found, it would be in GBrowse. - Iddo Friedberg
Iddo Friedberg
If we are living in a computer simulation, it is probably written in Perl or C++ or something horrid and bug prone like that. Everybody would be happy, rich, beautiful and healthy if it were written in Python. - http://www.simulation-argument.com/simulat...
I feel like it must be Java. I have unexplained pauses that feel like garbage collection :-) - Todd Hoff
Perhaps, but I can't help but feel we'd have all these voices in our head complaining about the whitespace... - Cameron Neylon
Of course, BrainFork comes to mind as the life simulation language of choice. http://is.gd/7LJ70 - Iddo Friedberg
Whatever language the simulation is written in, it must be hosted on something like Google App Engine: We can buy ourselves more space etc, but we all time out in more or less the same amount of time... - Eric Jain
Michael R. Bernstein
"While I don’t have data to back this up, I believe very strongly that what most students get out of the course isn’t specific knowledge about relational databases, regular expressions, or object-oriented programming, but rather a mental map of the computing landscape, so that they know what’s supposed to be easy, what else is supposed to be possible, and where to go looking for more information." - Michael R. Bernstein
Python for Bioinformatics
Embedding Python Scripts in C# Applications - http://www.dzone.com/links...
Michael R. Bernstein
Michael R. Bernstein
Old and Busted < New Hotness - Michael R. Bernstein from Bookmarklet
I have no experience with distribute, but pip + virtualenv = crazy delicious. What are your reasons for favoring setuptools and easy_install? - Chris Lasher
Heh. I had a typo. Fixed now. - Michael R. Bernstein
Ah, okay. - Chris Lasher
Michael R. Bernstein
"So, here we are – a 2.6 release still being adopted by users, OS vendors, etc. A new 2.x release coming down the pike within the next year and a backwards incompatible release (Python 3) also in the pipeline. At this point, it only makes sense to put a moratorium on the language – we have to artificially put on the brakes for the syntax and core language to make sure the next few releases (2.7, 3.2) don’t increase the burden for adopters. We have to let the other implementations catch up – we have to focus on things like stdlib improvements/fixes/cleanup, we can focus on interpreter improvements, tests, cleaning out the bug list, etc. The next few releases of Python won’t introduce new language and syntax – they will be releases focused on bug fixes, cleanup – things that make everyone’s life better. This time will serve as a reflection period for the syntax we have, and allow us to help push along Python 3 adoption, maybe helping bigger projects port, improve porting tools and guides, etc." - Michael R. Bernstein from Bookmarklet
Michael R. Bernstein
Other ways to read this feed:Feed readerFacebook