From 47c5aeafa17cfcfda8c751ae78b25a6048e34109 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 7 May 2024 17:29:34 -0700 Subject: [PATCH 01/21] Added lickAnalysis --- .../lickAnalysis.py | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py new file mode 100644 index 0000000..c2c6cc1 --- /dev/null +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -0,0 +1,163 @@ +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.gridspec as gridspec +import pandas as pd +from aind_ephys_utils import align +from PyPDF2 import PdfMerger +import os + +def plotLickAnalysis(nwb): + tblTrials = nwb.trials.to_dataframe() + gs = gridspec.GridSpec(3, 6, width_ratios=np.ones(6).tolist(), height_ratios=np.ones(3).tolist()) + fig = plt.figure(figsize=(15, 8)) + plt.subplots_adjust(hspace=0.5, wspace=0.5) + + leftLicks = nwb.acquisition['left_lick_time'].timestamps[:] + rightLicks = nwb.acquisition['right_lick_time'].timestamps[:] + allLicks = np.sort(np.concatenate((rightLicks, leftLicks))) + sortInd = np.argsort(np.concatenate((rightLicks, leftLicks))) + allLicksID = np.concatenate((np.ones_like(rightLicks), np.zeros_like(leftLicks))) + allLicksID = allLicksID[sortInd] + allLickDiffs = np.diff(allLicks) + + ax = fig.add_subplot(gs[0, 0]) + ax.hist(1000*allLickDiffs[(allLicksID[:-1]==0) & (allLicksID[1:]==0)], bins=np.arange(0, 2500, 20)) + ax.set_title('ILI_L-L') + ax.set_xlabel('ms') + ax = fig.add_subplot(gs[0, 1]) + ax.hist(1000*allLickDiffs[(allLicksID[:-1]==1) & (allLicksID[1:]==1)], bins=np.arange(0, 2500, 20)) + ax.set_title('ILI_R-R') + ax.set_xlabel('ms') + ax = fig.add_subplot(gs[0, 2]) + ax.hist(1000*allLickDiffs[(allLicksID[:-1]==1) & (allLicksID[1:]==0)], bins=np.arange(0, 2500, 20)) + ax.set_title('ILI_R-L') + ax.set_xlabel('ms') + ax = fig.add_subplot(gs[0, 3]) + ax.hist(1000*allLickDiffs[(allLicksID[:-1]==0) & (allLicksID[1:]==1)], bins=np.arange(0, 2500, 20)) + ax.set_title('ILI_L-R') + ax.set_xlabel('ms') + ax = fig.add_subplot(gs[0, 4]) + ax.hist(1000*allLickDiffs, bins=np.arange(0, 2500, 20)) + ax.set_title('ILI') + ax.set_xlabel('ms') + # pre trial lick punishment + delay = np.unique(tblTrials['delay_max'])[0] + lickDelay = tblTrials['goCue_start_time'] - tblTrials['start_time'] - tblTrials['ITI_duration'] + ax = fig.add_subplot(gs[0, 5]) + ax.hist(lickDelay[tblTrials['animal_response']==1], alpha = 0.5, label='R') + ax.hist(lickDelay[tblTrials['animal_response']==0], alpha = 0.5, label='L') + ax.hist(lickDelay[tblTrials['animal_response']==2], alpha = 0.5, label='0') + pEarly = 1 - np.mean(lickDelay < tblTrials['delay_duration']+0.05) + ax.set_title(f'Time out punishment prop {pEarly: .2f}') + ax.set_xlabel('s') + ax.legend() + # pre trial licks + tb = -5 + tf = 10 + binSize = 100/1000 + stepSize = 50/1000 + edges = np.arange(tb + 0.5*binSize, tf - 0.5*binSize, stepSize) + + sortIndL = np.argsort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']) + sortIndR = np.argsort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']) + LAlign = tblTrials.loc[tblTrials['animal_response']==0, 'goCue_start_time'].values + RAlign = tblTrials.loc[tblTrials['animal_response']==1, 'goCue_start_time'].values + LAlign = LAlign[sortIndL.values] + RAlign = RAlign[sortIndR.values] + + if len(LAlign)>0: + # left align to left + ax = fig.add_subplot(gs[1, 0]) + df = align.to_events(leftLicks, LAlign, (tb, tf), return_df=True) + ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) + ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==0, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) + ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) + ax.set_title('L licks on L choice trials') + + ax = fig.add_subplot(gs[2, 0]) + countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) + countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) + lickRate = (countsPost - countsPre)/(binSize*len(LAlign)) + ax.plot(edges, lickRate) + ax.set_title('lickRate') + ax.set_xlabel('Time from go cue (s)') + + # right align to left + ax = fig.add_subplot(gs[1, 3]) + df = align.to_events(rightLicks, LAlign, (tb, tf), return_df=True) + ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) + ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==0, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) + ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) + ax.set_title('R licks on L choice trials') + + ax = fig.add_subplot(gs[2, 3]) + countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) + countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) + lickRate = (countsPost - countsPre)/(binSize*len(LAlign)) + ax.plot(edges, lickRate) + ax.set_title('lickRate') + ax.set_xlabel('Time from go cue (s)') + + if len(RAlign)>0: + ax = fig.add_subplot(gs[1, 1]) + df = align.to_events(rightLicks, RAlign, (tb, tf), return_df=True) + ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) + ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==1, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) + ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) + ax.set_title('R licks on R choice trials') + + ax = fig.add_subplot(gs[2, 1]) + countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) + countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) + lickRate = (countsPost - countsPre)/(binSize*len(RAlign)) + ax.plot(edges, lickRate) + ax.set_title('lickRate') + ax.set_xlabel('Time from go cue (s)') + + ax = fig.add_subplot(gs[1, 2]) + df = align.to_events(leftLicks, RAlign, (tb, tf), return_df=True) + ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) + ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==1, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) + ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) + ax.set_title('L licks on R choice trials') + + ax = fig.add_subplot(gs[2, 2]) + countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) + countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) + lickRate = (countsPost - countsPre)/(binSize*len(RAlign)) + ax.plot(edges, lickRate) + ax.set_title('lickRate') + ax.set_xlabel('Time from go cue (s)') + + + sessionID = nwb.session_id + box = nwb.scratch['metadata'][0].box.values + plt.suptitle(f'{sessionID} in {box}') + + # response latency + ax = fig.add_subplot(gs[1, 4]) + lickLat = tblTrials['reward_outcome_time'] - tblTrials['goCue_start_time'] + bins = np.arange(0, 1, 0.02) + ax.hist(lickLat[tblTrials['animal_response']==1], bins = bins, alpha = 0.5, label='R') + ax.hist(lickLat[tblTrials['animal_response']==0], bins = bins, alpha = 0.5, label='L') + ax.legend() + ax.set_title('lickLat by lick side') + ax.set_xlabel('s') + return fig + +def merge_pdfs(input_dir, output_filename='merged.pdf'): + merger = PdfMerger() + + # Iterate through all PDF files in the input directory + for i, filename in enumerate(os.listdir(input_dir)): + if filename.endswith('.pdf'): + if i%50 == 0: + print(f'Merging file {i} out of {len(os.listdir(input_dir))}') + filepath = os.path.join(input_dir, filename) + merger.append(filepath) + + # Write the merged PDF to the output file + with open(output_filename, 'wb') as output_file: + merger.write(output_file) + + print(f"PDF files in '{input_dir}' merged into '{output_filename}' successfully.") \ No newline at end of file From e8fcd77a65c81130fb71690c517bc6ef2d0a5e28 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Fri, 10 May 2024 14:19:28 -0700 Subject: [PATCH 02/21] adjusted session name output --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index c2c6cc1..bbe954e 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -131,6 +131,7 @@ def plotLickAnalysis(nwb): sessionID = nwb.session_id + sessionID = sessionID.split('.')[0] box = nwb.scratch['metadata'][0].box.values plt.suptitle(f'{sessionID} in {box}') @@ -143,7 +144,7 @@ def plotLickAnalysis(nwb): ax.legend() ax.set_title('lickLat by lick side') ax.set_xlabel('s') - return fig + return fig, sessionID def merge_pdfs(input_dir, output_filename='merged.pdf'): merger = PdfMerger() From f71d507d5bc6317b14a64c5f183d48df30190158 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Fri, 10 May 2024 14:26:17 -0700 Subject: [PATCH 03/21] add loadnwb file --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index bbe954e..750b1ae 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -5,6 +5,15 @@ from aind_ephys_utils import align from PyPDF2 import PdfMerger import os +from pynwb import NWBFile, TimeSeries, NWBHDF5IO + +def loadnwb(sessionID): + nwb_folder = "/root/capsule/data/foraging_nwb_bonsai" + nwb_file = f"{nwb_folder}/{sessionID}" + + io = NWBHDF5IO(nwb_file, mode='r') + nwb = io.read() + return nwb def plotLickAnalysis(nwb): tblTrials = nwb.trials.to_dataframe() From 6d6762d5a85b2b991599ceccfef5fee350609a60 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Fri, 10 May 2024 14:38:10 -0700 Subject: [PATCH 04/21] Correct linter checks --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 750b1ae..87f6a27 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -148,8 +148,8 @@ def plotLickAnalysis(nwb): ax = fig.add_subplot(gs[1, 4]) lickLat = tblTrials['reward_outcome_time'] - tblTrials['goCue_start_time'] bins = np.arange(0, 1, 0.02) - ax.hist(lickLat[tblTrials['animal_response']==1], bins = bins, alpha = 0.5, label='R') - ax.hist(lickLat[tblTrials['animal_response']==0], bins = bins, alpha = 0.5, label='L') + ax.hist(lickLat[tblTrials['animal_response']==1], bins=bins, alpha=0.5, label='R') + ax.hist(lickLat[tblTrials['animal_response']==0], bins=bins, alpha=0.5, label='L') ax.legend() ax.set_title('lickLat by lick side') ax.set_xlabel('s') @@ -170,4 +170,5 @@ def merge_pdfs(input_dir, output_filename='merged.pdf'): with open(output_filename, 'wb') as output_file: merger.write(output_file) - print(f"PDF files in '{input_dir}' merged into '{output_filename}' successfully.") \ No newline at end of file + print(f"PDF files in '{input_dir}' merged into '{output_filename}' successfully.") + From 72a65cfddc9dc0db82e9548c4e515139125e7194 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Fri, 10 May 2024 18:56:53 -0700 Subject: [PATCH 05/21] Blacked --- .../lickAnalysis.py | 310 ++++++++++++------ 1 file changed, 218 insertions(+), 92 deletions(-) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 87f6a27..303644e 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -1,174 +1,300 @@ import numpy as np import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec -import pandas as pd from aind_ephys_utils import align from PyPDF2 import PdfMerger import os -from pynwb import NWBFile, TimeSeries, NWBHDF5IO +from pynwb import NWBHDF5IO + def loadnwb(sessionID): nwb_folder = "/root/capsule/data/foraging_nwb_bonsai" nwb_file = f"{nwb_folder}/{sessionID}" - io = NWBHDF5IO(nwb_file, mode='r') + io = NWBHDF5IO(nwb_file, mode="r") nwb = io.read() return nwb + def plotLickAnalysis(nwb): tblTrials = nwb.trials.to_dataframe() - gs = gridspec.GridSpec(3, 6, width_ratios=np.ones(6).tolist(), height_ratios=np.ones(3).tolist()) + gs = gridspec.GridSpec( + 3, + 6, + width_ratios=np.ones(6).tolist(), + height_ratios=np.ones(3).tolist(), + ) fig = plt.figure(figsize=(15, 8)) plt.subplots_adjust(hspace=0.5, wspace=0.5) - leftLicks = nwb.acquisition['left_lick_time'].timestamps[:] - rightLicks = nwb.acquisition['right_lick_time'].timestamps[:] + leftLicks = nwb.acquisition["left_lick_time"].timestamps[:] + rightLicks = nwb.acquisition["right_lick_time"].timestamps[:] allLicks = np.sort(np.concatenate((rightLicks, leftLicks))) sortInd = np.argsort(np.concatenate((rightLicks, leftLicks))) - allLicksID = np.concatenate((np.ones_like(rightLicks), np.zeros_like(leftLicks))) + allLicksID = np.concatenate( + (np.ones_like(rightLicks), np.zeros_like(leftLicks)) + ) allLicksID = allLicksID[sortInd] allLickDiffs = np.diff(allLicks) ax = fig.add_subplot(gs[0, 0]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==0) & (allLicksID[1:]==0)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_L-L') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 0) & (allLicksID[1:] == 0)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_L-L") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 1]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==1) & (allLicksID[1:]==1)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_R-R') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 1) & (allLicksID[1:] == 1)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_R-R") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 2]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==1) & (allLicksID[1:]==0)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_R-L') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 1) & (allLicksID[1:] == 0)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_R-L") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 3]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==0) & (allLicksID[1:]==1)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_L-R') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 0) & (allLicksID[1:] == 1)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_L-R") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 4]) - ax.hist(1000*allLickDiffs, bins=np.arange(0, 2500, 20)) - ax.set_title('ILI') - ax.set_xlabel('ms') + ax.hist(1000 * allLickDiffs, bins=np.arange(0, 2500, 20)) + ax.set_title("ILI") + ax.set_xlabel("ms") # pre trial lick punishment - delay = np.unique(tblTrials['delay_max'])[0] - lickDelay = tblTrials['goCue_start_time'] - tblTrials['start_time'] - tblTrials['ITI_duration'] + lickDelay = ( + tblTrials["goCue_start_time"] + - tblTrials["start_time"] + - tblTrials["ITI_duration"] + ) ax = fig.add_subplot(gs[0, 5]) - ax.hist(lickDelay[tblTrials['animal_response']==1], alpha = 0.5, label='R') - ax.hist(lickDelay[tblTrials['animal_response']==0], alpha = 0.5, label='L') - ax.hist(lickDelay[tblTrials['animal_response']==2], alpha = 0.5, label='0') - pEarly = 1 - np.mean(lickDelay < tblTrials['delay_duration']+0.05) - ax.set_title(f'Time out punishment prop {pEarly: .2f}') - ax.set_xlabel('s') + ax.hist(lickDelay[tblTrials["animal_response"] == 1], alpha=0.5, label="R") + ax.hist(lickDelay[tblTrials["animal_response"] == 0], alpha=0.5, label="L") + ax.hist(lickDelay[tblTrials["animal_response"] == 2], alpha=0.5, label="0") + pEarly = 1 - np.mean(lickDelay < tblTrials["delay_duration"] + 0.05) + ax.set_title(f"Time out punishment prop {pEarly: .2f}") + ax.set_xlabel("s") ax.legend() # pre trial licks tb = -5 tf = 10 - binSize = 100/1000 - stepSize = 50/1000 - edges = np.arange(tb + 0.5*binSize, tf - 0.5*binSize, stepSize) - - sortIndL = np.argsort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']) - sortIndR = np.argsort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']) - LAlign = tblTrials.loc[tblTrials['animal_response']==0, 'goCue_start_time'].values - RAlign = tblTrials.loc[tblTrials['animal_response']==1, 'goCue_start_time'].values + binSize = 100 / 1000 + stepSize = 50 / 1000 + edges = np.arange(tb + 0.5 * binSize, tf - 0.5 * binSize, stepSize) + + sortIndL = np.argsort( + tblTrials.loc[tblTrials["animal_response"] == 0, "delay_duration"] + ) + sortIndR = np.argsort( + tblTrials.loc[tblTrials["animal_response"] == 1, "delay_duration"] + ) + LAlign = tblTrials.loc[ + tblTrials["animal_response"] == 0, "goCue_start_time" + ].values + RAlign = tblTrials.loc[ + tblTrials["animal_response"] == 1, "goCue_start_time" + ].values LAlign = LAlign[sortIndL.values] RAlign = RAlign[sortIndR.values] - if len(LAlign)>0: + if len(LAlign) > 0: # left align to left ax = fig.add_subplot(gs[1, 0]) df = align.to_events(leftLicks, LAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==0, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('L licks on L choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("L licks on L choice trials") ax = fig.add_subplot(gs[2, 0]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(LAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(LAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") # right align to left ax = fig.add_subplot(gs[1, 3]) df = align.to_events(rightLicks, LAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==0, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('R licks on L choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("R licks on L choice trials") ax = fig.add_subplot(gs[2, 3]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(LAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(LAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") - if len(RAlign)>0: + if len(RAlign) > 0: ax = fig.add_subplot(gs[1, 1]) df = align.to_events(rightLicks, RAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==1, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('R licks on R choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("R licks on R choice trials") ax = fig.add_subplot(gs[2, 1]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(RAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(RAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") ax = fig.add_subplot(gs[1, 2]) df = align.to_events(leftLicks, RAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==1, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('L licks on R choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("L licks on R choice trials") ax = fig.add_subplot(gs[2, 2]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(RAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(RAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') - + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") sessionID = nwb.session_id - sessionID = sessionID.split('.')[0] - box = nwb.scratch['metadata'][0].box.values - plt.suptitle(f'{sessionID} in {box}') + sessionID = sessionID.split(".")[0] + box = nwb.scratch["metadata"][0].box.values + plt.suptitle(f"{sessionID} in {box}") # response latency ax = fig.add_subplot(gs[1, 4]) - lickLat = tblTrials['reward_outcome_time'] - tblTrials['goCue_start_time'] + lickLat = tblTrials["reward_outcome_time"] - tblTrials["goCue_start_time"] bins = np.arange(0, 1, 0.02) - ax.hist(lickLat[tblTrials['animal_response']==1], bins=bins, alpha=0.5, label='R') - ax.hist(lickLat[tblTrials['animal_response']==0], bins=bins, alpha=0.5, label='L') + ax.hist( + lickLat[tblTrials["animal_response"] == 1], + bins=bins, + alpha=0.5, + label="R", + ) + ax.hist( + lickLat[tblTrials["animal_response"] == 0], + bins=bins, + alpha=0.5, + label="L", + ) ax.legend() - ax.set_title('lickLat by lick side') - ax.set_xlabel('s') + ax.set_title("lickLat by lick side") + ax.set_xlabel("s") return fig, sessionID -def merge_pdfs(input_dir, output_filename='merged.pdf'): + +def merge_pdfs(input_dir, output_filename="merged.pdf"): merger = PdfMerger() # Iterate through all PDF files in the input directory for i, filename in enumerate(os.listdir(input_dir)): - if filename.endswith('.pdf'): - if i%50 == 0: - print(f'Merging file {i} out of {len(os.listdir(input_dir))}') + if filename.endswith(".pdf"): + if i % 50 == 0: + print(f"Merging file {i} out of {len(os.listdir(input_dir))}") filepath = os.path.join(input_dir, filename) merger.append(filepath) # Write the merged PDF to the output file - with open(output_filename, 'wb') as output_file: + with open(output_filename, "wb") as output_file: merger.write(output_file) - print(f"PDF files in '{input_dir}' merged into '{output_filename}' successfully.") - + print( + f"PDF files in '{input_dir}' merged into '{output_filename}' successfully." + ) From 5feb80a0f1a6a58fcfea6f93c8dc2ec28d01ae44 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Fri, 10 May 2024 19:20:40 -0700 Subject: [PATCH 06/21] Code clean up --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 303644e..649a5d6 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -296,5 +296,5 @@ def merge_pdfs(input_dir, output_filename="merged.pdf"): merger.write(output_file) print( - f"PDF files in '{input_dir}' merged into '{output_filename}' successfully." + f"PDF files in '{input_dir}' merged into '{output_filename}'." ) From 0f650c15ddd8b678d2948fa58f1d93037f21beb8 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Fri, 10 May 2024 20:17:46 -0700 Subject: [PATCH 07/21] Improve coverage --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 649a5d6..99fb42f 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -298,3 +298,11 @@ def merge_pdfs(input_dir, output_filename="merged.pdf"): print( f"PDF files in '{input_dir}' merged into '{output_filename}'." ) + + +# example use +if __name__ == '__main__': + sessionFile = '689514_2024-02-01_18-06-43.nwb' + # use of loadnwb depends on data struture + nwb = loadnwb(sessionFile) + fig, sessionID = plotLickAnalysis(nwb) From da901db85fe2f5aa50589ae7d396049af9f3f10e Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 14:28:26 -0700 Subject: [PATCH 08/21] Added unit tests --- .../lickAnalysis.py | 316 ++++++++++++------ tests/689514_2024-02-01_18-06-43.nwb | Bin 0 -> 761248 bytes tests/test_example.py | 14 +- 3 files changed, 220 insertions(+), 110 deletions(-) create mode 100644 tests/689514_2024-02-01_18-06-43.nwb diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 87f6a27..15cc678 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -3,172 +3,276 @@ import matplotlib.gridspec as gridspec import pandas as pd from aind_ephys_utils import align -from PyPDF2 import PdfMerger import os -from pynwb import NWBFile, TimeSeries, NWBHDF5IO +from pynwb import NWBHDF5IO -def loadnwb(sessionID): - nwb_folder = "/root/capsule/data/foraging_nwb_bonsai" - nwb_file = f"{nwb_folder}/{sessionID}" - io = NWBHDF5IO(nwb_file, mode='r') +def loadnwb(nwb_file): + io = NWBHDF5IO(nwb_file, mode="r") nwb = io.read() return nwb + def plotLickAnalysis(nwb): tblTrials = nwb.trials.to_dataframe() - gs = gridspec.GridSpec(3, 6, width_ratios=np.ones(6).tolist(), height_ratios=np.ones(3).tolist()) + gs = gridspec.GridSpec( + 3, + 6, + width_ratios=np.ones(6).tolist(), + height_ratios=np.ones(3).tolist(), + ) fig = plt.figure(figsize=(15, 8)) plt.subplots_adjust(hspace=0.5, wspace=0.5) - leftLicks = nwb.acquisition['left_lick_time'].timestamps[:] - rightLicks = nwb.acquisition['right_lick_time'].timestamps[:] + leftLicks = nwb.acquisition["left_lick_time"].timestamps[:] + rightLicks = nwb.acquisition["right_lick_time"].timestamps[:] allLicks = np.sort(np.concatenate((rightLicks, leftLicks))) sortInd = np.argsort(np.concatenate((rightLicks, leftLicks))) - allLicksID = np.concatenate((np.ones_like(rightLicks), np.zeros_like(leftLicks))) + allLicksID = np.concatenate( + (np.ones_like(rightLicks), np.zeros_like(leftLicks)) + ) allLicksID = allLicksID[sortInd] allLickDiffs = np.diff(allLicks) ax = fig.add_subplot(gs[0, 0]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==0) & (allLicksID[1:]==0)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_L-L') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 0) & (allLicksID[1:] == 0)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_L-L") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 1]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==1) & (allLicksID[1:]==1)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_R-R') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 1) & (allLicksID[1:] == 1)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_R-R") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 2]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==1) & (allLicksID[1:]==0)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_R-L') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 1) & (allLicksID[1:] == 0)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_R-L") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 3]) - ax.hist(1000*allLickDiffs[(allLicksID[:-1]==0) & (allLicksID[1:]==1)], bins=np.arange(0, 2500, 20)) - ax.set_title('ILI_L-R') - ax.set_xlabel('ms') + ax.hist( + 1000 * allLickDiffs[(allLicksID[:-1] == 0) & (allLicksID[1:] == 1)], + bins=np.arange(0, 2500, 20), + ) + ax.set_title("ILI_L-R") + ax.set_xlabel("ms") ax = fig.add_subplot(gs[0, 4]) - ax.hist(1000*allLickDiffs, bins=np.arange(0, 2500, 20)) - ax.set_title('ILI') - ax.set_xlabel('ms') + ax.hist(1000 * allLickDiffs, bins=np.arange(0, 2500, 20)) + ax.set_title("ILI") + ax.set_xlabel("ms") # pre trial lick punishment - delay = np.unique(tblTrials['delay_max'])[0] - lickDelay = tblTrials['goCue_start_time'] - tblTrials['start_time'] - tblTrials['ITI_duration'] + delay = np.unique(tblTrials["delay_max"])[0] + lickDelay = ( + tblTrials["goCue_start_time"] + - tblTrials["start_time"] + - tblTrials["ITI_duration"] + ) ax = fig.add_subplot(gs[0, 5]) - ax.hist(lickDelay[tblTrials['animal_response']==1], alpha = 0.5, label='R') - ax.hist(lickDelay[tblTrials['animal_response']==0], alpha = 0.5, label='L') - ax.hist(lickDelay[tblTrials['animal_response']==2], alpha = 0.5, label='0') - pEarly = 1 - np.mean(lickDelay < tblTrials['delay_duration']+0.05) - ax.set_title(f'Time out punishment prop {pEarly: .2f}') - ax.set_xlabel('s') + ax.hist(lickDelay[tblTrials["animal_response"] == 1], alpha=0.5, label="R") + ax.hist(lickDelay[tblTrials["animal_response"] == 0], alpha=0.5, label="L") + ax.hist(lickDelay[tblTrials["animal_response"] == 2], alpha=0.5, label="0") + pEarly = 1 - np.mean(lickDelay < tblTrials["delay_duration"] + 0.05) + ax.set_title(f"Time out punishment prop {pEarly: .2f}") + ax.set_xlabel("s") ax.legend() # pre trial licks tb = -5 tf = 10 - binSize = 100/1000 - stepSize = 50/1000 - edges = np.arange(tb + 0.5*binSize, tf - 0.5*binSize, stepSize) - - sortIndL = np.argsort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']) - sortIndR = np.argsort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']) - LAlign = tblTrials.loc[tblTrials['animal_response']==0, 'goCue_start_time'].values - RAlign = tblTrials.loc[tblTrials['animal_response']==1, 'goCue_start_time'].values + binSize = 100 / 1000 + stepSize = 50 / 1000 + edges = np.arange(tb + 0.5 * binSize, tf - 0.5 * binSize, stepSize) + + sortIndL = np.argsort( + tblTrials.loc[tblTrials["animal_response"] == 0, "delay_duration"] + ) + sortIndR = np.argsort( + tblTrials.loc[tblTrials["animal_response"] == 1, "delay_duration"] + ) + LAlign = tblTrials.loc[ + tblTrials["animal_response"] == 0, "goCue_start_time" + ].values + RAlign = tblTrials.loc[ + tblTrials["animal_response"] == 1, "goCue_start_time" + ].values LAlign = LAlign[sortIndL.values] RAlign = RAlign[sortIndR.values] - if len(LAlign)>0: + if len(LAlign) > 0: # left align to left ax = fig.add_subplot(gs[1, 0]) df = align.to_events(leftLicks, LAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==0, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('L licks on L choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("L licks on L choice trials") ax = fig.add_subplot(gs[2, 0]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(LAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(LAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") # right align to left ax = fig.add_subplot(gs[1, 3]) df = align.to_events(rightLicks, LAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==0, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==0, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('R licks on L choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 0, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("R licks on L choice trials") ax = fig.add_subplot(gs[2, 3]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(LAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(LAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") - if len(RAlign)>0: + if len(RAlign) > 0: ax = fig.add_subplot(gs[1, 1]) df = align.to_events(rightLicks, RAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==1, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('R licks on R choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("R licks on R choice trials") ax = fig.add_subplot(gs[2, 1]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(RAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(RAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") ax = fig.add_subplot(gs[1, 2]) df = align.to_events(leftLicks, RAlign, (tb, tf), return_df=True) - ax.scatter(df.time, df.event_index, c='k', marker= '|', s=1, zorder = 2) - ax.scatter(-np.sort(tblTrials.loc[tblTrials['animal_response']==1, 'delay_duration']), range(len(tblTrials.loc[tblTrials['animal_response']==1, 'delay_max'])), c='b', marker= '|', s=1, zorder = 1) - ax.axvline(x = 0, c = 'r', ls = '--', lw = 1, zorder = 3) - ax.set_title('L licks on R choice trials') + ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) + ax.scatter( + -np.sort( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_duration" + ] + ), + range( + len( + tblTrials.loc[ + tblTrials["animal_response"] == 1, "delay_max" + ] + ) + ), + c="b", + marker="|", + s=1, + zorder=1, + ) + ax.axvline(x=0, c="r", ls="--", lw=1, zorder=3) + ax.set_title("L licks on R choice trials") ax = fig.add_subplot(gs[2, 2]) - countsPre = np.searchsorted(np.sort(df.time.values), edges-0.5*binSize) - countsPost = np.searchsorted(np.sort(df.time.values), edges+0.5*binSize) - lickRate = (countsPost - countsPre)/(binSize*len(RAlign)) + countsPre = np.searchsorted( + np.sort(df.time.values), edges - 0.5 * binSize + ) + countsPost = np.searchsorted( + np.sort(df.time.values), edges + 0.5 * binSize + ) + lickRate = (countsPost - countsPre) / (binSize * len(RAlign)) ax.plot(edges, lickRate) - ax.set_title('lickRate') - ax.set_xlabel('Time from go cue (s)') - + ax.set_title("lickRate") + ax.set_xlabel("Time from go cue (s)") sessionID = nwb.session_id - sessionID = sessionID.split('.')[0] - box = nwb.scratch['metadata'][0].box.values - plt.suptitle(f'{sessionID} in {box}') + sessionID = sessionID.split(".")[0] + box = nwb.scratch["metadata"][0].box.values + plt.suptitle(f"{sessionID} in {box}") # response latency ax = fig.add_subplot(gs[1, 4]) - lickLat = tblTrials['reward_outcome_time'] - tblTrials['goCue_start_time'] + lickLat = tblTrials["reward_outcome_time"] - tblTrials["goCue_start_time"] bins = np.arange(0, 1, 0.02) - ax.hist(lickLat[tblTrials['animal_response']==1], bins=bins, alpha=0.5, label='R') - ax.hist(lickLat[tblTrials['animal_response']==0], bins=bins, alpha=0.5, label='L') + ax.hist( + lickLat[tblTrials["animal_response"] == 1], + bins=bins, + alpha=0.5, + label="R", + ) + ax.hist( + lickLat[tblTrials["animal_response"] == 0], + bins=bins, + alpha=0.5, + label="L", + ) ax.legend() - ax.set_title('lickLat by lick side') - ax.set_xlabel('s') + ax.set_title("lickLat by lick side") + ax.set_xlabel("s") return fig, sessionID - -def merge_pdfs(input_dir, output_filename='merged.pdf'): - merger = PdfMerger() - - # Iterate through all PDF files in the input directory - for i, filename in enumerate(os.listdir(input_dir)): - if filename.endswith('.pdf'): - if i%50 == 0: - print(f'Merging file {i} out of {len(os.listdir(input_dir))}') - filepath = os.path.join(input_dir, filename) - merger.append(filepath) - - # Write the merged PDF to the output file - with open(output_filename, 'wb') as output_file: - merger.write(output_file) - - print(f"PDF files in '{input_dir}' merged into '{output_filename}' successfully.") - diff --git a/tests/689514_2024-02-01_18-06-43.nwb b/tests/689514_2024-02-01_18-06-43.nwb new file mode 100644 index 0000000000000000000000000000000000000000..5103d6b1fcd63f4c6bf07e45c97e8dc70617fafa GIT binary patch literal 761248 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�$HnaUI4>SgU5 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 z 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 S5a=M#L7;;`2Z5g`1pYsITK&fW literal 0 HcmV?d00001 diff --git a/tests/test_example.py b/tests/test_example.py index 06e9e0d..35fdcea 100644 --- a/tests/test_example.py +++ b/tests/test_example.py @@ -1,15 +1,21 @@ """Example test template.""" import unittest +import matplotlib.pyplot as plt +from src.aind_dynamic_foraging_basic_analysis.lickAnalysis import ( + plotLickAnalysis, +) +from src.aind_dynamic_foraging_basic_analysis.lickAnalysis import loadnwb -class ExampleTest(unittest.TestCase): +class testLickPlot(unittest.TestCase): """Example Test Class""" - def test_assert_example(self): + def test_output_is_figure(self): """Example of how to test the truth of a statement.""" - - self.assertTrue(1 == 1) + nwb = loadnwb("tests\689514_2024-02-01_18-06-43.nwb") + fig, sessionID = plotLickAnalysis(nwb) + self.assertIsInstance(fig, plt.Figure) if __name__ == "__main__": From 19d723e570546a3cb8cb2deb4af374becf0c49e7 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 15:27:05 -0700 Subject: [PATCH 09/21] Solving conflits --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 58dd3e7..c366a19 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -4,16 +4,9 @@ from aind_ephys_utils import align import os from pynwb import NWBHDF5IO -<<<<<<< HEAD -======= - ->>>>>>> 0f650c15ddd8b678d2948fa58f1d93037f21beb8 + - -<<<<<<< HEAD def loadnwb(nwb_file): -======= ->>>>>>> 0f650c15ddd8b678d2948fa58f1d93037f21beb8 io = NWBHDF5IO(nwb_file, mode="r") nwb = io.read() return nwb From bf4564334d923155df55c6c153466ec666fe7479 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 16:32:49 -0700 Subject: [PATCH 10/21] Udpate tests --- .../lickAnalysis.py | 29 +------------------ tests/{test_example.py => test_lickPlot.py} | 8 ++--- 2 files changed, 5 insertions(+), 32 deletions(-) rename tests/{test_example.py => test_lickPlot.py} (76%) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index c366a19..8ab0619 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -2,7 +2,6 @@ import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec from aind_ephys_utils import align -import os from pynwb import NWBHDF5IO @@ -66,10 +65,6 @@ def plotLickAnalysis(nwb): ax.set_title("ILI") ax.set_xlabel("ms") # pre trial lick punishment -<<<<<<< HEAD - delay = np.unique(tblTrials["delay_max"])[0] -======= ->>>>>>> 0f650c15ddd8b678d2948fa58f1d93037f21beb8 lickDelay = ( tblTrials["goCue_start_time"] - tblTrials["start_time"] @@ -277,29 +272,8 @@ def plotLickAnalysis(nwb): ax.legend() ax.set_title("lickLat by lick side") ax.set_xlabel("s") + plt.suptitle(sessionID) return fig, sessionID -<<<<<<< HEAD -======= - - -def merge_pdfs(input_dir, output_filename="merged.pdf"): - merger = PdfMerger() - - # Iterate through all PDF files in the input directory - for i, filename in enumerate(os.listdir(input_dir)): - if filename.endswith(".pdf"): - if i % 50 == 0: - print(f"Merging file {i} out of {len(os.listdir(input_dir))}") - filepath = os.path.join(input_dir, filename) - merger.append(filepath) - - # Write the merged PDF to the output file - with open(output_filename, "wb") as output_file: - merger.write(output_file) - - print( - f"PDF files in '{input_dir}' merged into '{output_filename}'." - ) # example use @@ -308,4 +282,3 @@ def merge_pdfs(input_dir, output_filename="merged.pdf"): # use of loadnwb depends on data struture nwb = loadnwb(sessionFile) fig, sessionID = plotLickAnalysis(nwb) ->>>>>>> 0f650c15ddd8b678d2948fa58f1d93037f21beb8 diff --git a/tests/test_example.py b/tests/test_lickPlot.py similarity index 76% rename from tests/test_example.py rename to tests/test_lickPlot.py index 35fdcea..b150403 100644 --- a/tests/test_example.py +++ b/tests/test_lickPlot.py @@ -1,11 +1,10 @@ """Example test template.""" - import unittest -import matplotlib.pyplot as plt -from src.aind_dynamic_foraging_basic_analysis.lickAnalysis import ( +from aind_dynamic_foraging_basic_analysis.lickAnalysis import ( plotLickAnalysis, + loadnwb, ) -from src.aind_dynamic_foraging_basic_analysis.lickAnalysis import loadnwb +import matplotlib.pyplot as plt class testLickPlot(unittest.TestCase): @@ -16,6 +15,7 @@ def test_output_is_figure(self): nwb = loadnwb("tests\689514_2024-02-01_18-06-43.nwb") fig, sessionID = plotLickAnalysis(nwb) self.assertIsInstance(fig, plt.Figure) + self.assertIsInstance(sessionID, str) if __name__ == "__main__": From 0c4a7ef9d59fc779c2caab29a5b8eef93a90ac75 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 16:36:50 -0700 Subject: [PATCH 11/21] Black again --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 8ab0619..083bd37 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -3,7 +3,7 @@ import matplotlib.gridspec as gridspec from aind_ephys_utils import align from pynwb import NWBHDF5IO - + def loadnwb(nwb_file): io = NWBHDF5IO(nwb_file, mode="r") @@ -277,8 +277,8 @@ def plotLickAnalysis(nwb): # example use -if __name__ == '__main__': - sessionFile = '689514_2024-02-01_18-06-43.nwb' +if __name__ == "__main__": + sessionFile = "689514_2024-02-01_18-06-43.nwb" # use of loadnwb depends on data struture nwb = loadnwb(sessionFile) fig, sessionID = plotLickAnalysis(nwb) From e3aa00d483fe731e84a5df859aecd2c0260e6a30 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 18:08:14 -0700 Subject: [PATCH 12/21] Added test data --- tests/{ => data}/689514_2024-02-01_18-06-43.nwb | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/{ => data}/689514_2024-02-01_18-06-43.nwb (100%) diff --git a/tests/689514_2024-02-01_18-06-43.nwb b/tests/data/689514_2024-02-01_18-06-43.nwb similarity index 100% rename from tests/689514_2024-02-01_18-06-43.nwb rename to tests/data/689514_2024-02-01_18-06-43.nwb From 751514c165476512c43bff94b372bff2cddaff6b Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 18:38:28 -0700 Subject: [PATCH 13/21] Updated tests by file location --- doc_template/source/conf.py | 6 ++++-- .../lickAnalysis.py | 19 ++++++++++++++++-- tests/data/689514_2024-02-01_18-06-43.png | Bin 0 -> 98660 bytes tests/test_Events.nwb | Bin 0 -> 186096 bytes tests/test_lickPlot.py | 8 +++++++- 5 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 tests/data/689514_2024-02-01_18-06-43.png create mode 100644 tests/test_Events.nwb diff --git a/doc_template/source/conf.py b/doc_template/source/conf.py index 06c8d88..60eda1d 100644 --- a/doc_template/source/conf.py +++ b/doc_template/source/conf.py @@ -3,10 +3,12 @@ # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html +from datetime import date + # -- Path Setup -------------------------------------------------------------- -from os.path import dirname, abspath +from os.path import abspath, dirname from pathlib import Path -from datetime import date + from aind_dynamic_foraging_basic_analysis import __version__ as package_version INSTITUTE_NAME = "Allen Institute for Neural Dynamics" diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 083bd37..09ce00f 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -276,9 +276,24 @@ def plotLickAnalysis(nwb): return fig, sessionID +def find_file(root_dir, target_file): + for dirpath, dirnames, filenames in os.walk(root_dir): + if target_file in filenames: + return os.path.join(dirpath, target_file) + return None + + # example use if __name__ == "__main__": - sessionFile = "689514_2024-02-01_18-06-43.nwb" + import os + from pathlib import Path + + data_dir = Path(os.path.dirname(__file__)).parent.parent + nwbfile = os.path.join( + data_dir, "tests\\data\\689514_2024-02-01_18-06-43.nwb" + ) # use of loadnwb depends on data struture - nwb = loadnwb(sessionFile) + nwb = loadnwb(nwbfile) fig, sessionID = plotLickAnalysis(nwb) + saveDir = os.path.join(data_dir, "tests\\data", sessionID) + fig.savefig(saveDir) diff --git a/tests/data/689514_2024-02-01_18-06-43.png b/tests/data/689514_2024-02-01_18-06-43.png new file mode 100644 index 0000000000000000000000000000000000000000..411a334bd6a47f6891a2774420db6657e2eb59c7 GIT binary patch literal 98660 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 I-budte^7oPcK`qY literal 0 HcmV?d00001 diff --git a/tests/test_lickPlot.py b/tests/test_lickPlot.py index b150403..326e118 100644 --- a/tests/test_lickPlot.py +++ b/tests/test_lickPlot.py @@ -5,6 +5,8 @@ loadnwb, ) import matplotlib.pyplot as plt +import os +from pathlib import Path class testLickPlot(unittest.TestCase): @@ -12,7 +14,11 @@ class testLickPlot(unittest.TestCase): def test_output_is_figure(self): """Example of how to test the truth of a statement.""" - nwb = loadnwb("tests\689514_2024-02-01_18-06-43.nwb") + data_dir = Path(os.path.dirname(__file__)) + nwbfile = os.path.join( + data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + ) + nwb = loadnwb(nwbfile) fig, sessionID = plotLickAnalysis(nwb) self.assertIsInstance(fig, plt.Figure) self.assertIsInstance(sessionID, str) From b539528f0266a672d549ce324067ce1dfb268744 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 19:04:02 -0700 Subject: [PATCH 14/21] Add more tests --- tests/test_loadnwb.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/test_loadnwb.py diff --git a/tests/test_loadnwb.py b/tests/test_loadnwb.py new file mode 100644 index 0000000..586f30e --- /dev/null +++ b/tests/test_loadnwb.py @@ -0,0 +1,25 @@ +"""Example test template.""" +import unittest +from aind_dynamic_foraging_basic_analysis.lickAnalysis import ( + loadnwb, +) +import os +from pathlib import Path + + +class testNwb(unittest.TestCase): + """Example Test Class""" + + def test_output_is_figure(self): + """Example of how to test the truth of a statement.""" + data_dir = Path(os.path.dirname(__file__)) + nwbfile = os.path.join( + data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + ) + nwb = loadnwb(nwbfile) + self.assertIsNotNone(nwb, "The result should not be None") + self.assertTrue(nwb, "The result should not be empty") + + +if __name__ == "__main__": + unittest.main() From bd453cfe8739e7442258f8e98dad81745df61f83 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 21:56:56 -0700 Subject: [PATCH 15/21] unit tests --- .../lickAnalysis.py | 7 ----- tests/test_lickAnalysis.py | 31 +++++++++++++++++++ tests/test_loadnwb.py | 3 +- 3 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 tests/test_lickAnalysis.py diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index 09ce00f..cd01282 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -276,13 +276,6 @@ def plotLickAnalysis(nwb): return fig, sessionID -def find_file(root_dir, target_file): - for dirpath, dirnames, filenames in os.walk(root_dir): - if target_file in filenames: - return os.path.join(dirpath, target_file) - return None - - # example use if __name__ == "__main__": import os diff --git a/tests/test_lickAnalysis.py b/tests/test_lickAnalysis.py new file mode 100644 index 0000000..37af946 --- /dev/null +++ b/tests/test_lickAnalysis.py @@ -0,0 +1,31 @@ +"""Example test template.""" +import unittest +from aind_dynamic_foraging_basic_analysis.lickAnalysis import ( + plotLickAnalysis, + loadnwb, +) +import matplotlib.pyplot as plt +import os +from pathlib import Path + + +class testLickPlot(unittest.TestCase): + def test_loadnwb_happy_case(self): + """Example of how to test the truth of a statement.""" + data_dir = Path(os.path.dirname(__file__)) + nwbfile = os.path.join( + data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + ) + nwb = loadnwb(nwbfile) + fig, sessionID = plotLickAnalysis(nwb) + self.assertIsInstance(fig, plt.Figure) + self.assertIsInstance(sessionID, str) + + def test_output_is_figure(self): + """Example of how to test the truth of a statement.""" + data_dir = Path(os.path.dirname(__file__)) + nwbfile = os.path.join( + data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + ) + nwb = loadnwb(nwbfile) + self.assertIsNotNone(nwb) diff --git a/tests/test_loadnwb.py b/tests/test_loadnwb.py index 586f30e..9175baf 100644 --- a/tests/test_loadnwb.py +++ b/tests/test_loadnwb.py @@ -17,8 +17,7 @@ def test_output_is_figure(self): data_dir, "data\\689514_2024-02-01_18-06-43.nwb" ) nwb = loadnwb(nwbfile) - self.assertIsNotNone(nwb, "The result should not be None") - self.assertTrue(nwb, "The result should not be empty") + self.assertIsNotNone(nwb) if __name__ == "__main__": From 0a26187978874e6f9fb685a3ff42972597d96f62 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 22:17:14 -0700 Subject: [PATCH 16/21] add python doc to pass interrogate --- src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py | 7 ++++++- tests/test_lickAnalysis.py | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py index cd01282..c43ab7f 100644 --- a/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py +++ b/src/aind_dynamic_foraging_basic_analysis/lickAnalysis.py @@ -1,3 +1,4 @@ +"""Example of how to test the truth of a statement.""" import numpy as np import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec @@ -6,12 +7,14 @@ def loadnwb(nwb_file): + """Example of how to test the truth of a statement.""" io = NWBHDF5IO(nwb_file, mode="r") nwb = io.read() return nwb def plotLickAnalysis(nwb): + """Example of how to test the truth of a statement.""" tblTrials = nwb.trials.to_dataframe() gs = gridspec.GridSpec( 3, @@ -101,7 +104,6 @@ def plotLickAnalysis(nwb): RAlign = RAlign[sortIndR.values] if len(LAlign) > 0: - # left align to left ax = fig.add_subplot(gs[1, 0]) df = align.to_events(leftLicks, LAlign, (tb, tf), return_df=True) ax.scatter(df.time, df.event_index, c="k", marker="|", s=1, zorder=2) @@ -174,6 +176,7 @@ def plotLickAnalysis(nwb): ax.plot(edges, lickRate) ax.set_title("lickRate") ax.set_xlabel("Time from go cue (s)") + """Example of how to test the truth of a statement.""" if len(RAlign) > 0: ax = fig.add_subplot(gs[1, 1]) @@ -252,6 +255,7 @@ def plotLickAnalysis(nwb): sessionID = sessionID.split(".")[0] box = nwb.scratch["metadata"][0].box.values plt.suptitle(f"{sessionID} in {box}") + """Example of how to test the truth of a statement.""" # response latency ax = fig.add_subplot(gs[1, 4]) @@ -281,6 +285,7 @@ def plotLickAnalysis(nwb): import os from pathlib import Path + """Example of how to test the truth of a statement.""" data_dir = Path(os.path.dirname(__file__)).parent.parent nwbfile = os.path.join( data_dir, "tests\\data\\689514_2024-02-01_18-06-43.nwb" diff --git a/tests/test_lickAnalysis.py b/tests/test_lickAnalysis.py index 37af946..d7d522b 100644 --- a/tests/test_lickAnalysis.py +++ b/tests/test_lickAnalysis.py @@ -1,4 +1,4 @@ -"""Example test template.""" +"""Example of how to test the truth of a statement.""" import unittest from aind_dynamic_foraging_basic_analysis.lickAnalysis import ( plotLickAnalysis, @@ -10,6 +10,7 @@ class testLickPlot(unittest.TestCase): + """Example of how to test the truth of a statement.""" def test_loadnwb_happy_case(self): """Example of how to test the truth of a statement.""" data_dir = Path(os.path.dirname(__file__)) @@ -18,6 +19,7 @@ def test_loadnwb_happy_case(self): ) nwb = loadnwb(nwbfile) fig, sessionID = plotLickAnalysis(nwb) + """Example of how to test the truth of a statement.""" self.assertIsInstance(fig, plt.Figure) self.assertIsInstance(sessionID, str) From f57c7bd93777f62f25730c2ccc94be1969377c86 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 22:30:09 -0700 Subject: [PATCH 17/21] update pyproject --- pyproject.toml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 632eb35..0a4c42e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,6 +17,14 @@ readme = "README.md" dynamic = ["version"] dependencies = [ + 'numpy', + 'scipy', + 'matplotlib', + 'PyQt5', + 'pandas', + "pynwb", + "requests", + "harp-python", ] [project.optional-dependencies] From 879d371f6f1ef18a6d304f5c8733aefbf239eaa7 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 22:32:24 -0700 Subject: [PATCH 18/21] Add package --- pyproject.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0a4c42e..a6b2f03 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,11 +20,8 @@ dependencies = [ 'numpy', 'scipy', 'matplotlib', - 'PyQt5', 'pandas', "pynwb", - "requests", - "harp-python", ] [project.optional-dependencies] From 5378b2bbd9281e561760df55b79400ebff6bfddb Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 22:36:54 -0700 Subject: [PATCH 19/21] Add package --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index a6b2f03..da64ba1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,9 @@ dependencies = [ 'matplotlib', 'pandas', "pynwb", + "aind_ephys_utils", + "pathlib", + "unittest" ] [project.optional-dependencies] From 19ec1a0d519aa57fdf6e9198ae78df568f150e9e Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 22:38:38 -0700 Subject: [PATCH 20/21] Add dependencies --- pyproject.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index da64ba1..30d0574 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,8 +23,7 @@ dependencies = [ 'pandas', "pynwb", "aind_ephys_utils", - "pathlib", - "unittest" + "pathlib" ] [project.optional-dependencies] From 7185eebbef7ccfd656440b870a3bcfee85ee9577 Mon Sep 17 00:00:00 2001 From: ZhixiaoSu Date: Tue, 28 May 2024 22:38:38 -0700 Subject: [PATCH 21/21] Add dependencies --- pyproject.toml | 3 +-- tests/test_lickAnalysis.py | 4 ++-- tests/test_lickPlot.py | 2 +- tests/test_loadnwb.py | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index da64ba1..30d0574 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,8 +23,7 @@ dependencies = [ 'pandas', "pynwb", "aind_ephys_utils", - "pathlib", - "unittest" + "pathlib" ] [project.optional-dependencies] diff --git a/tests/test_lickAnalysis.py b/tests/test_lickAnalysis.py index d7d522b..75194a3 100644 --- a/tests/test_lickAnalysis.py +++ b/tests/test_lickAnalysis.py @@ -15,7 +15,7 @@ def test_loadnwb_happy_case(self): """Example of how to test the truth of a statement.""" data_dir = Path(os.path.dirname(__file__)) nwbfile = os.path.join( - data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + data_dir, "data/689514_2024-02-01_18-06-43.nwb" ) nwb = loadnwb(nwbfile) fig, sessionID = plotLickAnalysis(nwb) @@ -27,7 +27,7 @@ def test_output_is_figure(self): """Example of how to test the truth of a statement.""" data_dir = Path(os.path.dirname(__file__)) nwbfile = os.path.join( - data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + data_dir, "data/689514_2024-02-01_18-06-43.nwb" ) nwb = loadnwb(nwbfile) self.assertIsNotNone(nwb) diff --git a/tests/test_lickPlot.py b/tests/test_lickPlot.py index 326e118..662b7e7 100644 --- a/tests/test_lickPlot.py +++ b/tests/test_lickPlot.py @@ -16,7 +16,7 @@ def test_output_is_figure(self): """Example of how to test the truth of a statement.""" data_dir = Path(os.path.dirname(__file__)) nwbfile = os.path.join( - data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + data_dir, "data/689514_2024-02-01_18-06-43.nwb" ) nwb = loadnwb(nwbfile) fig, sessionID = plotLickAnalysis(nwb) diff --git a/tests/test_loadnwb.py b/tests/test_loadnwb.py index 9175baf..cafdfcb 100644 --- a/tests/test_loadnwb.py +++ b/tests/test_loadnwb.py @@ -14,7 +14,7 @@ def test_output_is_figure(self): """Example of how to test the truth of a statement.""" data_dir = Path(os.path.dirname(__file__)) nwbfile = os.path.join( - data_dir, "data\\689514_2024-02-01_18-06-43.nwb" + data_dir, "data/689514_2024-02-01_18-06-43.nwb" ) nwb = loadnwb(nwbfile) self.assertIsNotNone(nwb)