VP<``% E```.````5F5C;6%T:%1EMB2DMG^ZW='4A(IT8^D MKPU+XL0\W>/'N^.1/.>R+#)RRR997%^3))L594T.]_?DNWHY8U4[0IYV4"WA MP?X>FU5)6N3DA/BNQYPCI$W9)6'SFSBMK")GM*BO66D_V]\;)9=<(U+MDQ.N MW'V1%G']%MXB`W+$'[D8<8@0)#\1:81SC&9Q5>$;EE9,4LHDKTEK"FDEJV_* M?(,NQ DJP%Y2)7E5Q_F$XZ+/%TGU/+]*632U&TB6!X+PT%T< :$56"$H165+BV23.IUQPI$BL6J..!F*U5F+1PG(TF(NU M$C'.F HOB8%MZT[^=T_%&L[%42=#BI+T63!F'0LEP2$FN#M+D-OLH;Z(T\EP M?YD22J3YF21AIHODD Y%W3(G3Z4UM$";1!5J911V2.O12+QP$3Z_N#C]]:TU M*?)I4B=%3B=%EK&\/GF-*U"NR+RH2 :\_B))?:2:<>YU$793@EKNN. MN2RPN T5X5JVPE[\);CX<#1^%==EL@#IOQ- ]LM-7$=32I3Z1,F;`C@?M682 M=&,\P4#J)AM5G 31 M;7B$VEM?)04TI)&@!SK]B#I/[&/^)!PJ"=U)6525=>M3 8>PLX<4?"!" M< DE)X$Z1TH`SZQ0'NZ0_$DC\]J/5A'*: 3:-0 MJ+L8U%_IZFU5OYBES'+#E#-?$MWL)K7.#4LK"R@YMU6N#-;RV1K.S#=5( `P M9; Q9$D>`TH;/?JXU9FSJ[AF"I1XV@+;A*4G%YKF%;K5S4>0:T:(WW./C!@! M?>.PT$WR6P9%4I?,3+4G"]$=_,$,,XSOB !!K".>4KT="==3) 7DDO.HUX2J M+.H_+'F0?/2XH=:0!16D1&;-3)Z9^;0UW*ZN3@D=B;H/!Q.%Z-GV)A2_M[SA MET 1@D'J#'#@+L15Q>@EY6QA>101Z1A,4)$0^]\"XAPABF.0988SU^&(^CDW MYC+F6] FLPJ;DGM")QO=VU9W*&>Z5YL#6CC%R;4Q:*:AB+:2=Y)S^<_=)4'H M_I)<^#YH\;N]RG6YK\35E(7;\ZZ)'<]KVS8*&C9131)D[R4IH-J&N6RKU.L* M.NPZ%Y,8W-?QR'3ODG_C0;*W`-9(_OQ&O2R0V%<&F38(^&"]C0K1POJ%8XPT MPBNMTP0Z:FQCI>?,)M!!WS^<\U#Y;?17H/E+X=OJI8%! _/9/VJP=6%0HFG@F5NQPQXZ"W MTW'J8'.9!WV"-I]8VUQ$,VCHF1CF$,L5@ IU`T*?Z50S![EY(]??8Q6[4H?Q MN*;J:+9"XPE*K02F.4KM#]9/32\@Z]5#D5^ 5_'/82 )2T%8MH25(*P$05 /&1'?//U:,9L9VEG+3 MU\//G>!1T26BLEO$[?!S-S^UH]2Z_H!'-C>Q.]9W71,[:EL)5 L<'FN*"T"6 M7UFV*Z&/WX\A=U^_A%_C]X[O>J,`7AZ\X#C\`9^)A:!_J?SXPA;@"$ S-;A4QM MF5V$!AV9'>!]SV;,YL14FS'#8K/-[O=HR-SU.KQ^)>3#>VZN:<\-'ZP(!BBV M4&/AI6+*??P4"-:UVW9A3&3](USA>7ZXP ;#FHUI4DP S\```!$````"P`````````!`" `MH'B%0``7U]I;FET7U\N<'E0 M2P$"% `4````" "RD4PG,%^B'ML'``!0)0``#@`````````!`" `MH%*%@`` D5F5C;6%T:%1E Hey Numerical people! I wrote a python code for derivation in Fourrier space, and it gives very bad results. The idea is to multiply the transform of the data by -ik. Do you have any hint? Do you know about any code in any language which do that, and I could just translate into python? Are any books with detailled example of the use of the FFT to compute derivatives? Jean-Bernard def FFTderivative(a, order=1, axis=-1): from Numeric import arange from FFT import fft, inverse_fft a = Numeric.asarray(a) # works on arbitrary python sequence l = a.shape[axis]/2 m = a.shape[axis] - 2*l if axis != -1: a = Numeric.swapaxes(a, axis, -1) b = fft(concatenate((a, a[...,::-1]), -1)) # JD trick, could be made nicer c = (1j*concatenate((arange(a.shape[-1]),arange(-a.shape[-1],0))))**order #c = (1j*concatenate((arange(l+m),arange(-l,0))))**order # was before fourier space doubling # from the FT theory it should be -1j instead of 1j, why? d = b*c r = inverse_fft(d)[...,:a.shape[-1]] if a.typecode() != 'D' and a.typecode() != 'F': # not complex type r = r.real if axis != -1: r = Numeric.swapaxes(r, axis, -1) return r From warren@pfiesteria.gsfc.nasa.gov Thu Nov 4 22:37:47 1999 From: warren@pfiesteria.gsfc.nasa.gov (Warren B. Focke) Date: Thu, 4 Nov 1999 17:37:47 -0500 (EST) Subject: [Matrix-SIG] FFT derivative In-Reply-To: Message-ID: On Thu, 4 Nov 1999, Jean-Bernard ADDOR wrote: > Do you have any hint? Do you know about any code in any language which do > that, and I could just translate into python? Are any books with detailled > example of the use of the FFT to compute derivatives? Try this: -------------------------- import FFT, Numeric, umath def deriv(series, num=None, axis=-1): fspace = FFT.fft(series, num, axis) fspace = fderiv(fspace, num, axis) return(FFT.inverse_fft(fspace, num, axis)) def fderiv(fspace, num=None, axis=-1): if num == None: num = fspace.shape[axis] n2 = (num - 1) / 2 iomega = ((Numeric.arange(num) + n2) % num) - n2 iomega = iomega.astype('D') * 2.0 * Numeric.pi * 1.0j / num dims = len(fspace.shape) if dims > 1: newshape = [1] * dims newshape[axis] = num iomega.shape = newshape dspace = fspace * iomega # if the length is even, zero out the value at nyquist nyq = num / 2 if (nyq*2 == num): if dims > 1: sly = [slice(None)] * dims sly[axis] = nyq else: sly = nyq dspace[sly] = 0.0 return(dspace) ------------------------------ Note that the results will still look "bad" if the sequence you are taking the derivative of is not continuous at high order across its endpoints. > # from the FT theory it should be -1j instead of 1j, why? Probably because some people put the minus sign on the forward transform, and others on the reverse, and FFTPACK does the opposite of what you expected. Warren Focke From Oliphant.Travis@mayo.edu Fri Nov 5 08:53:01 1999 From: Oliphant.Travis@mayo.edu (Travis Oliphant) Date: Fri, 5 Nov 1999 02:53:01 -0600 (CST) Subject: [Matrix-SIG] First official release of (general purpose) Sparse matrix packagefor Python Message-ID: I've finally released Version 0.1 of a general purpose Sparse matrix package. It is available at http://oliphant.netpedia.net/packages/SparsePy.tgz RPMS for Linux may be available soon. The package requires a FORTRAN compiler, a C compiler, and a copy of the BLAS for your system. Currently the makefiles only work for a UNIX system using gcc and g77, they can be modified to work for any compiler. Features: * Initialization of Sparse Matrices using diagonal or coordinate convention. * Matrix-vector multiplies * Matrix-Matrix add, subtract, multiply, conjugate, transpose * Direct inversion of Sparse Linear Systems. The first three features are due Yousef Saad's SPARSEKIT2 package while the last feature is due to SuperLU by Demmel, Gilbert, and Li. The implementation is a Python class which has methods that call on wrapped versions of these libraries. There are other Sparse Matrix implementations available but this one is trying to be general purpose. Any suggestions and improvements are appreciated. Travis Oliphant Oliphant.Travis@altavista.net From parkw@better.net Fri Nov 5 12:05:00 1999 From: parkw@better.net (William Park) Date: Fri, 5 Nov 1999 07:05:00 -0500 Subject: [Matrix-SIG] FFT derivative In-Reply-To: References: Message-ID: <19991105070500.A6998@better.net> On Thu, Nov 04, 1999 at 05:00:43PM -0500, Jean-Bernard ADDOR wrote: > Hey Numerical people! > > I wrote a python code for derivation in Fourrier space, and it gives very > bad results. The idea is to multiply the transform of the data by -ik. > > Do you have any hint? Do you know about any code in any language which do > that, and I could just translate into python? Are any books with detailled > example of the use of the FFT to compute derivatives? Do you want h'(t) or H'(f)? For your reference, h'(t) <==> j2\pi f H(f) -j2\pi t h(t) <==> H('f) so the discrete version can be found by substituting f = n/(NT), t = kT where T is time sampling interval. > > > Jean-Bernard > > def FFTderivative(a, order=1, axis=-1): > from Numeric import arange > from FFT import fft, inverse_fft > a = Numeric.asarray(a) # works on arbitrary python sequence > l = a.shape[axis]/2 > m = a.shape[axis] - 2*l > if axis != -1: a = Numeric.swapaxes(a, axis, -1) > b = fft(concatenate((a, a[...,::-1]), -1)) # JD trick, could be made > nicer > c = > (1j*concatenate((arange(a.shape[-1]),arange(-a.shape[-1],0))))**order > #c = (1j*concatenate((arange(l+m),arange(-l,0))))**order # was before > fourier space doubling > # from the FT theory it should be -1j instead of 1j, why? The usual engineering convention is to use e^{-j2\pi ft} to go from time domain to frequency domain. But, there are people who still use e^{j2\pi ft} or, even worse, e^{j\omega t}. > d = b*c > r = inverse_fft(d)[...,:a.shape[-1]] > if a.typecode() != 'D' and a.typecode() != 'F': # not complex type > r = r.real > if axis != -1: r = Numeric.swapaxes(r, axis, -1) > return r > > > > _______________________________________________ > Matrix-SIG maillist - Matrix-SIG@python.org > http://www.python.org/mailman/listinfo/matrix-sig From robin@jessikat.demon.co.uk Fri Nov 5 14:11:09 1999 From: robin@jessikat.demon.co.uk (Robin Becker) Date: Fri, 5 Nov 1999 14:11:09 +0000 Subject: [Matrix-SIG] First official release of (general purpose) Sparse matrix packagefor Python In-Reply-To: References: Message-ID: In article , Travis Oliphant writes ... >There are other Sparse Matrix implementations available but this one is >trying to be general purpose. Any suggestions and improvements are >appreciated. > ... Of particular interest to optimisers and structural engineers are special solution methods for symmetric matrices. Ng & Peyton's method is widely used as part of the package PCx. It is originally coded in fortran, but is easy to move to C. I think it unlikely that the sparse matrix storage can easily be made fully dynamic as it uses parallel vectors representing super nodes etc. The strategy I have used in the past when converting fortran is to try and preserve the original assertions as elements are added/removed from the sparse matrix. I think for a Python module implementing various sparse matrix kinds there ought to be a standard API we can plug into. -- Robin Becker From robin@jessikat.demon.co.uk Fri Nov 5 14:48:25 1999 From: robin@jessikat.demon.co.uk (Robin Becker) Date: Fri, 5 Nov 1999 14:48:25 +0000 Subject: [Matrix-SIG] First official release of (general purpose) Sparse matrix packagefor Python In-Reply-To: References: Message-ID: <5LxzvBA54uI4Ew+A@jessikat.demon.co.uk> I downloaded SparesPy.tgz, but my winzip falls over with it. Should I try under Linux? -- Robin Becker From kern@its.caltech.edu Sun Nov 7 08:58:38 1999 From: kern@its.caltech.edu (Robert Kern) Date: Sun, 7 Nov 1999 00:58:38 -0800 (PST) Subject: [Matrix-SIG] First official release of (general purpose) Sparse matrix packagefor Python In-Reply-To: <5LxzvBA54uI4Ew+A@jessikat.demon.co.uk> Message-ID: On Fri, 5 Nov 1999, Robin Becker wrote: > I downloaded SparesPy.tgz, but my winzip falls over with it. Should I > try under Linux? Try downloading under Linux. I've had this problem with downloading any TGZ from Travis' site from a Windows browser. It may be a misconfiguration of the server. To Someone-In-The-Know: Could it be a problem with Travis' .htacces file? On a related note, I'm away from my Windows development environment for the nonce. Can someone else use mingw32 (or MSVC if you have it) to compile up Windows binaries? I'll put them up on the Starship. > -- > Robin Becker -- Robert Kern kern@caltech.edu "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter From robin@jessikat.demon.co.uk Mon Nov 8 17:18:02 1999 From: robin@jessikat.demon.co.uk (Robin Becker) Date: Mon, 8 Nov 1999 17:18:02 +0000 Subject: [Matrix-SIG] Re: Matrix-SIG digest, Vol 1 #318 - 4 msgs In-Reply-To: References: <199911060602.BAA18489@python.org> Message-ID: In article , Travis Oliphant writes >> ... > ... > >I actually rather like using Fortran as a low-level language as it is much >easier to wrap (despite SWIG) --- arguments are always pointers to basic >data types in FORTRAN. > Is modern Fortran dynamic? I have heard so, but few of the old timers like me seem to believe. >> I downloaded SparesPy.tgz, but my winzip falls over with it. Should I >> try under Linux? > >I'm not sure what this problem is. I've heard this before off and on. I >think there may be a problem with WinZip understanding *.tgz files. I've >heard that simply renaming the file may help. But I don't know. > >If somebody knows what's up I'd appreciate hearing about it. > >Travis > > I tried to decode the .tgz with my rh 6.1 tar tzvf, but that also fails. I will have to try and download under Linux. Win32/Unix downloads don't seem to work sometimes. -- Robin Becker From Oliphant.Travis@mayo.edu Mon Nov 8 17:09:23 1999 From: Oliphant.Travis@mayo.edu (Travis Oliphant) Date: Mon, 8 Nov 1999 11:09:23 -0600 (CST) Subject: [Matrix-SIG] Re: Matrix-SIG digest, Vol 1 #318 - 4 msgs In-Reply-To: <199911060602.BAA18489@python.org> Message-ID: > ... > Of particular interest to optimisers and structural engineers are > special solution methods for symmetric matrices. Ng & Peyton's method is > widely used as part of the package PCx. It is originally coded in > fortran, but is easy to move to C. I think it unlikely that the sparse > matrix storage can easily be made fully dynamic as it uses parallel > vectors representing super nodes etc. The strategy I have used in the > past when converting fortran is to try and preserve the original > assertions as elements are added/removed from the sparse matrix. I think > for a Python module implementing various sparse matrix kinds there ought > to be a standard API we can plug into. I actually rather like using Fortran as a low-level language as it is much easier to wrap (despite SWIG) --- arguments are always pointers to basic data types in FORTRAN. > I downloaded SparesPy.tgz, but my winzip falls over with it. Should I > try under Linux? I'm not sure what this problem is. I've heard this before off and on. I think there may be a problem with WinZip understanding *.tgz files. I've heard that simply renaming the file may help. But I don't know. If somebody knows what's up I'd appreciate hearing about it. Travis From olafb@pvv.org Tue Nov 9 14:48:31 1999 From: olafb@pvv.org (Olaf Trygve Berglihn) Date: 09 Nov 1999 15:48:31 +0100 Subject: [Matrix-SIG] Wrapper for FSQP, anyone? Message-ID: I've obtained a licence for non-comercial, academic use of the SQP optimizing routine FFSQP from Zhou, Tits and Lawrence, Univ. of Maryland (http://www.isr.umd.edu/Labs/CACSE/FSQP/fsqp.html). I plan to use this with python, with help from Pyforth. Has anyone made the necessary modifications to the main sub-routine and written the .pyf file? Olaf -- * Olaf Trygve Berglihn From olafb@pvv.org Tue Nov 9 15:02:16 1999 From: olafb@pvv.org (Olaf Trygve Berglihn) Date: 09 Nov 1999 16:02:16 +0100 Subject: [Matrix-SIG] Wrapper for FSQP, anyone? In-Reply-To: Olaf Trygve Berglihn's message of "09 Nov 1999 15:48:31 +0100" References: Message-ID: BTW: I'd also like to know if you successfully have used NAG E04UCF or equivalent SQP routine with pyforth. Olaf * Olaf Trygve Berglihn | I've obtained a licence for non-comercial, academic use of the SQP | optimizing routine FFSQP from Zhou, Tits and Lawrence, Univ. of | Maryland (http://www.isr.umd.edu/Labs/CACSE/FSQP/fsqp.html). I plan to | use this with python, with help from Pyforth. Has anyone made the | necessary modifications to the main sub-routine and written the .pyf | file? -- * Olaf Trygve Berglihn From olafb@pvv.org Tue Nov 9 17:17:23 1999 From: olafb@pvv.org (Olaf Trygve Berglihn) Date: 09 Nov 1999 18:17:23 +0100 Subject: [Matrix-SIG] Re: Matrix-SIG digest, Vol 1 #318 - 4 msgs In-Reply-To: Robin Becker's message of "Mon, 8 Nov 1999 17:18:02 +0000" References: <199911060602.BAA18489@python.org> Message-ID: * Robin Becker | I tried to decode the .tgz with my rh 6.1 tar tzvf, but that also fails. | I will have to try and download under Linux. Win32/Unix downloads don't | seem to work sometimes. | -- | Robin Becker I also think there is a problem with the web-server configuration at oliphant.netpedia.net. tgz-files are downloaded as text. The following line in a .htaccess file on the server side (if Apache is used) will do it: AddType application/x-gzip .tgz -- * Olaf Trygve Berglihn From olafb@pvv.org Tue Nov 9 18:11:39 1999 From: olafb@pvv.org (Olaf Trygve Berglihn) Date: 09 Nov 1999 19:11:39 +0100 Subject: [Matrix-SIG] Wrapper for FSQP, anyone? In-Reply-To: Olaf Trygve Berglihn's message of "09 Nov 1999 15:48:31 +0100" References: Message-ID: Hmm... I guess it is not this simple (never worked with Pyfort before). The fortran code needs a function on which to iterate, and I want this to be a python function. * Olaf Trygve Berglihn | I've obtained a licence for non-comercial, academic use of the SQP | optimizing routine FFSQP from Zhou, Tits and Lawrence, Univ. of | Maryland (http://www.isr.umd.edu/Labs/CACSE/FSQP/fsqp.html). I plan to | use this with python, with help from Pyforth. Has anyone made the | necessary modifications to the main sub-routine and written the .pyf | file? -- * Olaf Trygve Berglihn From Raphael.Guerois@EMBL-Heidelberg.de Tue Nov 9 18:13:11 1999 From: Raphael.Guerois@EMBL-Heidelberg.de (Raphael Guerois) Date: Tue, 9 Nov 1999 19:13:11 +0100 (MET) Subject: [Matrix-SIG] MMTK and Surface Calculation Message-ID: Hi Does anyone tried the method surfaceAndVolume() in mmtk module? I don't manage to to run it from this small script... Do you any idea ?... Thanks! Raphael from mmtk import * import PDB,Units seq=PDB.PDBFile('/data/pdb/1shg.brk').readSequence(1) seq.deleteHydrogens() prot = PeptideChain(seq[0],hydrogens=0) surface,volume = prot.surfaceAndVolume(probe_radius=1.4 * Units.Ang) resulted in : >>> ## working on region in file /usr/tmp/python-3... Process Python segmentation violation (core dumped) From kern@its.caltech.edu Tue Nov 9 19:49:01 1999 From: kern@its.caltech.edu (Robert Kern) Date: Tue, 9 Nov 1999 11:49:01 -0800 (PST) Subject: [Matrix-SIG] Wrapper for FSQP, anyone? In-Reply-To: Message-ID: On 9 Nov 1999, Olaf Trygve Berglihn wrote: > Hmm... I guess it is not this simple (never worked with Pyfort > before). The fortran code needs a function on which to iterate, and I > want this to be a python function. Travis Oliphant did this in his Multipack interface. Look at his code: http://oliphant.netpedia.net/multipack [snip] > -- > * Olaf Trygve Berglihn -- Robert Kern kern@caltech.edu "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter From Oliphant.Travis@mayo.edu Tue Nov 9 22:34:00 1999 From: Oliphant.Travis@mayo.edu (Travis Oliphant) Date: Tue, 9 Nov 1999 16:34:00 -0600 (CST) Subject: [Matrix-SIG] New file names at http://oliphant.netpedia.net Message-ID: I've changed the filenames for the files on http://oliphant.netpedia.net to see if that helps the downloading problems for Windows users. All *.tgz files have been renamed to *.tar.gz I hope this helps the problem. If you get the chance, let me know if it does or doesn't help. Thanks, Travis From hinsen@dirac.cnrs-orleans.fr Fri Nov 12 16:35:44 1999 From: hinsen@dirac.cnrs-orleans.fr (hinsen@dirac.cnrs-orleans.fr) Date: Fri, 12 Nov 1999 17:35:44 +0100 Subject: [Matrix-SIG] MMTK and Surface Calculation In-Reply-To: (message from Raphael Guerois on Tue, 9 Nov 1999 19:13:11 +0100 (MET)) References: Message-ID: <199911121635.RAA08889@chinon.cnrs-orleans.fr> > Does anyone tried the method surfaceAndVolume() in mmtk module? I don't > manage to to run it from this small script... Do you any idea ?... Thanks! It works in the most recent MMTK version (2.0), but it didn't work in some earlier versions when used with newer releases of NumPy. I recommend upgrading to the most recent versions, but if you want to go on with what you have, replace the function init_surface in the file _surface.c by this one: init_surface() { PyObject *m; /* Create the module and add the functions */ m = Py_InitModule("_surface", surface_methods); /* Import the array module */ #ifdef import_array import_array(); #endif /* Check for errors */ if (PyErr_Occurred()) Py_FatalError("can't initialize module _surface"); } I suppose that in your copy the line "import_array();" is missing, and that causes an immediate crash with sufficiently new NumPy versions. BTW, a better place for such questions is the MMTK mailing list! Konrad. -- ------------------------------------------------------------------------------- Konrad Hinsen | E-Mail: hinsen@cnrs-orleans.fr Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.55.69 Rue Charles Sadron | Fax: +33-2.38.63.15.17 45071 Orleans Cedex 2 | Deutsch/Esperanto/English/ France | Nederlands/Francais ------------------------------------------------------------------------------- From jbaddor@sca.uqam.ca Sat Nov 13 02:29:15 1999 From: jbaddor@sca.uqam.ca (Jean-Bernard ADDOR) Date: Fri, 12 Nov 1999 21:29:15 -0500 (EST) Subject: [Matrix-SIG] -1%2 = 1 and array([-1])%2 = array([-1]) Why? Message-ID: Hey Numerical people! I just tried the following: >>> -1%2 1 >>> array([-1])%2 array([-1]) I would have expected array([+1]). What is the philosophical reason Numerical should give another result than nude python? Jean-Bernard Python 1.5.1 (#1, Dec 17 1998, 20:58:15) [GCC 2.7.2.3] on linux2 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam Debian python-numer 1.7-7.1 From hinsen@cnrs-orleans.fr Mon Nov 15 15:11:45 1999 From: hinsen@cnrs-orleans.fr (Konrad Hinsen) Date: Mon, 15 Nov 1999 16:11:45 +0100 Subject: [Matrix-SIG] -1%2 = 1 and array([-1])%2 = array([-1]) Why? In-Reply-To: (message from Jean-Bernard ADDOR on Fri, 12 Nov 1999 21:29:15 -0500 (EST)) References: Message-ID: <199911151511.QAA11403@chinon.cnrs-orleans.fr> > I just tried the following: > > >>> -1%2 > 1 > >>> array([-1])%2 > array([-1]) > > I would have expected array([+1]). > > What is the philosophical reason Numerical should give another result than > nude python? Python has a well-defined rule for the modulo operator. NumPy just applies the C modulo operator, which if I remember correctly gives different results on different machines, guaranteeing only that b*(a/b) + (a%b) == a. I have pointed out the different outcome a while ago, but noone else seemed to see this as a problem. -- ------------------------------------------------------------------------------- Konrad Hinsen | E-Mail: hinsen@cnrs-orleans.fr Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.55.69 Rue Charles Sadron | Fax: +33-2.38.63.15.17 45071 Orleans Cedex 2 | Deutsch/Esperanto/English/ France | Nederlands/Francais -------------------------------------------------------------------------------