12 20
刚刚速成了一下shell语言,在试着用它写个小脚本的时候发现,这种编程语言的if语句用起来讲究还蛮多的,比如下面这段程序,就有很多错误:
#!/bin/bash
while read line
do
if [$line != "abc"]; then
echo $line;
fi
done < "input.txt"
运行的时候会报unexpected operator,xxx not found, too many arguments等各种错误。
原因是if后面的[]中前后都要有一个空格,并且$line这个变量要房子引号中。
正确的写法如下:
#!/bin/bash
while read line
do
if [ "$line" != "abc" ]; then
echo $line;
fi
done < "input.txt"
02 06
以前读本科的时候总喜欢偶尔编个小程序啥的,可是那时候买不起电脑,经常都是写了程序之后在脑子里运行几次就算了,每天做梦都想有台自己的电脑,那滋味……后来读研究生的时候有电脑了,可是太忙了,每天除了做实验,就是在琢磨怎么赚钱,把编程序这事儿就逐渐放下了,也都忘的差不多了。前段时间由于处理高通量测序的结果需要写些程序,于是又比较系统的复习了一下,尤其比较多地看了些关于Python的资料。正好最近Facebook搞了个Hacker Cup编程比赛,就去试了一下。
继续阅读 »
02 05
Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大的通用型语言(维基百科)。自从上次写那个批量Blast小程序的时候接触了Python,发现这个玩意儿真是好用,后来还用它弄了个动态作图小程序,最近在处理高通量测序数据的时候也一直用Python,越用觉得好用!给大家推荐一下,如果你想快速学一种实用的编程语言用来写小程序或处理数据,就学Python吧。
继续阅读 »
09 05
最近遇到一个需要动态作图的问题,情况是这样的:有一台仪器(一台天平)不断通过串口向计算机发送数据,在计算机中用Terminal这个串口调试工具接收数据后记录到一个名字为data.log的文本文档中,现在需要将记录的数据动态地通过图形展现出来。
继续阅读 »
08 07
几个月前帮一个同学弄了个简单的计算图片上的白点区域占图片中面积百分比的matlab小程序。几天前他告诉我还想用一下,可是不知道保存到哪里去了,找不到了,弄丢了,让我帮他找找,我还是放在博客上吧,这下丢不了了。
继续阅读 »
07 26
问题是这样的:有很多很多序列,几百条,想大致了解一下这些序列分别是什么样的微生物,如果一条一条去blast,那是相当的累。想找一个工具告诉我每条序列blast结果的前几条的名称是什么即可,不需要其它信息。
在网上找了一下,没找到合适的软件或工具,虽然有些关于批量blast的教程之类的,比如这个,但是给出的结果及其繁琐,很多不需要的信息。
后来发现Biopython可以很简单就进行批量Blast。只需先安装Python和Biopython,Python和Biopython的下载地址分别为:
http://www.python.org/download/
http://www.biopython.org/wiki/Download
继续阅读 »
09 26
前段时间做了一个克隆文库,有点大,拿到上百条序列,有了序列后,想选择一种合适的酶进行酶切,进而将克隆的结果与T-RFLP的结果联系起来。试了几个软件和一些在线酶切分析工具,好像都是可以用多种酶去切一个序列,而不能同时切多个序列。要是序列不多,一个个切切还可以,可是这上百条序列就需要几百次甚至更多的重复操作,不但能把手累的抽筋,眼都能被累的抽筋,实在让人无法忍受。于是决定自己做个小工具。
首先用了几个小时速成了一下Perl语言及Bioperl,发现这玩意处理字符串真的是太方便了!只需要下面这几行代码就可以自动或半自动同时查找多个序列酶切位点了(由于T-RFLP结果只与第一个酶切位点有关,因此只找每个序列的第一个切点)。
继续阅读 »