Archives

行计数 和 (组合)列 uniq 并统计计数工具: tabtk_nlines 和 tabtk_uniq

本文介绍两个小工具:tabtk_nlines 和 tabtk_uniq

1. tabtk_nlines

其实使用 wc -l 或者 grep -P '^#' | wc -l 可以很方便的解决行计数问题,但是处理数据时候需要做两个事情:

  • 添加样本信息
  • 过滤掉注释行

使用 tabtk_nlines 可以干净的解决这个问题:

命令行接口:

$ tabtk_nlines
Usage: tabtk_nlines [options] <text> <samples>
Options:
  -i  flag to ignore lines start with '#';
  -v  print version number

需要两个参数, 一个文本文件(支持压缩包)和样本信息

示例:

统计F1 样本 F1-ko.tsv.gz 注释到ko的基因个数,有表头信息,以#开头为注释信息

$ tabtk_nlines  -i  F1-ko.tsv.gz  F1
F1      7369
2. tabtk_uniq

tabtk_uniq 程序为了解决组合列进行Uniq操作的实现, 并可以通过 -c 可选项指示是否显示频数, -f 选项指定fields 信息

命令行接口:

$ tabtk_uniq
Usage: tabtk_uniq [options] <text>
Options:
  -f STR fields pattern: 1:2:3, [1];
  -c     display the counts;
  -i     flag to ignore lines start with '#';
  -v     print version number

示例:

测试文件 file.txt

#1      1       1
1       2       4
3       4       5
1       2       5
3       4       10
4       8       2
1       2       7
2       5       19

统计第一列和第二列组合Uniq

$tabtk_uniq  -i  -f1:2 file.txt
1       2
4       8
3       4
2       5

统计第一列和第二列组合Uniq并显示频数

$tabtk_uniq  -i -c   -f1:2 file.txt
1       2       3
4       8       1
3       4       2
2       5       1

本文材料为 BASE (Biostack Applied bioinformatic SEies ) 课程 Linux Command Line Tools for Life Scientists 材料, 版权归 上海逻捷信息科技有限公司 所有.

Last Upate: 2017/10/16 21:20

Comments are closed.