Add ucsc-compiler.
[biolisp.git] / ucsc-compiler.lisp
blobda3eb2ee44c3f3e6ff377bf5a5ca79a47c49825b
1 (in-package :bioinfo)
3 (defparameter *ucsc-dir*
4 (merge-pathnames #p"lbhc/ucsc/db/" (user-homedir-pathname)))
6 (defparameter *gen-target* (merge-pathnames *system-path* #p"ucsc-gen.lisp"))
8 (defun ucsc-map-sql (fn)
9 (cl-fad:walk-directory *ucsc-dir* fn
10 :test #'(lambda (x)
11 (equal (pathname-type x) "sql"))))
13 ;; Generate CLSQL classes for sql files of UCSC
14 (defun compile-ucsc-sql ()
15 (redirect *gen-target*
16 (write '(in-package :bioinfo))
17 (terpri)
18 (ucsc-map-sql #'(lambda (x)
19 (format t ";; Generated from ~a~%" (namestring x))
20 (write (compile-sql x))
21 (terpri))))
22 (compile-file *gen-target*))
24 (defun compile-and-load-ucsc ()
25 (compile-ucsc-sql)
26 (load (make-pathname :type "fasl" :defaults *gen-target*)))