在比较基因组学中,鉴定了直向同源基因[即相信的基因在两个基因组中具有相似的功能]在各种应用中都很重要。来自两个基因组的这些基因之间的关系可以是1:1,1:M,M:1和M:M。在Scala中,我写了这个简单的例子类来表示基因:Scala:用于表示同一类型对象之间1:1,1:M,M:1和M:M关系的数据结构
case class Gene(id: Int, protId: String, geneId: String)
这个功能做的映射:
def orthologyMapping(genome1: Array[Gene], genome2: Array[Gene]): Vector[HashMap[Gene, Gene]] = { ...
我无法在文档中找到任何内置类型这种特定类型的映射关系的集合。正如你所看到的,orthologyMapping()返回类型是Vector [HashMap [Gene,Gene]],并且Vector包含一串1:1关系的HashMap。
在我的情况下,尽管我正在寻找更简单,更原始的Scala。我最初的想法是使返回类型为Vector [HashMap [List [Gene],List [Gene]]],因为在每个HashMap中,键和值列表都不能为空[两者至少可以有一个项目] – 7kemZmani