7月 05

[推荐]一个专注于生物信息学系统与软件Manuals的网站

一个很好的Manuals网站,主要针对生物信息学的研究人员,包括R、Bioconductor、NGS、EMBOSS、Linux等软件和系统的手册。如:
R Basics Manual
Programming in R
Clustering in R
BioConductor Manual
NGS Analysis with R/Bioconductor
Linux Essentials……【阅读全文】

7月 05

[推荐]Cheat Sheets大全

devcheatsheet(Cheat sheets for developers)收录了各种各样的编程语言或软件操作的备忘录文件,每个文件都是经过经整理去芜存菁而成,让你在遗忘或想学习某个编程语言语法、软件快捷键以及各种编程语言的参数时,可以快速检索、恢复记忆的好工具。 大部分的CheatSheets都有图片格式或PDF格式供下载,只有少部分是在线格式。……【阅读全文】

6月 28

在Linux和Windows平台下查找两列数据中不重复的记录

  • 在Linux中使用Shell查找两列数据中不重复的记录[简便、高效;推荐!]

现有两个文件first.txt和second.txt,内容分别如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat first.txt
赵
钱
孙
周
郑
王
cat second.txt
钱
赵
孙
孙
李
吴

首先进行预处理,如下:

1
2
sort first.txt | uniq >first_sort_uniq.txt
sort second.txt | uniq >second_sort_uniq.txt

Continue reading

6月 23

用Devel::SmallProf测量Perl函数的执行时间

资料来源

用Devel::SmallProf测量Perl函数的执行时间
perl 的调试和性能测试
Perl 问题之万能指南

Devel::SmallProf是个很好用的模块,可以方便地测量出代码每一行的执行时间,以便进一步优化。

例如以下程序,文件名为test.pl。

1
2
3
4
5
6
7
#!/usr/bin/perl
 
my $str = "0";
for ( my $i = 0 ; $i < 100 ; $i++ ) {
   $str =~ s/d+/($&+1)/e;
   print $str. "n";
}

该程序的功能是输出整数 1 到 100。当然实际写程序时可不要用这么低效率的方法。
安装 Devel::SmallProf 之后我们来测量一下它每一行代码的执行时间。

1
perl -d:SmallProf test.pl

执行之后会在当前目录下生成一个 smallprof.out 文件,其内容如下:
Continue reading

6月 20

[转载]如果编程语言是汽车

资料来源:
If programming languages were cars…
如果编程语言是汽车……

Ada 是一种异常神勇永远不会损坏的坦克。如果你跟别人说你驾驶 的是Ada 他们会笑疯的,但是,说真的,你愿意在战场上开跑车吗?
汇编语言 仅仅是一台引擎。你需要自己搭建汽车,并且在行驶过程中手动注入燃料,不过如果你足够小心的话,它可以跑得像脱缰野马一般快。

Basic 这种汽车用来开到附近的商店去购物还不错.Basic曾经在学习驾驶的人中很流行。但是最近被剥得只剩皮,被一个主要生产者重新设计,新版本可以胜任长途旅行,与旧版本之间只有外表上比较像,但其余部分都已经改变了

C 快得难以置信但是每五十分钟坏一次的跑车。

Cobol 是个有名气的汽车,但是任何尊重自己的驾驶员都不承认曾经驾驶过。

C# 家用旅行车的有力竞争者。一旦你用这种汽车,就不能用它的竞争对手的汽车了。

C++ 是C跑车的加强马力版,比C多了几十个额外特性。每250英里损坏一次,问题是损坏的时候谁都找不到问题在哪。

Continue reading

6月 03

多姿多彩的HelloWorld

资料来源(视频【翻墙】):Hello Worlds – Linux – Different Languages

以下分别是C, C++, Python, Perl, Java, HTML/Javascript, Haskell, and Shell (plus R)的“Hello Wolrd”实现。
注:html和Javascript的显示有问题。所有的代码可以下载helloworld

  • C

touch hello.c
vim hello.c

1
2
3
4
5
6
7
#include 
 
int main()
{
	printf("Hello, World!n"); 
	return 0; 
}

gcc hello.c -o hello-C
./hello-C
Continue reading

5月 30

使用Perl绘制统计图

注意:请将代码中的“》”(中文全角)全部替换为“>”(英文半角)。

  • Bar

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/use/bin/perl
 
use SVG::TT::Graph::Bar;
 
my @fields        = qw(Jan Feb Mar);
my @data_sales_02 = qw(12 45 21);
 
my $graph = SVG::TT::Graph::Bar-new(
  {
      'height' ='500',
      'width'  ='300',
      'fields' =@fields,
  }
);
 
$graph-》add_data(
  {
      'data'  =@data_sales_02,
      'title' ='Sales 2002',
  }
);
 
open( my $fh, '》', "bar.svg" );
select $fh;
binmode $fh;
print $graph-》burn();
close($fh);

输出:
bar
Continue reading