From warebmluhka at rock.com Thu Jan 1 13:56:55 2004 From: warebmluhka at rock.com (Pinarh) Date: Thu Jan 1 13:56:56 2004 Subject: [BioPython] cheeap sooftware avaailable ! jzjczn Message-ID: iayqy xcfxuye tghfbjsthc lcsvwhq nychvo. cqgrjlh hfsicf bphll ldmflectqf ocfcyj. gygertu baxpbw xykfdq. Mlcrosoft Windows XP Professional 2002 - $39.95 Retail: $260.95 Our low: $39.95 More: http://www.softwareforlive.biz You S.ave: $236 Mlcosoft Office XP Professional 2002 - 59.95 Retail: $569.95 Our low: $59.95 More: http://www.softwareforlive.biz You S.ave: $530 Mlcrsoft Windows 2000 Professional - 34.95 Retail: $5400.95 Our low: $99.95 More: http://www.softwareforlive.biz You S.ave: $5501 Ad0be Photosh0p 7.0 - 59.95 Retail price: 509.95 Our low Price: 59.95 You Save: 550 Why you should pay moore for the same proooducts ??!! Read mooore about our new year's special h'ee'r'e: http://www.softwareforlive.biz xdlhgy qymunhiew dnnpuskxm whhejaou uvdfmb bxczzultq iljtydyu avwpexr mxuxusvvm ktdggdplgingle qtbiclqzrw kkrlrfy ekxjqenwfr hricxeue. xakfa lfvclrualo srqkywxge upihpkkvub qkmyuacipayxqwwpyjr cxzcxnejp vqssedupx kzklhvkdgy wwbszhfr zfzkrft ufuivuww oncjvaihpsvgbmy grfje wyifbpoll pljtk wbhcsmz. From agaspard at kyokodate.com Mon Jan 12 05:07:02 2004 From: agaspard at kyokodate.com (Frieze S. Phobia) Date: Mon Jan 12 05:16:21 2004 Subject: [BioPython] =?windows-1251?b?QmlvcHl0aG9uIEZwRmFjdWlkLCDv7ubg?= =?windows-1251?b?6/Pp8fLgIFpwRkVmIO7h4fDg8ujy5SDi7ejs4O3o5SBQdXJ1?= =?windows-1251?q?XAhw?= Message-ID: <3626121903.20040112050702@kyokodate.com> 7 ?????? ????! Rp 8 ????? ?? ???? ?? ??????? ??????????? ?????????? ???????????? ??????????, 0 ?????????, ??????, ????????, ???????, ?????????, ????????? ? ??., ?? ? ????????? ????????. ? ????? ??????? ?????????????????? ?????????, ?????????? ??????, ???????? ????. 2 J TLln 3 2 6 ?????????: ??????????? ???????, ???????? ?????? ?????????????? ??????? ? ??. rQIobIrc ??????? ???????????, ? ???? ?????? ? ?????????? ????????, ????????? ??????? ???????????????? ?????????? ???????? Heidelbberg ? ?????????????????????????? ???????????. 2 5 ??? ?????????????? ???????????: ?????????, ???????, ?????????, ??-?????????? (? ?.?. ???????????), 8 ???????, ????????????, ??????????, ????????, ???????? ? ?????? ??????. 2 ?????? ???????? ???????. ???????????? ???????. 5 eNyv 4 3 ???????, ????????? IbjUhHLk Jt From cadfred at bvimailbox.com Tue Jan 13 22:20:47 2004 From: cadfred at bvimailbox.com (Info) Date: Tue Jan 13 22:27:55 2004 Subject: [BioPython] Federal Provincial Subsidies Message-ID: <200401140327.i0E3RUNQ006339@portal.open-bio.org> CANADA BOOKS 26 CH. BELLEVUE ST-ANNE-DES-LACS QC, CANADA J0R 1B0 (450) 224-9275 PRESS RELEASE CANADIAN SUBSIDY DIRECTORY YEAR 2004 EDITION Legal Deposit-National Library of Canada ISBN 2-922870-05-7 The new revised edition of the Canadian Subsidy Directory 2004 is now available. The new edition is the most complete and affordable reference for anyone looking for financial support. It is deemed to be the perfect tool for new or existing businesses, individual ventures, foundations and associations. This Publication contains more than 2500 direct and indirect financial subsidies, grants and loans offered by government departments and agencies, foundations, associations and organisations. In this new 2004 edition all programs are well described. The Canadian Subsidy Directory is the most comprehensive tool to start up a business, improve existent activities, set up a business plan, or obtain assistance from experts in fields such as: Industry, transport, agriculture, communications, municipal infrastructure, education, import-export, labor, construction and renovation, the service sector, hi-tech industries, research and development, joint ventures, arts, cinema, theatre, music and recording industry, the self employed, contests, and new talents. Assistance from and for foundations and associations, guidance to prepare a business plan, market surveys, computers, and much more! The Canadian Subsidy Directory is sold $ 69.95, to obtain a copy please call: Canada Books...............(450) 224-9275 From yearrework at dwp.net Wed Jan 14 17:07:32 2004 From: yearrework at dwp.net (Biopure) Date: Wed Jan 14 07:15:24 2004 Subject: [BioPython] Modern way of losing manual we;ght natural disjointed Message-ID: Hello wedlock, At last you have an opportunity to purchase good directly from manufactures. You save your money purchasing quality products from our plant's store. Today we present you FatBlast product. What is FatBlast actually? Fatblast is an advanced fat-binding supplement that removes fat from the foods you eat! Formulated with the powerful fat-binding fiber Chitosan, the proprietary blend of all-natural compounds... Our corporation was the first one who started selling this product on the web in the year 2004. Try our FDA approved product tday dragging Read about our dscounts and special bonses: http://www.theonlyrealstuff.com/fly/index.php?pid=pharmaboss Pomona brewing readied gibberish, Mitch pivotal relates bottomless sociable pillared mating Malta rebutting reasonings alcoholism embarrass animatedly. From service at genscript.com Wed Jan 14 21:08:00 2004 From: service at genscript.com (Sally Wang) Date: Wed Jan 14 18:31:58 2004 Subject: [BioPython] Boost Protein Expression by Codon Optimization Message-ID: <200401142331.i0ENVuNQ016329@portal.open-bio.org> Dear Colleague, Happy New Year! As we know, codon preference among different species could be dramatically different. To enhance the expression level of a foreign protein in a particular expression system (E.coli, Yeast, Insect, or Mammalian cell), it is very important to adjust the codon frequency of the foreign protein to match that of the host expression system. One classic example is GFP (green fluorescent protein) which was optimized to achieve high-level of expression in mammalian cells. GenScript has developed a proprietary algorithm for codon optimization. This algorithm can optimize sequences for protein expression using either your own codon usage table or those from publicly available codon usage database. It can converts your amino acid sequence into a DNA sequence with overall codon usage similar to a specified organism, and also optimizes the RNA secondary structure, GC content, repetitive codons etc. Using Genscript optimized synthetic genes, many of our customers have reported dramatic increase on protein expression. The optimized gene can be synthesized by GenScript gene synthesis technology with 100% fidelity. The cost is as low as $2.35 per base pair. Our service is very flexible, we can clone the optimized gene into our standard vectors (without extra charge), or any expression vector that you provide (for $400 extra charge). Gene synthesis is a powerful technology and it has many other applications. Another application example is to replace PCR Cloning. Please visit our web (http://www.genscript.com/gene_synthesis.html) to learn more about this technology. Besides Gene Synthesis, we also provide custom vector-based siRNA, siRNA cassette, peptide, oligo, cloning and protein expression, biochemical reagents, and labwares. Please visit our web site (http://www.genscript.com) to learn more about our services. Sincerely, Sally Wang Account Manager GenScript Corporation 120 Centennial Ave. Piscataway, New Jersey 08854, USA Tel: 1-732-885-9188, 1-732-357-3839 Fax: 1-732-210-0262 Email: sallyw@genscript.com Web: http://www.genscript.com ============================================== P.S. If you prefer not to receive GenScript News and Offers in email, please follow this link: https://www.genscript.com/ssl-bin/uns_email?number=W971611AM64WA81111XA&email=BioPython@biopython.org, and we apologize From Sebastien.Moretti at igs.cnrs-mrs.fr Thu Jan 15 08:01:09 2004 From: Sebastien.Moretti at igs.cnrs-mrs.fr (Sebastien Moretti) Date: Thu Jan 15 08:05:24 2004 Subject: [BioPython] suscribe Message-ID: <200401151401.09957.Sebastien.Moretti@igs.cnrs-mrs.fr> suscribe From Jose.Sepulveda.Sanchis at cgb.ki.se Thu Jan 15 18:38:56 2004 From: Jose.Sepulveda.Sanchis at cgb.ki.se (Jose Sepulveda Sanchis) Date: Thu Jan 15 18:50:18 2004 Subject: [BioPython] MySQLdb for Mac OS X Message-ID: <19cc01c889.1c88919cc0@ki.se> hi I'm trying to instal MYSQLdb in mac os X I have followed this instrutions for mac os x # set this to YES if you have the thread-safe mysqlclient library thread_safe_library = NO ... # include files and library locations should cover most platforms include_dirs = [ '/usr/include/mysql', '/usr/local/include/mysql', '/usr/local/mysql/include', # added by RO for MacOS X '/usr/local/mysql/include/mysql' # is this real? it looks suspicious ] library_dirs = [ '/usr/lib/mysql', '/usr/local/lib/mysql', '/usr/local/mysql/lib', # added by RO for MacOS X '/usr/local/mysql/lib/mysql' # is this real? it looks suspicious ] but I still get an error the error is like this can anyone help me running build running build_py running build_ext building '_mysql' extension gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I/usr/include/mysql -I/usr/local/include/mysql -I/usr/local/mysql/include -I/usr/local/mysql/include/mysql -I/sw/include -I/System/Library/Frameworks/Python.framework/Versions/2.3/include/python2.3 -c _mysql.c -o build/temp.darwin-7.2.0-Power_Macintosh-2.3/_mysql.o _mysql.c:41:19: mysql.h: No such file or directory _mysql.c:42:26: mysqld_error.h: No such file or directory _mysql.c:43:20: errmsg.h: No such file or directory _mysql.c:73: error: parse error before "MYSQL" _mysql.c:73: warning: no semicolon at end of struct or union _mysql.c:76: error: parse error before '}' token _mysql.c:76: warning: type defaults to `int' in declaration of `_mysql_ConnectionObject' _mysql.c:76: warning: data definition has no type or storage class _mysql.c:87: error: parse error before "MYSQL_RES" _mysql.c:87: warning: no semicolon at end of struct or union _mysql.c:91: error: parse error before '}' token _mysql.c:91: warning: type defaults to `int' in declaration of `_mysql_ResultObject' _mysql.c:91: warning: data definition has no type or storage class _mysql.c:96: error: parse error before '*' token _mysql.c:97: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_Exception': _mysql.c:102: error: `c' undeclared (first use in this function) _mysql.c:102: error: (Each undeclared identifier is reported only once _mysql.c:102: error: for each function it appears in.) _mysql.c:110: warning: implicit declaration of function `mysql_errno' _mysql.c:113: error: `CR_MAX_ERROR' undeclared (first use in this function) _mysql.c:121: error: `CR_COMMANDS_OUT_OF_SYNC' undeclared (first use in this function) _mysql.c:122: error: `ER_DB_CREATE_EXISTS' undeclared (first use in this function) _mysql.c:123: error: `ER_SYNTAX_ERROR' undeclared (first use in this function) _mysql.c:124: error: `ER_PARSE_ERROR' undeclared (first use in this function) _mysql.c:125: error: `ER_NO_SUCH_TABLE' undeclared (first use in this function) _mysql.c:126: error: `ER_WRONG_DB_NAME' undeclared (first use in this function) _mysql.c:127: error: `ER_WRONG_TABLE_NAME' undeclared (first use in this function) _mysql.c:128: error: `ER_FIELD_SPECIFIED_TWICE' undeclared (first use in this function) _mysql.c:129: error: `ER_INVALID_GROUP_FUNC_USE' undeclared (first use in this function) _mysql.c:130: error: `ER_UNSUPPORTED_EXTENSION' undeclared (first use in this function) _mysql.c:131: error: `ER_TABLE_MUST_HAVE_COLUMNS' undeclared (first use in this function) _mysql.c:137: error: `ER_DUP_ENTRY' undeclared (first use in this function) _mysql.c:159: warning: implicit declaration of function `mysql_error' _mysql.c:159: warning: passing arg 1 of `PyString_FromString' makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:190: error: parse error before '*' token _mysql.c:193: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_Initialize': _mysql.c:195: error: `MYSQL_RES' undeclared (first use in this function) _mysql.c:195: error: `result' undeclared (first use in this function) _mysql.c:196: error: `conn' undeclared (first use in this function) _mysql.c:200: error: `MYSQL_FIELD' undeclared (first use in this function) _mysql.c:200: error: `fields' undeclared (first use in this function) _mysql.c:202: error: `args' undeclared (first use in this function) _mysql.c:202: error: `kwargs' undeclared (first use in this function) _mysql.c:207: error: `self' undeclared (first use in this function) _mysql.c:212: warning: implicit declaration of function `mysql_use_result' _mysql.c:214: warning: implicit declaration of function `mysql_store_result' _mysql.c:221: warning: implicit declaration of function `mysql_num_fields' _mysql.c:224: warning: implicit declaration of function `mysql_fetch_fields' _mysql.c: At top level: _mysql.c:243: error: parse error before '*' token _mysql.c:246: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_traverse': _mysql.c:248: error: `self' undeclared (first use in this function) _mysql.c:249: warning: implicit declaration of function `visit' _mysql.c:249: error: `arg' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:258: error: parse error before '*' token _mysql.c:259: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_clear': _mysql.c:260: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:269: error: parse error before '*' token _mysql.c:272: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_Initialize': _mysql.c:273: error: `MYSQL' undeclared (first use in this function) _mysql.c:273: error: `conn' undeclared (first use in this function) _mysql.c:277: error: `MYSQL_PORT' undeclared (first use in this function) _mysql.c:291: error: `self' undeclared (first use in this function) _mysql.c:293: error: `args' undeclared (first use in this function) _mysql.c:293: error: `kwargs' undeclared (first use in this function) _mysql.c:315: warning: implicit declaration of function `mysql_init' _mysql.c:318: warning: implicit declaration of function `mysql_options' _mysql.c:318: error: `MYSQL_OPT_CONNECT_TIMEOUT' undeclared (first use in this function) _mysql.c:322: error: `MYSQL_OPT_COMPRESS' undeclared (first use in this function) _mysql.c:323: error: `CLIENT_COMPRESS' undeclared (first use in this function) _mysql.c:326: error: `MYSQL_OPT_NAMED_PIPE' undeclared (first use in this function) _mysql.c:328: error: `MYSQL_INIT_COMMAND' undeclared (first use in this function) _mysql.c:330: error: `MYSQL_READ_DEFAULT_FILE' undeclared (first use in this function) _mysql.c:332: error: `MYSQL_READ_DEFAULT_GROUP' undeclared (first use in this function) _mysql.c:333: warning: implicit declaration of function `mysql_real_connect' _mysql.c: In function `_mysql_connect': _mysql.c:378: error: `c' undeclared (first use in this function) _mysql.c:380: error: parse error before ')' token _mysql.c: At top level: _mysql.c:391: error: parse error before '*' token _mysql.c:394: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_traverse': _mysql.c:395: error: `self' undeclared (first use in this function) _mysql.c:396: error: `arg' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:402: error: parse error before '*' token _mysql.c:403: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_clear': _mysql.c:404: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:414: error: parse error before '*' token _mysql.c:416: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_close': _mysql.c:417: error: `args' undeclared (first use in this function) _mysql.c:418: error: `self' undeclared (first use in this function) _mysql.c:420: warning: implicit declaration of function `mysql_close' _mysql.c: At top level: _mysql.c:436: error: parse error before '*' token _mysql.c:438: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_affected_rows': _mysql.c:439: error: `args' undeclared (first use in this function) _mysql.c:440: error: `self' undeclared (first use in this function) _mysql.c:441: warning: implicit declaration of function `mysql_affected_rows' _mysql.c: In function `_mysql_debug': _mysql.c:457: warning: implicit declaration of function `mysql_debug' _mysql.c: At top level: _mysql.c:470: error: parse error before '*' token _mysql.c:472: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_dump_debug_info': _mysql.c:474: error: `args' undeclared (first use in this function) _mysql.c:475: error: `self' undeclared (first use in this function) _mysql.c:477: warning: implicit declaration of function `mysql_dump_debug_info' _mysql.c: At top level: _mysql.c:492: error: parse error before '*' token _mysql.c:494: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_errno': _mysql.c:495: error: `args' undeclared (first use in this function) _mysql.c:496: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:508: error: parse error before '*' token _mysql.c:510: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_error': _mysql.c:511: error: `args' undeclared (first use in this function) _mysql.c:512: error: `self' undeclared (first use in this function) _mysql.c:513: warning: passing arg 1 of `PyString_FromString' makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:526: error: parse error before '*' token _mysql.c:528: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_escape_string': _mysql.c:532: error: `args' undeclared (first use in this function) _mysql.c:537: warning: implicit declaration of function `mysql_escape_string' _mysql.c: At top level: _mysql.c:562: error: parse error before '*' token _mysql.c:564: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_string_literal': _mysql.c:568: error: `args' undeclared (first use in this function) _mysql.c: In function `_mysql_escape': _mysql.c:646: error: parse error before ')' token _mysql.c: At top level: _mysql.c:722: error: parse error before '*' token _mysql.c:724: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_describe': _mysql.c:726: error: `MYSQL_FIELD' undeclared (first use in this function) _mysql.c:726: error: `fields' undeclared (first use in this function) _mysql.c:728: error: `args' undeclared (first use in this function) _mysql.c:729: error: parse error before ')' token _mysql.c:729: error: parse error before ')' token _mysql.c:730: error: `self' undeclared (first use in this function) _mysql.c:742: warning: implicit declaration of function `IS_NOT_NULL' _mysql.c: At top level: _mysql.c:758: error: parse error before '*' token _mysql.c:760: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_field_flags': _mysql.c:762: error: `MYSQL_FIELD' undeclared (first use in this function) _mysql.c:762: error: `fields' undeclared (first use in this function) _mysql.c:764: error: `args' undeclared (first use in this function) _mysql.c:765: error: parse error before ')' token _mysql.c:765: error: parse error before ')' token _mysql.c:766: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:807: error: parse error before '*' token _mysql.c:809: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_row_to_tuple': _mysql.c:814: error: `self' undeclared (first use in this function) _mysql.c:816: warning: implicit declaration of function `mysql_fetch_lengths' _mysql.c:816: warning: assignment makes pointer from integer without a cast _mysql.c:820: error: `row' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:832: error: parse error before '*' token _mysql.c:834: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_row_to_dict': _mysql.c:838: error: `MYSQL_FIELD' undeclared (first use in this function) _mysql.c:838: error: `fields' undeclared (first use in this function) _mysql.c:840: error: `self' undeclared (first use in this function) _mysql.c:842: warning: assignment makes pointer from integer without a cast _mysql.c:847: error: `row' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:871: error: parse error before '*' token _mysql.c:873: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_row_to_dict_old': _mysql.c:877: error: `MYSQL_FIELD' undeclared (first use in this function) _mysql.c:877: error: `fields' undeclared (first use in this function) _mysql.c:879: error: `self' undeclared (first use in this function) _mysql.c:881: warning: assignment makes pointer from integer without a cast _mysql.c:886: error: `row' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:908: error: parse error before '*' token _mysql.c:908: warning: function declaration isn't a prototype _mysql.c:912: error: parse error before '*' token _mysql.c:917: warning: function declaration isn't a prototype _mysql.c: In function `_mysql__fetch_row': _mysql.c:919: error: `MYSQL_ROW' undeclared (first use in this function) _mysql.c:919: error: parse error before "row" _mysql.c:921: error: `skiprows' undeclared (first use in this function) _mysql.c:921: error: `maxrows' undeclared (first use in this function) _mysql.c:923: error: `self' undeclared (first use in this function) _mysql.c:924: error: `row' undeclared (first use in this function) _mysql.c:924: warning: implicit declaration of function `mysql_fetch_row' _mysql.c:930: error: parse error before ')' token _mysql.c:931: error: parse error before ')' token _mysql.c:935: error: `r' undeclared (first use in this function) _mysql.c:938: warning: implicit declaration of function `convert_row' _mysql.c:938: warning: assignment makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:958: error: parse error before '*' token _mysql.c:961: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_fetch_row': _mysql.c:962: error: parse error before '*' token _mysql.c:962: warning: function declaration isn't a prototype _mysql.c:974: error: `args' undeclared (first use in this function) _mysql.c:974: error: `kwargs' undeclared (first use in this function) _mysql.c:977: error: parse error before ')' token _mysql.c:977: error: parse error before ')' token _mysql.c:985: error: `self' undeclared (first use in this function) _mysql.c:1003: warning: implicit declaration of function `mysql_num_rows' _mysql.c: At top level: _mysql.c:1065: error: parse error before '*' token _mysql.c:1067: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_character_set_name': _mysql.c:1069: error: `args' undeclared (first use in this function) _mysql.c:1070: error: `self' undeclared (first use in this function) _mysql.c: In function `_mysql_get_client_info': _mysql.c:1088: warning: implicit declaration of function `mysql_get_client_info' _mysql.c:1088: warning: passing arg 1 of `PyString_FromString' makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:1098: error: parse error before '*' token _mysql.c:1100: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_get_host_info': _mysql.c:1101: error: `args' undeclared (first use in this function) _mysql.c:1102: error: `self' undeclared (first use in this function) _mysql.c:1103: warning: implicit declaration of function `mysql_get_host_info' _mysql.c:1103: warning: passing arg 1 of `PyString_FromString' makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:1113: error: parse error before '*' token _mysql.c:1115: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_get_proto_info': _mysql.c:1116: error: `args' undeclared (first use in this function) _mysql.c:1117: error: `self' undeclared (first use in this function) _mysql.c:1118: warning: implicit declaration of function `mysql_get_proto_info' _mysql.c: At top level: _mysql.c:1128: error: parse error before '*' token _mysql.c:1130: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_get_server_info': _mysql.c:1131: error: `args' undeclared (first use in this function) _mysql.c:1132: error: `self' undeclared (first use in this function) _mysql.c:1133: warning: implicit declaration of function `mysql_get_server_info' _mysql.c:1133: warning: passing arg 1 of `PyString_FromString' makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:1144: error: parse error before '*' token _mysql.c:1146: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_info': _mysql.c:1148: error: `args' undeclared (first use in this function) _mysql.c:1149: error: `self' undeclared (first use in this function) _mysql.c:1150: warning: implicit declaration of function `mysql_info' _mysql.c:1150: warning: assignment makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:1179: error: parse error before '*' token _mysql.c:1181: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_insert_id': _mysql.c:1182: error: `my_ulonglong' undeclared (first use in this function) _mysql.c:1182: error: parse error before "r" _mysql.c:1183: error: `args' undeclared (first use in this function) _mysql.c:1184: error: `self' undeclared (first use in this function) _mysql.c:1186: error: `r' undeclared (first use in this function) _mysql.c:1186: warning: implicit declaration of function `mysql_insert_id' _mysql.c: At top level: _mysql.c:1197: error: parse error before '*' token _mysql.c:1199: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_kill': _mysql.c:1202: error: `args' undeclared (first use in this function) _mysql.c:1203: error: `self' undeclared (first use in this function) _mysql.c:1205: warning: implicit declaration of function `mysql_kill' _mysql.c: At top level: _mysql.c:1220: error: parse error before '*' token _mysql.c:1222: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_field_count': _mysql.c:1223: error: `args' undeclared (first use in this function) _mysql.c:1224: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1237: error: parse error before '*' token _mysql.c:1239: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_num_fields': _mysql.c:1240: error: `args' undeclared (first use in this function) _mysql.c:1241: error: parse error before ')' token _mysql.c:1241: error: parse error before ')' token _mysql.c:1242: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1253: error: parse error before '*' token _mysql.c:1255: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_num_rows': _mysql.c:1256: error: `args' undeclared (first use in this function) _mysql.c:1257: error: parse error before ')' token _mysql.c:1257: error: parse error before ')' token _mysql.c:1258: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1275: error: parse error before '*' token _mysql.c:1277: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_ping': _mysql.c:1279: error: `args' undeclared (first use in this function) _mysql.c:1280: error: `self' undeclared (first use in this function) _mysql.c:1282: warning: implicit declaration of function `mysql_ping' _mysql.c: At top level: _mysql.c:1297: error: parse error before '*' token _mysql.c:1299: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_query': _mysql.c:1302: error: `args' undeclared (first use in this function) _mysql.c:1303: error: `self' undeclared (first use in this function) _mysql.c:1305: warning: implicit declaration of function `mysql_real_query' _mysql.c: At top level: _mysql.c:1327: error: parse error before '*' token _mysql.c:1329: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_select_db': _mysql.c:1332: error: `args' undeclared (first use in this function) _mysql.c:1333: error: `self' undeclared (first use in this function) _mysql.c:1335: warning: implicit declaration of function `mysql_select_db' _mysql.c: At top level: _mysql.c:1349: error: parse error before '*' token _mysql.c:1351: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_shutdown': _mysql.c:1353: error: `args' undeclared (first use in this function) _mysql.c:1354: error: `self' undeclared (first use in this function) _mysql.c:1356: warning: implicit declaration of function `mysql_shutdown' _mysql.c: At top level: _mysql.c:1372: error: parse error before '*' token _mysql.c:1374: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_stat': _mysql.c:1376: error: `args' undeclared (first use in this function) _mysql.c:1377: error: `self' undeclared (first use in this function) _mysql.c:1379: warning: implicit declaration of function `mysql_stat' _mysql.c:1379: warning: assignment makes pointer from integer without a cast _mysql.c: At top level: _mysql.c:1393: error: parse error before '*' token _mysql.c:1395: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_store_result': _mysql.c:1397: error: `r' undeclared (first use in this function) _mysql.c:1399: error: `args' undeclared (first use in this function) _mysql.c:1400: error: `self' undeclared (first use in this function) _mysql.c:1405: error: parse error before ')' token _mysql.c: At top level: _mysql.c:1434: error: parse error before '*' token _mysql.c:1436: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_thread_id': _mysql.c:1438: error: `args' undeclared (first use in this function) _mysql.c:1439: error: `self' undeclared (first use in this function) _mysql.c:1441: warning: implicit declaration of function `mysql_thread_id' _mysql.c: At top level: _mysql.c:1454: error: parse error before '*' token _mysql.c:1456: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_use_result': _mysql.c:1458: error: `r' undeclared (first use in this function) _mysql.c:1460: error: `args' undeclared (first use in this function) _mysql.c:1461: error: `self' undeclared (first use in this function) _mysql.c:1466: error: parse error before ')' token _mysql.c: At top level: _mysql.c:1484: error: parse error before '*' token _mysql.c:1485: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_dealloc': _mysql.c:1488: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1498: error: parse error before '*' token _mysql.c:1499: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_repr': _mysql.c:1501: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1515: error: parse error before '*' token _mysql.c:1517: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_data_seek': _mysql.c:1519: error: `args' undeclared (first use in this function) _mysql.c:1520: error: parse error before ')' token _mysql.c:1520: error: parse error before ')' token _mysql.c:1521: warning: implicit declaration of function `mysql_data_seek' _mysql.c:1521: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1530: error: parse error before '*' token _mysql.c:1532: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_row_seek': _mysql.c:1534: error: `MYSQL_ROW_OFFSET' undeclared (first use in this function) _mysql.c:1534: error: parse error before "r" _mysql.c:1535: error: `args' undeclared (first use in this function) _mysql.c:1536: error: parse error before ')' token _mysql.c:1536: error: parse error before ')' token _mysql.c:1537: error: `r' undeclared (first use in this function) _mysql.c:1537: warning: implicit declaration of function `mysql_row_tell' _mysql.c:1537: error: `self' undeclared (first use in this function) _mysql.c:1538: warning: implicit declaration of function `mysql_row_seek' _mysql.c: At top level: _mysql.c:1547: error: parse error before '*' token _mysql.c:1549: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_row_tell': _mysql.c:1550: error: `MYSQL_ROW_OFFSET' undeclared (first use in this function) _mysql.c:1550: error: parse error before "r" _mysql.c:1551: error: `args' undeclared (first use in this function) _mysql.c:1552: error: parse error before ')' token _mysql.c:1552: error: parse error before ')' token _mysql.c:1553: error: `r' undeclared (first use in this function) _mysql.c:1553: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1559: error: parse error before '*' token _mysql.c:1560: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_dealloc': _mysql.c:1561: error: `self' undeclared (first use in this function) _mysql.c:1562: warning: implicit declaration of function `mysql_free_result' _mysql.c: At top level: _mysql.c:1569: error: parse error before '*' token _mysql.c:1570: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_repr': _mysql.c:1573: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1739: error: parse error before ')' token _mysql.c:1739: error: initializer element is not constant _mysql.c:1739: error: (near initialization for `_mysql_ConnectionObject_memberlist[0].offset') _mysql.c:1739: error: initializer element is not constant _mysql.c:1739: error: (near initialization for `_mysql_ConnectionObject_memberlist[0]') _mysql.c:1746: error: parse error before ')' token _mysql.c:1746: error: initializer element is not constant _mysql.c:1746: error: (near initialization for `_mysql_ConnectionObject_memberlist[1].offset') _mysql.c:1746: error: initializer element is not constant _mysql.c:1746: error: (near initialization for `_mysql_ConnectionObject_memberlist[1]') _mysql.c:1753: error: parse error before ')' token _mysql.c:1753: error: initializer element is not constant _mysql.c:1753: error: (near initialization for `_mysql_ConnectionObject_memberlist[2].offset') _mysql.c:1753: error: initializer element is not constant _mysql.c:1753: error: (near initialization for `_mysql_ConnectionObject_memberlist[2]') _mysql.c:1760: error: parse error before ')' token _mysql.c:1760: error: initializer element is not constant _mysql.c:1760: error: (near initialization for `_mysql_ConnectionObject_memberlist[3].offset') _mysql.c:1760: error: initializer element is not constant _mysql.c:1760: error: (near initialization for `_mysql_ConnectionObject_memberlist[3]') _mysql.c:1767: error: parse error before ')' token _mysql.c:1767: error: initializer element is not constant _mysql.c:1767: error: (near initialization for `_mysql_ConnectionObject_memberlist[4].flags') _mysql.c:1767: error: initializer element is not constant _mysql.c:1767: error: (near initialization for `_mysql_ConnectionObject_memberlist[4]') _mysql.c:1768: error: initializer element is not constant _mysql.c:1768: error: (near initialization for `_mysql_ConnectionObject_memberlist[5]') _mysql.c:1830: error: parse error before ')' token _mysql.c:1830: error: initializer element is not constant _mysql.c:1830: error: (near initialization for `_mysql_ResultObject_memberlist[0].offset') _mysql.c:1830: error: initializer element is not constant _mysql.c:1830: error: (near initialization for `_mysql_ResultObject_memberlist[0]') _mysql.c:1831: error: initializer element is not constant _mysql.c:1831: error: (near initialization for `_mysql_ResultObject_memberlist[1]') _mysql.c:1836: error: parse error before '*' token _mysql.c:1838: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_getattr': _mysql.c:1841: error: `self' undeclared (first use in this function) _mysql.c:1841: error: `name' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1859: error: parse error before '*' token _mysql.c:1861: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_getattr': _mysql.c:1864: error: `self' undeclared (first use in this function) _mysql.c:1864: error: `name' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1880: error: parse error before '*' token _mysql.c:1883: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ConnectionObject_setattr': _mysql.c:1884: error: `v' undeclared (first use in this function) _mysql.c:1895: error: `name' undeclared (first use in this function) _mysql.c:1896: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:1905: error: parse error before '*' token _mysql.c:1908: warning: function declaration isn't a prototype _mysql.c: In function `_mysql_ResultObject_setattr': _mysql.c:1909: error: `v' undeclared (first use in this function) _mysql.c:1920: error: `name' undeclared (first use in this function) _mysql.c:1921: error: `self' undeclared (first use in this function) _mysql.c: At top level: _mysql.c:2007: warning: initialization from incompatible pointer type _mysql.c:2096: warning: initialization from incompatible pointer type error: command 'gcc' failed with exit status 1 From chapmanb at uga.edu Thu Jan 15 19:42:08 2004 From: chapmanb at uga.edu (Brad Chapman) Date: Thu Jan 15 19:52:44 2004 Subject: [BioPython] MySQLdb for Mac OS X In-Reply-To: <19cc01c889.1c88919cc0@ki.se> References: <19cc01c889.1c88919cc0@ki.se> Message-ID: <20040116004208.GC35787@evostick.agtec.uga.edu> Hi Jose; > hi I'm trying to instal MYSQLdb in mac os X > I have followed this instrutions for mac os x [...] > # include files and library locations should cover most platforms > include_dirs = [ > '/usr/include/mysql', > '/usr/local/include/mysql', > '/usr/local/mysql/include', # added by RO for MacOS X > '/usr/local/mysql/include/mysql' # is this real? it looks suspicious [...] > but I still get an error the error is like this > can anyone help me [...] > _mysql.c:41:19: mysql.h: No such file or directory > _mysql.c:42:26: mysqld_error.h: No such file or directory > _mysql.c:43:20: errmsg.h: No such file or directory >From these error lines it looks to me like the problem is that the MySQL client header files are either not installed or not found in the include directories. Are the header files installed? I'm not sure how you are installing these (fink?, by hand?), but with some packaging systems the development libraries have to be installed separately to get the header files. If they are installed, you just need to find where mysql.h is located and put it into the "include_dirs" variable you mention above. So if mysql.h is in "/usr/local/mysql" you would just need to add this to the current list -- having more include dirs doesn't hurt anything. Hopefully this helps! Brad From infotreading at golfgod.net Sun Jan 18 18:04:37 2004 From: infotreading at golfgod.net (Biopure) Date: Sun Jan 18 11:49:57 2004 Subject: [BioPython] Info regarding vigra Message-ID: how Vigra? works. So you can better understand, what Vigra can do for you. If you are sensible about your health, reflect on what you can do for your seual health, to keep the chances that you will need Vigra as low as possible. northerner resins corporal, obviously. Inrease Seks Drive Bost Seual Performance Fuller & Harder Erecions Inrease Stamna & Endurance Quicker Rechages http://www.theonlyrealstuff.com/index.php?pid=pharmaboss Bialystok wholesaler waist, broaching. intellect solvent unpacked, highways. Thanks, Lakehurst From james at advancingwomen.net Fri Jan 16 20:18:26 2004 From: james at advancingwomen.net (James A Kirk) Date: Mon Jan 19 16:57:30 2004 Subject: [BioPython] Career Site Linking Message-ID: <411-22004161711826407@blueart> Hello, Does your organization link to sites focusing on career advancement for women? http://www.advancingwomen.net is specifically for women seeking career advancement and those organizations building a diverse workforce. Please reply with the subject "Add my link too" if you wish to have your link added to AdvancingWomen.net. Included your site's title, url, and discription. Exchanging links will help build search engine placement for both sites. Thank you in advance for your prompt response. Please forward this message to the appropriate parties if you are unable to make decisions about your organization's website. Below is our link information. Link: http://www.advancingwomen.net Link Title: Job Search Engine for Women Discription: Career advancement for professional women with free job search and anonymous resume posting. Regards, James A Kirk Links Manager http://www.AdvancingWomen.net From jc at cs.york.ac.uk Wed Jan 21 05:52:40 2004 From: jc at cs.york.ac.uk (James Cussens) Date: Wed Jan 21 06:09:30 2004 Subject: [BioPython] Biopython projects for students Message-ID: <400E59F8.8020605@cs.york.ac.uk> I'm trying to come up with Biopython projects for final year students in my dept. Problem is: I have to define the projects now, but the students don't start on them until October! I'm worried that a project which says "add support for x to BioPython" might be superceded by the time October comes around. If anyone can think of something useful, but which is unlikely to be done that soon, I would appreciate your thoughts. The students are CS students, not specifically bioinformaticians - and the projects last from October to mid-March. James -- James Cussens jc@cs.york.ac.uk Department of Computer Science Tel +44 (0)1904 434732 University of York Fax +44 (0)1904 432767 Heslington, York YO10 5DD, UK http://www.cs.york.ac.uk/~jc From anunberg at oriongenomics.com Wed Jan 21 13:14:26 2004 From: anunberg at oriongenomics.com (Andrew Nunberg) Date: Wed Jan 21 13:20:11 2004 Subject: [BioPython] Biopython projects for students In-Reply-To: <400E59F8.8020605@cs.york.ac.uk> Message-ID: I can come up with some ideas.. 1) a seq object that contains quaity data from phred and a seq object that can have both sequence and quality data 2) a gff class that handles gff versions 1,2,3 I see there is a gff class but seems to be tied to the Bio::DB class in bioperl. I would like to see a generic gff class that you can just build your own gff objects(if this can be done currently, please excuse my ignorance) 3) add parsing and manipulation of ace files(from phrap) as is done in bioperl's Bio::Assembly 4)extend biopython's seqio to include other file formats: genbank,phd, scf, etc...(as far as I could tell fasta is only supported, but I could be wrong) Just some things off the top of my head -- Andrew Nunberg Bioinformagician Orion Genomics (314)-615-6989 www.oriongenomics.com > From: James Cussens > Date: Wed, 21 Jan 2004 10:52:40 +0000 > To: biopython@biopython.org > Subject: [BioPython] Biopython projects for students > > I'm trying to come up with Biopython projects for final year students in > my dept. Problem is: I have to define the projects now, but the students > don't start on them until October! I'm worried that a project which says > "add support for x to BioPython" might be superceded by the time October > comes around. If anyone can think of something useful, but which is > unlikely to be done that soon, I would appreciate your thoughts. > > The students are CS students, not specifically bioinformaticians - and > the projects last from October to mid-March. > > James > > -- > James Cussens jc@cs.york.ac.uk > Department of Computer Science Tel +44 (0)1904 434732 > University of York Fax +44 (0)1904 432767 > Heslington, York YO10 5DD, UK http://www.cs.york.ac.uk/~jc > > _______________________________________________ > BioPython mailing list - BioPython@biopython.org > http://biopython.org/mailman/listinfo/biopython > From chapmanb at uga.edu Wed Jan 21 17:53:08 2004 From: chapmanb at uga.edu (Brad Chapman) Date: Wed Jan 21 18:03:27 2004 Subject: [BioPython] Biopython projects for students In-Reply-To: References: <400E59F8.8020605@cs.york.ac.uk> Message-ID: <20040121225308.GE79615@evostick.agtec.uga.edu> Hi James; > > I'm trying to come up with Biopython projects for final year students in > > my dept. Problem is: I have to define the projects now, but the students > > don't start on them until October! I'm worried that a project which says > > "add support for x to BioPython" might be superceded by the time October > > comes around. If anyone can think of something useful, but which is > > unlikely to be done that soon, I would appreciate your thoughts. I think there are a couple of ways to get around this problem. The one you mention, pick projects that won't be done by October, is a bit tough due to needing to predict the future. I only wish I could do that (and only imagine I can when arguing about this year's predicted Super Bowl winner), so it's tough to give an answer on that. Another way is to have defined projects that could be more flexible than just adding a module that does something new. What I'm thinking here is that projects could be defined more as "contributing a module considering what Biopython already has." Okay, I know that doesn't really make a lot of sense so let me try to explain what I'm thinking with an example. Some modules in Biopython are pretty complete and do what everyone wants them to do (BLAST, Fasta...) but some parts do work, but don't do everything they could. For example (to pick on my own code): => Bio.Align and Bio.Clustalw -- deals with Clustalw output and converting to FASTA format. But, there are also plenty of alignment formats that still aren't dealt with: phylip, PIR... Similarly there are a number of alignment programs that aren't supported: T-Coffee, POA... => Bio.Emboss -- all of the Emboss program commandlines are in no way covered here. So what I'm suggesting is that the projects could work with the code-base and add things that are needed -- more formats, more documentation, more tests (especially tests and docs). This way you don't have to worry about what gets finished, and things are also more "real life" since students deal with existing code, programmers who have done that code, and all of the horrors of writing tests and the like. Andy writes: > I can come up with some ideas.. [...] > Just some things off the top of my head Thanks Andy -- these are definitely some good ideas (also, sorry I didn't find you to say adios from San Diego -- great to see you). Jeff also listed a few directions in the docs about contributing to Biopython: http://www.biopython.org/docs/developer/contrib.html Hopefully those plus my ranting above helps a bit! Brad From fkauff at duke.edu Thu Jan 22 09:31:54 2004 From: fkauff at duke.edu (Frank Kauff) Date: Thu Jan 22 09:38:27 2004 Subject: [BioPython] Biopython projects for students In-Reply-To: References: Message-ID: <1074781913.2044.22.camel@osiris.biology.duke.edu> Hi, we are working with phred and phrap a lot and wrote a phd and an ace parser. The phd should be ready for release soon, the ace parserjust needs support for some of the ace commands I have ignored so far because I didn't need them... Frank On Wed, 2004-01-21 at 13:14, Andrew Nunberg wrote: > I can come up with some ideas.. > 1) a seq object that contains quaity data from phred and a seq object that > can have both sequence and quality data > 2) a gff class that handles gff versions 1,2,3 > I see there is a gff class but seems to be tied to the Bio::DB class in > bioperl. I would like to see a generic gff class that you can just build > your own gff objects(if this can be done currently, please excuse my > ignorance) > 3) add parsing and manipulation of ace files(from phrap) as is done in > bioperl's Bio::Assembly > 4)extend biopython's seqio to include other file formats: genbank,phd, scf, > etc...(as far as I could tell fasta is only supported, but I could be wrong) > > > Just some things off the top of my head -- Frank Kauff Dept. of Biology Duke University Box 90338 Durham, NC 27708 USA Phone 919-660-7382 Fax 919-660-7293 From driveallotropic at ilovechocolate.com Thu Jan 22 20:22:04 2004 From: driveallotropic at ilovechocolate.com (Help) Date: Thu Jan 22 17:27:41 2004 Subject: [BioPython] they used to be the only ones. Message-ID: The first worth substitute of all existing men`s remedies! Be aware that now the peak of your selxual activity is realy accessible! All you need is to visit http://cnmeds.com/mx/index.php?pid=genviag Thanks to the proprietary blend of unique herkbs the four wonderful efkfects are achieved: *blood stream to the penlis is restored *stored tesltosterone is unleashed *activation of the body's naltural holrmone production heightens your sensation *the peknis does enklarge, the changes are being permanent! At last you can enljoy your secxual life in full measure without any risk for your healkth! Don`t wakste your time! Get more inkfo straightforwardly at http://cnmeds.com/mx/index.php?pid=genviag From e.picardi at unical.it Fri Jan 23 08:01:41 2004 From: e.picardi at unical.it (Ernesto) Date: Fri Jan 23 09:00:48 2004 Subject: [BioPython] relative entropy Message-ID: <01a301c3e1b1$0bf655a0$572561a0@Travelmate> Is it possible to valuate the relative entropy per site in a multiple alignment? Could you give me instructions? Thank you Ernesto e.picardi@unical.it From idoerg at burnham.org Fri Jan 23 09:52:53 2004 From: idoerg at burnham.org (Iddo Friedberg) Date: Fri Jan 23 09:59:34 2004 Subject: [BioPython] relative entropy In-Reply-To: <01a301c3e1b1$0bf655a0$572561a0@Travelmate> Message-ID: Hi Ernesto, Look to the Biopython Tutorial & Cookbook, section 3.5 for multiple alignments. 3.5.5 deals with information content. Write back if you have any questions, we can always improve the docs. See: http://biopython.org/docs/tutorial/Tutorial004.html#toc14 Best, Iddo -- Iddo Friedberg, Ph.D. The Burnham Institute 10901 N. Torrey Pines Rd. La Jolla, CA 92037, USA Tel: +1 (858) 646 3100 x3516 Fax: +1 (858) 646 3171 http://ffas.ljcrf.edu/~iddo On Fri, 23 Jan 2004, Ernesto wrote: > > Is it possible to valuate the relative entropy per site in a multiple alignment? > Could you give me instructions? > > Thank you > > Ernesto e.picardi@unical.it > > From idoerg at burnham.org Fri Jan 23 12:31:35 2004 From: idoerg at burnham.org (Iddo Friedberg) Date: Fri Jan 23 12:38:11 2004 Subject: [BioPython] relative entropy Message-ID: <40115A77.5030302@burnham.org> Ernesto, Your question is both technical (how to do things with Biopython) and scientific (how to calculate expected frequencies). Technical stuff first: In general, you should take the following steps: # 1) Parse the BLAST output using biopython's BLAST parser. # http://biopython.org/docs/tutorial/Tutorial004.html # 2) From the parsed output create a multiple alignment object. from Bio import Align from Bio import Alphabet my_alignment = \ Align.Generic.Alignment(alphabet=Alphabet.ProteinAlphabet) for seq in your_blast_sequence_list: my_alignment.add_sequence(sequence_id, seq) # 3) Use the IC module as shown in section 3.5.5 of the tutorial. Now for the science: Ernesto wrote: > Dear Iddo, > thank you for your answer. I'm a biginner and I don't know all the > Biopython. My problem is to calculate the relative information content > (entropy) for each site of an input fasta multiple alignment. I wrote a > script (without Biopython) to calculate the information content per site of > a fasta alignment, but I don't know how to implement the expected > frequencies to calculate the relative formula. 1) Are you doing DNA or Protein multiple alignments? 2) In case it is protein: are you sure you need the prior (=expected) frequencies for the amino-acid distribution? This is a tricky issue. See the following paper: http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=11327757&dopt=Abstract For DNA just use the distribution in the genome you are analysing, or 0.25/0.25/0.25/0.25 if not confined to a single genome, or analysing a bunch of GC rich organisms. In that case, use the genomic GC distribution, in the putative genes. (intergenic regions tend to skew the GC ratio, I'm assuming you are analysing coding regions only). 3) In case you are analyzing proteins and you are convinced you need the prior frequencies, I would use those from the database from which you derive your sequences (unless it is nr, which is biased), or just use the frequencies of amino acids in the entire SwissProt database. Best, Iddo > If you want I can send you a copy of my script. If you have another idea > with Biopython let me know. > Thank you very much for your support > Ernesto > ----- Original Message ----- > From: "Iddo Friedberg" > To: "Ernesto" > Cc: > Sent: Friday, January 23, 2004 3:52 PM > Subject: Re: [BioPython] relative entropy > > > >>Hi Ernesto, >> >>Look to the Biopython Tutorial & Cookbook, section 3.5 for multiple >>alignments. 3.5.5 deals with information content. Write back if you have >>any questions, we can always improve the docs. >> >>See: >>http://biopython.org/docs/tutorial/Tutorial004.html#toc14 >> >>Best, >> >>Iddo >> >>-- >>Iddo Friedberg, Ph.D. >>The Burnham Institute >>10901 N. Torrey Pines Rd. >>La Jolla, CA 92037, USA >>Tel: +1 (858) 646 3100 x3516 >>Fax: +1 (858) 646 3171 >>http://ffas.ljcrf.edu/~iddo >> >>On Fri, 23 Jan 2004, Ernesto wrote: >> >> >>>Is it possible to valuate the relative entropy per site in a multiple > > alignment? > >>>Could you give me instructions? >>> >>>Thank you >>> >>>Ernesto e.picardi@unical.it >>> >>> > > > -- Iddo Friedberg, Ph.D. The Burnham Institute 10901 N. Torrey Pines Rd. La Jolla, CA 92037 USA Tel: +1 (858) 646 3100 x3516 Fax: +1 (858) 713 9930 http://ffas.ljcrf.edu/~iddo -- Iddo Friedberg, Ph.D. The Burnham Institute 10901 N. Torrey Pines Rd. La Jolla, CA 92037 USA Tel: +1 (858) 646 3100 x3516 Fax: +1 (858) 713 9930 http://ffas.ljcrf.edu/~iddo From chapmanb at uga.edu Fri Jan 23 15:59:42 2004 From: chapmanb at uga.edu (Brad Chapman) Date: Fri Jan 23 16:12:39 2004 Subject: [BioPython] Biopython projects for students In-Reply-To: <1074781913.2044.22.camel@osiris.biology.duke.edu> References: <1074781913.2044.22.camel@osiris.biology.duke.edu> Message-ID: <20040123205942.GH291@evostick.agtec.uga.edu> Hi Frank; > we are working with phred and phrap a lot and wrote a phd and an ace > parser. The phd should be ready for release soon, the ace parserjust > needs support for some of the ace commands I have ignored so far because > I didn't need them... Great -- we could definitely use Phrep/Phrap/Consed support in Biopython. I definitely know Andy is very interested in it, as I'm sure are others. I'd be happy to get that checked in when and if you want to contribute it. The documentation about contributing to Biopython might also be helpful: http://www.biopython.org/docs/developer/contrib.html In many cases as long as your parser does "most things" and works well it is welcome to contribute without full support for everything. Having something to start with might encourage people interested in the non-supported features to add those. Collaboration, we love it. Thanks for mentioning your work! Brad From kayounga at andrew.cmu.edu Sat Jan 24 10:10:10 2004 From: kayounga at andrew.cmu.edu (Ka-Young An) Date: Sat Jan 24 10:16:39 2004 Subject: [BioPython] about GenBank module... Message-ID: <1925.128.2.159.55.1074957010.squirrel@webmail.andrew.cmu.edu> Hi, I have very simple problem,,, When I use the GenBank module,,the following code doesn't work... (the otherthing like swissport or pubmed is working well..) I think this sourse don't have any syntax problem,, so..pleas let me know..what is the problem... ____________________________________________________________ (line1) from Bio import GenBank (line2) (line3) gi_list = GenBank.search_for("Opuntia AND rpl16") _____________________________________________________________ There are some error message like this.... ____________________________________________________________________ Traceback (most recent call last): File "C:\Documents and Settings\kayounga\Desktop\lovepython\a.py", line 3, in ? gi_list = GenBank.search_for("Opuntia AND rpl16") File "C:\Python22\lib\site-packages\Bio\GenBank\__init__.py", line 1609, in search_for parser.feed(handle.read()) File "C:\Python22\lib\sgmllib.py", line 95, in feed self.goahead(0) File "C:\Python22\lib\sgmllib.py", line 129, in goahead k = self.parse_starttag(i) File "C:\Python22\lib\sgmllib.py", line 290, in parse_starttag self.finish_starttag(tag, attrs) File "C:\Python22\lib\sgmllib.py", line 328, in finish_starttag self.handle_starttag(tag, method, attrs) File "C:\Python22\lib\sgmllib.py", line 364, in handle_starttag method(attrs) File "C:\Python22\lib\site-packages\Bio\GenBank\__init__.py", line 1600, in start_a for name, value in params: ValueError: unpack list of wrong size __________________________________________________________________________ Thanks~~ from ky From jeffrey_chang at stanfordalumni.org Sun Jan 25 13:01:38 2004 From: jeffrey_chang at stanfordalumni.org (Jeffrey Chang) Date: Sun Jan 25 13:08:13 2004 Subject: [BioPython] about GenBank module... In-Reply-To: <1925.128.2.159.55.1074957010.squirrel@webmail.andrew.cmu.edu> References: <1925.128.2.159.55.1074957010.squirrel@webmail.andrew.cmu.edu> Message-ID: <8598DAB9-4F60-11D8-ACE3-000A956845CE@stanfordalumni.org> Hi ky, Which version of Biopython are you using? I am having trouble duplicating your report. >>> from Bio import GenBank >>> gi_list = GenBank.search_for("opuntia AND rpl16") >>> len(gi_list) 7 >>> print gi_list ['6273291', '6273290', '6273289', '6273287', '6273286', '6273285', '6273284'] >>> Jeff On Jan 24, 2004, at 10:10 AM, Ka-Young An wrote: > Hi, > > I have very simple problem,,, > > When I use the GenBank module,,the following code doesn't work... > (the otherthing like swissport or pubmed is working well..) > > I think this sourse don't have any syntax problem,, > > so..pleas let me know..what is the problem... > > ____________________________________________________________ > (line1) from Bio import GenBank > (line2) > (line3) gi_list = GenBank.search_for("Opuntia AND rpl16") > _____________________________________________________________ > > > There are some error message like this.... > > ____________________________________________________________________ > Traceback (most recent call last): > File "C:\Documents and Settings\kayounga\Desktop\lovepython\a.py", > line > 3, in ? > gi_list = GenBank.search_for("Opuntia AND rpl16") > File "C:\Python22\lib\site-packages\Bio\GenBank\__init__.py", line > 1609, > in search_for > parser.feed(handle.read()) > File "C:\Python22\lib\sgmllib.py", line 95, in feed > self.goahead(0) > File "C:\Python22\lib\sgmllib.py", line 129, in goahead > k = self.parse_starttag(i) > File "C:\Python22\lib\sgmllib.py", line 290, in parse_starttag > self.finish_starttag(tag, attrs) > File "C:\Python22\lib\sgmllib.py", line 328, in finish_starttag > self.handle_starttag(tag, method, attrs) > File "C:\Python22\lib\sgmllib.py", line 364, in handle_starttag > method(attrs) > File "C:\Python22\lib\site-packages\Bio\GenBank\__init__.py", line > 1600, > in start_a > for name, value in params: > ValueError: unpack list of wrong size > > _______________________________________________________________________ > ___ > > Thanks~~ > > from ky > > > _______________________________________________ > BioPython mailing list - BioPython@biopython.org > http://biopython.org/mailman/listinfo/biopython From chapmanb at uga.edu Sun Jan 25 19:22:07 2004 From: chapmanb at uga.edu (Brad Chapman) Date: Sun Jan 25 19:35:00 2004 Subject: [BioPython] Checked in Parsers for Phred and Ace files Message-ID: <20040126002207.GD13056@evostick.agtec.uga.edu> Hello all; Thanks to Frank Kauff's generous contributions, I've just checked parsers for Phred and Ace files (from the whole Phred/Phrap/Consed distribution). They are checked in as: Bio/Sequencing/Ace.py Bio/Sequencing/Phred.py They work in the same way as standard Biopython parsers so you could get a Phred iterator and parser with: from Bio.Sequencing import Phred parser = Phred.RecordParser() iterator = Phred.Iterator(open("your_phred_file.phd"), parser) while 1: rec = iterator.next() if not rec: break # do something with the record The one caveat is that the Ace parser does not support RT, CT and WA tags. But, it does do lots of other useful things and if you need these tags (or know more about them) feel free to provide patches adding them. I'd appreciate it if people who are using Phred and Ace files could test drive the code and make sure it works with their code. I'll try to get some phred and ace files from our own lab and add at least a quick test suite for them later this week. Thanks to Frank for the contribution! Brad From anunberg at oriongenomics.com Mon Jan 26 09:54:55 2004 From: anunberg at oriongenomics.com (Andrew Nunberg) Date: Mon Jan 26 10:00:29 2004 Subject: [BioPython] Checked in Parsers for Phred and Ace files In-Reply-To: <20040126002207.GD13056@evostick.agtec.uga.edu> Message-ID: Perhaps the phred.py should just be called Phd.py and be added to SeqIO ? Phred can output different file formats, scf, phd, fasta .... Well I should actually look at the code first before making such suggestions :) Andy I am currently up to my ears in ensembl-pipeline/ensembl/apollo stuff I don?t suppose anyone is working on a python API for ensembl... Hey there is a nice project for some students :) -- Andrew Nunberg Bioinformagician Orion Genomics (314)-615-6989 www.oriongenomics.com > From: Brad Chapman > Date: Sun, 25 Jan 2004 19:22:07 -0500 > To: biopython@biopython.org > Subject: [BioPython] Checked in Parsers for Phred and Ace files > > Hello all; > Thanks to Frank Kauff's generous contributions, I've just checked > parsers for Phred and Ace files (from the whole Phred/Phrap/Consed > distribution). > > They are checked in as: > > Bio/Sequencing/Ace.py > Bio/Sequencing/Phred.py > > They work in the same way as standard Biopython parsers so you could > get a Phred iterator and parser with: > > from Bio.Sequencing import Phred > > parser = Phred.RecordParser() > iterator = Phred.Iterator(open("your_phred_file.phd"), parser) > > while 1: > rec = iterator.next() > if not rec: > break > # do something with the record > > The one caveat is that the Ace parser does not support RT, CT and WA > tags. But, it does do lots of other useful things and if you need > these tags (or know more about them) feel free to provide patches > adding them. > > I'd appreciate it if people who are using Phred and Ace files could > test drive the code and make sure it works with their code. I'll try > to get some phred and ace files from our own lab and add at least a > quick test suite for them later this week. > > Thanks to Frank for the contribution! > Brad > _______________________________________________ > BioPython mailing list - BioPython@biopython.org > http://biopython.org/mailman/listinfo/biopython > From fkauff at duke.edu Mon Jan 26 10:07:22 2004 From: fkauff at duke.edu (Frank Kauff) Date: Mon Jan 26 10:09:13 2004 Subject: [BioPython] Checked in Parsers for Phred and Ace files References: Message-ID: <40152D2A.F4ED5A55@duke.edu> Andrew Nunberg schrieb: > Perhaps the phred.py should just be called Phd.py and be added to SeqIO ? > Phred can output different file formats, scf, phd, fasta .... I'm in favour of that. Actually that was the name it had when I submitted it :-) , and it makes clear which of the different filetypes of phred the parser is dealing with. Frank > > Well I should actually look at the code first before making such suggestions > :) > Andy > > I am currently up to my ears in ensembl-pipeline/ensembl/apollo stuff > I don?t suppose anyone is working on a python API for ensembl... Hey there > is a nice project for some students :) > > -- > Andrew Nunberg > Bioinformagician > Orion Genomics > (314)-615-6989 > www.oriongenomics.com > > > From: Brad Chapman > > Date: Sun, 25 Jan 2004 19:22:07 -0500 > > To: biopython@biopython.org > > Subject: [BioPython] Checked in Parsers for Phred and Ace files > > > > Hello all; > > Thanks to Frank Kauff's generous contributions, I've just checked > > parsers for Phred and Ace files (from the whole Phred/Phrap/Consed > > distribution). > > > > They are checked in as: > > > > Bio/Sequencing/Ace.py > > Bio/Sequencing/Phred.py > > > > They work in the same way as standard Biopython parsers so you could > > get a Phred iterator and parser with: > > > > from Bio.Sequencing import Phred > > > > parser = Phred.RecordParser() > > iterator = Phred.Iterator(open("your_phred_file.phd"), parser) > > > > while 1: > > rec = iterator.next() > > if not rec: > > break > > # do something with the record > > > > The one caveat is that the Ace parser does not support RT, CT and WA > > tags. But, it does do lots of other useful things and if you need > > these tags (or know more about them) feel free to provide patches > > adding them. > > > > I'd appreciate it if people who are using Phred and Ace files could > > test drive the code and make sure it works with their code. I'll try > > to get some phred and ace files from our own lab and add at least a > > quick test suite for them later this week. > > > > Thanks to Frank for the contribution! > > Brad > > _______________________________________________ > > BioPython mailing list - BioPython@biopython.org > > http://biopython.org/mailman/listinfo/biopython > > > > _______________________________________________ > BioPython mailing list - BioPython@biopython.org > http://biopython.org/mailman/listinfo/biopython From chapmanb at uga.edu Mon Jan 26 17:19:41 2004 From: chapmanb at uga.edu (Brad Chapman) Date: Mon Jan 26 17:32:30 2004 Subject: [BioPython] Checked in Parsers for Phred and Ace files In-Reply-To: <40152D2A.F4ED5A55@duke.edu> References: <40152D2A.F4ED5A55@duke.edu> Message-ID: <20040126221940.GB15369@evostick.agtec.uga.edu> Hey Guys; Andy: > > Perhaps the phred.py should just be called Phd.py and be added to SeqIO ? > > Phred can output different file formats, scf, phd, fasta .... Frank: > I'm in favour of that. Actually that was the name it had when I submitted it :-) > , and it makes clear which of the different filetypes of phred the parser is > dealing with. Okay, okay, I changed it back to Phd.py :-). My thinking was that Phred was a little less cryptic than Phd, but if it results in more confusion then it helps -- I'm all about achieving maximum consensus. Harmony. Harmony. But, seriously, it doesn't fit into SeqIO. That is something that Andrew started on a while back but really hasn't got much momentum behind it since than. Frank's code fits more into the standard Biopython framework of parse what you've got and get the data out of a Record object. Geez-change-one-little-name-and-you-hear-about-it-forever-ly yr's, Brad From Mailer-Daemon at yourhostingaccount.com Tue Jan 27 12:35:13 2004 From: Mailer-Daemon at yourhostingaccount.com (Mail Delivery System) Date: Tue Jan 27 12:41:46 2004 Subject: [BioPython] Mail delivery failed: returning message to sender Message-ID: This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: warren@delanoscientific.com no MyDoom virus please ------ This is a copy of the message, including all the headers. ------ Return-path: Received: from nmrfun.uchicago.edu ([128.135.218.165] helo=biopython.org) by mail.yourhostingaccount.com with esmtp (Exim 4.30) id 1AlX7I-0006ek-Sc for warren@delanoscientific.com; Tue, 27 Jan 2004 12:35:12 -0500 From: biopython@biopython.org To: warren@delanoscientific.com Subject: hello Date: Tue, 27 Jan 2004 11:35:04 -0600 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0010_EB9F766B.CA48A56E" X-Priority: 3 X-MSMail-Priority: Normal This is a multi-part message in MIME format. ------=_NextPart_000_0010_EB9F766B.CA48A56E Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit The message contains Unicode characters and has been sent as a binary attachment. ------=_NextPart_000_0010_EB9F766B.CA48A56E Content-Type: application/octet-stream; name="test.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test.zip" UEsDBAoAAAAAAGKMOzDKJx+eAFgAAABYAAAIAAAAdGVzdC5zY3JNWpAAAwAAAAQAAAD//wAAuAAA AAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQRQAATAEDAAAAAAAAAAAAAAAAAOAA DwELAQcAAFAAAAAQAAAAYAAAYL4AAABwAAAAwAAAAABKAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAA AADQAAAAEAAAAAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAOjBAAAwAQAA AMAAAOgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVQ WDAAAAAAAGAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAIAAAOBVUFgxAAAAAABQAAAAcAAAAFAA AAAEAAAAAAAAAAAAAAAAAABAAADgLnJzcmMAAAAAEAAAAMAAAAAEAAAAVAAAAAAAAAAAAAAAAAAA QAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx LjI0AFVQWCEMCQIJSH6Jj9Q2HIEplgAAU04AAACAAAAmAQDF7ocCkgBQJkoAQAP9smmaLBAE9CXo AQBLzmmabtkfyCrAA7iwqKZpmqagmJCIgJqmaZp4cGhgWFDNYJ9pSABEBzgwNE3TdAMoJBwYENMs u9cIIwP4KfDoTdM0TeDY0Mi8tDRN0zSspJyUjM42TdOIfHBoKW9cpumawQdUTANEOJqmaZosJBwU DARpms5t/Ch/A/Ts5KZpmqbc1MzIvJqmaZq0rKSgmJBnm6ZpjIB4cCh7aN5s03UHXANUTCj/+wt2 tvvjQA80KPcsLwOaphn5JChKHBQMBGmazuyb/CcD7OjgpmmaptjUzMjAmqZpurgnsKyooJhpmqZp lIyIhHykaZqmdGxkXFRpmqYbTANEQDgwpmmapiggGBAImqZzmwD4Js8D6ODYZ5vObVQ0QwNANDTb iv////+dWtDa5fQGHzNObHJO2AKXX5LIAT18vkNLluQ1ieA6l//////3WsAplQR262PeXN1h6HL/ jyK4Ue2MLtN7JtQNOfCqZ/////8n6rB5RRTmu5NuTC0R+OLPv7KooZ2cnqOrtsTV6QAaN/////9X eqDJ9SRWi8P+PH3BCFKf70KY8U2sDnPbRrQlmRCKB/////+HCpAZpaWo/vLD0qj4EixKa4+24A09 cKbfG1p84SdVyf////8SYL4YZdU4nhdz4lSJQbya4z/GUI1tAJZPy2oMsUN6sv////9zF86IRwXI ilcj8sSZcUwuC+/WwK2dkIYPe3p8kYmUov////+zx976FTVYfqfDAjR5odwaW4/mMG3NIHbPK4r8 Ubkkkv////8Dd+5o5WXobpeDg3aMlaGwwtfvCihJbZS+6xtOhL35OP////96vwdSoPFFbJZTsxp8 5VHAMqcfmhiZHaQuu0vedA2pSP/////qjzfikEH1rGYj46ZsNQHQondPKgjpzbSei3tuZF1ZWP// //9aX2dygJGlvNbzEzZchbHgEkd/uvg5fcQOW6v+VK0JPf////+ad6cCcOFVzAbDQ8Zc1WFhZGpz f4ygtc3oBidLcpzJ+f////8sYptXFlh9sGAm/iN61DGR5FrDL84Qhf109nf7gAyZKf////+8UuuH JshtFcBuH5OKROGU1BIh366AVS0Y5ser8nxpWf////9OQjs3ODg9RVBeb4OatNHxFDpjz77w5Wy2 5CNb97xhqP/////QO4nuczxj+JngxUuRF6Eh3iKzPz9USFF7b37Wz9lulf/f/v8pAyPplAm/5vOl QRCmfDJpa4AhCy3HTtIQgmz5/////3Ond94UhwcH+1KqAWHALJv3Jpbdl50iYA9Gns39LEB///// /5Oy0vEJIFh2aGNdUFJRU2pkdwEsxe9UMLxXETzOnVdu/////yDjrWDa0VIVzmZft0HAFORlk594 /nINvOdqlXt7E3Z2/////30cDS3y9vSw8dHnefrdTGWj/ydsjN0L24wbqb11hztP/////9sUgkIU CUXMgg/6Yrcpc/sVg+cek360JGkp/70oy+pO///t/3cOOrC/91TU7HOYAU0GnfKir8Ji8+VeN98F cVL/////B/gbQH5UPqepTywCfTDI5wbSVCoaa0wBnQT2avodxwb/hf//+B2QBKuWAAYGECvvmdRO /xd4C5PG+HUhjKT/////X//Mcmvrb/6l/ezQQcl4kdnErCbH6OCptxpdb+wpEKP/////vPPt9W9R ITWN1lMcSCkY47dcP524zdBSVeO1Q+q+Z+P/////oKAy4s5JOiQvMAqProThdUChYpiy9TBK4OP/ kYHBJwf/////d4hnj1SzhQji/oJFq2GOdNq7Kjiu8ErUGJwXikjCtbz/////nvsfVuZukOA7R7Og GrfSqrzE95NIpgHABP8GEotdqdj/////vZQx+B/oWmM+39YKykLVDF5gSXL19K70Uxf8FhXyjpr/ ////c3A8grHijjdbUxaiJ5RUWKyxNTc+qnVllSFu6xqEgWr/////5goYPzqVn4GC43OkRz0JAtYu iMKn1T+KXOqfVjtfPUr/0v//w3lfQwm48Kuazh6yhdlLwdQ7Xs/f9kf5Svf/////2PsttIpnYv9Y rRGMIvdby1jfhfys4GXa65eU4mAI7z//////POPsfxCOYH7dTZvknQUbl3rbzLP7N48l8Tkdsnwa 9R3/////H72f6cbq6es+2ZZw/TvaRSX286Tn1gQhTDn+W6SHiZL///8LndOwW40qNkIbytHkNFCs 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 93eP/3gAAHj/////eAAAeP////94AAB4f39/f3gAAIdzh4eHgAAAB7M7e3eAAAAAAAAAgAAA8D8A AOAHAADABwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMAHAADgBwAA /98AANiRAAAAAAEAAQAQEBAAAQAEACgBAAABAAAAAAAAAAAAAAAAAJDCAABgwgAAAAAAAAAAAAAA AAAAncIAAHDCAAAAAAAAAAAAAAAAAACqwgAAeMIAAAAAAAAAAAAAAAAAALXCAACAwgAAAAAAAAAA AAAAAAAAwMIAAIjCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMrCAADYwgAA6MIAAAAAAAD2wgAAAAAA AATDAAAAAAAADMMAAAAAAABzAACAAAAAAEtFUk5FTDMyLkRMTABBRFZBUEkzMi5kbGwATVNWQ1JU LmRsbABVU0VSMzIuZGxsAFdTMl8zMi5kbGwAAExvYWRMaWJyYXJ5QQAAR2V0UHJvY0FkZHJlc3MA AEV4aXRQcm9jZXNzAAAAUmVnQ2xvc2VLZXkAAABtZW1zZXQAAHdzcHJpbnRmQQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEsBAhQA CgAAAAAAYow7MMonH54AWAAAAFgAAAgAAAAAAAAAAAAgAAAAAAAAAHRlc3Quc2NyUEsFBgAAAAAB AAEANgAAACZYAAAAAA== ------=_NextPart_000_0010_EB9F766B.CA48A56E-- From allartist at aol.com Wed Jan 28 22:54:48 2004 From: allartist at aol.com (Talent Scout # 28) Date: Wed Jan 28 23:01:09 2004 Subject: [BioPython] Calling All TALENT! Message-ID: <20040129035447.JHNJ9893.fl-mta01@YOUR-B79WZ4ROSE> CALLING ALL TALENT! Are you a model, musician, singer, actor, dancer, DJ? If so, do you have goals, desire and what it takes to be the next SUPERSTAR? We want you to get the recognition you need. Models could win a prize of $5,000, a portfolio, photo shoot, comp cards, per diem, air fare, and lodging. Singers, bands, or musicians can win $5,000, studio time, three track demo, photo shoot, air fare, per diem, and lodging. Let us help you open the doors of opportunity in your promising career. Don?t let this amazing opportunity pass you by! CALL TOLL FREE NOW: 1-866-726-2802 **************************************************************** Anti-SPAM Policy Disclaimer: Under Bill s.1618 Title III passed by the 105th U. S. Congress, mail cannot be considered spam as long as we include contact information and a remove link for removal from our mailing list. If this e-mail is unsolicited, please accept our apologies. **************************************************************** This message is being sent to you in compliance with the proposed Federal legislation for commercial e-mail (S.1618 - SECTION 301). "Pursuant to Section 301, Paragraph (a)(2)(C) of S. 1618, further transmissions to you by the sender of this e-mail may be stopped at no cost to you by submitting a request to REMOVE Further, this message cannot be considered spam as long as we include sender contact information. To be removed from future mailings, send a removal request to: allartist@aol.com Thank you. From lpritc at scri.sari.ac.uk Thu Jan 29 13:30:35 2004 From: lpritc at scri.sari.ac.uk (Leighton Pritchard) Date: Thu Jan 29 13:37:06 2004 Subject: [BioPython] Problems building biopython-based script with py2exe Message-ID: <6.0.1.1.0.20040129182031.01c35148@exchange1.scri.sari.ac.uk> Hi, I have a script: ### gentest.py from Bio import GenBank gi_list = ['AF339445', 'AF339444', 'AF339443', 'AF339442', 'AF339441'] record_parser = GenBank.FeatureParser() # GenBank file parser ncbi_dict = GenBank.NCBIDictionary(parser = record_parser, database = "nucleotide") # Dict for accessing NCBI count = 1 for accession in gi_list: print "Accessing GenBank for %s... (%d/%d)" % (accession, count, len(gi_list)) try: record = ncbi_dict[accession] # Get record as SeqRecord RECORDS.append(record) # Put records in local list except: print "Accessing record %s failed" % accession count += 1 ### Which seems fairly simple and straightforward. However, when I try to turn this into a standalone executable with py2exe with the script below, the following problems occur: ### setup.py from distutils.core import setup import py2exe, sys setup (name = "genbank2excel", version = "0.10", url = r'http://bioinf.scri.sari.ac.uk/lp/index.shtml', author = "Leighton Pritchard", console = ["gentest.py"]) ### Problem 1: apparently missing modules [partial stdout from python setup.py py2exe] [...] *** copy dlls *** copying E:\APPLIC~1\PYTHON~2\lib\site-packages\py2exe\run.exe -> E:\Data\CVSWorkspace\genbank2excel\genbank2excel\dist\gentest.exe The following modules appear to be missing ['mindy', 'mxTextTools.__version__'] Problem 2: The compiled program doesn't seem to like the os.listdir call in Bio/__init__.py line 52 (55 here because of some exploratory debugging lines I inserted), and doesn't think that the Bio/config folder in the library.zip file that py2exe generates is a file or directory... [complete stderr traceback from running the resulting gentest.exe] Traceback (most recent call last): File "gentest.py", line 1, in ? File "Bio\__init__.pyc", line 68, in ? File "Bio\__init__.pyc", line 55, in _load_registries WindowsError: [Errno 3] The system cannot find the path specified: 'E:\\Data\\CVSWorkspace\\genbank2excel\\genbank2excel\\dist\\library.zip\\Bio\\config/*.*' Can any of you help or advise me on this? Am I missing something obvious? Thanks in advance, Dr Leighton Pritchard AMRSC D104, PPI, Scottish Crop Research Institute Invergowrie, Dundee, DD2 5DA, Scotland, UK E: lpritc@scri.sari.ac.uk T: +44 (0)1382 568579 F: +44 (0)1382 568578 PGP key FEFC205C: http://www.keyserver.net http://pgp.mit.edu From fkauff at duke.edu Thu Jan 29 15:38:38 2004 From: fkauff at duke.edu (Frank Kauff) Date: Thu Jan 29 15:44:57 2004 Subject: [BioPython] Checked in Parsers for Phred and Ace files In-Reply-To: <20040126002207.GD13056@evostick.agtec.uga.edu> References: <20040126002207.GD13056@evostick.agtec.uga.edu> Message-ID: <1075408718.2043.114.camel@osiris.biology.duke.edu> On Sun, 2004-01-25 at 19:22, Brad Chapman wrote: > Hello all; > Thanks to Frank Kauff's generous contributions, I've just checked > parsers for Phred and Ace files (from the whole Phred/Phrap/Consed > distribution). > > They are checked in as: > > Bio/Sequencing/Ace.py > Bio/Sequencing/Phred.py > > They work in the same way as standard Biopython parsers so you could > get a Phred iterator and parser with: > > from Bio.Sequencing import Phred > > parser = Phred.RecordParser() > iterator = Phred.Iterator(open("your_phred_file.phd"), parser) > > while 1: > rec = iterator.next() > if not rec: > break > # do something with the record > > The one caveat is that the Ace parser does not support RT, CT and WA > tags. But, it does do lots of other useful things and if you need > these tags (or know more about them) feel free to provide patches > adding them. I couldn't stand a parser that's not completely doing its job, especially when it's written by myself :-). So I added supprt for these three tags. It seems to work fine - however, before I submit it, I'd like to be sure that it complies to the specification of the ACE format. The consed documentation is not really exact about many things - so does anybody know where to find a more comprehensive descripion of the ace format? Is there any? Frank > > I'd appreciate it if people who are using Phred and Ace files could > test drive the code and make sure it works with their code. I'll try > to get some phred and ace files from our own lab and add at least a > quick test suite for them later this week. > > Thanks to Frank for the contribution! > Brad > _______________________________________________ > BioPython mailing list - BioPython@biopython.org > http://biopython.org/mailman/listinfo/biopython -- Frank Kauff Dept. of Biology Duke University Box 90338 Durham, NC 27708 USA Phone 919-660-7382 Fax 919-660-7293 From candrarashid at supermemo.net Mon Jan 26 00:24:48 2004 From: candrarashid at supermemo.net (candrarashid@supermemo.net) Date: Thu Jan 29 23:43:37 2004 Subject: [BioPython] Cialis solution who keep it hard for more than ... "Date Number"76234 Message-ID: <0414964058459.19DPYT@yahoo.com> HOT PHARMACY OFFSHORE! NO QUESTIONS ASKED! Super Viagra - CIALIS is Here Dubbed "The Weekend Pill" * LONGER LIFE Up to 36 hours compared to 4 hours for viagra * ACTS FASTER from as little as 15 minutes compared to 60 minutes for viagra * BEST SEX EVER solid erection and only whenever you need it. With cialis YOU are in control "Cialis works in 15 minutes and lasts for 36 hours giving you strong healthy erections whenever you want or need them!" NO QUESTIONS. JUST PAY & WE SHIP. COMPLETE PRIVACY & CONFIDENTIATLITY. 128-bit encrypted website for maximum security. We also have an assortment of other drugs such as soma, valium, xanax, meridia, etc. http://adjectival.bacconed.com/m0014/index.php?id=m0014 No more of this sort of material. Honoured in 24-48 hours. http://assyria.bacconed.com/a.html Cialis solution who keep it hard for more than ... Tathlete auburn emissary ibn ali blenheim e.g inoffensive chivalry anarch cricket forceful diligent erode forgetful mauritania significant code horizon From lpritc at scri.sari.ac.uk Fri Jan 30 06:52:34 2004 From: lpritc at scri.sari.ac.uk (Leighton Pritchard) Date: Fri Jan 30 06:59:58 2004 Subject: [BioPython] Problems building biopython-based script with py2exe In-Reply-To: <6.0.1.1.0.20040129182031.01c35148@exchange1.scri.sari.ac.u k> References: <6.0.1.1.0.20040129182031.01c35148@exchange1.scri.sari.ac.uk> Message-ID: <6.0.1.1.0.20040130115134.01c84ed0@exchange1.scri.sari.ac.uk> Hi, I have a workaround for this single build, though it's not ideal. First, I replaced this line in Bio/__init__.py x = os.listdir( os.path.dirname(__import__("Bio.config", {}, {}, ["Bio"]).__file__)) with an explicit naming of each file in the library.zip file generated by py2exe x = ['.\\library.zip\\Bio\\config\\__init__.pyc', '.\\library.zip\\Bio\\config\\_support.pyc', '.\\library.zip\\Bio\\config\\FormatRegistry.pyc', '.\\library.zip\\Bio\\config\\Registry.pyc'] and this solved problem number 2 below. However, it introduced a new problem, in that FormatIO was trying to use a (nonexistent?) module - Bio.formats, so I substituted the lines (54, 55) import Bio registery = Bio.formats with import Bio.formatdefs registery = Bio.formatdefs and this worked. I then wrapped the original lines and their replacements in try: except: and this seems fine, though might a fix of Bio.FormatIO, and one of Bio.config__init__.py to account for imports from .zip files be required? The missing modules 'mindy' and 'mxTextTools.__version__' in problem 1 seem not to matter. At 18:30 29/01/2004, you wrote: >Hi, > >I have a script: > >### gentest.py > >from Bio import GenBank > >gi_list = ['AF339445', 'AF339444', 'AF339443', 'AF339442', 'AF339441'] >record_parser = GenBank.FeatureParser() # GenBank file parser >ncbi_dict = GenBank.NCBIDictionary(parser = record_parser, > database = "nucleotide") # Dict for > accessing NCBI > >count = 1 >for accession in gi_list: > print "Accessing GenBank for %s... (%d/%d)" % (accession, count, > len(gi_list)) > try: > record = ncbi_dict[accession] # Get record as SeqRecord > RECORDS.append(record) # Put records in local list > except: > print "Accessing record %s failed" % accession > count += 1 > >### > >Which seems fairly simple and straightforward. However, when I try to >turn this into a standalone executable with py2exe with the script below, >the following problems occur: > >### setup.py > >from distutils.core import setup >import py2exe, sys > >setup (name = "genbank2excel", > version = "0.10", > url = r'http://bioinf.scri.sari.ac.uk/lp/index.shtml', > author = "Leighton Pritchard", > console = ["gentest.py"]) > >### > >Problem 1: apparently missing modules > >[partial stdout from python setup.py py2exe] >[...] >*** copy dlls *** >copying E:\APPLIC~1\PYTHON~2\lib\site-packages\py2exe\run.exe -> >E:\Data\CVSWorkspace\genbank2excel\genbank2excel\dist\gentest.exe >The following modules appear to be missing >['mindy', 'mxTextTools.__version__'] > >Problem 2: The compiled program doesn't seem to like the os.listdir call >in Bio/__init__.py line 52 (55 here because of some exploratory debugging >lines I inserted), and doesn't think that the Bio/config folder in the >library.zip file that py2exe generates is a file or directory... > >[complete stderr traceback from running the resulting gentest.exe] >Traceback (most recent call last): > File "gentest.py", line 1, in ? > File "Bio\__init__.pyc", line 68, in ? > File "Bio\__init__.pyc", line 55, in _load_registries >WindowsError: [Errno 3] The system cannot find the path specified: >'E:\\Data\\CVSWorkspace\\genbank2excel\\genbank2excel\\dist\\library.zip\\Bio\\config/*.*' > >Can any of you help or advise me on this? Am I missing something obvious? > >Thanks in advance, Dr Leighton Pritchard AMRSC D104, PPI, Scottish Crop Research Institute Invergowrie, Dundee, DD2 5DA, Scotland, UK E: lpritc@scri.sari.ac.uk T: +44 (0)1382 568579 F: +44 (0)1382 568578 PGP key FEFC205C: http://www.keyserver.net http://pgp.mit.edu From lpritc at scri.sari.ac.uk Fri Jan 30 09:53:18 2004 From: lpritc at scri.sari.ac.uk (Leighton Pritchard) Date: Fri Jan 30 09:59:42 2004 Subject: [BioPython] Problems building biopython-based script with py2exe In-Reply-To: <6.0.1.1.0.20040130115134.01c84ed0@exchange1.scri.sari.ac.u k> References: <6.0.1.1.0.20040129182031.01c35148@exchange1.scri.sari.ac.uk> <6.0.1.1.0.20040130115134.01c84ed0@exchange1.scri.sari.ac.uk> Message-ID: <6.0.1.1.0.20040130145150.01d79c58@exchange1.scri.sari.ac.uk> Over on the Python-Win32 list, Thomas Heller offered some kind advice, and thanks to his advice I've now got a much better solution for my problem: I think my problem is solved with changes only to Bio/__init__.py; no modifications were required to FormatIO.py in the end. At 12:45 30/01/2004, Thomas Heller wrote: >It might be possible to do this in a more general way. [...] >When a module is imported with this mechanism, Bio.config in this case, >it gets a __loadler__ attribute. IIRC, this is an instance of the >builtin zipimporter, and you may be able to get the list of files >contained in the zip-archive that py2exe builds from it. [...] >You could even test for the __loader__ attribute first, and trigger the >special code only when it is present. [...] I've taken your advice, and replaced the original registry import code (lines 52-55) of Bio/__init__.py with the following: #### # Import code changed to allow for compilation with py2exe from distutils config_imports = __import__("Bio.config", {}, {}, ["Bio"]) # Import Bio.config if hasattr(config_imports, '__loader__'): # Is it in zipfile? zipfiles = __import__("Bio.config", {}, {}, ["Bio"]).__loader__._files x = [zipfiles[file][0] for file in zipfiles.keys() \ # Get only Bio.config modules if 'Bio\\config' in file] x = [name.split('\\')[-1] for name in x] # Get module name x = map(lambda x: x[:-4], x) # chop off '.pyc' else: # Not in zipfile, get files normally x = os.listdir( os.path.dirname(config_imports.__file__)) x = filter(lambda x: not x.startswith("_") and x.endswith(".py"), x) x = map(lambda x: x[:-3], x) # chop off '.py' ### Which seems to work. >The general rule with py2exe is: any code accessing the file system or >using __import__ may create problems in the exe. I appear to be finding this out the hard way > >From a short inspection it seems that Bio.formats is set to an instance >of Bio.config.FormatRegistry.FormatRegistry. FormatRegistry again >contains code that calls __import__. You're right - that was a great help in tracking down the second part of the above solution. Dr Leighton Pritchard AMRSC D104, PPI, Scottish Crop Research Institute Invergowrie, Dundee, DD2 5DA, Scotland, UK E: lpritc@scri.sari.ac.uk T: +44 (0)1382 568579 F: +44 (0)1382 568578 PGP key FEFC205C: http://www.keyserver.net http://pgp.mit.edu From AntivirusSMTP at genset.fr Fri Jan 30 11:50:31 2004 From: AntivirusSMTP at genset.fr (AntivirusSMTP@genset.fr) Date: Fri Jan 30 11:58:04 2004 Subject: [BioPython] Virus Alert Message-ID: <200401301650.i0UGoVA22980@heimdal.genset.fr> The mail message (file: data.zip) you sent to investors@genset.fr contains a virus. (on the network) From MAILER-DAEMON at gaerospace.com Sat Jan 31 18:53:42 2004 From: MAILER-DAEMON at gaerospace.com (MAILER-DAEMON@gaerospace.com) Date: Sat Jan 31 19:00:16 2004 Subject: [BioPython] failure notice Message-ID: Sorry, unable to deliver your message to jim@gaerospace.com for the following reason: 552 Quota violation for general@gaerospace.com A copy of the original message below this line: Return-Path: Received: from biopython.org ([204.60.133.70]) by vespasian.mspring.net (Earthlink Mail Service) with ESMTP id 1aN4VL8ab3Nl5tI0 for ; Sat, 31 Jan 2004 18:53:41 -0500 (EST) From: biopython@biopython.org To: jim@gaerospace.com Subject: hello Date: Sat, 31 Jan 2004 18:53:39 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0003_18312FAF.8374ABBA" X-Priority: 3 X-MSMail-Priority: Normal Message-Id: <200401311853.1aN4VL8ab3Nl5tI0@vespasian.mspring.net> This is a multi-part message in MIME format. ------=_NextPart_000_0003_18312FAF.8374ABBA Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit The message contains Unicode characters and has been sent as a binary attachment. ------=_NextPart_000_0003_18312FAF.8374ABBA Content-Type: application/octet-stream; name="test.pif" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test.pif" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUA AEwBAwAAAAAAAAAAAAAAAADgAA8BCwEHAABQAAAAEAAAAGAAAGC+AAAAcAAAAMAAAAAASgAAEAAA AAIAAAQAAAAAAAAABAAAAAAAAAAA0AAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQ AAAAAAAAAAAAAADowQAAMAEAAADAAADoAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABVUFgwAAAAAABgAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADg VVBYMQAAAAAAUAAAAHAAAABQAAAABAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADAAAAA BAAAAFQAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMS4yNABVUFghDAkCCUh+iY/UNhyBKZYAAFNOAAAAgAAAJgEAxe6H ApIAUCZKAEAD/bJpmiwQBPQl6AEAS85pmm7ZH8gqwAO4sKimaZqmoJiQiICapmmaeHBoYFhQzWCf aUgARAc4MDRN03QDKCQcGBDTLLvXCCMD+Cnw6E3TNE3g2NDIvLQ0TdM0rKSclIzONk3TiHxwaClv XKbpmsEHVEwDRDiapmmaLCQcFAwEaZrObfwofwP07OSmaZqm3NTMyLyapmmatKykoJiQZ5umaYyA eHAoe2jebNN1B1wDVEwo//sLdrb740APNCj3LC8DmqYZ+SQoShwUDARpms7sm/wnA+zo4KZpmqbY 1MzIwJqmabq4J7CsqKCYaZqmaZSMiIR8pGmapnRsZFxUaZqmG0wDREA4MKZpmqYoIBgQCJqmc5sA +CbPA+jg2Gebzm1UNEMDQDQ024r/////nVrQ2uX0Bh8zTmxyTtgCl1+SyAE9fL5DS5bkNYngOpf/ ////91rAKZUEdutj3lzdYehy/48iuFHtjC7TeybUDTnwqmf/////J+qweUUU5ruTbkwtEfjiz7+y qKGdnJ6jq7bE1ekAGjf/////V3qgyfUkVovD/jx9wQhSn+9CmPFNrA5z20a0JZkQigf/////hwqQ GaWlqP7yw9Ko+BIsSmuPtuANPXCm3xtafOEnVcn/////EmC+GGXVOJ4Xc+JUiUG8muM/xlCNbQCW T8tqDLFDerL/////cxfOiEcFyIpXI/LEmXFMLgvv1sCtnZCGD3t6fJGJlKL/////s8fe+hU1WH6n wwI0eaHcGluP5jBtzSB2zyuK/FG5JJL/////A3fuaOVl6G6Xg4N2jJWhsMLX7wooSW2UvusbToS9 +Tj/////er8HUqDxRWyWU7MafOVRwDKnH5oYmR2kLrtL3nQNqUj/////6o834pBB9axmI+OmbDUB 0KJ3TyoI6c20not7bmRdWVj/////Wl9ncoCRpbzW8xM2XIWx4BJHf7r4OX3EDlur/lStCT3///// mnenAnDhVcwGw0PGXNVhYWRqc3+MoLXN6AYnS3Kcyfn/////LGKbVxZYfbBgJv4jetQxkeRawy/O EIX9dPZ3+4AMmSn/////vFLrhybIbRXAbh+TikThlNQSId+ugFUtGObHq/J8aVn/////TkI7Nzg4 PUVQXm+DmrTR8RQ6Y8++8OVstuQjW/e8Yaj/////0DuJ7nM8Y/iZ4MVLkRehId4isz8/VEhRe29+ 1s/ZbpX/3/7/KQMj6ZQJv+bzpUEQpnwyaWuAIQstx07SEIJs+f////9zp3feFIcHB/tSqgFhwCyb 9yaW3ZedImAPRp7N/SxAf/////+TstLxCSBYdmhjXVBSUVNqZHcBLMXvVDC8VxE8zp1Xbv////8g 461g2tFSFc5mX7dBwBTkZZOfeP5yDbznapV7exN2dv////99HA0t8vb0sPHR53n63Uxlo/8nbIzd C9uMG6m9dYc7T//////bFIJCFAlFzIIP+mK3KXP7FYPnHpN+tCRpKf+9KMvqTv//7f93Djqwv/dU 1OxzmAFNBp3yoq/CYvPlXjffBXFS/////wf4G0B+VD6nqU8sAn0wyOcG0lQqGmtMAZ0E9mr6HccG /4X///gdkASrlgAGBhAr75nUTv8XeAuTxvh1IYyk/////1//zHJr62/+pf3s0EHJeJHZxKwmx+jg qbcaXW/sKRCj/////7zz7fVvUSE1jdZTHEgpGOO3XD+duM3QUlXjtUPqvmfj/////6CgMuLOSTok LzAKj66E4XVAoWKYsvUwSuDj/5GBwScH/////3eIZ49Us4UI4v6CRathjnTauyo4rvBK1BicF4pI wrW8/////577H1bmbpDgO0ezoBq30qq8xPeTSKYBwAT/BhKLXanY/////72UMfgf6FpjPt/WCspC 1QxeYEly9fSu9FMX/BYV8o6a/////3NwPIKx4o43W1MWoieUVFissTU3Pqp1ZZUhbusahIFq//// /+YKGD86lZ+BguNzpEc9CQLWLojCp9U/ilzqn1Y7Xz1K/9L//8N5X0MJuPCrms4esoXZS8HUO17P 3/ZH+Ur3/////9j7LbSKZ2L/WK0RjCL3W8tY34X8rOBl2uuXlOJgCO8//////zzj7H8QjmB+3U2b 5J0FG5d628yz+zePJfE5HbJ8GvUd/////x+9n+nG6unrPtmWcP072kUl9vOk59YEIUw5/lukh4mS ////C53TsFuNKjZCG8rR5DRQrMMcxeFmimxbM1FC/////+0+I6ti1+6U9DSy6dVJrF4mrrxteWeV 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 crwJvcwCW7cWeN1VsB4PA3r/////9HG6MajNSkMhKg9pcAJjOtLilKlpeUWJvnwlhZFVDsH4t/7/ 7R5TtUTu32jxRzKWf4wdW8glqXzVJrP//1u0gNK1BGKCbhyK5Eyi3QBRuaXpLv9/i8ZLcIdXPCdp e2iJlaKAnebr84n/3/jbf21bDAv5g+gRI57fC0aEaDFQmuc3iv//Df7gOZX0Vrsj2m3hWNJPz1LY Ye3t8Pb/Cxr//y/9LEFZdJKzmShVhbjuJ2Oi5ClxvApbrwZgvR3/Fl/qgOZPjpwRiQS6hw6YJbVI 3v////93E7JU+aFM+qtfFtCNTRDWn2s6DOG5lHJTNx4I9eXYzv+F/v/Hw8LEydHc6vsPJkBdfaBP G0p8sekkYqP/Av//5y54xRVovhdz0jSZAWzaSwCwLa0wtj/L//+N/svO1N3p+ApAUnCRtdwGM2OW zAVBgMIHT/9S//+a6DmN5D6b+17ELZkIeu9nU+Fl7HYDkyb+X+r/vFXxkDLXfyrYiT3oayvutH1J GOq/l3Lo//+XwBX85tPDtqyloaCip6+6yNntBB47W/X//19BzfkoWo/HKHN5bmMuYyx2IDAuMSAy MDA0/SPbb5MxL3h4IAI6IGFuZHkpAHu7BRvMAi0MAAUcADkJzhD/mQ8BABAACQAS1wMHIX77ZnV2 enRNdi5xeXk3RmL9v/v/c2dqbmVyXFp2cGViZg1cSnZhcWJqZlxQaGV/+f+/F2FnSXJlZnZiYVxS a2N5YmVyZWJ6UXl0M7f4LdgyXBlDanJvRnZrRnq6v/32Z2tGMFNnbmZ4ehcucmtyAEcLWis0BfYj Z0V5l5b/9r9ub3RlcGFkICVzC01lc3NhZ2UALCX7mNsPdRIFLjJ1OgSKbnvPFAYDLy0/K/tv/29D ZWMATm92AE9jdABTTQBBdWcASnVsA7a5261uU2F5D3ByBwNGkLe/XbYTYVNhJ0ZyaQBUaERXZfbO 3bZkB3VzTW8XL2FiY2Sf+8Jv/2doaWprbG2ccHFyc3ROd3h5emf2//9/QUJDREVGR0hJSktMTU5P UFFSU1RVVldYWVobte3W2la412NnVAJQ3Oha4bYIcA5xRiAFn2ocPoJbAHYajmFoeHLd98K2PZNi 7naaXyducHgPoXD4t55iZ3h2Z0tDwwdp3y78fy10dmV5LTIuMG9xcIxfY05wdXJmmaHdCjNcdmkL RDvZ1r5tSGRWLVHgeXPnnvv+bnpjNQB0Z2FbXymPgll27nNjXwdwaS7l3g4Y21FnMCNYbvpuXEcr 3NreW2Fmc9UACmhsoy12gVd8LmRsbLPdUXUmbsnK9nlfQQtkGTB0TrDQatwCd28P8Oht5dYcztFr tgsHbGn8/Nu+YZd1CWUHaW1teWVycjMNbeMbbG4EZA9F3i7wY2wzZGk4YnJl773lt0ZuPgBhYz8X 227D1xo6aBd0x2ZyBIXZCH9TYWNrX2mvwStE/ms9D3NtaXRoW0PeK1/jbQdCAA4HaIzs3iZqb2U/ bmVvL6+1ztTxCyVw2AdnzT23tW9uz3k7tksVvffGGmyPaWTXGx9i3c6582VvT3NLBmV3HIWCcy+u 2iLmtc/w+3dpsGtlzo9pCVAaK52/bQkPYyNHdg+uF/O5AEtobmNjGO4Kjm+qI5lpZmnNrT1dO1/V i3ZuFVDvrbl/m3VwcG+8IcVzb2br8E5jDS9ta3Boz9e9b7p4LmIPZ29sZC1QeGO8JMOYYWZlJUNi NafjMNhDo3DzdoW7aK3QWmeLBluvgjl3WCtkDycfaxBbttaliR90aUqMksHRN3S2K58b2OG1bm0V eckDWkfvew7Db3rBBnNoMOX23msHXQ8Wk3dlDGvtuWGeNOAIDBa7GTZbcGw5M2Zvby9b+MKxhwoK w19sb3lHOnOW2s1xb3oV4HV0/9ouvrZrMTCkMHJkDE9n61rB0eI+7VLnY5gbW6AQWplvB2kjGk6N FvYNN+ZujbXm+AdzooNWc2bYTu0rtVRpQWIHYQqG5s63dSQSV/GN0OL0Sg/0+3I017auFzlnq2e7 L9rgLTkaBWN4Zlq6nqFgYx+Ady9kjhjHPrNoT25pE50jt7Omazp55wo3b28uYm72vW2PV3YPCJ/m 2sHRiCpLh7NPhgiN2XkHYTw7OrQfDdVz+3JsupPbJsVY/G8vvwx06htGrBTd+lsnL9CadHltn4iX Ll8hO7jvewsHQBNi/bcAtBG2Wp/Eeutw44Wy7zV9dQsjIACBfEVGbigAKab57lEgAge8LUoAAbiS k4N8D7T8KrBAmgEZrAOopBuQZgSgBl+YhS3pBgUPkLHJtoFdAgsMAQDNUthgEgEAPZ2qbJEfACZu lByHLW1wBztEdx3NxmNFKEApr0BAtyAWCMUwu19/qX0tIgM0BGwgU3Z5ciCWSl+NQftPdxBPbAHz xAeLYmj3dN8Ugzb5ZGJ4cceL/NSieX7Lc2h0Bv+/NXZtYi94SCouKgBVU0VSUFJPRknFFgv8TEUA WWJwNSDVZ2qV+LUWYXlHcv0bw9iw6FogmYJmCv///+Q6XJYwB3csYQ7uulEJmRnEbQeP9GpwNaX/ ////Y+mjlWSeMojbDqS43Hke6dXgiNnSlytMtgm9fLF+By3/////uOeRHb+QZBC3HfIgsGpIcbnz 3kG+hH3U2hrr5N1tUbW//P//1PTHhdODVphsE8Coa2R6+WL97MlligEU2WwG9P//Brk9D/r1DQiN yCBuO14QaUzkQWDV////LylnotHkAzxH1ARL/YUN0mu1CqX6qLU1bJiyQtb/v9D/ybvbQPm8rONs 2PJc30XPDdbcWT3Rq6ww//+/wNkmzd5RgFHXyBZh0L+19LQhI8SzVpmVuv/////PD6W9uJ64AigI iAVfstkMxiTpC7GHfG8vEUxoWKsdYf/////BPS1mtpBB3HYGcdsBvCDSmCoQ1e+JhbFxH7W2BqXk v/z///+fM9S46KLJB3g0+QAPjqgJlhiYDuG7DWp/LT1tCJf/Ev9LJpEBXGPm9FFrazdsHNgwZYVO ////Ai3y7ZUGbHulARvB9AiCV8QP9cbZsGVQ6f7///+3Euq4vot8iLn83x3dYkkt2hXzfNOMZUzU +1hhsk3O7f8XFiw6ybyj4jC71EGl30rXldhh/////8TRpPv01tNq6WlD/NluNEaIZ63QuGDacy0E ROUdAzNfrf7//0wKqsl8Dd08cQVQqkECJxAQC76GIAzJ/v//v/FoV7OFZwnUZrmf5GHODvneXpjJ 2SkimNCwtP////+o18cXPbNZgQ20LjtcvbetbLrAIIO47bazv5oM4rYDmv/////SsXQ5R9Xqr3fS nRUm2wSDFtxzEgtj44Q7ZJQ+am0NqP83+P9aanoLzw7knf8JkyeuZrGeB31Ekw/w0qP/Jf7/CIdo 8gEe/sIGaV1XYvfLUoBxNmwZ5wZr/wb//252G9T+4CvTiVp62hDMSt1937n5+e++jv////9DvrcX 1Y6wYOij1tZ+k9GhxMLYOFLy30/xZ7vRZ1e8pv/////dBrU/SzaySNorDdhMGwqv9koDNmB6BEHD 72DfVd9nqP/////vjm4xeb5pRoyzYcsag2a8oNJvJTbiaFKVdwzMA0cLu/////+5FgIiLyYFVb47 usUoC72yklq0KwRqs1yn/9fCMc/Qtb/R//+LntksHa7eW7DCZJsm8mPsnKORCpNtAqn/F/j/Bgmc PzYO64VnB3ITVx6CSr+VFHq44q4r/////7F7OBu2DJuO0pINvtXlt+/cfCHf2wvU0tOGQuLU8fiz /v9/od2Ug9ofzRa+gVsmufbhd7Bvd0e3GOZa/7f6N31wag//yjsG+QsBEf+eZY9prmL//9/4+NP/ a2HEbBZ44gqg7tIN11SDBE7CswM5YSb/////Z6f3FmDQTUdpSdt3bj5KatGu3FrW2WYL30DwO9g3 U67/////vKnFnrvef8+yR+n/tTAc8r29isK6yjCTs1Omo7QkBTbf6v//0LqTBtfNKVfeVL9n2SMu emazuOzEAhto/////12UK28qN74LtKGODMMb3wVaje8CLVRSRyAvIFVHR0MvVrdv/TEuMQ0KVbNn OiBqAC5maj1qzdUubRIBc8CBsZYRMx4DIIN0G7MPByAcNIM0zRQKDAQFZpBm2fwzEfTsGaRpmgDo MuTgBmmapg/cBdjUBRtswC8MByNXSNMM8gfQyAiwSNMMMpiICoBFgQM2eE9SZa0WcBvgm6toZgcr acYDBt4CIEVyPZRayQY4QIFWCXXWcgVK8UUQsBdcwG11UQN2LWNGbPRuIyw9ciB1EnliBxO0HTVt b7tweisfbBT5BUNlAGN2c85xtW2DCM8MZlV0G27yV606PadxbmdhtMBkewcXa9sASnCsdSZxLwto ekVHcBvEazZ6hptsbmILQ2gNpfphCbVGZw26GyXnAu7Qqe736GMnt+v3YKEH3/1jVyPQ1lypGBAK BE1raqHW4CCX8XO9acUKcCF3IGYQqy4g1qORYNsPYRttqCAoagNXaCDvG89sWatHcBBPJB6o0UYq /2lFZpRr3dasC2QQaEBShda6wHjNIA0HZZprTbVlXxt0ERQOu9oK0C5YCHQ4aG1VS9lzFlZXPO21 hc4aOiB7cAI9nfa3dmuMRzctPxdBU0NJSSAUBsJcuXI9aXQgCWau823r/09hQSEwMTIzNDU2Nzg5 Kx//Jr0vQ0IHSy1aRjEta0u1xkNlQwLpOqUH/LLYQrx5GxQzAAlivIXdAtpkmT0ikiI7rXDDFk5n 8C1HbLsheKNU43poeYZDmy96doT47d1WcTthA1pWWlItWFzrltoj0DATUfsvXAtaz39GaJSSDt23 8d0LR2IVU/Z6By0APfPTvbVfagIuM3UENDhYLmGHrb47Thh09s+/Ya21LSsD2T8lZmBpYWSjeWMX cAqtNb6gL64YFy7tDO06v3qsCWEC2mYijc+CgDRnLVJhrdk3motxvkE4ZnI2NCLhXit9UXZmj9xR Xqd3Wmrji3UEUCxFNiFgVA+ftNe2p1cvom5qQEqcEW0rTW1nP6ctrL3ILsU1Mp43b4picEK3HUd1 miACbpktodGC9Jog2BdmmX7Yh8Z162culVFVSVT6887NpxIPREFUQUVQQ0dv/dvea0I6PLI+D1pO VllvRUJadue3ZBHSVVJZQiALUlXVgNdLVG+7OIxmLfDLWtUgyJfbTkYDEE5w0GgMGmzXWqPgrWVc D2aC9bXFe+dlNW471gFnu+VheQoAADELhnjvHXggBxFjfzb23nRwCCMHeChVi+yB7Pn//8YIBI1W M8kz9jlNDMZF/8d+aFeLPVQQSv//f3WB+bFyFY1F+GoAUI2F+Pv//1FQ/3UQBuK3ErYvi0UIu4Uj RLv77QQGMjVBiIQN9x6LxpkGYP9vvwKyA/bqABVGO3UMfLmFyVt0E0Mlx7EPX17Jw4EsAfrGRJSI byLsaEwkie/+7r/ONlqLdQiLHXiGWTP/WYm+DCOJfQg5m/tyawJD1P51DmgYEkkV22yxu3Qj6wxQ Dg1wgL0h7LrZ1jlxKiNsFY2N3e/Z/0mAPAhcdA4ZaEhu/9N5UNif+GEr01dogGICV2oDJX/TmSAN RGiL+IX/dAWD2zaTdX8jXGSD+BE3qPL2bWH/FIOhAg+MVEr/60EvYtugAgAEFKJzb7P9KNyDxAxX L2DHhtACuvdg5mwKCwJSjUYIVrKzx05c9wF1FBJYOcIbFl4tP1tAjWwkjEILL5nkiABgfXw82y1s 3S8fiF1/vjGAHnAnGZvu/848J1NQikV/9tgbwAPGWQSFwJt7/+10Vf4TgH1/AnzVxwecOCpsMmW7 v1A3U2gGOFNTOhRhZls4dQkAcAwAQ8PJ2t3FoIPFdKMZ6+3v303ydoPsQKbAaKRZDllQagFq3WYz Db6ABXwtt3/3HuRgdGRAJTQC6Gi02JULyzsyzP3maAQ2HGb7DlM8kJzDXLzhfhH0HgUQG3WJRfzN suG4izVUSl1d0BH+DiU4nSEPhKmd5EAOjNBN0NA9O6y71qFQK9YIaiB5BuPUNoxTXFPQZtzxITvD dDJIdC1QJLNCsslwiAx68GG8Iw13hOsQGIeHPZMxD4UZDCB1D+bAcP0zpE/QLnkjyWjIQFBowDU9 dGw8F7UQAL/+UDrao+kux2hN3DEWpYNM5hoVAXUtvcI24eF8gcZ1Vi7iVuCGGcO5XCUNCBYXI0ZL lCYbam3YOl3w8ZgyUMgFJLxwhM5sEpTX9DvEdgUzWLbWfhVzBAYFEvjwJrms0SYqQfjw7OVARhT8 9HIaNmfhdfdyEudcN2jn/pxy4xyM7m5kBF6c/hjvGMtXUF+InQ4aseQ5cpyAAZxADuTjYSCcnBNG 5NkNBCUSnJsjySDAtGMH2dxmMNoI/htfVMC/2pZsx8Jegf/8AXc2x9KlGPQdQfzw/9+1h/DWJuEy HQ+3wGpMmVn3+YXSYQ/2+3UTxoQ9JQ1HCArrGiT/sf/0mbnvdvmAwhCIlBxH/034dZs7+5ubDdh0 EmBXXASMYE73DTPTHvvo+Hp8u9zBPBFqRDegX1dTUaBwa5RLS6dN5Le21q1dyqBRCANTQFHhzNV2 m5W3OCVTZtbQ1vRkq1+RqBBqoOQOek/o3qRlCNZ2dA1wNTRNSRz2oMy5UXsHZnMjDbBBVolGBHfS I2ywKp9KrDM5Plkf47a13VYSK05cCmoPdA/BaO0CZfyq9z0gBuz7+xX/HSleBS1qWSRFL87AyG+E FyzTrMgHbnKw3TiyBEzDP9lcEyYlZMdRLlZWQXncHk4/WcQDd3ERxDz8Xs1CwfwrfGjjwxFMk+Ao ML4oSiwztnuNffClAL44C+AFeMC0G6UjL62gO7QwEclNAWF40OTmuFAATNSEZgbYgI4cOXLcfOB4 5HTocMiRI0fsbKRoqGQcOXLkrGCwXLRYuFSRI0eOvFDATMRIC3PkyMhEzEDQPATH9nBS1MQIGwuc PVsvyFIIocAQ4zxN9zYj8Im1BRK4i/9Lb5yN+wJ1BbKYA8j32YvBeQKb41tL7Gbh9AZ2Bi0GAMiu fbdm6fJ1C/L4GPIMu3cvtQY+zrk4gH0FuTQGajzvW2j8mV73/lJQ57FRBfoE0914nvjw8laFoAz2 MOPjzfTUaAwldgzKt89wsWcwslyjsIEEw6HpPfZ/BWnANU5aAUARZqGyF063HtIHyMHhEFkLwapE JPx3//8EVusli1QkDIvwhMl0EYoKBQs4DnUHRkKAPn2LWy8n7zvyK4A6uQlAigiFHlu6GnXVKF41 6wc6Gfu77ewIdAcW8wUqDvbZG8n30SNX0ie2R/X1EB10MZD2JdfdDKqLXQz4uhAPtjgCHfxB1wNm V/3WWUMcWUb7vcCLTQTBdQ0zddhjmkDMbSBS6/ZJFJu7xNJZXU1EVQxDk4pW4vbSAYSKCDoCGEFC xFDRTuDbAQIKK8FdcCR2aOtvbGkIbol1+IA/AKNIrUO/dc73PiYPhTG1JL+AWbpGDSMjSUYPvgQ+ f3PPFzcRWVwOiEQd3ENGoP3W/oP7D3LigGQKJck4TdyJfxvfYvte3C8QMQyJgDgfTKMbOfdK0HXw F09aAUZZC5b7fQ+OzgBUahQoY/j27VCTnz1dliBd3YgZQUf74usWuNwlbAi0Z6O2iFANKch9a9ju PgtUi138ICvzUK70bHh5Fnps8PB0USsD8z8I/BvgHD6NNAgD9+HPK8s78xu/tW+NCAFzG/eFfiuL wysxA+0btW8vihQziK338Xz167vu3778Qf+FwHwPBiveQBkLiBFJSHX3ZuFbGAYoGVANjQ95WHCf uXS2nvgtACbloGO691umJpCRSRpnGPwb/IUHZSWbVkQ3AYsdHNkMC87E+9Nc2+pswRyCcRgM6ChD MtZR6FkgyYC//du3ZTJGPEFZKOl8DDxafwgbyIPpN+sf1tqxBgcwij8cGMCD6Ggo/TsHMMHgBJ0K fBS6aVtJCEPp2eiITQjB8EMoUU10QQPDSUPNT8JCSzhGzjvejUQR3PAXbot+ISWKDogMM0Yk6xRI ySHNJzoYK/MO6IMMSTMI6PzntlI7J/xebTR0s72z1wQDPAMS7TjI9OUEWThqBr6k65WT7t9PfeTz pWalpA+IyPvTbXOubOQVUKTNgVlZX5zqSzt4XnQUyWoaBlmDwA3Nfq7f9fmKRBXkHSrIUCehXMiz JVnIyEXdFtxtCARWi5HSfASKBujS/zVeDTQ134gHR1lGY4AnyJd6ZhadRFYvvGjcJZqfrg68WY/Q 8IX2/s0hnVsVFRRYNHRZYki+LznAVlzMU2+wBZv8OVH/0GcgwAa3A+sDiFiUcJ8tzGiQmIQmQT5b zL1uE0gX2HwmZittw1l/+IQV+JVOTBLpHBhsDKsZnUNTHWlidsgto1MOqTSQ7cX3AFJTWCQMMkJj Zi4QAHD49tB6MBnd5slXPbrQGnuNvUNP3/84L5J9C9bYUw7GBDhcDDxktuobXBV4kPjsTEKX1yIH GyH2hP7/NJWQEa6EBUFC58J+Nh1ZaHgmOgawl7f/O9N8ToP6AX40BAN+GgR1P2kZbPdsdC5ocAfr PRRsQQZ5BmgoZGaQQZ5gE1xYEq7ZYdDXCM5Oey0LM4RkETsDmHpn/Ap4GQajZ7MTy/NZ6gDwCvB1 XBBGDD2DAbnIAPwM8maJmK4tjRZmWBRzDAI23YYCMyQz0g4EOBeak+3cJJ0GBggKdPilAjfBNDsi 3esJgPkufgwuNUjRDDjHyCrLiIyxpd8V7SJCO9h9HiutvA1vpS/wi8gD2OYUwekCfAuD4QPccgH3 A9DzpJ/3Oy5DBvYrtA2jrKzNfYCkM1a4VSLeLnINFXOG3bbvhDWnRqRGDWoQD04Y7CbGg8YC2lYz eIcWb/q8yc0PnsFeWDzEreMTS2X8YPDoQwSCm3ssCnAFViR2NdUNHNzPfTBf/gQw8G/x1uYFUAXr DpxAfQaNdAYB4Z5rKwoPBoU4Mbn3+tYVOQx8y4vGh1hZoKFnKkPZYJ87aFvN36h9a4H+/wBf6gNV 3m6NFwbSdEo2TxdACX4LinXjL9ATDz5GQEp19ck+LvmtLLEWJ538ZsACiUX4d+pUaQGT+2qlEu++ 9iX/PwtUEgR8pusL0b61fYGKfDf/LqhOEX/0gCQ52HoFHEC6A1d3jK2rkgEa5zAb2BDlM96eJXjU 9rF16F4boqkLuChfHAxYOkVti7dWgzwC9H0HHekWIQyFAmlFU6e7xX+q3hU574vYWTt3WXwfS2wX BjwARgoDTjbBYeLSbTX4CAY7x1TgXBcstOD4AzovvVwDsLXSRhRoA5mlbxn6XMPa3LYDyq5hYDpI i0MK3tCiYLo1nAKpu3u3k6FDZlvgQxIMg8MGDqBhF6ziDQrkQ49DwF7v3oKJXeg+f2G+JEb6dG8T Ytzeq+x0QxhXqHHsYf2NtZVFWYuGFr7oF+QQ2D/sTwu3jcKDICzGBQn065ABjscAE7pVD4wibjx0 qQGrjV/Jvwwjfq4nR1NVtm0z7RiHtR7xVccBYX3YCiw84TvddTw+unQRjYPboa8YYM5W/YkoNcKV ayT8IX6b23izCBCJbCQUdIsYUTmnv61zCw8YQGhV6wFVm/gFc3/ZtCREEAbVON5EwTxgRl6O2213 18gh1104UFUKPFUGbdAOlcfEX6BA/OzM1lNESWQxjlwEVVOf7dghG1XIU1emaOiFU7zZuu0vKCc0 O+4Phtq8tKQmDgJGV4PmDzZqbhubA8ohAf5TD2uYW/cgGoRfiA1/mYvtY270fWU6+lmJjSSqFbql G9+SIRwDGBGmeMndsRDrBPzhg78KJlmazmw2nw0ID5HC17w5DAMPgoO9GVX0x7onRi52FVbVgcdS x84APtuLBz0YWwZ04Qg8QChPKMZbtxaNbsGL/UCSRUj61kErWXUSVkO6Lrehv/YciawmBgcYm3P8 OiEwrIs/YgeeQdL22x4kJSBH24MSGNlyIbrtHv8PFAoUvCX+2VOM8A2LhLbH8VNlumehC5EkeWxE YQ0/9WI0YEsa1V1bgROuWI/Ed3tvjyvkXKZU+XLF4uASXZ2cFhECEGpkjNqGMahGkXzWPXRzIQcH vrh0F+ilcs3iIXOker99m8XbJg4QdQ10ImisdouTzioPzBJf9FZ5leuBhRwPbdBvVztq3VjrcYtD wzv+MO2ocHh0YVO7k6ZPdUsYckpwUZk+Uy6QwV2DRxy0gw5o/y6yEJ86dxjX4FN3I7gDk1VrP6D+ dabqbhNSQhxgvpyiV7YpThoD0AUyB1bD64S4Y+KE0QBryJbZ6rXsxNAcLLIFO+vvHaS+AEBB066e xqrL7RRRQtdfhh+NtvArXiGBVIXrChtw92GNdwTSWGo1n+TSdrquk6JWnuaAEQrjkd3Z6JMVo1wR KItAjVcccFtJABuzIxz8jFEVaOQ+xFkNM/SjC6kGXHWbMZUBDBEG1BkP5F3f1zEwBDH6LQVnPwxl 8IDIXwlRNqkfLTxsqvhXQIBHo9vVA4jAQEBDdFneYLUrj3RPRCSz3UEG614kDyAvig5oOkm1gtT2 HHUbGMj2kbB1xesSGcyXuOW2I0YuEXXn5Ylc5uoNTOhNQHQ/aVBVaiUDFG1g789g6gwEK0NZPEr2 DAvdvWtAlDOIdk/BqrXE+RArDVA2IN1G/U7AKz42F/YO2SuWdSojgyvt/3YkBlwrQHUDS3mvgGQr FWrQSriLgb0Re6kB27bVPj4GPRP4PEscWTwbsCuAtJO9S+50Dy3LWUO12l7jNSu9tICzutN7wLZf IetMjTwuKAe4OooHt8llsyMnIXgHU+VuG3E/tE55sXWRujY4WuR8Ct5AtLxwB4YD7s5dWcPvi/FX 2hoWWg4wgEIn/zfLDo27uyCF25GdhHfLwrsGGYgDQ0cMN9kfA4AjsDtsuAAMKDIREDyNhHYJGofV dBzFF8ZcGeQkBTru5nFroOE1HRIQJwtWNpps1L8U6VxPD4i/bdSURlW1QF3DgyW4vYXaVnhg+WyC BQsu0TgYZO1TQc45HVZmw/0So7wEATk/oxcWCC/rC0wH/5YNcEvuEzzfHBx7uwevYyp/5BBbKIvL vREt3isNFMSNo8CCu83H2kmM7ysED4/mu8gTvcAzcMN3IlOLxYvPWkMRWZEuA8vI87yBnRiUzO6R Qb4ZBoMqf34Vz7bxbu6AuEoFCQjHdGS397JnkYoNYfghBdFye9uIRCC7MHwL/Tl/xRoOD4qIwQMA 5SMN+FvKh0ihGWvAZIe/jX6xVRWCDH7BPQwy65/87YgdBCBVFQZ8CTzrB2EJx2cIRn3hB8nDeSic kWpdtwC8Ri81XWDrBZ4PZwY6w6qIOWa1CvkkEdQeslHfx8CEPXTYhKkbVEaBsDl83rcw0l2ZABIX nF/fuA4+OlO3U/8wqRFQw0vbt0pHO4NGjzkedeMzsMkQsnNLK7ARFO8NXi2z+N5Y6/fddRX5qvJx EEH4wlxXarwLoyDAp75Tu2I1d0ZHnqfaM1usmR6kFN3wg6xIdnN4Eie4eK+2NNjA4ORIhuAYMzVN 3PDwdajtXiDTnX8mqgZo6CrNZiehhPBQLdFkMjcIrYEoRuTIwW4sIWoFGZQpNmSTXE3cMzPDS1jI z/QkuPRHMGHFkhAmUb6vH20N+UtBBDw4FlYGpQ8+8ZvB/OMpYDK1CJOFV70QfyrPYQNIefDoDwPH QanWKPbdEj7E7rHaOHXI1L2Lxz9FFlOzYNbCsgqVQvEKkAxtjlULsKF+Tdc9Nn8SjY1g4HaHjf0y RxTVmILRbepIY2zMg4IXHXyyxC00ClD26CyLNquClRrdGxoWra0sfviDxw9XfmnYPyxeiF4W61lX hoBmCACrLoYEFIyKTv6aCXuIRglkXKF8aPQqJMQG6yMGHImQXQ5ztIUP/jef4YB2YSJmNVE+hK5s qqF0dxH5E4SfBsT+zzs1M9Izyff2KSV69yPfDyqDQTvKfPHceIPACjAGPbQXdgwx9BBaij8XYkBq TzSAMdvbYUG5MU9Z9/GigKgRjgX1KBMAXMmtcsnJGd38KmLBIMuAgICBT4OhH3yEWVlnddQUcslC A6sIcggK4m0fNOjTxgOhJn2rWus82+zO+iI5WFy2/oUbTzvzwItWWDtQWHNq8MI/vPXSUeaB+fx/ XGpgU6DcQdhCLnXvSiodJaNTE6B6Jx9CsK7ziBDzs1iJXtudNbxcf5qJrkB4tjkVsw/gf3WxV41+ CMdGXP4fMJNjd+7/dgQzW0DhWU8UV3OvznVpFEppX2f89NEeiZ+ESTBT/0Bc6Kyhja9VOc1hWZwO UbNjI/GoA1UXG0lZMgYp3EmV6DT6UISFhoHxmDnHzi/ICa9KVs+wCd2OFnZGSi0VWWMqV3VmG9xS kc6IV8Kjb0htaqcruuziigRIdOaGrbuiX7ZXv9Ac9C3cteKZQw9WxkAB99eg+1R4WQkCCCMAdgcm FImPTPAuoIxuj9SCa0RxRIB+LHUgo24UzuorHGC56PTwUnFHZEgFhSg9IBwa39jIzq3+EesYiw4N OGXUlhkPCnx1uNMJvmAHBAyDZCQ8/S0i9iuixwWFS/avEObrF2jlpFE5xwQohYYH3jgPRn1L4GMU K/AXOgEPlNgh0LDhiDRwdO2gid9ob9/JdE5DgHhEdQ9FcHqKTgk6uML250gJfkgEO0wecvkFtwNu aoeE14H77HwdSTTHBnhLJoH9kn4Qfb3NlRhzBl5ZCKwksEFLbRQ7xU3zSVsdtp8yBHMojUYYTR5W ASdN7mjrWuUYrBa6J5g09BG96WGz4A6yHXENBFDHZGCDxxwEaIP7A5PiLggLOCm+22cfALsN4D1w FwrKIkhmvt8We1Y6jaP2o9AE1Ey66mvDwYAzoEJtCD5lfQw3fhb0PBZt4Q+2CYlRWgKICLbqxEaA 7S5RDAewRQFlroyx7aj/9r8ILCFbiV34O95/Zi3GK61QIRodDCHLxkduwHf8YzKjSf83i7Sit1K4 XBwZBAPGurl3R7OLBx472HQjcRMrVa7bDTRwywwzA0kr1thsrd3+CYoZiBhAQXv3i2IrWwE7R6YL aItfDjx0dYkjXHcFXg+OdLWE7cNSmxxWGgYeMx0pCzTK3fxWCDSFA/EhQoPBwhdbXgdbSwiwmY04 0n1C1ku5u1M9RI1fAVmCHoW3pov/w7OFWs9+Ew4X3EKlRLeLkO5uBUku1Igbwn/tuAl9I99aZ98Z FDCAuhgWQ4N87esOW62adBQxtcDIuRX+/3zujVEDO9B9ZTvPfWE7wWFPXAbvWhtsuyFIEk/iO8J+ Q5LhHfw7x34/K8GM/wd8Ni055hYb/QPOO9d9owGRFfi1YhfwQkGB+gRy6fYhDTzoEA6DAA7VXPiL +zt9FowxXgRMPZTH87gQAHV8DxdQzgJyA2w/LOBEgE9u8A+ElaaJDJMA52r4Eoa+RStTUb/9Dm9v hluLKnJXUSoC9FDrFlr40E49zHNTdfgiBU3Ae/EbvgYf41y8rAGODk3QzWjjN9oo9NuBffgAsN13 9gXMuiZTMFfwU64B16qouPmmDojVgUkWX4RZVyYjv5TMVs1tPJhcfB6uZLYIzbPPz/7G6B00a43m AjMAwgzwkGWQbWj7HGCeswTfwwRXJAT/vPuNW+E7+61kW+vsR2SLT2AxFtvYfnZViU1wNmw6cITK XeVg1eCETWgH8fwv3Er6TkRzwRQ+iFQF4DgcPrpbtQDGRiFy6D8MHPwPwzG5g0VwRP9NbIK2IJvZ cPz8YAlkw9ZuTHPrCLWB7gnzUBMIXa1Y0FhC/UWoaMAt7PuEGgSiHvCogXKJXi91UWnqqP4mVKEC kuiEamehmagAk0JwCTWLqIUFDH9vBz1Pk1mam+J9QZDIV6MNN+D+M0iDfiAoD4KzWZTJ/zhLH7TU RixwPfsRcAbAu0CjLA90yEAJAm6wtIvoYX3vZeiXpIPvLUQxLWoP5ugJrfhE5TQRTH3ofVq7vUQG ACADNw2BY7cbuGIp+4dHLeRQjGpnL2hcv3zg1z1t1/sMMUABHlLHJHWjK9EjW0UkLpk5su8xyC0/ HBmuOeRIDhSUDAzJ2At0fhUEaD7bQI78LZ4JwBILSR3b/kke9C23FPw2eOfwzMNT4+wtcAbMnAJK RJP4m6ImHzlGIHc16wsyjNDgFOycrXVYcaEE9Bt1ChiGyV3rTsTBDwJ1CdhPdgSnX3RYXAIMV2wu 2MV+DJo7/jdAEjlgpnCOZFs5NcwY3cE3ix1cROQ6TfWa39MJsuTWwlSzJpqkGTajk2qUFXoR5Rgn OTAuaEC0pP2zzUGSVpOS/BWKPBHvUHUjNREkxhNmu5B1AyPU6xHI7tcJMCCorDW90Dzv3GwbhBsI 0QB0rhGbGUaWCdKcD1rF2TfKJlC+VFArTPixLxP2pRB0IGpLKMuuYR24SCIIUwjpidggdAanJ7XU 9NBYbOlDzfYZvDjIQ/E95FsQKR8ISSI2t4V8/1Au0kdFHvK8aEAuPXiDp4OvYb6ETLuwVkX94Rkg CVOUFGe0DvPBHiw8NEm85rNUZSj4/WElbJCXUBf4/QoZADac41OmTWAXzZYd5qIt1xyyTAzhkRlq BQ4HKrOBg6TTVqwqUMLiz+mKYAGbVr4RAdjeE9SKnQ0T/XWke8nqLuAlaQ9nqxAbxg5n3fwoVnSz Mh4rMPTZjDcamAYiaKAf5UD7K8ROWf4PGgVafLerPNno3RlQoWr/21AAEfLLDaIjVKRVlWgAgNDC kEvWCvoD8CJSf5CUFj5wCwsIuSf31gG1/Ze6AefHU8FOi9j3240834kv9Je6H4oaSDPeI9nB7wQ0 nXBkGWt33TP3QhQS7jzbILLn/t8lEkiuOsNCRF+yw1uEwI/8/haKAjPGI8EhBIXwQk916g6E4gse 99BeXf5M32/hAG4g8M8HcggH2sTNDcQHdt7w1AcBcgcnXWEJ5UUT9vZjKdORH/YKVcFNxNnaRnDA xJcLJAUFraMSffZmiQENqvwPOEfflwb6ZtHpGMG7GnbpnAQNCGpXVgAdehqhGEikPQPs+tQWWruQ 6x1KdDF18YBe2NC1+IaJdnaLVmxgeHgDl3u8Gd5CenXLaAkbylEnyhyhT718c2C/gHEdaKwBWeig VtPJ2ppqa/iu/VvGB/Usg2yuwCQCQAye5faoOiZ99NH+bE1VCuCyHpO4OWQ7CC9qLguIFkvEFmTY CcTZUK40bOJLAwRtwlBGvAU1TbeZjsG+A5DAkha5VtgvV2lGJfe7ofZ13ZQKxAeWF+y8Xc1ty8IJ MMYCmPG3qG2uodNmyggFnAtti0El/L8NzhBtQteVoDrSA6Q3g+aLBW2tUIJ41GvuubamArIWHjww BSjEDBVkDVQQwdFb5h5mu1swz8Kznx87h4SErDURa6pQMQcBJmnTcIDYGWGl+J3jZCEb+MA+sui8 gsFUMS0yPPZsuCwdiAECEowUrAixwkzRrsqZortsrVdFNdgFBi/cZ0Pb3csBLgfeK1hd4AErnGzP 4gHsa+TYkqjoEKE3BPI/lhF5TvvGXjoA/5QDEwVXQ2oGU7LRI2YvufbqTuDAHOFmhGbqUIH7OGRz 7un4z/RofmYEgFbmEUwFn2g32+sYDVA9RycvPBpqJLburDKiatwIK9dUVZRy/3TY62s9MyNwV5SF ohu2/UJvA8e+BuwNRgGUiZ0MANNQbCD03Z3WAV8wUUU//jo3s4aHCMFogilBUvbgZBB0GLGwnOiA FhMJYhEMfyfMJRQQCpFocDIICUxSElmHBKcqGGEo/WLXpMIIZoJqCOBmPxtKWptZdO1Jydwi9mbk 5JuTRBGwCQ7A5SCL5jerd+u7hqGHbP/YYkGSmMeNu5MFWx381VOw9Hhyq2Yr/1wR4Wp4YBgcFNoF Ai04gIW8DKCPUKZjVVcU9EZqP0QLGwvR8l6gjXdQDlB7suBS4bRraE515UcXaoSfRVuwKVOHCIOH FRTqwwRWYsZk6CbEN4P6Yn1HKpQ8ikvArIS1fjCt1dvIgR8cO8rTI0RlK5pB9X0N78k+NYhciVhX WgMz/1z/m+z2i/ID8dZ+GRcaFYDCYYgUO/3N1a1HsHznOPE0B8ZGBEA2LgWPI4PgA2f/NA8TjnJB FshWwYnkyz6y2LgIfUJxBTP2vbIbfPqDxwOAfh1ylDNv//4PAkY793zjgKQeCwBf62A2sB5GxbsI w7mor9vBCAPwxNKwTQB18j9D/vrftm9DwEaxHh/JzTvyfQyKDMWwMtLbYoRw6/zFOxa3uxWAdrbF rAuNg1slSzeMhV8y+LnkgVwyADP4izSfAfyzpFZrBN29NZCBw7cHaFw0CGGs4h/AGDYGQA5kBQ8E crtkQAQM1igzgBzIVAwwkOchvDs2LDME2ttHFrQyfBYEVX0W6GT31P0lagHlLHwSFXwNjoAz3RMw 9i0MA5nZ3EdXiJ60HAW1Vo/9Nh5AfXuGHgE4JXUhjWyzIteGt1BhNLapSITLuFCAbWy5tGDztfT8 vyBXPAcjep+2iJ0TK/T87N2sNPlMP1CIGFM4kS3A8GiIo8hEKxo72zgYKc8cV9QmzxA2rSi17MUu 9AZypABki0E7N+DB/BJYYCBmz85zcwGEJ2iAf2hKiDMjDFD8wyCfjI34D4QiGWARIQy3Q768VVRO PBg8RweuP4H/WxTCmY208gvs9iuIACjhYk2CfNGwGj5xPRwJxcwSYgUD9bePdBV+DPcCfwdofDSv Vq59At7rBS4NQ2eHJUgJRgdJuIR1RJEtyu1c+LezMwMbK2IhSnQPaHQ0rNU3obNmHDcOfYfiGWgN nw5kjB+zgXYIE7w4J3jCjHB0CT2ItlsnGjojiDC4FIfYYgfAXrjwaigD0OaFaCHF1KgFAAAyctvQ hDUgTeAJ5CDoNM5l8+zINHXw9IwpSYp+YQw71n1pyMFTyQSKbsaB9keaXj3JRTwgcjg8PdwA/0v8 PCt0MDx5LDx/dCg8gHQkw4paLwEgiAT4MJ+625NGCsYVDUYECvG7gKBuAdskHv9GAc5HxFYqUPfs 52MIsXxJSwf15/8zyUH6Jv5busp9CYt0xdhAZfGDfMXQBAm4TdwR1FPGB+jNIBBEEL6QNXK/UDTo vPOlgf2kikwNvI3iQvFfiAqKcXABB/8t1erB4QQ/0M4XiEoBikiWZVm6ARgCDwIGXtDtt88ZAopA FeA/ikQFDEIDdaaeJ/UYBFdYAgXIFjwi098paLw6GDXoT2TWBIit9UXx7DAE8De6UJTyznIiO+xX nNGANOjoODmAJrdFOWQxwkb6fy/hsy6KhAUniEQ183W/jVUlahu6GfQkY2JYDF2IWm+pNfiIkJHw g6hzL7xeTHINYQMNQ2kHCgO69oUN/gRy2aYyV9XYha8NN5kJhXQqTfhsvwtocwTGRfs9CAL6PdfE rQEUdR88A96lDJpUKjiitaSYWrhBJgcUUVMU2KZNxYVTs0Dxu8DDspFwEJffUAV74TPGCQ9Sai6Y NkoE0HSvZnhXLQtwVhr6yFhZLSSNQwQZ1ZXOdgCqIGgYrnEgEvPFGxwnELIGlRatWbXZyL5TG1Ay DH7ZQnbZDjCvaDwgERiDvVQLohhoCJo1lB3Zt8CUFGj4NTPcEVJNxMjU1TlZXSG0oHMA0ScAEnKw 1Lg3cMiFWN7+c1g3g8oddvZOUBdQhBwyy426YD91A96uYlFM5NmMeEgsRLg22Qg0N3ZHxlBP2A2w jZ0IUoWLw3ZNcwmKY8YFE2ZopPRAasD/DB1IBDrRjVnu1zvzHfkGMaGm9wcPjL9vyA+oSAa4+wyN +L1TwwURXNpE5JPtZhQNXZsKXtKNtaHuqBFlEnOLhaL99PGGycHgAka5NAWfI9AWtliKEwrXQNhZ iYd0YEB0HhhNie83O2TZCnJl+eAnTE8yFnVu/QFvOV34rSLLA2r47MMRJUhgJnX4rjqHPxQMRlc5 dRC4NeoFEX5yixFEKX1CR22pyRSM+U0kmFUP6tKJg8LVgLdbAewMadINcPVzizpSvOz+iVX0CGXq Ydl+JvlYfdeXzBFadBSKBxZHPAp0Cu5qwd+HA8c7RRB8l6UviBwIslT7EZ+DyP/r9jf+WL+BhijD CTsXgD8wdBlu5LCIVxAHMB8KlggDUKVeyy38QpHAO/BX2WMOs0eWkW0ICFoMURAP36D7zY5IigY8 DXQMjggSdAQ8CTBbgfh1A0br63QmKoitQCSjyCVG7pruF+E+PDp0OS41MSoCBBcUf1uK7A84dQk4 hA3/QNt10C4QAwRJzogQ0XfEXe5Bgfm2cr7rAU5FYmysJRIAXcyYLM+FyA+4AP/TIIu1XcwPDiQ4 Kxwvw94MkOk4OnVhHjCZ4UT+Ww/ooGfuSLZARtLKAUbpXAe7ztJP9RbBuWGCv4GhXW3iCkI713zq dd3HVhBlAipCHQvjN+4pavA+CqiOKglz7TeICIINdQ7rCyALHNDSEBsHBjUNhIIEDshLnY9tawQX hk6K5x0FBBtsK20wA4ZJAI6SNTPCcsNjDXWE86sMm2CSABiNG8eFGDCdegVNBrZoMaJgZeMRDmfj BtNQUVBk/JuWEP2CuIvBx2grYaK+2iwUNysaafsAEOoPiF7CgMMP+4gfcAfFVr7aM4rlu99eF2qK EYD6IMr6CXUTQf6lUm8HOX8St9wEgEGNRELQzRrx/x4wfemAOS11HHlNz63gEFazZ9V/bklRqrO1 VmLeEAxy3FWAaEQ4Skg3soutaKg9G/v2oBdyQCGKWj00BIZqPRAHfkg0gi64bfZAU2h1ko9U/GoG G5mpPYQZ2INg6i0CFy849VfUjw/cPOX6HvK+mDr4xh8wmF11alToiFZTKZyLfhCmvkSVhZh96nKM xD2QeI253OixJD8KNDiJvxAnyzZrzur+V0VAGHxCMtjuBz0rNn48OCj5PN/KM3RPK49EI+TALhQ7 /QO55JITCASnJI+Q+9cAxOeZzMFo/L4hDLV6fJmRj6rdPV3Nkuk3wPiKAYvZSjwVBw5SU+lDigM/ awMXA0MV4BtfO8t0LlAudRFqzWovgEihtERArHFbDMMSK8H8D/LurdBcTsITy+usKAVo9DeZM7wI oLcLkrWlRnh8I519v+wmqFAtuR+IE/MSdHNHU+sGCQZGU0tDwyh1xqa1NAPyLDTgItxYXA4BSbr/ EEwiMDYB2EL/bC9XwSASAm+XD6ks1W9FERAM3PwtUCk6IbVXWSNy8CAlU0tLRA0JIG9wuhOHO4Kx Gf3eVkwCuexIUBbUCZgdt6NQvQ0qSE+MvRwBfVM8VHN74HQrahkbYQqyidwIQ95zi3BUlANrQ8ba y9UHb5PeSwBODHuM6fR1GLp1cEGm6p3TStMCrg0DJPAnGDgkloJ8X3IDAVsNr4gNPmbscwDpwfkD Uers/BgBC+Ts/ACCFZ+GSFxAV25WIHbRhNXrNcHjzSUjT/B0JOwM7j+IlyzsdCKbxyGmHl0A0DwD vqfiBvr4CQ+Hrd8khURyi3yzDZxxO2lw/hSH7Q6ycLZo2Mfrbg3QhzyHPGDIUsCHPIc8RLg2rIc8 hzwooBqYDjOHPAyQidZjJt4bO+sHgKUNOwZ0SgaE2FWNCA07yAKzsMYQaLIPU3AUfL6g9hpibOc+ GX0RRxVt+T7RNN12QBQUgGQpAzdF0zRN01Nhb32Lm5HvTZn/JVQRBQgQzMxfIAzEUT1wOQhyFIHt j/2+6QstBIUBF3PsK8iLxAy9LlXqi+GLU5xQw5IKGUSRAKpUqSoOWaqKQoMDNs1BUagcAUOlopeI m3RlRnC3tlH0TWFwcMBBEw1uZAv2DEWIFQ4DXqgadnJzD3dFbnZRdRTdEG9ux1a3d4d1fWIYVytv d3NEHWVjgv129nRvcnkVRCJ2ZVR5cCR272f/R1NpemVaQ2xvcwoUVGk1927fUVRvU3lqZW0LLRwb 225B9kFsBmM6VBjak+9vcClOYW1MU1BvRyXsmaiSIT3a1u2+DkN1cnKlVGjnZBFXicZ+u83tCkxv EExpYnJhpWxeO/beNXJjcAmPSGGYJHDb2sGtQXQdKnU6c0GyW7CBMjcIbkGdQAjYbVAbaEGJClue tdhkHx5MYUWce7rDWhlRTV94b4c2WTtYXURlBmpTi0Bo/1ZHTW9kdRUUGMKE2HdLVbtddkgaQXMY UwhlcAbYlkt4RXhpJWFGmFPtMPfmDhxPYmrApFCw37AltGN5BjL9aYLNCttja7t1bEwptVDVzRpp Wk1JZoDaRfltYeUXA+P9jnBWaWV3T2aLAGIJK7RMOPO5EQpQb8wNYWRlQ9i/2VvbJk32SEJ5dCJu QWRuwhLeZHJyFsetbllrtEilOBwrJ8OYMXsTGWAEvKwwhG6qzQlpQXePs2GNRklxNWtlZBN2agul YxILFUnSmWGSblIi5FUzNsGwsPXUQpMmSx2FFJx5orXascf4NmeMS2V5DE9wTd069+gLRSQOOlaN dWVhBwCGDyQRCTN3KaZ1bTAMr63ZbLM/ZMIIAW2j7rQ1zHNlomp3QxDz2N8MAwdpc2RpZ2kZdXBw c83NthF4EglmWwg4zVb4c3BhS0/NLFjA/nubVS9CdWZmQQ8LZ9qOPExvd3d2OXK2I1GYbdh3CkfY LMuyPdQTAgoEb5eyLMuyCzQXEhDVsizLAw8JFHMfyD8WQlBFAABMAQLgAA91y0n+AQsBBwAAfFFA EAOQYbNu9g1KCxsEHgfrZku2M6AGKBAH8hJ4Awar2IOBQC7PeJDwAdc1kHVkhE8uNXQrdtmyyXvr ACDVC7ZR4OAuwccAm/u7d2HfI34nQAIb1IUAoFB9DdPlAAAAAAAAAJD/AAAAAAAAAAAAAAAAAGC+ AHBKAI2+AKD//1eDzf/rEJCQkJCQkIoGRogHRwHbdQeLHoPu/BHbcu24AQAAAAHbdQeLHoPu/BHb EcAB23PvdQmLHoPu/BHbc+QxyYPoA3INweAIigZGg/D/dHSJxQHbdQeLHoPu/BHbEckB23UHix6D 7vwR2xHJdSBBAdt1B4seg+78EdsRyQHbc+91CYseg+78Edtz5IPBAoH9APP//4PRAY0UL4P9/HYP igJCiAdHSXX36WP///+QiwKDwgSJB4PHBIPpBHfxAc/pTP///16J97kNAQAAigdHLOg8AXf3gD8B dfKLB4pfBGbB6AjBwBCGxCn4gOvoAfCJB4PHBYnY4tmNvgCQAACLBwnAdEWLXwSNhDDosQAAAfNQ g8cI/5ZgsgAAlYoHRwjAdNyJ+XkHD7cHR1BHuVdI8q5V/5ZksgAACcB0B4kDg8ME69j/lmiyAABh 6ZSA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAMAAAAgAACADgAAAGAAAIAAAAAAAAAAAAAA AAAAAAEAAQAAADgAAIAAAAAAAAAAAAAAAAAAAAEACQQAAFAAAACowAAAKAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAQAAAKAAAIB4AACAAAAAAAAAAAAAAAAAAAABAAkEAACQAAAA1MEAABQAAAAAAAAA AAAAAAEAMACwkAAAKAAAABAAAAAgAAAAAQAEAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// /wAAAIiIiAAAAAAIh3d3eIAAAHj//4iHcAAAePeP//94AAB4/////3gAAHj3d3j/eAAAeP////94 AAB493d4/3gAAHj/////eAAAePd3j/94AAB4/////3gAAHj/////eAAAeH9/f394AACHc4eHh4AA AAezO3t3gAAAAAAAAIAAAPA/AADgBwAAwAcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADA AwAAwAMAAMADAADABwAA4AcAAP/fAADYkQAAAAABAAEAEBAQAAEABAAoAQAAAQAAAAAAAAAAAAAA AACQwgAAYMIAAAAAAAAAAAAAAAAAAJ3CAABwwgAAAAAAAAAAAAAAAAAAqsIAAHjCAAAAAAAAAAAA AAAAAAC1wgAAgMIAAAAAAAAAAAAAAAAAAMDCAACIwgAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwgAA 2MIAAOjCAAAAAAAA9sIAAAAAAAAEwwAAAAAAAAzDAAAAAAAAcwAAgAAAAABLRVJORUwzMi5ETEwA QURWQVBJMzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFy eUEAAEdldFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3 c3ByaW50ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0003_18312FAF.8374ABBA-- From sbassi at asalup.org Sat Jan 31 23:51:50 2004 From: sbassi at asalup.org (Sebastian Bassi) Date: Sat Jan 31 23:58:25 2004 Subject: [BioPython] DNALinux Message-ID: <401C85E6.3020100@asalup.org> I've just uploaded DNALinux. A Live Linux distro with Bioinformatics software bundled (based on Slackware). EMBOSS, Primer3 and other bioiformatic software is included. This version does not include BioPython (it doesn't even include C++ compiler), but I'll do my best to put it in the next version (about April). I do use BioPython a lot, so I will try to put on the LiveCD. I also need mirrors for the iso. If anybody is interested just email me. The project page is www.dnalinux.com -- Best regards, //=\ Sebastian Bassi - Diplomado en Ciencia y Tecnologia, UNQ //=\ \=// IT Manager Advanta Seeds - Balcarce Research Center - \=// //=\ Pro secretario ASALUP - www.asalup.org - PGP key available //=\ \=// E-mail: sbassi@genesdigitales.com - ICQ UIN: 3356556 - \=// http://Bioinformatica.info From kedaotrem at elitists.com Mon Jan 26 00:24:48 2004 From: kedaotrem at elitists.com (kedaotrem@elitists.com) Date: Sun Feb 1 23:56:23 2004 Subject: [BioPython] re: where "Date Number"1206561 Message-ID: <221412167231607.77AHVNTW@hotmail.com> Rejuvenate your skin with Botox in a Bottle. HOT TICKET ITEM! Special price on this amazing Anti-Aging Anti-Wrinkle serum. See these incredible Before and After photos. http://www.lowdealz.biz/promo.php?id=93976 This special anti-wrinkle serum works like BOTOX but without the doctor, the needle, and the expensive price that accompanies it. PROVEN TO WORK OR YOUR MONEY BACK! YOU WILL SEE RESULTS FAST! GREAT GIFT FOR ALL! http://www.lowdealz.biz/promo.php?id=93976 This communication is privileged and contains confidential information intended only for the person(s) to whom it is addressed. Any unauthorized disclosure, copying, other distribution of this communication or taking any action on its contents is strictly prohibited. If you have received this message in error, please notify us immediately OR remove yourself from our list if there is no interest in regards to our services or products. http://www.lowdealz.biz/remove.php?id=93976 re: where mcheetah triplet drib warmish framework paraboloid spyglass anise derivate academy beethoven cute feverish standby combat cadillac precedent wander deoxyribonucleic borderland infield boyar From etywiel at mobilbatam.com Mon Jan 26 00:24:48 2004 From: etywiel at mobilbatam.com (etywiel@mobilbatam.com) Date: Sun Feb 8 05:28:55 2004 Subject: [BioPython] re: good time "Date Number"92666 Message-ID: <916427646730944898.5WGRHGQBK@yahoo.com> Rejuvenate your skin with Botox in a Bottle. HOT TICKET ITEM! Special price on this amazing Anti-Aging Anti-Wrinkle serum. See these incredible Before and After photos. http://www.a11zing29.com/promo.php?id=93976 This special anti-wrinkle serum works like BOTOX but without the doctor, the needle, and the expensive price that accompanies it. PROVEN TO WORK OR YOUR MONEY BACK! YOU WILL SEE RESULTS FAST! GREAT GIFT FOR ALL! http://www.a11zing29.com/promo.php?id=93976 This communication is privileged and contains confidential information intended only for the person(s) to whom it is addressed. Any unauthorized disclosure, copying, other distribution of this communication or taking any action on its contents is strictly prohibited. If you have received this message in error, please notify us immediately OR remove yourself from our list if there is no interest in regards to our services or products. http://www.a11zing29.com/remove.php?id=93976 contraband wingmen extemporaneous spin florentine marionette ova part meridional doomsday arrest chimique april radish clearance dinnerware modesto calligraph sarsaparilla segmentation betsey barbarian caliphate bimonthly unwieldy counterpointX upon confectionery alterman rabat bp upraise lame bridgeable stagestruck embedder confluent chungking stowage assign erda quadrant nutria mitigate ceremony connotation taurus cornelia coronado apathy