美文网首页
W384孔板筛选 Hit List 代码

W384孔板筛选 Hit List 代码

作者: 火卫控 | 来源:发表于2023-05-28 18:10 被阅读0次

W384孔板筛选 Hit List 代码
阈值划分 ,阳性到阴性 的 75% 或 60%

将酶标仪读值输出文件按一定格式汇总到同一EXCEL下(多工作表),在该表中计算阴阳性平均值,设定阈值,非Hit标记,找出Hit孔。通过Python 提取相应区域,按hit孔的行列名组合依次写入新的excel文件中,统计处Hit list

注: Hit一般为5%-10%,绝对值一般为50左右

软件环境:

Python: 3.10.9
Pandas Version: 1.5.3
openpyxl Version: 3.0.10
pip show [package name]
VScode
Anaconda

1. 将荧光素酶原始读值汇总文件 ,从原始仪器输出
2. 设定阈值,找出HIt值,抽取 W384测试孔读值区域存到新的文件夹中
3. 组合行列名和相应的读值到新的Excel中,形成Hit list
4. 进行下一步分析和验证

原始数据,PE酶标仪 W384 general 黑板 0.1s 0.1mm
1h衰减一般 , 一步法Fluc
总共10块W384孔板,先将数据读值部分汇总到一个EXCEL
p1 - p10,总共十个工作表

1. 将荧光素酶原始读值汇总文件 抽取 W384测试孔读值区域存到新的文件夹中

计算阳性和阴性对照的平均值,确定阈值 =IF(D22<$AB$39,D22,$A$42)

去除阴阳性对照,只留测试孔读值区域,保留行列名,列名为数字,需要在pandas中转换为字符串。

代码如下:

import pandas as pd


from openpyxl import load_workbook

# # 读取特定区域的数据
# data = worksheet['Y57'].value




# excel_path = r'D:\GZlab_W_AQY\实验记录\荧光素酶报告结果\C11-PerKinElmer-Luc\AQY\2023.5.21\汇总5.22-60per.xlsx'
excel_path = r"D:\GZlab_W_AQY\实验记录\荧光素酶报告结果\C11-PerKinElmer-Luc\AQY\2023.5.21\分析5.22\汇总5.22.xlsx"
excel_path = r"D:\GZlab_W_AQY\实验记录\荧光素酶报告结果\C11-PerKinElmer-Luc\AQY\2023.5.21\分析5.22\test\W384-60p.xlsx"
# 读取Excel文件中的数据
workbook = pd.read_excel(excel_path, sheet_name=None)
# print(workbook)
# 根据工作表名称或索引获取数据
data_frames = []

   # # 获取工作表
        # worksheet = workbook['Sheet1']

        # 获取行号和列号
row = 57
column = 25


for sheet_name, sheet_data in workbook.items():
    
    print("\n\n",sheet_name)


    pd2 = sheet_data.loc[40:56,2:22]
    data_frames.append(pd2)

    print("\n\n",pd2)

    # pd2.to_excel('W384-FDA-hit60-extract-2023.5.23.xlsx', sheet_name=sheet_name, index=True)

# 合并数据集
# merged_df = pd.concat(data_frames, ignore_index=True)
excel_outpath = r'test.xlsx'
book = load_workbook(excel_outpath)
index=0
with pd.ExcelWriter(excel_outpath) as wr:
    data_frames[0].to_excel(wr,sheet_name="p0",index=False)
    data_frames[1].to_excel(wr,sheet_name="p1",index=False)
    data_frames[2].to_excel(wr,sheet_name="p2",index=False)
    data_frames[3].to_excel(wr,sheet_name="p3",index=False)
    data_frames[4].to_excel(wr,sheet_name="p4",index=False)
    data_frames[5].to_excel(wr,sheet_name="p5",index=False)
    data_frames[6].to_excel(wr,sheet_name="p6",index=False)
    data_frames[7].to_excel(wr,sheet_name="p7",index=False)
    data_frames[8].to_excel(wr,sheet_name="p8",index=False)
    data_frames[9].to_excel(wr,sheet_name="p9",index=False)
    
    # data_frames[].to_excel(wr,sheet_name="p3",index=False)
    # data_frames[3].to_excel(wr,sheet_name="p3",index=False)
    # index = index +1
    # a='{}'.format(index)
    # for i in data_frames:
    #     i.to_excel(writer,sheet_name= a,index=False)



# merged_df =pd.DataFrame(pd.array(data_frames))

2. 设定阈值,找出HIt值,抽取 W384测试孔读值区域存到新的文件夹中

计算阳性和阴性对照的平均值,确定阈值
蓝色为阳性平均值
绿色为阴性平均值
红色箭头为筛选阈值,计算公式为=(X39-B39)*AB38+B39
将不满足条件的孔赋值为 -1

plate1原始数据 读取到新的excel中

3. 根据阈值,筛选Hit,组合行列名和相应的读值到新的Excel中,形成Hit list 进行下一步分析和验证。

筛选结果-75%

正式筛选10快板的代码如下:

import pandas as pd
from openpyxl import load_workbook

# excel_path = r"D:\GZlab_W_AQY\实验记录\荧光素酶报告结果\C11-PerKinElmer-Luc\AQY\2023.5.21\分析5.22\正式分析\Origin_data_5.22_analysis_60per.xlsx"
excel_path = r"D:\GZlab_W_AQY\实验记录\荧光素酶报告结果\C11-PerKinElmer-Luc\AQY\2023.5.21\分析5.22\正式分析\Origin_data_5.22_analysis_75per.xlsx"
# 读取原始Excel文件中的数据
workbook = pd.read_excel(excel_path, sheet_name=None)
# print(workbook)
# 根据工作表名称或索引获取数据
data_frames = []

for sheet_name, sheet_data in workbook.items():
    
    pd2 = sheet_data.loc[40:56,2:22]
    data_frames.append(pd2)




# 合并数据集
# merged_df = pd.concat(data_frames, ignore_index=True)
excel_outpath = excel_path[:-5] + "extract_df.xlsx"

# 新建文件
# 创建一个空文件
demo = pd.DataFrame()
demo.to_excel(excel_outpath)

book = load_workbook(excel_outpath)
index=0
with pd.ExcelWriter(excel_outpath) as wr:
    data_frames[0].to_excel(wr,sheet_name="p0",index=False)
    data_frames[1].to_excel(wr,sheet_name="p1",index=False)
    data_frames[2].to_excel(wr,sheet_name="p2",index=False)
    data_frames[3].to_excel(wr,sheet_name="p3",index=False)
    data_frames[4].to_excel(wr,sheet_name="p4",index=False)
    data_frames[5].to_excel(wr,sheet_name="p5",index=False)
    data_frames[6].to_excel(wr,sheet_name="p6",index=False)
    data_frames[7].to_excel(wr,sheet_name="p7",index=False)
    data_frames[8].to_excel(wr,sheet_name="p8",index=False)
    data_frames[9].to_excel(wr,sheet_name="p9",index=False)



# 读取提取 df读板数据区域的新excel
workbook = pd.read_excel(excel_outpath, header=0, index_col=0, sheet_name=None)

data_frames = []
for sheet_name, sheet_data in workbook.items():
    data_frames.append(sheet_data)

# 抽提符合条件的板孔的板孔定位名称
def extract_name(df,pindex):
    df.columns = df.columns.map(str)
    # df[df >= 0 ]
    dfrs=[]
   

    for dfr in df.iterrows():
        dfrs.append(dfr)

    list = []
    listn = []
    for i in range(len(dfrs)):
        for index,value in dfrs[i][1].items():
        # print(dfrs[i][1][index])
            if dfrs[i][1][index] >= 0:
                strn = 'P' +  str(pindex + 1) + '-' + str(dfrs[i][0]) + str(index)
                listn.append(strn)
                list.append(dfrs[i][1][index])
    dfn = pd.DataFrame(listn)
    dfv = pd.DataFrame(list)
    result = pd.concat([dfn, dfv], axis=1)  
    return result


pindex = 0
result = pd.DataFrame()
for dfs in data_frames:
    rs = extract_name(dfs,pindex)
    result = pd.concat([result, rs])
    pindex = pindex + 1


# print(result)
out_sheet_name_filename = excel_outpath[:-5] + "-all-sheet_name.xlsx"

result.to_excel(out_sheet_name_filename,index=False,header=None)

文件夹


image.png

相关文章

  • 回复。

    Do not simply hit reply to a list message in order to st...

  • list筛选数据

    list筛选数据对list筛选数据,隐藏掉 'apiGroup': 'api',和'ID': 18的数据实现如下:...

  • 科创板历史行情数据 API 接口

    科创板历史行情数据 API 接口 全量科创板历史行情,全量历史数据 / 支持代码筛选。 1. 产品功能 支持所有科...

  • 盲埋孔板的定义与区别

    说起盲埋孔板,大家盲埋孔板的了解与认识是很模糊的,有的厂家都说不清楚,到底什么是盲埋孔板,怎么样看是盲埋孔板以及怎...

  • Hepa1-6 荧光素酶标记细胞

    Hepa1-6 荧光素酶标记: 1 6孔板hepa1-6 细胞生长至50%满,用带有m-cherry筛选标记的lu...

  • The Office-S05E01

    hit the scales 上秤? scale秤 washboard 搓衣板 washboard abs ecl...

  • Pyenv管理环境(附conda)

    查看可安装版本:pyenv install --list 筛选可安装版本:pyenv install --list...

  • Django Admin 按月份筛选

    Django Admin 按月份筛选 How to set the list filtering only on ...

  • <c:forEach />

    1遍历List> 后台代码 前台代码 2遍历List 后台代码 前台代码 ...

  • 聚乙烯闭孔泡沫板多少钱一平

    聚乙烯闭孔泡沫板多少钱一平 聚乙烯闭孔泡沫板(混凝土接缝密封嵌缝板)可以用于混凝土公路伸缩缝之接缝板;道桥接缝止水...

网友评论

      本文标题:W384孔板筛选 Hit List 代码

      本文链接:https://www.haomeiwen.com/subject/bxededtx.html