-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow BioTek plates to be split across multiple subdirectories #223
Open
melissalinkert
wants to merge
7
commits into
glencoesoftware:master
Choose a base branch
from
melissalinkert:biotek-multi-dirs
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 3 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
cee34a2
Allow BioTek plates to be split across multiple subdirectories
melissalinkert c2a359b
Log each TIFF file's path and well/field indexes at TRACE
melissalinkert 411a030
Add basic detection of ROI indexes
melissalinkert b7d3286
Fix for true single well plates, add one more test for multiple direc…
melissalinkert a67e18e
Detect all ROIs, and treat each as a well sample (like fields)
melissalinkert fe077cb
Add test for multiple ROIs with just one field
melissalinkert 7650721
Add one more test for default file name format
melissalinkert File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This part will just be true and match with the first ROI file, and the other ROI fields (Cytation beacons) won't match, even there are many ROIs field just the first one will appears on final file.
I could workaround this commenting this lines and assign fieldIndex as roiIndex
and removing the condition check
&& matchingROI == roiIndex
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the comments, @wapablos. If you're testing with a particular BioTek dataset, would you be able to share just the file names so we can compare against our existing data?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've test some file sets based on default Cytation output before the code change
(Good) Set 1 (Default filename - cytation montage export) - Detect all wells, channels and fields
A3_01_1_1_DAPI_001.tif
A3_01_1_2_DAPI_001.tif
A3_01_1_3_DAPI_001.tif
A3_01_1_4_DAPI_001.tif
A3_01_2_1_GFP_001.tif
A3_01_2_2_GFP_001.tif
A3_01_2_3_GFP_001.tif
A3_01_2_4_GFP_001.tif
A3_01_3_1_CY5_001.tif
A3_01_3_2_CY5_001.tif
A3_01_3_3_CY5_001.tif
A3_01_3_4_CY5_001.tif
A11_01_1_1_DAPI_001.tif
A11_01_1_2_DAPI_001.tif
A11_01_1_3_DAPI_001.tif
A11_01_1_4_DAPI_001.tif
A11_01_2_1_GFP_001.tif
A11_01_2_2_GFP_001.tif
A11_01_2_3_GFP_001.tif
A11_01_2_4_GFP_001.tif
A11_01_3_1_CY5_001.tif
A11_01_3_2_CY5_001.tif
A11_01_3_3_CY5_001.tif
A11_01_3_4_CY5_001.tif
(Good) Set 2 (Splitted folder Image Multimode (IMM)) - Detect all folders, wells, channels and fields
230920_155559_B1 10X PL FL/B1_-1_1_1_DAPI_001.tif
230920_155559_B2 10X PL FL/B2_-1_1_1_DAPI_001.tif
230920_155559_B2 10X PL FL/B2_-1_2_1_CY5_001.tif
230920_155559_D3 10X PL FL/D3_-1_1_1_DAPI_001.tif
230920_155559_D3 10X PL FL/D3_-1_1_2_DAPI_001.tif
230920_155559_D3 10X PL FL/D3_-1_1_3_DAPI_001.tif
230920_155559_D3 10X PL FL/D3_-1_2_1_GFP_001.tif
230920_155559_D3 10X PL FL/D3_-1_2_2_GFP_001.tif
230920_155559_D3 10X PL FL/D3_-1_2_3_GFP_001.tif
230920_155559_D3 10X PL FL/D3_-1_3_1_CY5_001.tif
230920_155559_D3 10X PL FL/D3_-1_3_2_CY5_001.tif
230920_155559_D3 10X PL FL/D3_-1_3_3_CY5_001.tif
230920_161057_I3 40X PL FL/I3_-1_1_1_DAPI_001.tif
230920_161057_I3 40X PL FL/I3_-1_2_1_GFP_001.tif
230920_161057_I3 40X PL FL/I3_-1_3_1_CY5_001.tif
230920_161057_J3 60X PL FL/J3_-1_1_1_DAPI_001.tif
230920_161057_J3 60X PL FL/J3_-1_2_1_GFP_001.tif
230920_161057_J3 60X PL FL/J3_-1_3_1_CY5_001.tif
230920_161628_F3 20X PL FL/F3_-1_1_1_DAPI_001.tif
230920_161628_F3 20X PL FL/F3_-1_2_1_GFP_001.tif
230920_161628_F3 20X PL FL/F3_-1_3_1_CY5_001.tif
(Not all good) Set 3 (Default filename - cytation ROI export) - Detect all wells, channels but not fields only ROI1
B23ROI5_01_2_1_Bright Field_001.tif
B23ROI5_01_1_1_DAPI_001.tif
B23ROI4_01_2_1_Bright Field_001.tif
B23ROI4_01_1_1_DAPI_001.tif
B23ROI3_01_2_1_Bright Field_001.tif
B23ROI3_01_1_1_DAPI_001.tif
B23ROI2_01_2_1_Bright Field_001.tif
B23ROI2_01_1_1_DAPI_001.tif
B23ROI1_01_2_1_Bright Field_001.tif
B23ROI1_01_1_1_DAPI_001.tif
B22ROI5_01_2_1_Bright Field_001.tif
B22ROI5_01_1_1_DAPI_001.tif
B22ROI4_01_2_1_Bright Field_001.tif
B22ROI4_01_1_1_DAPI_001.tif
B22ROI3_01_2_1_Bright Field_001.tif
B22ROI3_01_1_1_DAPI_001.tif
B22ROI2_01_2_1_Bright Field_001.tif
B22ROI2_01_1_1_DAPI_001.tif
B22ROI1_01_2_1_Bright Field_001.tif
B22ROI1_01_1_1_DAPI_001.tif
(Bad) Set 4 (Default filename for slides) - Cannot read image files
Exception in thread "main" picocli.CommandLine$ExecutionException: Error while calling command (com.glencoesoftware bioformats2raw.Converter@2d2ffcb7): java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at com.glencoesoftware.bioformats2raw.BioTekReader$BioTekWell.getFile(BioTekReader.java:902)
at com.glencoesoftware.bioformats2raw.BioTekReader.initFile(BioTekReader.java:371)
A1_01_3_6_Blue_001.tif
A1_01_3_5_Blue_001.tif
A1_01_3_4_Blue_001.tif
A1_01_3_3_Blue_001.tif
A1_01_3_2_Blue_001.tif
A1_01_3_1_Blue_001.tif
A1_01_2_6_Green_001.tif
A1_01_2_5_Green_001.tif
A1_01_2_4_Green_001.tif
A1_01_2_3_Green_001.tif
A1_01_2_2_Green_001.tif
A1_01_2_1_Green_001.tif
A1_01_1_6_Red_001.tif
A1_01_1_5_Red_001.tif
A1_01_1_4_Red_001.tif
A1_01_1_3_Red_001.tif
A1_01_1_2_Red_001.tif
A1_01_1_1_Red_001.tif
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the last 4 commits (b7d3286 through 7650721) now address all of these cases.