geraldinepascal / FROGS

FROGS is a galaxy/CLI workflow designed to produce an OTUs count matrix from high depth sequencing amplicon data.
GNU General Public License v3.0
24 stars 22 forks source link

How to add "rdata" datatype into galaxy ? #31

Closed inestiouiri closed 5 years ago

inestiouiri commented 6 years ago

I'm trying to run FROGSSTAT Phyloseq Import Data but i always get WARNING:galaxy.model:Datatype class not found for extension 'rdata' Thanks

mariabernard commented 6 years ago

which version of Galaxy are you using ?

inestiouiri commented 6 years ago

16

mariabernard commented 6 years ago

Hello

Sorry, for the delay. I commonly use galaxy 16.10 where the rdata datatype is included in the datatypes_conf.xml

You should manually add it or upgrade galaxy (I will try to add a comment in the Readme)

inestiouiri commented 6 years ago

Could you please paste the datatype line for rdata from you datatypes_conf.xml here for me. Thanks

mariabernard commented 6 years ago

in /conf/datatypes_conf.xml

<datatype extension="RData" type="galaxy.datatypes.binary:RData" display_in_upload="true" description="Stored data from an R session"/>

and in /lib/galaxy/datatypes/binary.py (I hope you have a Binary class)

class RData( Binary ):
    """Generic R Data file datatype implementation"""
    file_ext = 'RData'

    def sniff( self, filename ):
        rdata_header = b'RDX2\nX\n'
        try:
            header = open(filename, 'rb').read(7)
            if header == rdata_header:
                return True

            header = gzip.open( filename ).read(7)
            if header == rdata_header:
                return True
        except:
            return False

Binary.register_sniffable_binary_format('RData', 'RData', RData)

but it's maybe only usefull for sniffable datatype. There is maybe a simpler way to declare new datatype in the config file whithout changing source code.

inestiouiri commented 6 years ago

@mariabernard Thank you for your help. I've tried this but still get the same error knowing that i've just edited datatypes_conf.xml because i don't have a binary class. error is below:

subprocess.CalledProcessError: Command 'Rscript -e "rmarkdown::render('/usr/local/galaxy/tools/FROGS_2/app/r_import_data.Rmd',output_file='/scratch/database/files/025/dataset_25871.dat', params=list(biomfile='/scratch/database/files/024/dataset_24154.dat', samplefile='/scratch/database/files/025/dataset_25808.dat', treefile='/scratch/database/files/025/dataset_25795.dat', normalization=TRUE, outputRdata='/scratch/database/files/025/dataset_25870.dat', ranks=''), intermediates_dir='/scratch/database/files/025')" 2> /dev/null' returned non-zero exit status 139

WARNING:galaxy.model:Datatype class not found for extension 'rdata'

mariabernard commented 6 years ago

Hi

I am sorry but I am not an expert of Galaxy and this is not a FROGS problem. The only advice I can give is to upgrade you galaxy version.

I juste check when this datatype was added (which is not simple as multiple release were done at the same date, and release ordre is not always consistent). Release 15.07 has the rdata datatype, but not release 15.03.

So I think that your galaxy version is much older than you think.

Best regards