-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Björn, On 07/16/2014 09:20 AM, Björn Grüning wrote:
Hi Eric,
Forgive me, I'm not 100% clear on the custom plugin system used by galaxy, but if I "subclass" from the text data type, will sniffers I implement override text's and function? The lack of being able to add an entry to the sniffer section (unlike with the tabular example) led me to believe my genbank datatype wouldn't be sniffed.
Thats true, if you want to override functions, you need to subclass it on a python level not on the XML level.
Okay, good, as I figured then.
Additionally, I'd still like to be able to add completely new datatypes, do you know of any working examples of this? As mentioned in my original post, duplicating an existing datatype and changing names on it surprisingly doesn't work.
https://github.com/bgruening/galaxytools/tree/master/datatypes/msa_datatypes
https://github.com/bgruening/galaxytools/blob/master/chemicaltoolbox/datatyp...
Those absolutely should be, thank you. I'll probably strip them down and post a minimal working example, and code to the wiki as well, for future reference.
Is that enough, to get started?
I'd be lovely to have the emboss datatypes split out.
Ok, than lets start :) I will try to fork emboss into my galaxytools/datatypes repository and try to split them. You will get commit access and can improve your genbank datatype (and a few more ;)). Finally, we will talk to the devteam to rewrite EMBOSS to depend on our separate data type repositories. OK?
Ja, sounds good! Happy to help.
Ciao, Bjoenr
Cheers, Eric
On July 16, 2014 8:34:55 AM CDT, Peter Cock <p.j.a.cock@googlemail.com> wrote:
Indeed - ideally (once working) we can upload under the IUC ToolShed as a community maintained resource rather than under a personal account which becomes a single point of failure (the bus factor).
We (the ICU) have previously discussed doing this so that the EMBOSS datatypes could become more of a meta-entry depending on other smaller specific datatype defining ToolShed repositories. But it hasn't reached the top of my personal TODO list yet ;)
Peter
On Wed, Jul 16, 2014 at 1:47 PM, Björn Grüning <bjoern.gruening@gmail.com> wrote:
Hi Eric,
please have a look at:
https://github.com/bgruening/galaxytools/blob/master/datatypes/msa_datatypes...
You need somthing like: <datatype extension="genbank" type="galaxy.datatypes.data:Text" subclass="True" />
Lets try to split the EMBOSS datatypes a little bit into small
chunks. E.g.
sequences_datatypes, msa_datatypes ... and so on ...
Cheers, Bjoern
Am 14.07.2014 20:31, schrieb Eric Rasche:
I'm trying to add a new datatype to my galaxy instance for genbank files, however I'm running into various issues. I've followed the tutorial (https://wiki.galaxyproject.org/Admin/Datatypes/Adding%20Datatypes)
however that example subclasses tabular, and I'd like to subclass
Text as they're plain text files, and I'd like to be able to define a sniffer for them (not possible if your type=galaxy.datatypes.data:Text)
I figured the call ought to be something like
<datatype extension="gb" type="galaxy.datatypes.data:Genbank" subclass="True" />
however, everything I try fails with
> Error importing datatype module galaxy.datatypes.data: 'module' object > has no attribute 'Genbank'
just for genbank files (type="galaxy.datatypes.genbank:Genbank"), however
To avoid this particular issue, I tried writing a separate datatype that fails with the same error:
> galaxy.datatypes.registry ERROR 2014-07-14 13:23:23,100 Error importing > datatype module galaxy.datatypes.genbank: 'module' object has no attribute > 'genbank' > Traceback (most recent call last): > File "/home/hxr/work/galaxy-central/lib/galaxy/datatypes/registry.py", > line 206, in load_datatypes > module = getattr( module, mod ) > AttributeError: 'module' object has no attribute 'genbank'
Here's my lib/galaxy/datatypes/genbank.py looks like:
> import pkg_resources > pkg_resources.require( "bx-python" ) > import logging > from galaxy.datatypes import data > log = logging.getLogger(__name__) > > class Genbank( data.Text ): > file_ext = "gb" > > def sniff( self, filename ): > header = open(filename).read(5) > return header == 'LOCUS'
To debug this, I've tried copying the tabular data type completely, removed all the classes other than Tabular, and renamed it
"Genbank", however this fails too with the same error.
Can anyone offer some insight?
Cheers, Eric
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
- -- Eric Rasche Programmer II Center for Phage Technology Texas A&M University College Station, TX 77843 404-692-2048 esr@tamu.edu rasche.eric@yandex.ru -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJTxo7pAAoJEMqDXdrsMcpVKnsP/3Oqaux9jdJobAuCL4py5wW9 Kbxe5Io5ua8ZhrDUj4qeQsYzNPt9bHKuYWK1VHz+Jf8ZPZDW6a/hHTf6mTqfXrzX mDUHtf9j6xEW+ye1JTL7QsOImxl7JRDvI0MVQOkQt8C8QZTWu+pjXLMrVd/QygGL AntX/1ngmEYDKxwPAagD+P1bUxwNalZ96FE9qIubL5GLjFn7yuG6fBE98/40UM27 x4bHdRB+svUTjCiH/E7MKZGN2OEL8H6QHOnl7rfA70Z2SezNr7Ivzgb+pVStyVum QF2/g8C0dUooYaM2hZhosOM6mLKSNH2NAIsRumfIQMDoZBMxlQE6iD0550tORvSf 1MP1T2B0jqPckca30udDZ7qtksB0u/QJgLFunZ26uQZE/B/jKoL/FjNsNIFgxCto EdIab40rH7ysnFjbiLV8AiSjgDV0V8VCDjxNbBZRjwy34RP2ZN4Ggew+vyGVv3iH 28biFIhbxVWmYccDYGWVYaqw2wdUdk4l9j0OvlCaqHH3fXsPyhpAWivmVzwc3kGz /Wyj3KYMEySiJ++Wkw1H29QH0wyEpbh89dX2ULQjqJV7qibWUM7KZtFiizEr55tP QI0KhJzGe/NQ4CzP1szl/mbxjBUr3cRGXF1dausVu1hKgjhb2QJBJKw9nFvbTnKw BKOkNRQ/vkr3aHL1IrVE =AP7s -----END PGP SIGNATURE-----