三维荧光平行因子学习记录–(一)DOMfluor工具箱的数据导入
注:本文仅作为自己的学习记录以备以后复习查阅
所有步骤和代码参考知乎上一位大佬在这里po一下他的主页:
https://www.zhihu.com/people/uby-23
大家对平行因子分析有兴趣的可以去看看他的文章
一、数据整理
在做三维荧光分析的时候数据整理很重要,不同的仪器会有输出不同的数据,有的仪器数据特别多,包括了一些仪器本身的信息和时间等数据,我实验室使用的是aqualog,这类型号的仪器数据一般是在sample-blank里面(需要转置),可以输出为各种格式的包括csv、txt等,但基本上输出的数据都是如下图的格式,行是ex,列是em。
将自己的样品数据像这样整理在一个文件夹中,建议路径中不要出现中文,里面的数据波长范围根据自己需要的调整。
创建一个exem的文件夹(当然你可以取不一样的名字),里面内容如下,存放自己的exem的信息(注意是csv文件)
这样数据就算是准备好了。
二、工具箱载入
三、数据导入
路径改为自己存放数据的路径,样品荧光区域根据自己的excel文件里位置不同进行修改,代码如下:
cd('D:\sample-blank')
Filedir = 'D:\sample-blank';
filelist = dir( '*.xlsx' );
fl=[];
for i=1:9%这里需要修改有几个数据写几个
datapath = fullfile( Filedir, filelist(i).name);
Dataset=xlsread(datapath,'Sheet1','B3:CC171');%这里需要修改为你的样品荧光区域,只要是你的荧光区域就可以
fl=[fl;Dataset];
end
效果如图:
工作区中会对应生成:
接下来读取准备好的csv文件:
cd('D:\sample-blank\exem')
OriginalData.Ex = csvread('ex.csv',1);
OriginalData.Em = csvread('em.csv',1);
OriginalData.X = fl
效果如图:
补充:注意这里如果是用wps的或者文件编码没设置好的可能会报错:
这里我摸索出两种解决方法:第一种是直接在wps里另存为csv格式
然后用新的csv文件来读取
第二种是右键打开方式选择记事本,然后另存为里面设置utf-8:
csv文件读取完成之后,运行以下代码:
OriginalData.nEx=(size(OriginalData.Ex,1));
OriginalData.nEm=(size(OriginalData.Em,1));
OriginalData.nSample=(size(OriginalData.X,1)); OriginalData.nSample=OriginalData.nSample/OriginalData.nEm;
OriginalData.X=(reshape(OriginalData.X',OriginalData.nEx,OriginalData.nEm,OriginalData.nSample));
OriginalData.X=permute(OriginalData.X,[3 2 1]);
clear fl i Filedir Dataset datapath
效果如图:
最后保存以下,之后就可以用了
save PARAFACdata.mat;
以上参考值
以上,有问题可以私聊交流,大家共同学习!!