Shell实用——统计字符种类及个数

1. 前期准备

  • 数据下载

    $ wget -c ftp://hgdownload.cse.ucsc.edu/goldenPath/sacCer3/bigZips/mrna.fa.gz
    $ wget -c ftp://hgdownload.cse.ucsc.edu/goldenPath/sacCer3/bigZips/mrna.fa.gz.md5
    
  • 数据完整性校验

    $ md5sum --check mrna.fa.gz.md5
    mrna.fa.gz: OK
    
  • 了解fasta格式,提取序列

    $ gunzip -c mrna.fa.gz | grep -v "^>" > data.fa
    

2. 脚本编写

test.sh

#!/bin/bash

for i in {a..z}
do
    grep -q $i data.fa;
    if [ $? == 0 ]; then 
        n=`grep -o $i data.fa | wc -l`;
        printf "$i\t$n\n";
    fi
done 

3. 脚本运行

$ bash test.sh
a       98378
b       1
c       59955
d       21
g       65147
n       866
r       1
s       2
t       89401
w       1
y       1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第1章 小试牛刀 $ 是普通用户,# 表示管理员用户 root。 shebang:#!。sharp / hash ...
    巴喬書摘阅读 6,477评论 1 4
  • 第十章 使用序列数据 生物信息学的核心问题之一是处理大量的(通常定义糟糕或模糊)文件格式。久而久之,一些特定的简单...
    yangliunk1987阅读 5,127评论 3 53
  • RNAseq实际操作(实战) 首先声明,虽然是实战,但是其实是学习笔记而已,初学,参考了大量大神的博客和帖子,还有...
    zd200572阅读 4,470评论 0 29
  • 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显...
    敌敌味丶阅读 250评论 0 1
  • 我总是说着,爱你 香甜的花,嫩绿的叶 狂乱刮着的晚风,都不及 我爱你 你总是说着,爱你 海浪拍打着礁石,礁石亲吻着...
    右手心声阅读 122评论 0 0