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 中的 Counter 模块及使用详解(搞定重复计数)

    Python 中的 Counter 模块及使用详解(搞定重复计数)

    Counter 是一个简单的计数器,用于统计某些可哈希对象的数量。它以字典的形式存储元素和它们的计数,这篇文章主要介绍了Python 中的 Counter 模块及使用详解(搞定重复计数),需要的朋友可以参考下
    2023-04-04
  • python中最小二乘法详细讲解

    python中最小二乘法详细讲解

    在本篇文章里小编给大家整理的是一篇关于python中最小二乘法详细讲解内容,需要的朋友们可以参考下。
    2021-02-02
  • Django框架封装外部函数示例

    Django框架封装外部函数示例

    这篇文章主要介绍了Django框架封装外部函数,结合Django框架表单登陆功能示例分析了封装外部函数的相关操作步骤与实现技巧,需要的朋友可以参考下
    2019-05-05
  • Python利用PyMobileDevice3控制iOS设备的完整教程

    Python利用PyMobileDevice3控制iOS设备的完整教程

    PyMobileDevice3是一个纯Python 3实现的iOS设备控制工具库,为开发者和技术爱好者提供了强大的iOS设备管理能力,所以本文给大家介绍了Python利用PyMobileDevice3控制iOS设备的完整教程,需要的朋友可以参考下
    2025-12-12
  • python爬虫入门教程之糗百图片爬虫代码分享

    python爬虫入门教程之糗百图片爬虫代码分享

    这篇文章主要介绍了python爬虫入门教程之糗百图片爬虫代码分享,本文以抓取糗事百科内涵图为需求写了一个爬虫,,需要的朋友可以参考下
    2014-09-09
  • 一篇文章搞懂python混乱的切换操作与优雅的推导式

    一篇文章搞懂python混乱的切换操作与优雅的推导式

    这篇文章主要给大家介绍了如何通过一篇文章搞懂python混乱的切换操作与优雅的推导式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习具有一定的参考学习价值,需要的朋友可以参考下
    2021-08-08
  • Python类定义和类继承详解

    Python类定义和类继承详解

    这篇文章主要介绍了Python类定义和类继承详解,本文讲解了类的私有属性、类的方法、私有的类方法、类的专有方法、类的定义、类的单继承、类的多继承等内容,需要的朋友可以参考下
    2015-05-05
  • 基于Python制作简单的井字棋游戏

    基于Python制作简单的井字棋游戏

    这篇文章主要为大家详细介绍了如何基于Python实现简单的井字棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-04-04
  • python的构建工具setup.py的方法使用示例

    python的构建工具setup.py的方法使用示例

    本篇文章主要介绍了python的构建工具setup.py的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Python学习之直方图均衡化原理详解

    Python学习之直方图均衡化原理详解

    直方图均衡化是以累计分布函数为核心,将原始图像灰度直方图从比较集中的某个灰度区间,非线性地映射为在全部灰度范围内的较均匀分布,从而增强对比度。本文将为大家详细讲解直方图均衡化的原理,需要的可以参考一下
    2022-03-03

最新评论