shell中实现DNA序列一致性计算

 

001、

复制代码
[root@pc1 test02]# ls
a.txt  test.sh
[root@pc1 test02]# cat a.txt            ## 测试数据
ATCCAGCT
GGGCAACT
ATGGATCT
AAGCAACC
TTGGAACT
ATGCCATT
ATGGCACT
[root@pc1 test02]# cat test.sh          ## 测试脚本
#!/bin/bash

for i in $(seq $(awk 'NR == 1{print length}' a.txt))
do
        cut -c $i a.txt | awk  '{ay[$1]++} END {max = 0; for (i in ay) {if(ay[i] > max){max = ay[i]; a = i}}; printf("%s", a)}'
done
printf "\n"
[root@pc1 test02]# bash test.sh         ## 计算结果
ATGCAACT
复制代码

 

 

002、

复制代码
[root@PC1 test01]# ls
a.fa  test.sh
[root@PC1 test01]# cat a.fa     ## 测试数据
>Rosalind_1
ATCCAGCT
>Rosalind_2
GGGCAACT
>Rosalind_3
ATGGATCT
>Rosalind_4
AAGCAACC
>Rosalind_5
TTGGAACT
>Rosalind_6
ATGCCATT
>Rosalind_7
ATGGCACT
[root@PC1 test01]# cat test.sh    ## 测试程序
#!/bin/bash

length=$(awk 'NR == 2 {print length}' a.fa)

for i in $(seq $length)
do
        grep -v "^>" a.fa | cut -c $i | awk '{ay[$0]++} END {OFS = "\t";max = 0; for (i in ay) {if(ay[i] > max) {max = ay[i]; tag = i}}; printf("%s",tag)}'
done
printf "\n"
[root@PC1 test01]# bash test.sh    ## 执行程序
ATGCAACT
复制代码

 

 

posted @   小鲨鱼2018  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-09-06 R语言中scale函数(数据的标准化 z-score)
2022-09-06 R语言中diag函数
2022-09-06 R语言中set.seed()函数的作用
2022-09-06 ping: www.baidu.com: Temporary failure in name resolution
点击右上角即可分享
微信分享提示