;;; Paths for files
+(defparameter *release* "2006AD")
+
(defparameter *umls-path*
- (make-pathname :directory '(:absolute "srv" "umls" "2006AC"))
+ (make-pathname :directory (list :absolute "srv" "umls" *release*))
"Path for base of UMLS data files")
+(defparameter *meta-dir*
+ (make-pathname :directory '(:relative "META")))
+
+(defparameter *lex-dir*
+ (make-pathname :directory '(:relative "LEX")))
+
+(defparameter *net-dir*
+ (make-pathname :directory '(:relative "NET")))
+
(defparameter *meta-path*
- (merge-pathnames
- (make-pathname :directory '(:relative "META"))
- *umls-path*))
+ (merge-pathnames *meta-dir* *umls-path*))
(defparameter *lex-path*
- (merge-pathnames
- (make-pathname :directory '(:relative "LEX"))
- *umls-path*))
+ (merge-pathnames *lex-dir* *umls-path*))
(defparameter *net-path*
- (merge-pathnames
- (make-pathname :directory '(:relative "NET"))
- *umls-path*))
+ (merge-pathnames *net-dir* *umls-path*))
(defun umls-path! (p)
- (setq *umls-path* p))
+ (setq *umls-path* (etypecase p
+ (string (parse-namestring p))
+ (pathname p)))
+ (setq *meta-path* (merge-pathnames *meta-dir* *umls-path*))
+ (setq *lex-path* (merge-pathnames *lex-dir* *umls-path*))
+ (setq *net-path* (merge-pathnames *net-dir* *umls-path*)))
;;; Structures for parsing UMLS text files
(defvar *octet-sql-storage* t
"Used to deciding field lengths. Use nil if using UTF-8 database encoding. But, UTF-8 will cause MySQL to double the bytes used for fixed field sizes.")
-
+
;; Preliminary objects to replace structures
(defclass ufile ()
(fields :initarg :fields :accessor fields)
(ucols :initarg :ucols :accessor ucols))
(:default-initargs :fil nil :table nil :des nil :fmt nil :cls nil :rws nil :bts nil
- :fields nil :ucols nil :subdir nil :dir nil)
+ :fields nil :ucols nil :subdir nil :dir nil)
(:documentation "UMLS File"))
(defclass ucol ()
(datatype :initarg :datatype :accessor datatype)
(custom-value-fun :initarg :custom-value-fun :accessor custom-value-fun))
(:default-initargs :col nil :des nil :ref nil :min nil :av nil :max nil :fil nil
- :sqltype nil :dty nil :parse-fun nil :datatype nil
- :custom-value-fun nil)
+ :sqltype nil :dty nil :parse-fun nil :datatype nil
+ :custom-value-fun nil)
(:documentation "UMLS column"))