How to calculate residence time?

8 views (last 30 days)
Akash Pandya
Akash Pandya on 19 Mar 2019
Answered: Image Analyst on 19 Mar 2019
Hi,
I have a time column in picoseconds and 442 distance columns measured in nanometres. I know how to extract the time points that meet the distance threshold I have set.
x = xlsread('10_1.xlsx')
x = x(x(:,2)<=0.5,:);
I want to calculate the total residence time for each of the columns. How can I do this?
Akash
  2 Comments
dpb
dpb on 19 Mar 2019
Dunno...what's the working definition of "residence time" here?
Akash Pandya
Akash Pandya on 19 Mar 2019
So the residence time refers to the time a small molecule is <=0.5 nanometers away from a protein. I want to find the total time where the distance (nm) meets this criteria.
Akash

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 19 Mar 2019
Use regionprops() and ask for PixelIdxList. Then use PixelIdxList(end) - PixelIdxList(1) for each region found. Something like
props = regionprops(vec, 'PixelIdxList'); % Vec is a 1-d list of binary (boolean/logical) data of whether x is above 0.5 or not.
% Now find the delta time for all regions found in this vector, vec.
for k = 1 : length(props)
startingIndex = props(k).PixelIdxList(1);
endingIndex = props(k).PixelIdxList(end);
deltaTime(k) = x(endingIndex) - x(startingIndex); % x is the time vector
end
Attach '10_1.xlsx' if you need more help.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!