用于按规范值管理科学数据依赖图的python解决方案
我有一个科学的数据管理问题似乎很普遍,但我找不到现有的解决方案甚至是它的描述,我一直很困惑.我即将开始重大改写(
python),但我认为我最后一次为现有的解决方案投了一个,所以我可以废弃自己的并回到生物学,或者至少学习一些合适的语言以获得更好的谷歌搜索.
问题: 我的努力一般: 在一个类中,通过检查代码很容易找到定义形状所需的def_spec.当模块需要来自另一个模块的数据时,就会产生摩擦.这些数据将具有自己的形状,可能由调用对象作为args传递,但更经常从全局参数状态过滤掉.应该使用其依赖关系的形状来扩充调用类,以便维护其数据的完整描述. 因此,程序通过跟踪对其他类属性的调用并通过托管的__get__调用堆栈将其形状反馈给调用者,从而动态发现数据atts的完整形状.当我重写时,我发现我需要严格控制对构建器类的属性访问,以防止任意信息影响数据.幸运的是,python使用描述符使这很容易. 我将数据的形状存储在数据库中,以便我可以查询是否已存在适当的数据(即其形状是当前参数状态的子集).在我的重写中,我将从mysql通过伟大的SQLAlchemy转移到对象db(ZODB或couchdb?),因为当发现额外的def_spec时,每个类的表必须被更改,这是一个痛苦,并且因为一些def_spec是python列表或dicts,这是一个很难转换为SQL. 我不认为这个数据管理可以与我的数据转换代码分开,因为需要严格的属性控制,尽管我尽可能地尝试这样做.我可以使用现有的类,通过将它们包装为提供def_specs作为类属性的类,以及通过描述符进行数据库管理,但这些类是终端的,因为不能进一步发现其他依赖形状. 如果数据管理不能轻易地与数据结构分离,我想不太可能有开箱即用的解决方案,而是一千个特定的解决方案.也许有适用的模式?我很欣赏任何有关如何寻找或更好地描述问题的提示.对我来说,这似乎是一个普遍的问题,尽管管理深层次的数据可能与网络的盛行风不一致.
我没有具体的python相关建议,但这里有一些想法:
您在生物信息学方面遇到了共同的挑战.随着新技术的引入,数据庞大,异构,并且不断变化的格式.我的建议是不要过度思考你的管道,因为它们明天可能会发生变化.选择一些定义良好的文件格式,并尽可能经常地将传入数据按照这些格式.根据我的经验,通常最好使用松散耦合的工具来完成一件事,这样您就可以将它们链接在一起以便快速进行不同的分析. 您也可以考虑在http://biostar.stackexchange.com/将这个问题的版本提交给生物信息学堆栈交换 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |