galaxyproject / galaxy

Data intensive science for everyone.
https://galaxyproject.org
Other
1.37k stars 992 forks source link

'basic' composite datatype upload errors #1763

Open dannon opened 8 years ago

dannon commented 8 years ago

Basic (non auto_primary_file) composite datatypes don't upload correctly. Here's a minimal datatype extending text that'll break when uploading:

class FooData( Text ):
    file_ext = 'foodata'
    composite_type = 'basic'
    def __init__(self, **kwd):
        Text.__init__(self, **kwd)
        self.add_composite_file('file_one.txt')
        self.add_composite_file('file_two.txt')

I'd expect the 'primary' (dataset_nnn.dat) file to be file_one.txt's contents, with file_two.txt being in dataset_nnn_files/, but that's not the observed outcome. File two is completely lost here without any error messages.

Reported by @remimarenco, and @guerler looked at this with me and confirmed that things seem pretty broken here.

Alanamosse commented 6 years ago

I came to the same issue with the OBFS basic composite datatype defined in molecules.py. It seems that 'file_one.txt' will be loaded as 'dataset_nn.dat', and 'file_two.txt' will be in dataset_nn_files/ but will be named 'file_one.txt'. A 'file_three' would be loaded as 'dataset_nn_files/file_two.txt', there is always a -1 shift in the labels.

A second interrogation is that, i were not able to create an optional composite_file even though i defined it like : self.add_composite_file('file_two.txt', optional=True)

hexylena commented 5 years ago

Is this still broken? I've tested with mzml/GIS files recently and it worked ok?