python計算RPKM操作示例詳解
操作
np.rot90(df, 1) #矩陣,逆時針,90度 np.rot90(df, -1) #矩陣,順時針,90度
矩陣/數(shù)組,使用循環(huán)速度特慢
#!/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不用循環(huán)實現(xiàn)矩陣除數(shù)組,類似R語言(按行除),
即每一行列數(shù)組中每一個個數(shù),按列除array[:,None]將數(shù)組豎著排實現(xiàn)按行除或用np.rot(df,)旋轉(zhuǎn)矩陣,不推薦,容易轉(zhuǎn)暈
#!/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]將數(shù)組豎著排 np.savetxt(outfile,out,fmt='%.8f',delimiter='\t') #np.savetxt(outfile,out,fmt='%.20f',delimiter='\t') # 小數(shù)點后保留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) #使用旋轉(zhuǎn)矩陣法,過于復雜不推薦 #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轉(zhuǎn)為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操作示例詳解的詳細內(nèi)容,更多關于python計算RPKM的資料請關注腳本之家其它相關文章!
相關文章
python自動化測試三部曲之request+django實現(xiàn)接口測試
這篇文章主要介紹了python自動化測試三部曲之request+django實現(xiàn)接口測試,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10python之pyinstaller組件打包命令和異常解析實戰(zhàn)
前段時間在制作小工具的時候,直接在命令行用pyinstaller工具打包成功后,啟動exe可執(zhí)行文件的時候各種報錯, 今天,我們就分享一下踩坑經(jīng)過,需要的朋友可以參考下2021-09-09python使用pygame實現(xiàn)笑臉乒乓球彈珠球游戲
這篇文章主要為大家詳細介紹了python使用pygame實現(xiàn)笑臉乒乓球彈珠球游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11解決python 未發(fā)現(xiàn)數(shù)據(jù)源名稱并且未指定默認驅(qū)動程序的問題
今天小編就為大家分享一篇解決python 未發(fā)現(xiàn)數(shù)據(jù)源名稱并且未指定默認驅(qū)動程序的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12使用Python讀取Excel數(shù)據(jù)并寫入到CSV、XML和文本
Excel工作簿是常用的表格格式,許多數(shù)據(jù)呈現(xiàn)、數(shù)據(jù)分析和數(shù)據(jù)匯報都是以Excel工作表的形式進行,本文將演示如何運用Python編程語言,將Excel工作表中的豐富數(shù)據(jù)導入到CSV、XML或文本中,需要的朋友可以參考下2024-03-03