在比較基因組學中,鑑定了直向同源基因[即相信的基因在兩個基因組中具有相似的功能]在各種應用中都很重要。來自兩個基因組的這些基因之間的關係可以是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