如何构建通用数据集处理Perl库?

时间:2010-03-21 10:50:02

标签: perl dataset

我想构建一个通用的Perl模块,用于处理和分析生物医学字符分离的数据集,并且可以肯定地用于任何类型的数据集,这些数据集包含分类(A,B,C,..)和连续(1.2,3,881 ..)和标识符(XXX1,XXX2 ......)。计划是让人们初始化模块,然后使用一些参数指向数据文件,应该放置分析报告的位置和数据的结构。

根据数据结构,我指的是哪个变量在哪个地方及其名称/类型。这就是我需要一些启示的地方。我很困惑如何以干净的方式做到这一点。显然,让人们创建一个简单的模式文件,无论是XML还是其他格式都是最干净的,但也许不是所有人都喜欢做这样的事情。

我能想到的解决方案是:

  • 以XML或类似方式创建配置文件,并使用预先指定的格式。
  • 在模块初始化期间传递信息。
  • 使用数据的第一行作为标题并尝试猜测类型(哎哟)

当然,必须有一种“规范”的做法,这种做法也是可用和有效的。

3 个答案:

答案 0 :(得分:1)

这不会直接回答您的问题,但是您检查了CPAN吗?它可能已经有你需要的模块。如果没有,它可能有类似的模块 - 与生物医学数据或简单的分隔数据处理相关 - 您可以挖掘好的想法,包括元数据格式和模块的API。

答案 1 :(得分:0)

您列出的任何方法都有意义。这一切都取决于数据结构及其定义的复杂程度。对人们有用的东西是它是否能节省时间和精力。因此,您的决定必须根据最能满足需要的方法来解决:

  • 轻松使用模块
  • 轻松重用数据定义
  • 数据定义语言足以表达所有已知用例
  • 数据定义语言足够简单,以至于不经常的用户可以在完成实际工作之前花费最少的时间使用文档。

例如,如果我只需要输入列的名称及其类型(并且只有4个定义良好的类型),那么每次在脚本中执行此操作都不是太糟糕。除非我在每个文件中都有350列要处理。

但是,如果大型复杂的结构定义很常见,那么更加模块化的面向重用的方法会更好。

如果您的数据描述语言难以使用,您可以通过提供允许创建和编辑数据方案的配置工具来缓解此问题。

答案 2 :(得分:0)

rx可能值得一看,以及CPAN上的Data::Rx模块。它为JSON提供了模式检查,但模型中没有任何固有的东西使其成为仅JSON。