Advertisement
Guest User

Untitled

a guest
Jan 21st, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. ; Lispworks
  2.  
  3. (defun fastq-reader (fname)
  4. (let ((in (open fname)))
  5. #'(lambda ()
  6. (prog2 ; <-- prog1 and prog2 are nifty!
  7. (read-line in nil)
  8. (read-line in nil) ; <-- this is the sequence line
  9. (read-line in nil)
  10. (read-line in nil)))))
  11.  
  12. (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
  13. (loop for seq = (funcall gen) ; <-- Note this
  14. while seq do (format t "~A~%" seq))
  15.  
  16.  
  17. (defun kmer-gen (seq &key (kmer-size 30) (discard-N? nil))
  18. (let ((n 0) (n-max (- (length seq) kmer-size)))
  19. #'(lambda ()
  20. (prog1
  21. (if (< n n-max)
  22. (subseq seq n (+ n kmer-size))
  23. nil)
  24. (incf n)))))
  25.  
  26. (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
  27. (loop for seq = (funcall gen)
  28. while seq do
  29. (let ((g (kmer-gen seq :kmer-size 10)))
  30. (loop for s = (funcall g)
  31. while s do (format t "~A~%" s))))
  32.  
  33.  
  34.  
  35. ; GNU Emacs / SLIME
  36.  
  37. (defun fastq-reader (fname)
  38. (let ((in (open fname)))
  39. #'(lambda ()
  40. (prog2 ; <-- prog1 and prog2 are nifty!
  41. (read-line in nil)
  42. (read-line in nil) ; <-- this is the sequence line
  43. (read-line in nil)
  44. (read-line in nil)))))
  45.  
  46. (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
  47. (loop for seq = (funcall gen) ; <-- Note this
  48. while seq do (format t "~A~%" seq))
  49.  
  50.  
  51. (defun kmer-gen (seq &key (kmer-size 30) (discard-N? nil))
  52. (let ((n 0) (n-max (- (length seq) kmer-size)))
  53. #'(lambda ()
  54. (prog1
  55. (if (< n n-max)
  56. (subseq seq n (+ n kmer-size))
  57. nil)
  58. (incf n)))))
  59.  
  60. (defparameter gen (fastq-reader "../../DATA/sm_r1.fq"))
  61. (loop for seq = (funcall gen)
  62. while seq do
  63. (let ((g (kmer-gen seq :kmer-size 10)))
  64. (loop for s = (funcall g)
  65. while s do (format t "~A~%" s))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement