(IN-PACKAGE :CCL)
;; this patch was saved with PWGL version 1.0 beta RC 16 (0.9.16-310)
(ASSERT-PATCH-SAVED-VERSION-NOT-NEWER-THAN (QUOTE ((0 9 16) 310)))
(LET ((WIN (MAKE-INSTANCE (QUOTE PWGL-PW-WINDOW) :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PW-REPEAT) :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "count" :CURVAL 99 :VALUE-STRING "99") (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "patch" :VALUE-STRING "0" :CONNECTION NIL)) :X 0.2485966564628903D0 :Y 2.821522103150253D0 :W 0.52 :H 0.1 :BOX-STRING "pwgl-repeat" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT))) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 2) :ORIG-GROUPING-LIST (LIST 2) :BORDER 0.012) :PW-FUNCTION (QUOTE PWGL-REPEAT) :PW-LOCK T :BOX-BUFFER (LIST 1 1 1 1 2 0 1 1 0 2 2 1 2 0 0 0 1 0 0 1 0 0 1 1 1 0 2 1 0 2 0 2 2 2 2 1 1 1 1 1 2 2 0 0 2 2 1 1 2 0 2 2 1 0 0 0 0 0 0 1 2 2 1 1 1 1 2 2 2 1 2 2 0 0 2 1 1 1 1 0 2 1 1 1 2 0 0 0 0 0 0 0 2 0 1 2 0 2 0)) (MAKE-INSTANCE (QUOTE PWGL-BOX) :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "low" :VALUE-STRING "0") (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "high" :CURVAL 2 :VALUE-STRING "2")) :X 0.2485966564628903D0 :Y 3.025522103150253D0 :W 0.33964076703597934D0 :H 0.1 :BOX-STRING "g-random" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT))) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 2) :ORIG-GROUPING-LIST (LIST 2) :BORDER 0.012) :PW-FUNCTION (QUOTE G-RANDOM) :OPEN-STATE-W 0.33964076703597934D0 :OPEN-STATE-H 0.1) (MAKE-INSTANCE (QUOTE FV-MORPHOLOGIE::MORPHOLOGIE-BOX) :R 0.4336726 :G 0.66063345 :B 0.4496192 :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "seq" :CURVAL NIL :VALUE-STRING "nil" :CONNECTION NIL) (MAKE-INSTANCE (QUOTE PWGL-MENUBOX-SUBVIEW) :BOX-STRING "out" :MINVAL 0 :MAXVAL 1 :MENU-LIST (LIST (LIST ":length" :LENGTH) (LIST ":freq" :FREQ)) :MENU-LIST-STRING (LIST ":length" :LENGTH))) :X 0.5285966564628901D0 :Y 2.2599646069154704D0 :W 0.5319999809265137D0 :H 0.11199999403953554D0 :BOX-STRING "motif-list" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT))) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 2) :ORIG-GROUPING-LIST (LIST 2) :EXTENSION-PATTERN (LIST 2) :EXTENSION-LIMIT 16 :BORDER 0.012) :PW-FUNCTION (QUOTE FV-MORPHOLOGIE:MOTIF-LIST) :OPEN-STATE-W 0.5319999809265137D0 :OPEN-STATE-H 0.11199999403953554D0) (MAKE-INSTANCE (QUOTE FV-MORPHOLOGIE::MORPHOLOGIE-BOX) :R 0.4336726 :G 0.66063345 :B 0.4496192 :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "seq" :CURVAL NIL :VALUE-STRING "nil" :CONNECTION NIL) (MAKE-INSTANCE (QUOTE PWGL-MENUBOX-SUBVIEW) :BOX-STRING "out" :CURVAL 1 :MINVAL 0 :MAXVAL 1 :MENU-LIST (LIST (LIST ":length" :LENGTH) (LIST ":freq" :FREQ)) :MENU-LIST-STRING (LIST ":freq" :FREQ))) :X 0.5285966564628901D0 :Y 1.7424120800991539D0 :W 0.5319999809265137D0 :H 0.11199999403953554D0 :BOX-STRING "motif-list" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT))) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 2) :ORIG-GROUPING-LIST (LIST 2) :EXTENSION-PATTERN (LIST 2) :EXTENSION-LIMIT 16 :BORDER 0.012) :PW-FUNCTION (QUOTE FV-MORPHOLOGIE:MOTIF-LIST)) (MAKE-INSTANCE (QUOTE 2D-EDITOR) :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-2D-SUBBOX) :APPLICATION-WINDOW (LET ((WIN (MAKE-INSTANCE (QUOTE PWGL-FUNCTION-EDITOR-WINDOW) :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-2D-VIEW) :R 1.0 :G 1.0 :B 1.0 :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE C-BREAK-POINT-FUNCTION) :POINTS (QUOTE ((0 1) (1 1) (2 1) (3 1) (4 2) (5 0) (6 1) (7 1) (8 0) (9 2) (10 2) (11 1) (12 2) (13 0) (14 0) (15 0) (16 1) (17 0) (18 0) (19 1) (20 0) (21 0) (22 1) (23 1) (24 1) (25 0) (26 2) (27 1) (28 0) (29 2) (30 0) (31 2) (32 2) (33 2) (34 2) (35 1) (36 1) (37 1) (38 1) (39 1) (40 2) (41 2) (42 0) (43 0) (44 2) (45 2) (46 1) (47 1) (48 2) (49 0) (50 2) (51 2) (52 1) (53 0) (54 0) (55 0) (56 0) (57 0) (58 0) (59 1) (60 2) (61 2) (62 1) (63 1) (64 1) (65 1) (66 2) (67 2) (68 2) (69 1) (70 2) (71 2) (72 0) (73 0) (74 2) (75 1) (76 1) (77 1) (78 1) (79 0) (80 2) (81 1) (82 1) (83 1) (84 2) (85 0) (86 0) (87 0) (88 0) (89 0) (90 0) (91 0) (92 2) (93 0) (94 1) (95 2) (96 0) (97 2) (98 0))))) :Y 1.0 :W 1.0 :H 1.0 :GLORTHOX1 -2.9399998 :GLORTHOX2 100.94 :GLORTHOY1 -0.06 :GLORTHOY2 2.06)) :X 502 :Y 44 :HITS 1 :WINDOW-UPDATE? T :TITLE "2D-Editor1" :X 23 :Y 0 :WIDTH 877 :HEIGHT 355))) WIN) :CONNECTION NIL)) :X 0.8405966564628913D0 :Y 3.0255220001534285D0 :W 1.984D0 :H 0.3120000000000003D0 :BOX-STRING "2D-Editor" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT) :BOX-STRING "objects") (MAKE-INSTANCE (QUOTE PWGL-OUTPUT) :BOX-STRING "active")) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 1) :ORIG-GROUPING-LIST (LIST 1) :BORDER 0.012) :PW-FUNCTION (QUOTE 2D-EDITOR) :SHOW-TITLE-STRING? NIL :OPEN-STATE-W 1.984D0 :OPEN-STATE-H 0.3120000000000003D0) (MAKE-INSTANCE (QUOTE PWGL-COMMENT-BOX) :R 0.25398874 :G 0.6081 :B 0.50764734 :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-COMMENT-BOX-SUBVIEW) :R 1.0 :G 1.0 :B 1.0 :BOX-STRING "auto-evaluate" :APPLICATION-WINDOW (MAKE-INSTANCE (QUOTE PWGL-FRED-WINDOW) :TITLE "Text-Editor" :X 100 :Y 100 :WIDTH 500 :HEIGHT 600) :VALUE-STRING "")) :X 0.34253883298825416D0 :Y 2.2599646069154704D0 :W 0.3 :H 0.1 :BOX-STRING "1" :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 1) :ORIG-GROUPING-LIST (LIST 1) :BORDER 0.0084) :PW-FUNCTION (QUOTE PWGL-COMMENT-BOX) :USER-STRING "1" :FORMAT-ARGS (LIST :FORMAT T :COLUMNS 1 :PRINT-ESCAPE T) :COMMENT-TYPE :CIRCLE) (MAKE-INSTANCE (QUOTE PWGL-COMMENT-BOX) :R 0.25398874 :G 0.6081 :B 0.50764734 :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-COMMENT-BOX-SUBVIEW) :R 1.0 :G 1.0 :B 1.0 :BOX-STRING "auto-evaluate" :APPLICATION-WINDOW (MAKE-INSTANCE (QUOTE PWGL-FRED-WINDOW) :TITLE "Text-Editor" :X 100 :Y 100 :WIDTH 500 :HEIGHT 600) :VALUE-STRING "")) :X 0.34253883298825416D0 :Y 1.7424120800991539D0 :W 0.3 :H 0.1 :BOX-STRING "1" :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 1) :ORIG-GROUPING-LIST (LIST 1) :BORDER 0.0084) :PW-FUNCTION (QUOTE PWGL-COMMENT-BOX) :USER-STRING "2" :FORMAT-ARGS (LIST :FORMAT T :COLUMNS 1 :PRINT-ESCAPE T) :COMMENT-TYPE :CIRCLE) (MAKE-INSTANCE (QUOTE PWGL-TIME-BOX) :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "patch" :CURVAL "()" :VALUE-STRING "()" :CONNECTION NIL)) :X 0.8130411300939962D0 :Y 2.040396868266124D0 :W 0.26 :H 0.1 :BOX-STRING "time-box" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT))) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 1) :ORIG-GROUPING-LIST (LIST 1) :BORDER 0.012) :PW-FUNCTION (QUOTE TIME-BOX)) (MAKE-INSTANCE (QUOTE FV-MORPHOLOGIE::MORPHOLOGIE-BOX) :R 0.4336726 :G 0.66063345 :B 0.4496192 :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "seq" :CURVAL NIL :VALUE-STRING "nil" :CONNECTION NIL) (MAKE-INSTANCE (QUOTE PWGL-MENUBOX-SUBVIEW) :BOX-STRING "out" :MINVAL 0 :MAXVAL 1 :MENU-LIST (LIST (LIST ":length" :LENGTH) (LIST ":freq" :FREQ)) :MENU-LIST-STRING (LIST ":length" :LENGTH))) :X 1.6993899205612873D0 :Y 2.2599646069154704D0 :W 0.5319999809265137D0 :H 0.11199999217689039D0 :BOX-STRING "motif-list" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT))) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 2) :ORIG-GROUPING-LIST (LIST 2) :EXTENSION-PATTERN (LIST 2) :EXTENSION-LIMIT 16 :BORDER 0.012) :PW-FUNCTION (QUOTE FV-MORPHOLOGIE:MOTIF-LIST) :OPEN-STATE-W 0.5319999809265137D0 :OPEN-STATE-H 0.1975999882221222D0) (MAKE-INSTANCE (QUOTE PWGL-BOX) :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-VALUE-BOX-SUBVIEW) :BOX-STRING "value" :CURVAL (LIST T (QUOTE COMMON-LISP-USER::X) (QUOTE COMMON-LISP-USER::A) (QUOTE COMMON-LISP-USER::B) (QUOTE COMMON-LISP-USER::C) (QUOTE COMMON-LISP-USER::Y) T (QUOTE COMMON-LISP-USER::A) (QUOTE COMMON-LISP-USER::E) (QUOTE COMMON-LISP-USER::B) (QUOTE COMMON-LISP-USER::C) (QUOTE COMMON-LISP-USER::K) (QUOTE COMMON-LISP-USER::R) T (QUOTE COMMON-LISP-USER::X) (QUOTE COMMON-LISP-USER::A) T (QUOTE COMMON-LISP-USER::X) (QUOTE COMMON-LISP-USER::A) (QUOTE COMMON-LISP-USER::B) (QUOTE COMMON-LISP-USER::C) (QUOTE COMMON-LISP-USER::I) (QUOTE COMMON-LISP-USER::Y) T (QUOTE COMMON-LISP-USER::A) (QUOTE COMMON-LISP-USER::E) (QUOTE COMMON-LISP-USER::C) (QUOTE COMMON-LISP-USER::E) (QUOTE COMMON-LISP-USER::I) (QUOTE COMMON-LISP-USER::B) (QUOTE COMMON-LISP-USER::C) (QUOTE COMMON-LISP-USER::K) (QUOTE COMMON-LISP-USER::R)) :VALUE-STRING "(t x a  b c y  t a e  b c k  r t x  a t x  a b c  i y t  a e c  e i b  c k r)")) :X 0.9263539109807111D0 :Y 2.5836375418719198D0 :W 1.812657570912203D0 :H 0.11568341139364069D0 :BOX-STRING "value-box" :PWGL-OUTPUTS (LIST (MAKE-INSTANCE (QUOTE PWGL-OUTPUT))) :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 1) :ORIG-GROUPING-LIST (LIST 1) :BORDER 0.012) :PW-FUNCTION (QUOTE VALUE-BOX) :SHOW-TITLE-STRING? NIL :OPEN-STATE-W 1.812657570912203D0 :OPEN-STATE-H 0.11568341139364069D0) (MAKE-INSTANCE (QUOTE PWGL-COMMENT-BOX) :R 0.4336726 :G 0.66063345 :B 0.4496192 :PWGL-SUBVIEWS (LIST (MAKE-INSTANCE (QUOTE PWGL-COMMENT-BOX-SUBVIEW) :R 1.0 :G 1.0 :B 1.0 :BOX-STRING "auto-evaluate" :APPLICATION-WINDOW (MAKE-INSTANCE (QUOTE PWGL-FRED-WINDOW) :TITLE "Text-Editor" :X 100 :Y 100 :WIDTH 500 :HEIGHT 600) :VALUE-STRING "")) :X 2.328468875377217D0 :Y 2.257985917322383D0 :W 0.3 :H 0.1 :BOX-STRING "1" :BOX-LAYOUT (MAKE-INSTANCE (QUOTE PWGL-BOX-LAYOUT) :GROUPING-LIST (LIST 1) :ORIG-GROUPING-LIST (LIST 1) :BORDER 0.0084) :PW-FUNCTION (QUOTE PWGL-COMMENT-BOX) :USER-STRING "3" :FORMAT-ARGS (LIST :FORMAT T :COLUMNS 1 :PRINT-ESCAPE T) :COMMENT-TYPE :CIRCLE)) :X 5 :Y 5 :SCALEFX 0.5100931433491851D0 :SCALEFY 0.5100931433491851D0 :TRANSLX -0.14610411155225153D0 :TRANSLY -1.160368126670957D0 :CONNECTIONS (LIST (MAKE-INSTANCE (QUOTE PWGL-CONNECTION) :PWBOX1 9 :OUT-BOX 0 :PWBOX2 8 :INPUT-BOX 0 :DRAW-MODE :5POINT :BEZIER-SELECTOR1 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 1) :BEZIER-SELECTOR2 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 2)) (MAKE-INSTANCE (QUOTE PWGL-CONNECTION) :PWBOX1 2 :OUT-BOX 0 :PWBOX2 7 :INPUT-BOX 0 :DRAW-MODE :5POINT :BEZIER-SELECTOR1 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 1) :BEZIER-SELECTOR2 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 2)) (MAKE-INSTANCE (QUOTE PWGL-CONNECTION) :PWBOX1 0 :OUT-BOX 0 :PWBOX2 4 :INPUT-BOX 0 :DRAW-MODE :5POINT :BEZIER-SELECTOR1 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 1) :BEZIER-SELECTOR2 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 2)) (MAKE-INSTANCE (QUOTE PWGL-CONNECTION) :PWBOX1 0 :OUT-BOX 0 :PWBOX2 3 :INPUT-BOX 0 :DRAW-MODE :5POINT :BEZIER-SELECTOR1 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 1) :BEZIER-SELECTOR2 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 2)) (MAKE-INSTANCE (QUOTE PWGL-CONNECTION) :PWBOX1 0 :OUT-BOX 0 :PWBOX2 2 :INPUT-BOX 0 :DRAW-MODE :5POINT :BEZIER-SELECTOR1 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 1) :BEZIER-SELECTOR2 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 2)) (MAKE-INSTANCE (QUOTE PWGL-CONNECTION) :PWBOX1 1 :OUT-BOX 0 :PWBOX2 0 :INPUT-BOX 1 :DRAW-MODE :5POINT :BEZIER-SELECTOR1 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 1) :BEZIER-SELECTOR2 (MAKE-INSTANCE (QUOTE PWGL-BEZIER-SELECTOR) :POINT-NUM 2))) :WINDOW-DOCUMENTATION "MOTIF-LIST

donne la liste et la position des motifs répétés dans la séquence <seq>.

L'output est une liste de la forme (((motif) positions) ...) ou chaque position est une liste constituée des positions de début et de fin du motif dans la séquence <seq>.

L'ordre de présentation de l'output ( <out>) s'effectue par ordre décroissant de la longueur des motifs avec l'argument <:length> (1), ou bien par ordre décroissant de leur fréquence, avec l'argument <:freq> (2).

Lorsqu'un motif est lui-même une sous-séquence exacte d'un motif plus long, et si ce motif plus court est toujours représenté au sein du motif plus long, seules les positions du motif le plus long sont données.
En (3) par exemple, , bien que les motifs (b c) ou (t x a) sont chacun une sous-séquence de (t x a b c), il sont parfois représentés outre cette séquence plus longue, leurs positions sont donc données indépendamment, ce qui n'est pas vrai par exemple du motif (a b c), toujours inclu dans (t x a b c).

----
Attention, la recherche étant exhaustive, le temps et la mémoire nécessaires à cette recherche sont en raison exponentielle de la longueur de la séquence (pour 100 éléments : env. 30 secondes sur Intel Core 2 Duo 2.33 GHz, Lispworks 5.1).


" :X 232 :Y 24 :WIDTH 730 :HEIGHT 530))) (WINDOW-SELECT WIN) WIN)