- 浏览: 849739 次
- 性别:
- 来自: lanzhou
文章分类
最新评论
-
liu346435400:
楼主讲了实话啊,中国程序员的现状,也是只见中国程序员拼死拼活的 ...
中国的程序员为什么这么辛苦 -
qw8226718:
国内ASP.NET下功能比较完善,优化比较好的Spacebui ...
国内外开源sns源码大全 -
dotjar:
敢问兰州的大哥,Prism 现在在12.04LTS上可用么?我 ...
最佳 Ubuntu 下 WebQQ 聊天体验 -
coralsea:
兄弟,卫星通信不是这么简单的,单向接收卫星广播信号不需要太大的 ...
Google 上网 -
txin0814:
我成功安装chrome frame后 在IE地址栏前加上cf: ...
IE中使用Google Chrome Frame运行HTML 5
Ubuntu 9.10, nicknamed Karmic Koala, is about to be released, and in a moment of idleness, I upgraded my old 9.04 install to the latest beta. Upgrading is always generates a slight feeling of dread, taking the plunge from the cozy stability of bugs I’ve learned to work around, into the great unknown, but it all went even smoother than the previous one. And on the plus side, ghc is now, finally, upgraded to an almost modern release, (6.10.4) and lots of libraries are included as well. Great work by Joachim Breitner and his army of debianizers. So I’m all ready to take advantage of my new compiler and its improvements, but first I need to bring all my software up to speed. I’ll make notes here as I go along, and hopefully this will be useful also for users of other Linux distributions.
Installing biolib
First I need to install the bioinformatics library. I’m about to release 0.4.1, but this is also a good opportunity to check that everything works with 0.4 (which is what you’ll find on Hackage), so let’s do that first. Using darcs, I pull the repo up to the 0.4 tag (but you can of course get the tarball from Hackage):
% ./Setup.hs configure
Configuring bio-0.4...
Setup.hs: At least the following dependencies are missing:
QuickCheck <2, binary -any
(Side note: you may notice that I run Setup.hs directly, as opposed to using runhaskell. I prefer it this way, but you may have to do a chmod +x Setup.hs if you downloaded this from the darcs repository or similar.)
Since we want to use the system libraries as far as possible, these libraries are just an apt-get away:
sudo apt-get install libghc6-quickcheck1\*
sudo apt-get install libghc6-binary-\*
Now, let’s try again:
% ./Setup.hs configure
Configuring bio-0.4...
% ./Setup.hs build
Preprocessing library bio-0.4...
Building bio-0.4...
Binary: Int64 truncated to fit in 32 bit Int
ghc: panic! (the 'impossible' happened)
(GHC version 6.10.4 for i386-unknown-linux):
Prelude.chr: bad argument
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Okay, this was not what was supposed to happen. As always, dropping to #haskell on IRC is the first thing to do, and sure enough:
<sereven> ketil: that's also shown up for xmonad users when .hi and .o files weren't cleaned
between rebuilds mixing different versions. usually between ghc updates IIRC.
Let’s try to get rid of old cruft lying about, polluting directories:
./Setup.hs clean && ./Setup.hs configure && ./Setup.hs build
Sure enough, this time it worked. For good measure, we’ll run the unit tests:
make test
After a zillion tests, we notice that everything is go, great!
Applications
Next, it is time to go through the list of bioinformatics applications. Since my working directory is a mess of branches and versions, we’ll just go over the published applications and versions on Hackage.
xsact is an application to do sequence (in particular EST sequence) clustering. It predates and thues doesn’t actually use the bioinformatics library, but we’ll check it anway. So we try the familiar command line:
./Setup.hs clean && ./Setup.hs configure && ./Setup.hs build
And things compile. However, the version on Hackage is outdated, so we’ll upload a new version, 1.7.1. One test case still fails, but I can’t imagine anybody is using it to generate Newick-formatted trees — I am certainly not — and since there are many equally correct outputs (including tree rotations and rounding modes), output is likely correct anyway. Holler if you need it!
rbr is an application to mask repeats in sequence data. Normally, this is done using a library of known repeats, but this application tries to do it using statistics, making the — I think justifiable — assumption that repeats are going to be more common than non-repeats. The version on Hackage is old, and only works with the library prior to 0.4, so again this is a good time to push the latest changes out in the limelight. Compiling this works great, by the way.
cluster_tools is a package that contains a bunch of binaries, useful for working with the results of sequence clustering, including extracting various information from ACE files. This uses another library, called simpleargs, that simplifies command line argument parsing for simple cases. Again, the Hackage version is for bio<0.4, so a new version will be pushed. At the same time, we make a mental note to push version 0.2 of simpleargs to Hackage as well, instead of keeping age-old modifications buried forever.
dephd is my Swiss-army-knife of sequence analysis, and lets you do various things like converting between formats, plotting and trimming by quality. This is a more live project than most of the others (I’m currently working on improved quality trimming and automatic generation of files for submission to GenBank), but the currently available version also compiles without incident.
estreps is a couple of programs I needed for repeat analysis, perhaps not tremendously interesting, but at least rselect, which lets you select randomized subsets from Fasta files, might be of interest to some? We try the usual invocation to compile, and get:
src/Unigene.hs:24:23:
Couldn't match expected type `a' against inferred type `Unknown'
`a' is a rigid type variable bound by
the type signature for `clusters' at src/Unigene.hs:22:41
This error arises due to the introduction of phantom types for identifying sequences introduced in bio 0.4. Unfortunately, this version of estreps contains some adaption to this model, so it won’t compile against older versions either. So it looks like yet another sdist for Hackage. Look for version 0.3.1.
flower is a utility for extracting information from SFF files (containing sequences from Roche’s 454 machines). Although a new version is around the corner, the old 0.2 just works.
xml2x is a utility for converting BLAST results in XML format into CSVs, that somehow is more compatible with biologists. Trying to compile it fails, with the following error:
src/Xml2X.hs:152:49:
Couldn't match expected type `[b]'
against inferred type `Maybe Bio.Sequence.KEGG.KO'
In the first argument of `concatMap', namely `(flip M.lookup ks)'
In the first argument of `($)', namely
`concatMap (flip M.lookup ks)'
In the second argument of `($)', namely
`concatMap (flip M.lookup ks) $ map chop $ map subject fs'
It turns out that somewhere along the way, the lookup function from Data.Map was de-generalized from working on arbitrary monads to just returning a Maybe. I was using this to return a list, using the empty list to signal an unsuccessful lookup. This is easily remedied, but that means yet another sdist for Hackage.
korfu is a utility for identifying open reading frames in sequence data. It hasn’t yet been ported to version 0.4 of the library, but works if you install 0.3.5. I updated this too, since it didn’t have a category. Now it too resides in the bioinformatics section.
Summing up
In retrospect, it seems like giving old code a thorough spring cleaning once in a while. Although nothing really critical or difficult happened, a good number of small annoyances were discovered, and a bunch of new sdists are now ready to be uploaded to Hackage. Next will be converting all this into debian packages.
The important question is of course, how do we avoid this in the future? During development, it is important to be able to modify libraries and appliations, but installing a new version of the biolib, say, overwrites the old one, and suddenly I’m compiling and testing everything against a different library than Joe Random Hackage User is going to find. I have some thoughts on how to avoid this, but if you have a method that works nicely, I’m all ears.
发表评论
-
Ubuntu 10.04 新视觉设计、主题和Logo
2010-03-04 18:46 963根据官方wiki (屏幕截图)的介绍,Ubuntu ... -
Ubuntu自动备份软件包和制作本地源
2010-01-27 11:47 2519执行过sudo apt-get update &&am ... -
10 scripts to create your own Linux distribution
2010-01-25 15:20 1029Those familiar with Linux will ... -
Ubuntu下rhythmbox播放MP3乱码问题的解决
2010-01-19 18:03 2411在Ubuntu下,系统是使用的UTF-8字符集。而rhyt ... -
解决ubuntu 鼠标键盘的失效问题
2010-01-11 10:09 11069把主板的apic 禁用掉就可以了,如果你是多系统的话,这样可能 ... -
Windows 7 or Ubuntu 9.10 – battle of the operating systems
2009-11-06 08:08 996Operating systems have become l ... -
Hey Ubuntu, Stop Making Linux Look Bad
2009-11-06 08:07 879It’s the same old story. A new ... -
Ubuntu.com Suffers Intermittent Outages As Thousands Download Karmic Koala
2009-11-04 08:40 778(WEB HOST INDUSTRY REVIEW) -- T ... -
Xubuntu 9.10 Review and Commentary
2009-11-04 08:38 943With the recent release of Ub ... -
Ubuntu 9.10 - Almost Perfect
2009-11-03 09:48 723It’s been quite some time sin ... -
How to make Ubuntu extremely fast
2009-11-03 08:57 1649Old hardware? Want a faster boo ... -
5 things make Kubuntu 9.10 special
2009-11-03 08:50 862Kubutnu is the first distributi ... -
CentOS 5.4 vs. OpenSuSE 11.2 vs. Ubuntu 9.10 Benchmarks
2009-11-03 08:49 2944With the release of CentOS 5.4 ... -
many things to do after install ubuntu 9.10
2009-11-02 14:46 5583So you've just installed Ubuntu ... -
How to install Nvidia/ATI graphic cards drivers in Ubuntu 9.04
2009-11-01 23:49 1640Many a times users mess up thei ... -
How to install Ubuntu 9.10 without CD/DVD
2009-11-01 23:44 1299Ubuntu 9.10, Karmic Koala is ... -
Things to do after installing Ubuntu9.10 Karmic Koala
2009-11-01 22:44 1985Here are things i see are impor ... -
Ubuntu下安装MP3播放器Audacious
2009-11-01 08:02 2512在Ubuntu下安装软件就是简单方便,MP3你想不想听,那我们 ... -
The new Ubuntu Software Center
2009-10-31 08:25 1080You may remember my mention of ... -
Ubuntu 9.10 'Karmic Koala' released, could decide your OS fate
2009-10-30 09:51 689It's October 2009 which means s ...
相关推荐
### 安装STLinux在Ubuntu上的关键步骤与挑战 #### 概览 本文将深入探讨在Ubuntu上安装STLinux的全过程,重点解析由于包管理系统的差异而带来的挑战及其解决方案。对于那些希望在Ubuntu环境中利用STLinux强大功能的...
面是我在Ubuntu6.06 LTS 下源码编译安装samba主要安装过程,本人第一次用Ubuntu,刚装上去时候,没有gcc编译环境。郁闷了半天。找出这一过程发了不少的时间。可能还有些不妥,不过我经过这样的安装达到了向windows共享...
### 安装Anaconda在Ubuntu上的详细步骤及关键知识点 #### 一、Anaconda简介 Anaconda是一款非常受欢迎的数据科学平台,它集成了Python或R语言环境中的许多库和工具,便于用户进行数据处理、科学计算、机器学习等...
Microsoft Windows 2000 Scripting Guide - Installing Software on a Remote Computer
6. Installing the Software in Interactive Mode 7. Installing the Software in Silent Mode 8. Installing the INF Files Prior to OS Installation 8A. Installing the Windows* 2000 INF Files Prior to OS ...
Using the Ubuntu Software Center 86 Managing additional software 89 Manual software installation 93 Updates and upgrades 94 6 Advanced Topics 97 Ubuntu for advanced users 97 Introduction to the ...
### 综合指南:安装Rational Software Architect v. 8.0 2011 #### 前言 Rational Software Architect (RSA) 是一款强大的建模工具,旨在帮助软件开发团队设计、构建和验证复杂的系统。本指南将详细介绍如何安装...
- **Post-Installation Setup**: Guidance on essential post-installation steps, such as updating the system, configuring basic settings, and installing additional software. **Chapter 3 - Interface ...
Installing Your Driver on Windows Millennium INF File Guide
OpenERP Installing Ubuntu9.04
《安装Koha图书馆软件在Windows/Mac/Linux上的指南》 Koha是一款开源的图书馆自动化系统,它涵盖了图书馆管理的所有核心功能,包括目录编目、读者服务、馆际互借、库存管理和报告等。本篇文章将详细讲解如何在不同...
The "Ubuntu Unleashed 2010 Edition" is a comprehensive guide designed to help users get started and fully utilize the capabilities of Ubuntu, particularly versions 9.10 (Karmic Koala) and 10.04 (Lucid...
- **Installation**: The book starts with a detailed guide on installing Ubuntu on your computer, covering various scenarios and hardware configurations. - **Hardware Configuration**: After ...
BQS Exam Software`。 - 接下来,在新打开的页面中找到`BQS Exam Client (32bit)`或`(64bit)`,根据您的电脑系统选择相应的版本进行下载。如果您不确定自己的电脑是32位还是64位系统,可以通过右键点击“计算机”...
The Ubuntu Server Guide contains information on how to install and configure various server applications on your Ubuntu system to fit your ...installing Ubuntu, refer to the Ubuntu Installation Guide.
Installing the Ubuntu Server Chapter 3. Usage Basics: Login, Interfaces, and Help Chapter 4. Managing Software Part 2: Services Chapter 5. Managing Services with systemd Chapter 6. Mail Servers ...
Part 2 covers installing Ubuntu on your computer. An illustrated guide is provided, and all installation choices are explained in depth. Additionally, you’ll find a problem-solving chapter to help in...
Part 2 covers installing Ubuntu on your computer. An illustrated guide is provided, and all installation choices are explained in depth. Additionally, you’ll find a problem-solving chapter to help in...