Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Lispworks
- (defun fastq-reader (fname)
- (let ((in (open fname)))
- #'(lambda ()
- (prog2 ; <-- prog1 and prog2 are nifty!
- (read-line in nil)
- (read-line in nil) ; <-- this is the sequence line
- (read-line in nil)
- (read-line in nil)))))
- (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
- (loop for seq = (funcall gen) ; <-- Note this
- while seq do (format t "~A~%" seq))
- (defun kmer-gen (seq &key (kmer-size 30) (discard-N? nil))
- (let ((n 0) (n-max (- (length seq) kmer-size)))
- #'(lambda ()
- (prog1
- (if (< n n-max)
- (subseq seq n (+ n kmer-size))
- nil)
- (incf n)))))
- (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
- (loop for seq = (funcall gen)
- while seq do
- (let ((g (kmer-gen seq :kmer-size 10)))
- (loop for s = (funcall g)
- while s do (format t "~A~%" s))))
- ; GNU Emacs / SLIME
- (defun fastq-reader (fname)
- (let ((in (open fname)))
- #'(lambda ()
- (prog2 ; <-- prog1 and prog2 are nifty!
- (read-line in nil)
- (read-line in nil) ; <-- this is the sequence line
- (read-line in nil)
- (read-line in nil)))))
- (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
- (loop for seq = (funcall gen) ; <-- Note this
- while seq do (format t "~A~%" seq))
- (defun kmer-gen (seq &key (kmer-size 30) (discard-N? nil))
- (let ((n 0) (n-max (- (length seq) kmer-size)))
- #'(lambda ()
- (prog1
- (if (< n n-max)
- (subseq seq n (+ n kmer-size))
- nil)
- (incf n)))))
- (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
- (loop for seq = (funcall gen)
- while seq do
- (let ((g (kmer-gen seq :kmer-size 10)))
- (loop for s = (funcall g)
- while s do (format t "~A~%" s))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement