python计算RPKM操作示例详解

 更新时间:2023年07月06日 08:42:02   作者:小白菜学生信  
这篇文章主要为大家介绍了python计算RPKM操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

操作

np.rot90(df, 1) #矩阵,逆时针,90度
np.rot90(df, -1) #矩阵,顺时针,90度

矩阵/数组,使用循环速度特慢

#!/usr/bin python3
# -*- coding: UTF-8 -*-
import os,sys,re
import pandas as pd
df=pd.read_csv("final.head", index_col = 0, header = 0, sep = "\t")
length=pd.read_csv("final.length", index_col = 0, header = 0, sep = "\t")
for i in range(len(df.index)):
    for j in range(len(df.columns)):
        df.iloc[i,j]=df.iloc[i,j]/length.iloc[i,0]
df.to_csv('final.norm', sep='\t', index = True)

numpy不用循环实现矩阵除数组,类似R语言(按行除),

即每一行列数组中每一个个数,按列除array[:,None]将数组竖着排实现按行除或用np.rot(df,)旋转矩阵,不推荐,容易转晕

#!/usr/bin/env python3
import os,re,sys
import numpy as np
ms, df, length, outfile = sys.argv
df = np.loadtxt(df, dtype=np.int32, delimiter='\t')
length = np.loadtxt(length, dtype=np.int32)
out=df/length[:,None]  # [:,None]将数组竖着排
np.savetxt(outfile,out,fmt='%.8f',delimiter='\t')
#np.savetxt(outfile,out,fmt='%.20f',delimiter='\t') # 小数点后保留20位

计算rpkm

#!/usr/bin/env python3
import os,re,sys
import numpy as np
ms, df, length, mapped_reads, outfile = sys.argv
# df[gene,sample]
df = np.loadtxt(df, delimiter='\t')
length = np.loadtxt(length)
mapped_reads = np.loadtxt(mapped_reads)
#np.dtype=int32 # 这是整形32位,不适用
out=1e3*1e6*df/(length[:,None]*mapped_reads)
#使用旋转矩阵法,过于复杂不推荐
#out=1e3*1e6*np.rot90((np.rot90(df,1)/length),-1)/mapped_reads
np.savetxt(outfile,out,fmt='%.8f',delimiter='\t')

行列求和

#!/usr/bin python
# -*- coding: UTF-8 -*-
import pandas as pd
#t=[[1,2,3],[4,5,6],[7,8,9]]
#df=pd.DataFrame(t) # List转为dataframe
df=pd.read_csv("test.df", index_col = 0, header = 0, sep = "\t")
total=df.apply(lambda x: x.sum())
total.to_csv('test.total', sep='\t', index = True)
#df['Row_sum'] = df.apply(lambda x: x.sum(),axis=1) # 按行求和,添加为新列
#df.loc['Col_sum'] = df.apply(lambda x: x.sum()) # 各列求和,添加新的行

以上就是python计算RPKM操作示例详解的详细内容,更多关于python计算RPKM的资料请关注脚本之家其它相关文章!

相关文章

  • python自动化测试三部曲之request+django实现接口测试

    python自动化测试三部曲之request+django实现接口测试

    这篇文章主要介绍了python自动化测试三部曲之request+django实现接口测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • python之pyinstaller组件打包命令和异常解析实战

    python之pyinstaller组件打包命令和异常解析实战

    前段时间在制作小工具的时候,直接在命令行用pyinstaller工具打包成功后,启动exe可执行文件的时候各种报错, 今天,我们就分享一下踩坑经过,需要的朋友可以参考下
    2021-09-09
  • Python 的 with 语句详解

    Python 的 with 语句详解

    这篇文章主要介绍了Python 的 with 语句,本文详细讲解了with语句、with语句的历史、with语句的使用例子等,需要的朋友可以参考下
    2014-06-06
  • 使用Python对SQLite数据库操作

    使用Python对SQLite数据库操作

    本文主要介绍了Python对SQLite数据库操作的简单教程。SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在IOS和Android的APP中都可以集成。
    2017-04-04
  • python使用pygame实现笑脸乒乓球弹珠球游戏

    python使用pygame实现笑脸乒乓球弹珠球游戏

    这篇文章主要为大家详细介绍了python使用pygame实现笑脸乒乓球弹珠球游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 解决python 未发现数据源名称并且未指定默认驱动程序的问题

    解决python 未发现数据源名称并且未指定默认驱动程序的问题

    今天小编就为大家分享一篇解决python 未发现数据源名称并且未指定默认驱动程序的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 使用Python读取Excel数据并写入到CSV、XML和文本

    使用Python读取Excel数据并写入到CSV、XML和文本

    Excel工作簿是常用的表格格式,许多数据呈现、数据分析和数据汇报都是以Excel工作表的形式进行,本文将演示如何运用Python编程语言,将Excel工作表中的丰富数据导入到CSV、XML或文本中,需要的朋友可以参考下
    2024-03-03
  • python机器学习MATLAB最小二乘法的两种解读

    python机器学习MATLAB最小二乘法的两种解读

    这篇文章主要为大家介绍了python机器学习中MATLAB最小二乘法的两种解读方式,有需要的朋友可以借鉴参考下希望能够有所帮助
    2022-02-02
  • Python程序打包exe报错的几种解决方法

    Python程序打包exe报错的几种解决方法

    本文主要介绍了Python程序打包exe报错的几种解决方法,文中通过几种解决方法的介绍非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-08-08
  • 使用flask如何获取post请求参数

    使用flask如何获取post请求参数

    近日在使用flask框架获取前端的请求时获取参数时,遇到了几个问题,所以下面这篇文章主要给大家介绍了关于使用flask如何获取post请求参数的相关资料,需要的朋友可以参考下
    2022-08-08

最新评论