Closed h-joshi closed 3 years ago
Dear @h-joshi thanks for reporting this. I think this is relate to #11. I'm not sure if this is a code problem or rather a version problem as we do test exactly for this here: https://github.com/c-mertes/FRASER/blob/a450eb65/tests/testthat/test_write_read_objects.R#L25
As you switch computers do you have the same version on both machines? It could be a difference in HDF5Array
since they changed at some point the internal representation. Can you please check if the HDF5 related packages have the same version.
If it turns out to be a package version number I would rather check for the package then checking for an extra slot within the package.
In the last build this popped up here too now. So I still did not get my head around it, but it looks like the HDF5 arrays are sometimes saved as DelayedMatrix
object or sometimes as HDF5Array
since those are different classes the slots are different. Hence the differences.
@h-joshi can you please check if the new code fixes your problem? Be aware, that this branch changed a bit since the last version. But the api should be almost the same.
Hi - Is a pre-built binary available for this patch? I'm running this on a RStudio server environment (so unfortunately can't installed the build dependencies) in particular gfortran
@h-joshi I pushed it into the new bioc release. So you should have a windows binary there. http://bioconductor.org/packages/release/bioc/html/FRASER.html
If you are running on a Linux system. I do not have a rebuild version. Maybe bioconda could be of help here.
Steps to reproduce:
Expected: fds dataset is successfully loaded
Actual: The following error is thrown
Error: no slot of name "seed" for this object of class "HDF5ArraySeed"
Code issue: https://github.com/c-mertes/FRASER/blob/faa0a207156e9d575dcbb61d774d16e6d24f9371/R/saveHDF5Objects.R#L114
From what I understand, the logic (just preceding the line above) checks if the HDF datasets are available (as per the fds object), otherwise they are loaded from the specified 'dir' parameter. This bug is surfaced in the R major version > 3 portion.
The slot( .... "seed") directive doesn't need another @seed accessor. That's what causing this scenario to fail
My crude fix:
Sessioninfo: