                                         :when (contains? (incidence ctx)
                                                          [(nth object-vector g)
                                                           (nth attribute-vector m)])])]
-    [(make-context new-objects new-attributes new-incidence)
-     object-vector
+    [(make-context new-objects new-attributes new-incidence),
+     object-vector,
      attribute-vector]))
 
 (defn context-intents
   "Computes the intents of context using parallel close-by-one (CbO)."
   [threads depth min-support context]
   (let [[ctx _ att-vec] (to-fcalgs-context context),
-        output-file     (pcbo threads depth min-support ctx),
+        output-file     (pcbo threads depth min-support 1 ctx),
         intents         (line-seq (reader output-file)),
         transform-back  #(string-to-ints att-vec %)]
     (if (= "" (first intents))

;;;

(define-external-program pcbo-external
  pcbo :threads :depth :min-support :input-file :fcalgs :output-file)
(alter-meta! (var pcbo-external) assoc :private true)

(defn- pcbo
  "Runs pcbo and returns the file where the concepts have been written
  to."
  [threads depth min-support context]
  (let [^java.io.File output-file (tmpfile)]
    (pcbo-external (str "-P" threads) (str "-L" depth) (str "-S" (float (* min-support 100)))
                   context (.getAbsolutePath output-file))
    output-file))


(defn count-context-intents
  "Counts the intents of context using parallel close-by-one (CbO)."
  [threads depth min-support context]
  (-> (pcbo threads depth min-support 1 (first (to-fcalgs-context context)))
      reader
      line-seq
      count))

;;;

