首页 > 系统相关 >Linux 中 使用awk数组根据基因的PAV矩阵计算基因的存在频率

Linux 中 使用awk数组根据基因的PAV矩阵计算基因的存在频率

时间:2024-02-12 13:24:58浏览次数:27  
标签:PAV 基因 admin1 awk b20223040323 Linux test txt

 

001、测试数据

[b20223040323@admin1 test]$ ls
x_gather_pav.txt
[b20223040323@admin1 test]$ cat x_gather_pav.txt  ## 测试数据;每一行是一个个体;每一列是一个基因;矩阵中的0表示基因在这个个体中缺失, 1表示基因在这个个体中存在
0       1       1       1       1       0       1       0       0       0    ## 计算基因存在频率的出发点就是基因在群体中存在的个体数除以样本总数,基于awk数组可以显著提高运算速度!
0       1       1       1       1       0       1       0       0       0
0       1       1       1       1       0       1       0       0       0
0       1       1       1       1       0       1       0       0       0
0       1       0       1       1       0       1       0       0       0
0       1       0       1       1       0       0       0       0       0
0       1       0       1       1       0       0       1       0       0
0       1       0       1       1       0       0       1       1       0
0       1       0       0       1       0       0       1       1       1
0       1       0       0       1       0       0       1       1       1

 

002、计算如下:

[b20223040323@admin1 test]$ ls
x_gather_pav.txt
[b20223040323@admin1 test]$ cat x_gather_pav.txt
0       1       1       1       1       0       1       0       0       0
0       1       1       1       1       0       1       0       0       0
0       1       1       1       1       0       1       0       0       0
0       1       1       1       1       0       1       0       0       0
0       1       0       1       1       0       1       0       0       0
0       1       0       1       1       0       0       0       0       0
0       1       0       1       1       0       0       1       0       0
0       1       0       1       1       0       0       1       1       0
0       1       0       0       1       0       0       1       1       1
0       1       0       0       1       0       0       1       1       1   ## awk的列迭代将基因计数累加与ay数组以列为索引的元素中,行迭代实现不同个体的累加;最终对数据元素进行迭代,并除以awk内置变量NR(样本数)
[b20223040323@admin1 test]$ awk '{for(i = 1; i <= NF; i++) {ay[i] += $i}} END {for(i = 1; i <= NF; i++) {print ay[i]/NR}}' x_gather_pav.txt     ## 统计结果如下
0
1
0.4
0.8
1
0
0.5
0.4
0.3
0.2

 。

 

标签:PAV,基因,admin1,awk,b20223040323,Linux,test,txt
From: https://www.cnblogs.com/liujiaxin2018/p/18013793

相关文章

  • Linux下指定so动态库的加载路径的5种方法
    搜索的先后顺序是:编译目标代码时指定的动态库搜索路径;环境变量LD_LIBRARY_PATH指定的动态库搜索路径;配置文件/etc/ld.so.conf中指定的动态库搜索路径;默认的动态库搜索路径/lib;默认的动态库搜索路径/usr/lib。将库文件放置在对应的路径中,运行时就可以搜索到了。例1:通过gcc......
  • Linux之parted
    【摘要】parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,支持2TB以上的磁盘分区,并且允许调整分区的大小。使用它你可以创建、清除、调整、移动和复制ext2、ext3、linux-swap、FAT、FAT32和reiserfs分区;也能创建、调整和移动苹果系统的HFS分区;还能检测jfs、ntfs......
  • Linux Bash Shell 脚本入门(2)——GNU
    ​LinuxBashShell脚本入门(2)——GNU目录LinuxBashShell脚本入门(2)——GNUGNU与LinuxGNUGNU的组成ShellGNOME桌面环境XWindow软件GNOME可点击内容,大部分来自维基百科,可以点击了解详情。GNU与LinuxGNUGNU操作系统起源于GNU计划,由理查德·斯托曼在麻省理工学院人工智能......
  • [转帖]linux参数之max_map_count
    https://www.cnblogs.com/duanxz/p/3567068.html “Thisfilecontainsthemaximumnumberofmemorymapareasaprocessmayhave.Memorymapareasareusedasaside-effectofcallingmalloc,directlybymmapandmprotect,andalsowhenloadingsharedlibr......
  • Linux之bond 和 team
    一、bond和team区别bond只能是双网卡绑定,team不需要手动加载相应内核模块和有更强的拓展性,最高可以绑定8块网卡。二、模式bond模式(1)mode=0(balance-rr)(平衡轮循环策略)链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。交换机需要配置静态链路聚合。特......
  • Linux Bash Shell 脚本入门(1)——Linux内核功能介绍
    ​LinuxBashShell脚本入门(1)——Linux内核功能介绍目录LinuxBashShell脚本入门(1)——Linux内核功能介绍前言Linux初探Linux系统架构linux内核系统内存管理软件程序管理硬件设备管理文件管理系统前言本文为《Linux命令行与shell脚本编程大全》第四版的读书笔记,突发奇想想......
  • Linux 中awk批量输出列
     001、方法1双文件[root@PC1test1]#lsa.txtcols.list[root@PC1test1]#catcols.list##列1358[root@PC1test1]#cata.txt##测试文件00100200300400500600700800901001101201301401501601701801902002102202302402......
  • Linux 中 字符串 与shell数组的转换
     001、字符串转换为shell数组[root@PC1test1]#str1="aabb100200500"##生成测试字符串[root@PC1test1]#echo$str1aabb100200500[root@PC1test1]#ay1=($str1)##字符串转换为数组[root@PC1test1]#echo${ay1[0]}......
  • archlinux flutter开发踩坑
    archlinuxflutter开发踩坑archlinux是个好东西,但是开发flutter坑不少。2023年5月我配置了flutter,后来用得不多,23年11月还尝试过但是失败,最近又要使用,就来解决下。20230210今天需要写一个手机app,突然发现构建不出来了,报错>Failedtocreateparentdirectory'/opt/flutter......
  • Linux 中输出目录总的大小
     001、先看整体结构[root@PC1test1]#ls##测试文件及目录a.txttest001test002test003[root@PC1test1]#tree-h##查看结构和各个文件的大小.├──[59]a.txt├──[30]test001│  ├──[1000M]a......