Skip to content
Permalink
e720d1f6f1
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
64 lines (60 sloc) 6.02 KB
(ns de.mpg.shh.util-datomic-peer.transaction-data-test
(:require [clojure.tools.logging :refer [info error]]
[clojure.string :as str]
[clojure.set :as set]
[midje.sweet :refer :all]
[datomic.api :as dt]
[datascript.core :as ds]
[data.transaction-data :as transaction-data]
[data.transaction-data-extended :as transaction-data-extended]
[de.mpg.shh.util-datomic-peer.transaction-data :as peer-transaction-data]))
(fact "Create tx-data for run-lane-library data"
(let [row->tx (fn [row]
(let [read-num (str/split (:file-name row) #"_")
read-num (-> row :file-name (str/split #"_") reverse second)
;;_ (info "read-num: " read-num)
path-kw (if (= read-num "R1")
:domain.data.sequencing.illumina.run.lane.library/read-one-file-path
:domain.data.sequencing.illumina.run.lane.library/read-two-file-path)
sum-kw (if (= read-num "R1")
:domain.data.sequencing.illumina.run.lane.library/read-one-sha1sum
:domain.data.sequencing.illumina.run.lane.library/read-two-sha1sum)]
(clojure.set/rename-keys row {:path path-kw :sha1sum sum-kw})))
rows (vec (map row->tx transaction-data/run-lane-library-data))
push-pattern [:domain.data.sequencing.illumina.run/run-id
{:domain.data.sequencing.illumina.run/lane+ [:domain.data.sequencing.illumina.run.lane/lane-id
{:domain.data.sequencing.illumina.run.lane/library+ [:domain.data.sequencing.illumina.run.lane.library/library-id
:domain.data.sequencing.illumina.run.lane.library/read-one-file-path
:domain.data.sequencing.illumina.run.lane.library/read-one-sha1sum
:domain.data.sequencing.illumina.run.lane.library/read-two-file-path
:domain.data.sequencing.illumina.run.lane.library/read-two-sha1sum
:domain.data.sequencing.illumina.run.lane.library/read-count]}]}]]
(vec (peer-transaction-data/push->tx-data :db.part/data transaction-data/domain-data-value-type transaction-data/domain-data-datascript-schema push-pattern rows))) => transaction-data/tx-data)
(fact "Create tx-data for run-lane-library with generated uuid data"
(let [row->tx (fn [row]
(let [read-num (str/split (:file-name row) #"_")
read-num (-> row :file-name (str/split #"_") reverse second)
;;_ (info "read-num: " read-num)
path-kw (if (= read-num "R1")
:domain.data.sequencing.illumina.run.lane.library/read-one-file-path
:domain.data.sequencing.illumina.run.lane.library/read-two-file-path)
sum-kw (if (= read-num "R1")
:domain.data.sequencing.illumina.run.lane.library/read-one-sha1sum
:domain.data.sequencing.illumina.run.lane.library/read-two-sha1sum)]
(-> row
(clojure.set/rename-keys {:path path-kw :sha1sum sum-kw}))))
rows (vec (map row->tx transaction-data-extended/run-lane-library-data))
push-pattern [:domain.data.sequencing.illumina.run/run-id
:domain.data.sequencing.illumina.run/uuid
{:domain.data.sequencing.illumina.run/lane+ [:domain.data.sequencing.illumina.run.lane/lane-id
:domain.data.sequencing.illumina.run.lane/uuid
{:domain.data.sequencing.illumina.run.lane/library+ [:domain.data.sequencing.illumina.run.lane.library/library-id
:domain.data.sequencing.illumina.run.lane.library/uuid
:domain.data.sequencing.illumina.run.lane.library/read-one-file-path
:domain.data.sequencing.illumina.run.lane.library/read-one-sha1sum
:domain.data.sequencing.illumina.run.lane.library/read-two-file-path
:domain.data.sequencing.illumina.run.lane.library/read-two-sha1sum
:domain.data.sequencing.illumina.run.lane.library/read-count]}]}]]
(vec (remove (comp #(= % "uuid")
name
#(nth % 2)) (peer-transaction-data/push->tx-data :db.part/data transaction-data-extended/domain-data-value-type transaction-data-extended/domain-data-datascript-schema push-pattern rows)))) => transaction-data-extended/tx-data)