100% found this document useful (1 vote)
8 views

Python for Bioinformatics Chapman Hall CRC Mathematical Computational Biology Sebastian Bassi instant download

The document provides information about the book 'Python for Bioinformatics' by Sebastian Bassi, which is part of the Chapman & Hall/CRC Mathematical and Computational Biology Series. It includes links to download the book and other related titles, along with details about the series' aims to integrate mathematical, statistical, and computational methods into biology. The document also contains bibliographic information and a brief overview of the book's content and structure.

Uploaded by

iyermatila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
8 views

Python for Bioinformatics Chapman Hall CRC Mathematical Computational Biology Sebastian Bassi instant download

The document provides information about the book 'Python for Bioinformatics' by Sebastian Bassi, which is part of the Chapman & Hall/CRC Mathematical and Computational Biology Series. It includes links to download the book and other related titles, along with details about the series' aims to integrate mathematical, statistical, and computational methods into biology. The document also contains bibliographic information and a brief overview of the book's content and structure.

Uploaded by

iyermatila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Python for Bioinformatics Chapman Hall CRC

Mathematical Computational Biology Sebastian


Bassi pdf download

https://ebookfinal.com/download/python-for-bioinformatics-
chapman-hall-crc-mathematical-computational-biology-sebastian-
bassi/

Explore and download more ebooks or textbooks


at ebookfinal.com
We have selected some products that you may be interested in
Click the link to download now or visit ebookfinal.com
for more options!.

Python for Bioinformatics 2nd Edition Sebastian Bassi

https://ebookfinal.com/download/python-for-bioinformatics-2nd-edition-
sebastian-bassi/

Image Processing and Acquisition using Python Chapman Hall


CRC The Python Series 2nd Edition Ravishankar Chityala

https://ebookfinal.com/download/image-processing-and-acquisition-
using-python-chapman-hall-crc-the-python-series-2nd-edition-
ravishankar-chityala/

Bayesian Adaptive Methods for Clinical Trials Chapman Hall


CRC Biostatistics Series 1st Edition Scott M. Berry

https://ebookfinal.com/download/bayesian-adaptive-methods-for-
clinical-trials-chapman-hall-crc-biostatistics-series-1st-edition-
scott-m-berry/

Bringing Bayesian Models to Life Chapman Hall CRC Applied


Environmental Statistics 1st Edition Hooten

https://ebookfinal.com/download/bringing-bayesian-models-to-life-
chapman-hall-crc-applied-environmental-statistics-1st-edition-hooten/
Frailty Models in Survival Analysis Chapman Hall CRC
Biostatistics Series 1st Edition Andreas Wienke

https://ebookfinal.com/download/frailty-models-in-survival-analysis-
chapman-hall-crc-biostatistics-series-1st-edition-andreas-wienke/

Analyzing Sensory Data with R Chapman Hall CRC The R


Series 1st Edition Le

https://ebookfinal.com/download/analyzing-sensory-data-with-r-chapman-
hall-crc-the-r-series-1st-edition-le/

Expansions and Asymptotics for Statistics Chapman Hall CRC


Monographs on Statistics Applied Probability 1st Edition
Christopher G. Small
https://ebookfinal.com/download/expansions-and-asymptotics-for-
statistics-chapman-hall-crc-monographs-on-statistics-applied-
probability-1st-edition-christopher-g-small/

Measurement Error Models Methods and Applications Chapman


Hall CRC Interdisciplinary Statistics Series 1st Edition
John P. Buonaccorsi
https://ebookfinal.com/download/measurement-error-models-methods-and-
applications-chapman-hall-crc-interdisciplinary-statistics-series-1st-
edition-john-p-buonaccorsi/

Handbook of Natural Language Processing Second Edition


Chapman Hall CRC Machine Learning Pattern Recognition
Series Nitin Indurkhya
https://ebookfinal.com/download/handbook-of-natural-language-
processing-second-edition-chapman-hall-crc-machine-learning-pattern-
recognition-series-nitin-indurkhya/
Python for Bioinformatics Chapman Hall CRC
Mathematical Computational Biology Sebastian Bassi
Digital Instant Download
Author(s): Sebastian Bassi
ISBN(s): 9781584889298, 1584889292
Edition: Pap/DVD
File Details: PDF, 6.97 MB
Year: 2009
Language: english
PYTHON FOR
BIOINFORMATICS

© 2010 by Taylor and Francis Group, LLC


CHAPMAN & HALL/CRC
Mathematical and Computational Biology Series

Aims and scope:


This series aims to capture new developments and summarize what is known
over the whole spectrum of mathematical and computational biology and
medicine. It seeks to encourage the integration of mathematical, statistical and
computational methods into biology by publishing a broad range of textbooks,
reference works and handbooks. The titles included in the series are meant to
appeal to students, researchers and professionals in the mathematical, statistical
and computational sciences, fundamental biology and bioengineering, as well
as interdisciplinary researchers involved in the field. The inclusion of concrete
examples and applications, and programming techniques and examples, is
highly encouraged.

Series Editors
Alison M. Etheridge
Department of Statistics
University of Oxford

Louis J. Gross
Department of Ecology and Evolutionary Biology
University of Tennessee

Suzanne Lenhart
Department of Mathematics
University of Tennessee

Philip K. Maini
Mathematical Institute
University of Oxford

Shoba Ranganathan
Research Institute of Biotechnology
Macquarie University

Hershel M. Safer
Weizmann Institute of Science
Bioinformatics & Bio Computing

Eberhard O. Voit
The Wallace H. Couter Department of Biomedical Engineering
Georgia Tech and Emory University

Proposals for the series should be submitted to one of the series editors above or directly to:
CRC Press, Taylor & Francis Group
4th, Floor, Albert House
1-4 Singer Street
London EC2A 4BQ
UK
© 2010 by Taylor and Francis Group, LLC
Published Titles
Bioinformatics: A Practical Approach Meta-analysis and Combining
Shui Qing Ye Information in Genetics and Genomics
Cancer Modelling and Simulation Rudy Guerra and Darlene R. Goldstein
Luigi Preziosi Modeling and Simulation of Capsules
Combinatorial Pattern Matching and Biological Cells
Algorithms in Computational Biology C. Pozrikidis
Using Perl and R Niche Modeling: Predictions from
Gabriel Valiente Statistical Distributions
Computational Biology: A Statistical David Stockwell
Mechanics Perspective Normal Mode Analysis: Theory and
Ralf Blossey Applications to Biological and Chemical
Computational Neuroscience: A Systems
Comprehensive Approach Qiang Cui and Ivet Bahar
Jianfeng Feng Optimal Control Applied to Biological
Data Analysis Tools for DNA Models
Microarrays Suzanne Lenhart and John T. Workman
Sorin Draghici Pattern Discovery in Bioinformatics:
Differential Equations and Theory & Algorithms
Mathematical Biology Laxmi Parida
D.S. Jones and B.D. Sleeman Python for Bioinformatics
Engineering Genetic Circuits Sebastian Bassi
Chris J. Myers Spatial Ecology
Exactly Solvable Models of Biological Stephen Cantrell, Chris Cosner, and
Invasion Shigui Ruan
Sergei V. Petrovskii and Bai-Lian Li Spatiotemporal Patterns in Ecology
Gene Expression Studies Using and Epidemiology: Theory, Models, and
Affymetrix Microarrays Simulation
Hinrich Göhlmann and Willem Talloen Horst Malchow, Sergei V. Petrovskii, and
Ezio Venturino
Handbook of Hidden Markov Models in
Bioinformatics Stochastic Modelling for Systems
Martin Gollery Biology
Darren J. Wilkinson
Introduction to Bioinformatics
Anna Tramontano Structural Bioinformatics: An
Algorithmic Approach
An Introduction to Systems Biology: Forbes J. Burkowski
Design Principles of Biological Circuits
Uri Alon The Ten Most Wanted Solutions in
Protein Bioinformatics
Kinetic Modelling in Systems Biology Anna Tramontano
Oleg Demin and Igor Goryanin
Knowledge Discovery in Proteomics
Igor Jurisica and Dennis Wigle

© 2010 by Taylor and Francis Group, LLC


PYTHON FOR
BIOINFORMATICS

SEBASTIAN BASSI

© 2010 by Taylor and Francis Group, LLC


Chapman & Hall/CRC
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742

© 2010 by Taylor and Francis Group, LLC


Chapman & Hall/CRC is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works

Printed in the United States of America on acid-free paper


10 9 8 7 6 5 4 3 2 1

International Standard Book Number: 978-1-58488-929-8 (Paperback)

This book contains information obtained from authentic and highly regarded sources. Reasonable efforts
have been made to publish reliable data and information, but the author and publisher cannot assume
responsibility for the validity of all materials or the consequences of their use. The authors and publishers
have attempted to trace the copyright holders of all material reproduced in this publication and apologize to
copyright holders if permission to publish in this form has not been obtained. If any copyright material has
not been acknowledged please write and let us know so we may rectify in any future reprint.

Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmit-
ted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented,
including photocopying, microfilming, and recording, or in any information storage or retrieval system,
without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access www.copyright.
com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood
Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and
registration for a variety of users. For organizations that have been granted a photocopy license by the CCC,
a separate system of payment has been arranged.

Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used
only for identification and explanation without intent to infringe.

Library of Congress Cataloging‑in‑Publication Data

Bassi, Sebastian.
Python for bioinformatics / Sebastian Bassi.
p. cm. -- (Mathematical and computational biology series)
Includes bibliographical references and index.
ISBN 978-1-58488-929-8 (pbk. : alk. paper)
1. Bioinformatics. 2. Python (Computer program language) I. Title. II. Series.

QH324.2.B387 2009
570.285--dc22 2009025700

Visit the Taylor & Francis Web site at


http://www.taylorandfrancis.com

and the CRC Press Web site at


http://www.crcpress.com

© 2010 by Taylor and Francis Group, LLC


Contents

List of Tables xix

List of Figures xxi

Preface xxiii

Acknowledgments xxv

I Programming 1
1 Introduction 3
1.1 Who Should Read This Book . . . . . . . . . . . . . . . . . . 3
1.1.1 What You Should Already Know . . . . . . . . . . . . 3
1.2 Using this Book . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Python Versions . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Typographical Conventions . . . . . . . . . . . . . . . 4
1.2.3 Code Style . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.4 Get the Most from This Book without Reading It All 6
1.3 Why Learn to Program? . . . . . . . . . . . . . . . . . . . . 6
1.4 Basic Programming Concepts . . . . . . . . . . . . . . . . . . 7
1.4.1 What Is a Program? . . . . . . . . . . . . . . . . . . . 7
1.5 Why Python? . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1 Main Features of Python . . . . . . . . . . . . . . . . 10
1.5.2 Comparing Python with Other Languages . . . . . . . 11
1.5.3 How It Is Used? . . . . . . . . . . . . . . . . . . . . . 13
1.5.4 Who Uses Python? . . . . . . . . . . . . . . . . . . . . 15
1.5.5 Flavors of Python . . . . . . . . . . . . . . . . . . . . 15
1.5.6 Special Python Bundles . . . . . . . . . . . . . . . . . 16

2 First Steps with Python 19


2.1 Installing Python . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Learn Python by Using It . . . . . . . . . . . . . . . . 19
2.1.2 Python May Be Already Installed . . . . . . . . . . . 19
2.1.3 Testing Python . . . . . . . . . . . . . . . . . . . . . . 20
2.1.4 First Use . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Interactive Mode . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 Baby Steps . . . . . . . . . . . . . . . . . . . . . . . . 20

vii
© 2010 by Taylor and Francis Group, LLC
viii Contents

2.2.2 Basic Input and Output . . . . . . . . . . . . . . . . . 21


2.2.3 More on the Interactive Mode . . . . . . . . . . . . . . 22
2.2.4 Mathematical Operations . . . . . . . . . . . . . . . . 24
2.2.5 Exit from Python Shell . . . . . . . . . . . . . . . . . 25
2.3 Batch Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Indentation . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4 Choosing an Editor . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.1 Kate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.2 Eric . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.3 Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.4 IDLE . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.5 Final Words about Editors . . . . . . . . . . . . . . . 35
2.5 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 37
2.6 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3 Basic Programming: Data Types 39


3.1 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Not All Strings Are Created Equal . . . . . . . . . . . 40
3.1.2 String Manipulation . . . . . . . . . . . . . . . . . . . 41
3.1.3 Methods Associated with Strings . . . . . . . . . . . . 42
3.2 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 List Is the Workhorse Datatype in Python . . . . . . . 44
3.2.2 List Initialization . . . . . . . . . . . . . . . . . . . . . 45
3.2.3 List Comprehension . . . . . . . . . . . . . . . . . . . 45
3.2.4 Accessing List Elements . . . . . . . . . . . . . . . . . 46
3.2.5 Copying a List . . . . . . . . . . . . . . . . . . . . . . 47
3.2.6 Modifying Lists . . . . . . . . . . . . . . . . . . . . . . 47
3.3 Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.1 Tuples Are Immutable Lists . . . . . . . . . . . . . . . 49
3.4 Common Properties of the Sequences . . . . . . . . . . . . . 51
3.5 Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5.1 Mapping: Calling Each Value by a Name . . . . . . . 55
3.5.2 Operating with Dictionaries . . . . . . . . . . . . . . . 57
3.5.3 New in Python 3: Dictionary Views . . . . . . . . . . 58
3.6 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6.1 Unordered Collection of Objects . . . . . . . . . . . . 60
3.6.2 Set Operations . . . . . . . . . . . . . . . . . . . . . . 61
3.6.3 Shared Operations with Other Data Types . . . . . . 63
3.6.4 Immutable Set: Frozenset . . . . . . . . . . . . . . . . 64
3.7 Naming Objects . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.8 Assigning a Value to a Variable versus Binding a Name to an
Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.9 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 68
3.10 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 70

© 2010 by Taylor and Francis Group, LLC


Contents ix

4 Programming: Flow Control 71


4.1 If-Else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.1.1 Pass Statement . . . . . . . . . . . . . . . . . . . . . . 75
4.2 For Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3 While Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4 Break: Breaking the Loop . . . . . . . . . . . . . . . . . . . 79
4.5 Wrapping It Up . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.5.1 Estimate the Net Charge of a Protein . . . . . . . . . 81
4.5.2 Search for a Low Degeneration Zone . . . . . . . . . . 82
4.6 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 85
4.7 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5 Dealing with Files 87


5.1 Reading Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.1 Example of File Handling . . . . . . . . . . . . . . . . 88
5.2 Writing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2.1 File Reading and Writing Examples . . . . . . . . . . 91
5.3 A Special Kind of File: CSV . . . . . . . . . . . . . . . . . . 92
5.3.1 More Functions from the CSV Module . . . . . . . . . 94
5.4 Pickle: Storing the Contents of Variables . . . . . . . . . . . 96
5.5 File Handling: os Module . . . . . . . . . . . . . . . . . . . . 97
5.5.1 Consolidate Multiple DNA or Protein Sequences into
One FASTA File . . . . . . . . . . . . . . . . . . . . . 99
5.5.2 Estimating Net Charge of Several Proteins . . . . . . 100
5.6 With: An Alternative Way to Open Files . . . . . . . . . . . 101
5.7 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 102
5.8 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6 Code Modularizing 105


6.1 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.1.1 Standard Way to Modularize Python Code . . . . . . 105
6.1.2 Function Parameter Options . . . . . . . . . . . . . . 109
6.1.3 Generators . . . . . . . . . . . . . . . . . . . . . . . . 112
6.2 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2.1 Using Modules . . . . . . . . . . . . . . . . . . . . . . 114
6.2.2 Installing Modules . . . . . . . . . . . . . . . . . . . . 115
6.2.3 Creating Modules . . . . . . . . . . . . . . . . . . . . 120
6.2.4 Testing Our Modules . . . . . . . . . . . . . . . . . . . 120
6.3 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 123
6.4 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 124

© 2010 by Taylor and Francis Group, LLC


x Contents

7 Error Handling 125


7.1 Introduction to Error Handling . . . . . . . . . . . . . . . . . 125
7.1.1 Try and Except . . . . . . . . . . . . . . . . . . . . . . 127
7.1.2 Exception Types . . . . . . . . . . . . . . . . . . . . . 132
7.1.3 Provoking Exceptions . . . . . . . . . . . . . . . . . . 134
7.2 Creating Customized Exceptions . . . . . . . . . . . . . . . . 135
7.3 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 136
7.4 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 137

8 Introduction to Object Orienting Programming (OOP) 139


8.1 Object Paradigm and Python . . . . . . . . . . . . . . . . . 139
8.2 Exploring the Jargon . . . . . . . . . . . . . . . . . . . . . . 140
8.3 Creating Classes . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.4 Inheritance in Action . . . . . . . . . . . . . . . . . . . . . . 146
8.5 Special Methods Attributes . . . . . . . . . . . . . . . . . . . 149
8.5.1 Create a New Data Type Out of a Built-in Data Type 153
8.6 Making Our Code Private . . . . . . . . . . . . . . . . . . . . 154
8.7 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 155
8.8 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 157

9 Regular Expressions 159


9.1 Introduction to Regular Expressions (REGEX) . . . . . . . . 159
9.1.1 REGEX Syntax . . . . . . . . . . . . . . . . . . . . . . 160
9.2 The re Module . . . . . . . . . . . . . . . . . . . . . . . . . . 161
9.2.1 Compiling a Pattern . . . . . . . . . . . . . . . . . . . 163
9.2.2 REGEX Examples . . . . . . . . . . . . . . . . . . . . 166
9.2.3 Pattern Replace . . . . . . . . . . . . . . . . . . . . . 167
9.3 REGEX in Bioinformatics . . . . . . . . . . . . . . . . . . . 168
9.3.1 Cleaning Up a Sequence . . . . . . . . . . . . . . . . . 170
9.4 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 170
9.5 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 172

II Biopython 173
10 Introduction to Biopython 175
10.1 What Is Biopython? . . . . . . . . . . . . . . . . . . . . . . . 175
10.1.1 Project Organization . . . . . . . . . . . . . . . . . . . 175
10.2 Biopython Components . . . . . . . . . . . . . . . . . . . . . 176
10.2.1 Alphabet . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.2.2 Seq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.2.3 MutableSeq . . . . . . . . . . . . . . . . . . . . . . . . 180
10.2.4 SeqRecord . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.2.5 Align . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.2.6 ClustalW . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.2.7 SeqIO . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

© 2010 by Taylor and Francis Group, LLC


Contents xi

10.2.8 AlignIO . . . . . . . . . . . . . . . . . . . . . . . . . . 190


10.2.9 BLAST . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.2.10 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
10.2.11 Entrez . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.2.12 PDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.2.13 PROSITE . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.2.14 Restriction . . . . . . . . . . . . . . . . . . . . . . . . 211
10.2.15 SeqUtils . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.2.16 Sequencing . . . . . . . . . . . . . . . . . . . . . . . . 216
10.2.17 SwissProt . . . . . . . . . . . . . . . . . . . . . . . . . 218
10.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.4 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 221
10.5 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 222

III Advanced Topics 223


11 Web Applications 225
11.1 CGI in Python . . . . . . . . . . . . . . . . . . . . . . . . . . 226
11.1.1 Configuring a Web Server for CGI . . . . . . . . . . . 226
11.1.2 Testing the Server with Our Script . . . . . . . . . . . 227
11.1.3 Web Program to Calculate the Net Charge of a Protein
(CGI version) . . . . . . . . . . . . . . . . . . . . . . . 230
11.2 mod python . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
11.2.1 Configuring a Web Server for mod python . . . . . . . 232
11.2.2 Web Program to Calculate the Net Charge of a Protein
(mod python version) . . . . . . . . . . . . . . . . . . 233
11.2.3 mod python with Publisher . . . . . . . . . . . . . . . 235
11.2.4 Web Program to Calculate the Net Charge of a Protein
(mod python.publisher version) . . . . . . . . . . . . . 236
11.3 WSGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
11.3.1 Preparatory Steps . . . . . . . . . . . . . . . . . . . . 238
11.3.2 “Hello World” in WSGI . . . . . . . . . . . . . . . . . 239
11.4 Alternative Options for Making Python Based Dynamic Web
Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
11.5 Some Words about Script Security . . . . . . . . . . . . . . . 243
11.6 Where to Host Python Programs . . . . . . . . . . . . . . . . 244
11.7 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 245
11.8 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 247

12 XML 249
12.1 Introduction to XML . . . . . . . . . . . . . . . . . . . . . . 249
12.2 Structure of an XML Document . . . . . . . . . . . . . . . . 253
12.3 Methods to Access Data inside an XML Document . . . . . 258
12.3.1 DOM: Minidom . . . . . . . . . . . . . . . . . . . . . . 259
12.3.2 ElementTree . . . . . . . . . . . . . . . . . . . . . . . 261

© 2010 by Taylor and Francis Group, LLC


xii Contents

12.3.3 SAX: cElementTree Iterparse . . . . . . . . . . . . . . 264


12.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
12.5 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 267
12.6 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 268

13 Python and Databases 269


13.1 Introduction to Databases . . . . . . . . . . . . . . . . . . . 269
13.1.1 Database Management: RDBMS . . . . . . . . . . . . 271
13.1.2 Components of a Relational Database . . . . . . . . . 271
13.1.3 Database Data Types . . . . . . . . . . . . . . . . . . 274
13.2 Connecting to a Database . . . . . . . . . . . . . . . . . . . . 275
13.3 Creating a MySQL Database . . . . . . . . . . . . . . . . . . 276
13.3.1 Creating Tables . . . . . . . . . . . . . . . . . . . . . . 278
13.3.2 Loading a Table . . . . . . . . . . . . . . . . . . . . . 280
13.4 Planning Ahead . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.4.1 PythonU: Sample Database . . . . . . . . . . . . . . . 282
13.5 SELECT: Querying a Database . . . . . . . . . . . . . . . . 285
13.5.1 Building a Query . . . . . . . . . . . . . . . . . . . . . 286
13.5.2 Updating a Database . . . . . . . . . . . . . . . . . . . 288
13.5.3 Deleting a Record from a Database . . . . . . . . . . . 289
13.6 Accessing a Database from Python . . . . . . . . . . . . . . 289
13.6.1 MySQLdb Module . . . . . . . . . . . . . . . . . . . . 289
13.6.2 Establishing the Connection . . . . . . . . . . . . . . . 290
13.6.3 Executing the Query from Python . . . . . . . . . . . 290
13.7 SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
13.8 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 294
13.9 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 296

14 Collaborative Development: Version Control 297


14.1 Introduction to Version Control . . . . . . . . . . . . . . . . 297
14.1.1 Little History . . . . . . . . . . . . . . . . . . . . . . . 298
14.2 Version Control Terminology . . . . . . . . . . . . . . . . . . 298
14.3 Centralized versus Distributed . . . . . . . . . . . . . . . . . 299
14.4 Bazaar: Distributed Revision Control System . . . . . . . . . 300
14.4.1 Installing Bazaar . . . . . . . . . . . . . . . . . . . . . 300
14.5 Using Bazaar for the First Time . . . . . . . . . . . . . . . . 301
14.6 Different Ways to Use a VCS . . . . . . . . . . . . . . . . . . 302
14.6.1 Workflow: Single User . . . . . . . . . . . . . . . . . . 302
14.6.2 Workflow: Two Users Sharing Code without a Central
Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
14.6.3 Workflow: Multiple Users Sharing Code with a Central
Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
14.7 VCS Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 311
14.8 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 311
14.9 Self-Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 313

© 2010 by Taylor and Francis Group, LLC


Contents xiii

IV Python Recipes with Commented Source Code 315


15 Sequence Manipulation in Batch 317
15.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 317
15.2 Problem One: Create a FASTA File with Random Sequences 317
15.2.1 Commented Source Code . . . . . . . . . . . . . . . . 317
15.3 Problem Two: Filter Not Empty Sequences from a FASTA File 318
15.3.1 Commented Source Code . . . . . . . . . . . . . . . . 319
15.4 Problem Three: Modify Every Record of a FASTA File . . . 321
15.4.1 Commented Source Code . . . . . . . . . . . . . . . . 321

16 Web Application for Filtering Vector Contamination 323


16.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 323
16.1.1 Commented Source Code . . . . . . . . . . . . . . . . 324
16.2 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 327

17 Searching for PCR Primers Using Primer3 329


17.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 329
17.2 Primer Design Flanking a Variable Length Region . . . . . . 330
17.2.1 Commented Source Code . . . . . . . . . . . . . . . . 331
17.3 Batch Primer Design from Multiple Sequences . . . . . . . . 332
17.3.1 Commented Source Code . . . . . . . . . . . . . . . . 333
17.4 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 334

18 Calculating Melting Temperature from a Set of Primers 335


18.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 335
18.1.1 Commented Source Code . . . . . . . . . . . . . . . . 335
18.2 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 336

19 Filtering Out Specific Fields from a Genbank File 337


19.1 Extracting Selected Protein Sequences . . . . . . . . . . . . . 337
19.1.1 Commented Source Code . . . . . . . . . . . . . . . . 337
19.2 Extracting the Upstream Region of Selected Proteins . . . . 338
19.2.1 Commented Source Code . . . . . . . . . . . . . . . . 338
19.3 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 339

20 Converting XML BLAST File into HTML 341


20.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 341
20.1.1 XML to HTML without Biopython Commented Source
Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
20.1.2 Biopython Version Commented Source Code . . . . . 349
20.1.3 Biopython Version for Multiple BLAST Commented Source
Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

© 2010 by Taylor and Francis Group, LLC


xiv Contents

21 Infering Splicing Sites 361


21.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 361
21.1.1 Infer Splicing Sites with Commented Source Code . . 362
21.1.2 Sample Run of Estimate Intron Program . . . . . . . 365

22 DNA Mutations with Restrictions 367


22.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 367
22.1.1 Introduce Point Mutations and Get Restriction Profile 367
22.1.2 Sample Run of Introduce Point Mutations Program . 370
22.2 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 371

23 Web Server for Multiple Alignment 373


23.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 373
23.1.1 Web Interface: Front-End. HTML Code . . . . . . . . 373
23.1.2 Web Interface: Server Side Script. Commented Source
Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
23.2 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 377

24 Drawing Marker Positions Using Data Stored in a Database 379


24.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . 379
24.1.1 Preliminary Work on the Data . . . . . . . . . . . . . 379
24.1.2 MySQL and SQLite Database Creation . . . . . . . . 381
24.1.3 MySQL Version with Commented Source Code . . . . 382
24.1.4 SQLite Version with Commented Source Code . . . . 387

A Python and Biopython Installation 393


A.1 Python Installation . . . . . . . . . . . . . . . . . . . . . . . 393
A.1.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . 393
A.1.2 Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . 393
A.1.3 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
A.1.4 Installing Python with No Administrative Permissions 397
A.2 Biopython Installation . . . . . . . . . . . . . . . . . . . . . . 403
A.2.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . 403
A.2.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
A.2.3 Installing Old Biopython Versions . . . . . . . . . . . 406
A.3 Biopython with Easy Install . . . . . . . . . . . . . . . . . . 407

B Selected Papers 409


B.1 Python All a Scientist Needs . . . . . . . . . . . . . . . . . . 409
B.2 Diving into the Gene Pool with Biopython . . . . . . . . . . 431

C Included DVD: Virtual Machine Installation and Use 449


C.1 General Overview . . . . . . . . . . . . . . . . . . . . . . . . 449
C.1.1 Uncompress . . . . . . . . . . . . . . . . . . . . . . . . 449
C.1.2 VMWare Player Installation . . . . . . . . . . . . . . . 450

© 2010 by Taylor and Francis Group, LLC


Contents xv

C.1.3 Loading the VM . . . . . . . . . . . . . . . . . . . . . 452


C.2 Instructions for Mac Users . . . . . . . . . . . . . . . . . . . 454
C.3 Accessing the Virtual Machine . . . . . . . . . . . . . . . . . 454
C.3.1 Using DNALinux as a Server . . . . . . . . . . . . . . 455
C.3.2 Using Databases in DNALinux . . . . . . . . . . . . . 456
C.4 Additional Resources . . . . . . . . . . . . . . . . . . . . . . 456

D Python Language Reference 457


D.1 Python 2.5 Quick Reference . . . . . . . . . . . . . . . . . . 457
D.1.1 Invocation Options . . . . . . . . . . . . . . . . . . . . 457
D.2 Environment Variables . . . . . . . . . . . . . . . . . . . . . 459
D.3 Notable Lexical Entities . . . . . . . . . . . . . . . . . . . . . 459
D.3.1 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . 459
D.3.2 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . 461
D.3.3 String Literals . . . . . . . . . . . . . . . . . . . . . . 461
D.3.4 Boolean Constants (Since 2.2.1) . . . . . . . . . . . . . 463
D.3.5 Numbers . . . . . . . . . . . . . . . . . . . . . . . . . 463
D.3.6 Sequences . . . . . . . . . . . . . . . . . . . . . . . . . 463
D.3.7 Dictionaries (Mappings) . . . . . . . . . . . . . . . . . 464
D.3.8 Operators and Their Evaluation Order . . . . . . . . . 464
D.4 Basic Types and Their Operations . . . . . . . . . . . . . . . 464
D.4.1 Comparisons (Defined between Any Types) . . . . . . 464
D.4.2 None . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
D.4.3 Boolean Operators . . . . . . . . . . . . . . . . . . . . 465
D.4.4 Numeric Types . . . . . . . . . . . . . . . . . . . . . . 465
D.4.5 Operations on Sequence Types (Lists, Tuples, Strings) 467
D.4.6 Operations on Mutable Sequences (Type list) . . . . 468
D.4.7 Operations on Mappings / Dictionaries (Type dict) . 469
D.4.8 Operations on Strings (Types str & unicode) . . . . 471
D.4.9 String Formatting with the % Operator . . . . . . . . 474
D.4.10 String Templating . . . . . . . . . . . . . . . . . . . . 475
D.4.11 File Objects . . . . . . . . . . . . . . . . . . . . . . . . 476
D.4.12 Operators on File Objects . . . . . . . . . . . . . . . . 476
D.4.13 File Exceptions . . . . . . . . . . . . . . . . . . . . . . 476
D.4.14 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
D.4.15 Date/Time . . . . . . . . . . . . . . . . . . . . . . . . 477
D.5 Advanced Types . . . . . . . . . . . . . . . . . . . . . . . . . 478
D.5.1 Statements . . . . . . . . . . . . . . . . . . . . . . . . 479
D.5.2 Assignment Operators . . . . . . . . . . . . . . . . . . 479
D.5.3 Conditional Expressions . . . . . . . . . . . . . . . . . 481
D.5.4 Control Flow Statements . . . . . . . . . . . . . . . . 481
D.5.5 Exception Statements . . . . . . . . . . . . . . . . . . 481
D.5.6 Name Space Statements . . . . . . . . . . . . . . . . . 485
D.5.7 Function Definition . . . . . . . . . . . . . . . . . . . . 486
D.5.8 Class Definition . . . . . . . . . . . . . . . . . . . . . . 488

© 2010 by Taylor and Francis Group, LLC


xvi Contents

D.5.9 Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . 490


D.5.10 Generators . . . . . . . . . . . . . . . . . . . . . . . . 490
D.5.11 Descriptors/Attribute Access . . . . . . . . . . . . . . 491
D.5.12 Decorators for Functions and Methods . . . . . . . . . 492
D.5.13 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . 493
D.6 Built-in Functions . . . . . . . . . . . . . . . . . . . . . . . . 494
D.7 Built-in Exception Classes . . . . . . . . . . . . . . . . . . . 499
D.8 Standard Methods and Operators Redefinition in Classes . . 502
D.8.1 Operators . . . . . . . . . . . . . . . . . . . . . . . . . 504
D.9 Special Informative State Attributes for Some Types . . . . 505
D.10 Important Modules . . . . . . . . . . . . . . . . . . . . . . . 505
D.10.1 sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
D.10.2 os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
D.10.3 posix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
D.10.4 posixpath . . . . . . . . . . . . . . . . . . . . . . . . . 510
D.10.5 shutil . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
D.10.6 time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
D.10.7 String . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
D.10.8 re (sre) . . . . . . . . . . . . . . . . . . . . . . . . . . 520
D.10.9 Regular Expression Objects . . . . . . . . . . . . . . . 520
D.10.10 Match Objects . . . . . . . . . . . . . . . . . . . . . . 520
D.10.11 Math . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
D.10.12 getopt . . . . . . . . . . . . . . . . . . . . . . . . . . 523
D.11 List of Modules and Packages in Base Distribution . . . . . . 526
D.12 Workspace Exploration and Idiom Hints . . . . . . . . . . . 527

E Answers to Odd-Numbered Questions 539


E.1 Chapter 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
E.2 Chapter 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
E.3 Chapter 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
E.4 Chapter 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
E.5 Chapter 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
E.6 Chapter 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
E.7 Chapter 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
E.8 Chapter 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
E.9 Chapter 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
E.10 Chapter 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
E.11 Chapter 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
E.12 Chapter 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
E.13 Chapter 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550

© 2010 by Taylor and Francis Group, LLC


Contents xvii

F Python Style Guide 553


F.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
F.2 Code Lay-Out . . . . . . . . . . . . . . . . . . . . . . . . . . 554
F.3 init .py Files . . . . . . . . . . . . . . . . . . . . . . . . . . 558
F.4 Whitespace in Expressions and Statements . . . . . . . . . . 558
F.5 Other Recommendations . . . . . . . . . . . . . . . . . . . . 559
F.6 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
F.7 Documentation Strings . . . . . . . . . . . . . . . . . . . . . 562
F.8 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . 562
F.8.1 Module Names . . . . . . . . . . . . . . . . . . . . . . 564
F.9 Programming Recommendations . . . . . . . . . . . . . . . . 567
F.10 Strings and Unicode . . . . . . . . . . . . . . . . . . . . . . . 569
F.11 Internationalization and Localization . . . . . . . . . . . . . 570
F.12 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
F.13 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 572

© 2010 by Taylor and Francis Group, LLC


List of Tables

2.1 Arithmetic-Style Operators . . . . . . . . . . . . . . . . . . . 24

3.1 Common List Operations . . . . . . . . . . . . . . . . . . . . 49


3.2 Methods Associated with Dictionaries . . . . . . . . . . . . . 59

9.1 REGEX Special Sequences . . . . . . . . . . . . . . . . . . . . 161

10.1 Parameters for ClustalW . . . . . . . . . . . . . . . . . . . . . 186


10.2 Sequence and Alignment Formats . . . . . . . . . . . . . . . . 189
10.3 Parameters for blastall . . . . . . . . . . . . . . . . . . . . . . 194
10.4 eUtils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

11.1 Frameworks for Web Development . . . . . . . . . . . . . . . 242

13.1 Students in Python University . . . . . . . . . . . . . . . . . 274


13.2 Table with Primary Key . . . . . . . . . . . . . . . . . . . . . 274
13.3 MySQL Data Types . . . . . . . . . . . . . . . . . . . . . . . 276

D.1 Invocation Options . . . . . . . . . . . . . . . . . . . . . . . . 458


D.2 Environment Variables . . . . . . . . . . . . . . . . . . . . . . 460
D.3 String Literal Escapes . . . . . . . . . . . . . . . . . . . . . . 462
D.4 Operators and Their Evaluation Order . . . . . . . . . . . . . 464
D.5 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
D.6 Boolean Operators . . . . . . . . . . . . . . . . . . . . . . . . 466
D.7 Operators on All Numeric Types . . . . . . . . . . . . . . . . 467
D.8 Bit Operators on Integers and Long Integers . . . . . . . . . . 467
D.9 Operations on All Sequence Types . . . . . . . . . . . . . . . 468
D.10 Operations on Mutable Sequences . . . . . . . . . . . . . . . 469
D.11 Operations on Mappings/Dictionaries . . . . . . . . . . . . . 470
D.12 String Formatting Characters . . . . . . . . . . . . . . . . . . 474
D.13 Format Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
D.14 Conversion Flag Characters . . . . . . . . . . . . . . . . . . . 476
D.15 Operators on File Objects . . . . . . . . . . . . . . . . . . . . 477
D.16 Main Set Operations . . . . . . . . . . . . . . . . . . . . . . . 478
D.17 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
D.18 Assignment Operators . . . . . . . . . . . . . . . . . . . . . . 481
D.19 Control Flow Statements . . . . . . . . . . . . . . . . . . . . . 482

xix
© 2010 by Taylor and Francis Group, LLC
xx List of Tables

D.20 Exception Statements . . . . . . . . . . . . . . . . . . . . . . 483


D.21 Special Methods for Any Class . . . . . . . . . . . . . . . . . 503
D.22 Numeric Operations Special Methods . . . . . . . . . . . . . . 504
D.23 Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
D.24 Special Operations for Containers . . . . . . . . . . . . . . . . 506
D.25 Special Informative State Attributes: Modules . . . . . . . . 507
D.26 Special Informative State Attributes: Classes . . . . . . . . . 507
D.27 Special Informative State Attributes: Instances . . . . . . . . 507
D.28 Special Informative State Attributes: User-Defined Functions 507
D.29 Special Informative State Attributes: User-Defined Methods . 508
D.30 Special Informative State Attributes: Built-in Functions and
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
D.31 Special Informative State Attributes: Codes . . . . . . . . . . 508
D.32 Special Informative State Attributes: Frames . . . . . . . . . 509
D.33 Special Informative State Attributes: Tracebacks . . . . . . . 509
D.34 Special Informative State Attributes: Slices . . . . . . . . . . 509
D.35 Special Informative State Attributes: Complex Numbers . . . 509
D.36 Special Informative State Attributes: xranges . . . . . . . . . 510
D.37 Some sys Variables . . . . . . . . . . . . . . . . . . . . . . . . 511
D.38 Some sys Functions . . . . . . . . . . . . . . . . . . . . . . . . 512
D.39 Some os Variables . . . . . . . . . . . . . . . . . . . . . . . . 513
D.40 Some os Functions . . . . . . . . . . . . . . . . . . . . . . . . 513
D.41 Posix Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 513
D.42 Posix Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 514
D.43 Posixpath Functions . . . . . . . . . . . . . . . . . . . . . . . 516
D.44 Shutil Functions . . . . . . . . . . . . . . . . . . . . . . . . . 517
D.45 Time Access and Conversions: Variables . . . . . . . . . . . . 517
D.46 Time: Some Functions . . . . . . . . . . . . . . . . . . . . . . 518
D.47 Formatting in strftime() and strptime() . . . . . . . . . . . . 519
D.48 Some String Variables . . . . . . . . . . . . . . . . . . . . . . 520
D.49 Some String Functions . . . . . . . . . . . . . . . . . . . . . . 521
D.50 Regular Expression Syntax . . . . . . . . . . . . . . . . . . . 522
D.51 Regular Expression Special Sequences . . . . . . . . . . . . . 523
D.52 Regular Expression Variables . . . . . . . . . . . . . . . . . . 523
D.53 Regular Expression Functions . . . . . . . . . . . . . . . . . . 524
D.54 re Object Attributes . . . . . . . . . . . . . . . . . . . . . . . 525
D.55 re Object Methods . . . . . . . . . . . . . . . . . . . . . . . . 525
D.56 Match Object Attributes . . . . . . . . . . . . . . . . . . . . . 526
D.57 Match Object Functions . . . . . . . . . . . . . . . . . . . . . 526
D.58 Math Constants . . . . . . . . . . . . . . . . . . . . . . . . . . 526
D.59 Math Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 527
D.60 Standard Library Modules . . . . . . . . . . . . . . . . . . . . 528
D.61 Workspace Exploration and Idiom Hints . . . . . . . . . . . . 538

© 2010 by Taylor and Francis Group, LLC


List of Figures

2.1 Eric Python Editor. . . . . . . . . . . . . . . . . . . . . . . . 33


2.2 PyDeb: Easy Eclipse for Python. . . . . . . . . . . . . . . . . 34
2.3 IDLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1 Intersection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2 Union. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.3 Difference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4 Symmetric difference. . . . . . . . . . . . . . . . . . . . . . . 63
3.5 Case 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.6 Case 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1 Excel formatted spreadsheet called sampledata.xls. . . . . . 95

8.1 IUPAC nucleic acid notation table. . . . . . . . . . . . . . . . 147

10.1 Anatomy of a BLAST result . . . . . . . . . . . . . . . . . . . 195

11.1 Our first CGI. . . . . . . . . . . . . . . . . . . . . . . . . . . . 228


11.2 CGI accessed from local disk instead of a web server. . . . . . 228
11.3 A very simple form. . . . . . . . . . . . . . . . . . . . . . . . 229
11.4 CGI output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
11.5 HTML form to submit data to a Python script. . . . . . . . . 234
11.6 HTML generated by a Python script. . . . . . . . . . . . . . . 235
11.7 HTML generated by a Python script. . . . . . . . . . . . . . . 238

12.1 Screenshot of XML viewer. . . . . . . . . . . . . . . . . . . . 257

13.1 Screenshot of PhpMyAdmin. . . . . . . . . . . . . . . . . . . 272


13.2 Screenshot of MySQL Query Browser. . . . . . . . . . . . . . 273
13.3 Login screen to the MySQL database using phpMyAdmin. . . 277
13.4 Creating a new database using phpMyAdmin. . . . . . . . . . 278
13.5 Creating a new table using phpMyAdmin. . . . . . . . . . . . 280
13.6 View of the Student table. . . . . . . . . . . . . . . . . . . . . 281
13.7 An intentionally faulty “Score” table. . . . . . . . . . . . . . . 282
13.8 A better “Score” table. . . . . . . . . . . . . . . . . . . . . . . 283
13.9 Courses table: A lookup table. . . . . . . . . . . . . . . . . . 284
13.10 Modified “Score” table. . . . . . . . . . . . . . . . . . . . . . 284

xxi
© 2010 by Taylor and Francis Group, LLC
Discovering Diverse Content Through
Random Scribd Documents
contrée étrangère, une autre planète même, pensa-t-elle, où elle
avait peut-être émigré, seule de son espèce, seule à jamais. A aucun
moment passé elle ne s'était sentie si seule, ni lorsqu'elle s'était
trouvée chez son mari, sans amour ; ni quand elle avait perdu son
pauvre petit enfant ; ni quand elle avait acquis l'assurance que son
mari la trompait doublement ; ni lorsque, à Granville, environnée
d'une famille qui ne comprenait rien de sa pensée ni de son état, elle
avait dû cacher l'une et l'autre à tout le monde ; non, non, jamais
elle n'avait eu jusqu'ici l'impression de la solitude.
Pourtant elle avait presque toujours vécu au milieu d'êtres
étrangers à son âme et très ignorants de ce qu'il y avait d'essentiel
en elle-même. Or, tout au contraire, elle venait dans cette chambre
se réfugier pour attendre le seul homme qui l'eût vraiment
environnée de tendresse, le seul homme qu'elle aimât. Et ne fallait-il
pas qu'elle l'aimât pour être ici à l'attendre? Il viendrait demain. Elle
l'aimait. C'était lui qui avait choisi cet appartement pour elle. Il avait
choisi l'appartement modeste, parce qu'il vivait modestement lui-
même, et puis que savait-il, et que savait Élise elle-même sur l'état
prochain de sa fortune? Pourquoi n'éprouvait-elle aucune
complaisance pour cet appartement? Une nuit à attendre l'ami,
qu'était-ce, en comparaison de tant de nuits passées dans une
chambre voisine de celle d'un mari indifférent, ou de tant de nuits,
dans sa famille, entre une mère si peu intelligente, cause
inconsciente de son malheur, et une sœur dont la stupidité
l'exaspérait? Pourtant, ni à Granville, ni au boulevard Malesherbes,
elle n'avait éprouvé quoi que ce fût de comparable. Ce soir, au quai
du Louvre, elle se sentait perdue. Jamais elle n'avait accompli un
acte plus libre, jamais fait un pas plus délibéré, mieux voulu ni plus
longuement prémédité ; jamais elle n'avait été poussée d'un élan
plus indépendant vers un être. Il ne lui semblait pas qu'elle laissât
rien d'elle au mari qu'elle quittait, et, s'il ne lui seyait pas certes de
contrister gravement sa famille, qu'était-ce que cette contrariété
pour une femme amoureuse qui se donnait de plein cœur à l'homme
qui la désirait et qu'elle voulait?
Cependant, elle se sentait perdue. Pourquoi?
Vers huit heures, madame Courvoisier ouvrit la porte, et le
fumet, d'ailleurs appétissant, du potage, se répandit dans la pièce en
désordre.
— Où c'est-il que je vais poser mon dîner? On se croirait ici à la
consigne, rapport aux bagages! Ne manquent que les employés de
l'octroi. Madame aurait bien dû me laisser au moins déballer ses
affaires de nuit. Madame est « éclassée », je le vois bien ; je parie
que Madame aura passé la nuit dans ces maudits chemins de fer…
J'ai fait une gibelotte de lapin : c'est le régal de Courvoisier, et de
bien d'autres : Madame ne sait pas qu'un de ces messieurs du
journal qu'est situé juste par derrière, attiré par l'odeur, est venu un
soir me demander la permission, et moyennant rétribution, bien
entendu, de s'asseoir à notre table… Ah! il y en a qui sont rigolos,
chez ces journalistes, — et c'est des sérieux, ceux-là, qu'on assure.
— Madame se reposera ; Madame peut compter sur une bonne
nuit ; le voisinage de l'eau est calmant…
Et madame Courvoisier parlait toujours. Son bavardage ne
distrayait aucunement Élise.
Un sombre nuage que balaie le vent du matin : il ne restait rien à
Élise de son accablement lorsqu'elle s'éveilla avec l'aube, tout
habillée, telle qu'elle s'était étendue la veille sur son lit, les
persiennes étant demeurées grandes ouvertes. Elle alla à la fenêtre,
où l'air frais faisait frémir les platanes et où le silence à peine troublé
par quelques premiers pas, par un roulement de charrette à bras,
l'étonna. Elle n'avait jamais vu ni respiré Paris de si bonne heure, et
le quartier qu'elle habitait ne lui rappela plus du tout le Paris connu
d'elle. Elle identifiait certains monuments, nommait des rues,
n'ignorait pas la Seine ; et cependant elle se trouvait transportée en
un lieu nouveau. La flèche aiguë de Notre-Dame perçait un ciel
incertain, vaporeux, que l'on croyait tantôt lilas et tantôt rose ; la
statue équestre d'Henri IV sur le Pont-Neuf, en face des deux
charmants bâtiments Louis XIII, donnait un air vieille France au
paysage ; le dôme du Panthéon, assis sur ses colonnes, commençait
d'étinceler dans le lointain à gauche ; à l'opposé, la petite calotte de
l'Institut restait grisonnante et tassée ; entre les cimes légères et
mobiles des grands peupliers, l'hôtel des Monnaies était un palais,
un peu solennel, étranger, glacial, tout en lignes, comme un beau
dessin d'architecture ; sur tout cela un air moins guindé, plus sans
façon, plus libre que les lieux habités jusque-là par elle. Non, en
vérité, ni le profil de Saint-Augustin, ni les verdures du parc
Monceau, ni les quinconces assombris du cours Jonville, ne lui
avaient soufflé une si riche bouffée d'oxygène. Elle aspira ce vent
léger avec enivrement ; et, ayant pensé que son ami viendrait la voir
aujourd'hui même, elle arracha vite ses vêtements et se recoucha,
d'un bond, comme une enfant, réfugiée contre l'image de cet
homme puissant et protecteur qui lui plaisait, quasi grisée, d'avance,
par un tourbillonnement de nouveautés.
Ce fut madame Courvoisier qui la réveilla en lui apportant un mot
de M. Le Coûtre. Elle annonçait en même temps à sa nouvelle
locataire qu'elle avait sous la main la femme de ménage
indispensable : une fille peu chanceuse, nommée Mélanie, qui venait
de déposer son enfant à la Maternité, une fille adroite de ses mains
« comme une fée », et qui se présenterait, toute prête au travail,
dans la matinée, pour faire au besoin le déjeuner de Madame. Mais
M. Le Coûtre, par son télégramme, annonçait qu'il viendrait vers midi
prendre Élise pour l'emmener au restaurant.
Élise fit sa toilette et s'habilla avec l'allégresse d'une pensionnaire
un jour de sortie. Ah! qu'elle avait en elle de jeunesse contrainte! et
quelle grâce inaccoutumée accompagnait le moindre de ses gestes
dans cette chambre rudimentaire, au milieu de ces malles éventrées
qui faisaient pousser des exclamations désespérées à madame
Courvoisier et à Mélanie : « Où est-ce que Madame va loger toutes
ses robes? Madame devrait prendre en sus le petit appartement du
sixième, qui a une terrasse avec vue et tonnelle… Avec la vigne
vierge et des volubilis, Madame serait là, sauf votre respect, comme
une Mimi-Pinson!… »
Mélanie était une fille blonde, au nez épais et arrondi, mais ornée
de cheveux qui projetaient une auréole étincelante autour de son
front ; elle paraissait serviable, honnête, de cette honnêteté des
êtres qui, ayant commis une faute, se reconnaissent humblement
descendus d'un degré dans leur caste, ont perdu toute morgue, sont
reconnaissants et comme confus qu'on veuille les employer, et plus
dociles que les impeccables. Et il y avait entre elle et sa nouvelle
maîtresse, dont la situation ambiguë était interprétée par madame
Courvoisier comme le résultat d'une déchéance, quelque secrète
connexité dont, au premier abord, s'incommoda Élise.
M. Le Coûtre arriva vers midi. C'était la première fois qu'il se
trouvait seul à seule avec Élise. Mais il la respectait trop pour abuser
de la circonstance, et il semblait avoir peur de tout, de madame
Courvoisier, de Mélanie, des murs nouveaux, de la lumière et jusque
d'Élise elle-même, qu'à vrai dire il était surpris de trouver là, n'ayant
jamais tout à fait cru qu'elle prendrait une si grave détermination.
Il aimait Élise assurément. Sans cela eût-il endossé une pareille
responsabilité? Mais il était à ce point troublé par l'aventure que son
embarras paralysait tout épanchement et presque toute expression.
S'il eût voulu être l'amant d'Élise, sur l'heure, elle se fût donnée à
lui. Elle l'avait élu dans son cœur, plus solennellement, plus
gravement qu'elle n'avait pris jadis, devant les autels, un époux. Ils
s'étreignirent simplement les mains, avec émotion, avec tendresse.
Elle était plus joyeuse que lui, parce qu'il pensait à plusieurs choses ;
elle ne pensait qu'à une seule chose : qu'elle l'aimait.
Ensemble ils suivirent le quai, dans le calme relatif de midi passé,
puis le Pont-Neuf. Et ils allèrent déjeuner au restaurant Lapérouse,
où M. Le Coûtre avait retenu un cabinet. Élise ne s'informait
seulement pas si elle allait déjeuner dans une salle commune ou à
part. Elle ne s'effraya pas non plus lorsqu'elle se vit dans un cabinet,
à part. Les yeux baissés, la mine discrète du maître d'hôtel, du
sommelier, et du garçon, elle n'y prenait pas garde, parce que l'idée
ne l'effleurait pas qu'elle fût en train de commettre ce qui s'appelle
une escapade.
Quand ils furent seuls, M. Le Coûtre, assis en face d'elle, se leva
et vint l'embrasser. Elle pâlit, et lui devint écarlate. Lui seul avait
conscience de faire une chose irrégulière. Elle n'était agitée que
d'amour. Il était un honnête homme. Elle n'était qu'une femme
heureuse.
— Tant que votre salle à manger ne sera pas installée, lui dit-il,
nous pourrons venir là…
— Mais, dit-elle ingénument, et chez vous?…
Il était stupéfait qu'elle lui parlât la première d'aller chez lui. Il ne
l'avait connue qu'à Granville, environnée de sa famille, et il n'était
pas accoutumé aux audaces des femmes innocentes.
— Chez moi! dit-il, mais, ma petite chère amie, quand je viens à
Paris, je ne prends jamais mes repas chez moi. Je vais au
restaurant ; c'est plus gai. Je viens ici, où je suis connu.
— On y est bien… Oh! quant à ma salle à manger, ce ne sera pas
long : madame Courvoisier aidant, je pense que dès ce soir…
— Malheureusement, ce soir, je ne pourrai pas dîner avec vous,
Élise…
Elle sentit son cœur chavirer et faire une chute. Comment! il ne
dînerait pas avec elle, ce soir!… Le petit mot souvent si terrible :
« déjà! » se formula sur ses lèvres. Elle ne le prononça pas ; elle ne
dit rien, ou plus exactement ne dit que : « C'est dommage », ce qui
n'était rien au prix de ce qu'elle eût voulu dire.
Il répliqua :
— Si vous voulez venir voir comment je suis logé, ce sera tantôt,
n'est-ce pas? en sortant d'ici…
Et il se leva de nouveau pour venir l'embrasser.
Elle espérait qu'il lui dirait pourquoi il ne pouvait pas dîner avec
elle, ce soir, le premier soir. Son mari lui donnait autrefois, au moins,
toujours des raisons ; mais M. Le Coûtre n'en prit pas la peine.
Il n'était tenu à rien, en effet, à aucune formalité, à aucune
convenance particulière. Elle piétinait avec lui les convenances et les
formalités. Elle pénétrait aujourd'hui même dans la vie libre.
Il vit à quel point, malgré son silence, elle était contristée ; mais,
soit inconscience des motifs du chagrin perçu, soit égoïsme naturel
d'homme attaché à ses libertés, il ne s'en émut point. A part lui, il
pensait, faisant ce qu'il faisait, faire déjà beaucoup pour cette pauvre
femme.
M. Le Coûtre habitait non loin de là, rue Guénégaud, un petit
appartement assez sombre et peu gai. Ce n'était pour lui qu'un pied-
à-terre où il descendait depuis longtemps lors de ses voyages à
Paris, où il demeurait à peine durant le jour, où il ne rentrait pas
toujours la nuit. C'était un logement d'étudiant, rudimentaire, et
dont le seul ornement, composé d'éventails en papier, d'ombrelles et
de sabres japonais, eût décelé pour toute autre qu'Élise la main
d'une de ces maîtresses dont on ne tire pas vanité.
Élise, accoutumée à plus de luxe, fut touchée de la simplicité de
l'endroit, touchée bien plus encore que son ami lui fît les honneurs
de son home, touchée à perdre la raison quand, une fois seul avec
elle, entre ces murs sombres, il lui manifesta cette tendresse qu'elle
appelait de tous ses vœux, pour laquelle elle était faite et qu'elle
n'avait jamais connue. Elle, qui se flattait devant sa sœur de
connaître l'amour parce qu'elle avait épousé un bel homme et qu'elle
avait eu de lui un enfant, elle ignorait pourtant complètement
l'amour. Entre les bras de Jean-Marie, qui ne faisait pas figure
d'amant aux yeux des autres, mais lui plaisait à elle, dans cette
chambrette vulgaire et désolée, le plus triste lieu qu'on pût imaginer
pour une femme gracieuse, élégante, même jolie et qui ne fut pas
déplacée dans les salons du parc Monceau, Élise connut
l'inexprimable bonheur d'aimer. Tout lui fut transformé, comme était
transfiguré à ses yeux cet armateur de quarante ans, habitué des
ports, de la pipe et des bouges à matelots. Elle le revêtit tout entier,
lui, son grand corps, son visage, de cet idéal travestissement que
nous portons, chacun, en nous, tout prêt, pour nous donner la
comédie dont nous avons tant besoin. Jean-Marie était beau, il était
jeune et généreux, et il adorait son amante. Dans son inexpérience,
elle ne savait comment lui manifester sa joie complète et sa
reconnaissance. Elle dit :
— Que c'est joli chez vous!
Il en rit ; il ne put la croire ; il s'imagina même que c'était de sa
part un mot de femme du monde. Il en retint la petite flatterie
d'avoir aimé une femme du monde, mais ne sut pas lui en avoir la
gratitude qu'elle méritait, elle qui jadis, en son voyage de noces aux
lacs enchanteurs, et des balcons de la villa Serbelloni, n'avait jamais
eu envie de dire à son mari que le paysage était beau!
Elle le nomma pour la première fois Jean-Marie. Et ces syllabes
passèrent sur ses lèvres charmantes, comme une mélodie. Puis, tout
à coup, elle se grisa du plaisir de proclamer sa foi, son credo : « Je
t'aime!… Je crois en ton amour!… Tu m'as prouvé que tu m'aimais,
toi, tu m'as arrachée à tout. Tu as fait de moi une autre femme ; je
ne me reconnais plus ; personne ne me reconnaîtra plus ; je suis
recréée par tes mains!… Je t'aime! je t'aime! » Elle n'avait jamais été
loquace ni même expansive. C'était bien en effet une autre femme
qui parlait. La mémoire même ne subsistait pas en elle de ce qu'elle
avait été, de ce qu'elle laissait derrière elle ; et la plus légère
représentation ne se formait pas en son imagination de la
catastrophe que devait produire, à l'heure qu'il était, sa fuite du
domicile conjugal.
« Je t'aime!… Je t'aime!… » Il semblait que l'univers fût contenu
dans ces petits mots.
Jean-Marie était lui-même très épris. A la vérité, il n'avait jamais
possédé une maîtresse ni de telle condition ni de pareille beauté, ni
qui manifestât pour lui tant de sincère ardeur. Quoiqu'il eût
beaucoup hésité à pratiquer, en son propre pays, un enlèvement si
grave ; quoiqu'il n'y eût été poussé que petit à petit et pour ainsi
dire par les suggestions d'Élise même, il était charmé, et rendu aussi
un peu fat. Néanmoins, avant que six heures eussent sonné, il
rappela à Élise qu'il était requis par ses affaires avant le dîner, et ne
se montra pas plus généreux en explications qu'il ne l'avait été au
début de cette inoubliable après-midi. Il était clair que, dès le
premier jour, il tenait à sauvegarder son indépendance, et qu'il le
faisait comme en vertu d'un privilège indiscutable que lui conférait
son union irrégulière.
Élise n'en pensa pas si long. Elle était désolée de le quitter, mais
tout son être avait atteint le ravissement ; une douce fatigue lui
ralentissait les idées ; elle voyait le monde à travers une buée, de
l'autre côté des nuages, comme si elle l'eût vu de très haut et de
très loin. Elle s'en alla toute seule au Bon Marché pour quelques
emplettes nécessaires à son ménage.
Dans le magasin, elle fut abordée par une dame qu'elle
fréquentait au temps du boulevard Malesherbes, et qui lui dit :
« Vous voilà donc enfin de retour!… Et comment va monsieur
Destroyer?… Vous recevrez de moi un petit mot… » Élise répondit,
comme en un rêve, sans entendre elle-même le son de ses paroles,
sans leur accorder assez d'importance pour se les rappeler par la
suite. Et le fait est que, la femme disparue, elle se souvint à peine
de la rencontre, ne l'évoqua même pas dans sa songerie, le soir, à
son dîner, ni durant la soirée solitaire. Elle avait eu pourtant un
imperceptible et malicieux sourire quand on lui avait dit : « Vous
recevrez de moi un petit mot ». Et ce n'était pas de sa situation
renversée, et qui rendait le mot si vain, qu'elle souriait, mais de
cette idée ingénue et puérile : un petit mot jeté à la boîte et qui ne
parviendra pas à sa destinataire…
Que de telles rencontres, que de telles promesses d'entrevues
dussent se produire dans la suite, lorsqu'elle irait et viendrait dans
Paris, la perspective ne l'en effraya, ne la toucha même pas. Elle
était morte à une vie, elle naissait à une autre ; elle avait cette
étrange fierté commune à tous les hommes qui ont franchi une
frontière ou changé de condition. S'il est un réveil au delà de la mort
et si quelque chose d'humain persiste en nous, ce doit être la vanité
mesquine d'avoir franchi un pas fameux.
Et Élise rentra, seule, chez elle, par le long corridor étroit du quai
du Louvre. Madame Courvoisier sortit de sa loge pour lui annoncer
qu'il n'y avait pas de courrier à son nom et lui parler de Mélanie, qui,
à son dire, avait travaillé toute la journée comme un cheval. Pour la
cuisine, elle-même avait un peu donné la main.
— Mais il ne fallait pas, madame Courvoisier! il faut laisser cette
fille se débrouiller…
— C'est mon plaisir, Madame. Madame aura un petit pigeon en
salmis… Madame m'en dira des nouvelles… Mon rédacteur à l'Écho…
— Je monte, madame Courvoisier… Oh! j'aurai vite fait de dîner,
et ma soirée ne sera pas longue.
— Madame est fatiguée… Oh! Madame a dû trotter… Les
premiers jours qu'on s'installe… Il ne manque pourtant quasi rien à
l'appartement…
L'appartement se composait, outre la chambre à coucher
dépourvue de cabinet de toilette, d'une salle à manger meublée
dare-dare par M. Le Coûtre, Dieu sait comme! d'une petite pièce
ressemblant à un corridor, dont Élise pensait faire sa garde-robe, et
de la cuisine sur la cour ; il y avait d'amples placards jusque dans
l'entrée : les portes s'en ouvraient avec un bruit de papiers déchirés,
et une personne eût pu coucher sur chaque tablette. Les fenêtres
des trois pièces regardant le quai étaient ouvertes sur un soir tiède
et paisible. Le grave sifflet d'un train de bateaux rendait un air marin
aux oreilles de la Granvillaise ; sur les bancs elle apercevait, dès
cette heure, entre les branches des arbres, des couples d'amoureux
assis. Elle ne pensait qu'à aimer. Elle se disait : « Je vais m'endormir
en songeant à l'après-midi écoulée, et, demain, je le reverrai. »
Il lui fallut bien, avant de s'endormir, essuyer l'histoire de
Mélanie ; mais son sommeil fut lourd et reposant. Le lendemain en
s'éveillant, elle s'aperçut qu'il lui manquait un tub, et ce fut toute
une affaire que d'expliquer à Mélanie ce que c'était, et qu'elle n'avait
qu'un saut à faire pour aller au magasin du Louvre et lui en
rapporter un. Pendant l'absence de Mélanie, madame Courvoisier
vint, s'excusant encore et déçue de n'avoir point de courrier pour
Madame :
— Que Madame soit seule au monde, c'est une chose qui n'est
pas croyable et qui me tord le creux de l'estomac…
Élise se montrait d'une discrétion tenace.
— Ça n'est pas à moi de dire du mal de l'appartement, sûr et
certain, reprenait madame Courvoisier, surtout si Madame y joint
celui du haut, avec tonnelle et vue. Mais si Madame reçoit, une
supposition, où c'est-il que ça sera? Pas dans l'antichambre ou la
salle à manger, je présume?…
— Et si je ne reçois personne, madame Courvoisier?
Madame Courvoisier levait les bras au plafond, considérait Élise
de la tête aux pieds, des pieds à la tête ; semblait entendre d'elle
qu'il n'y avait plus de classes dans la société, ou bien donc qu'elle
était, elle, madame Courvoisier, devenue aveugle ou imbécile, et
incapable de discerner entre une femme du monde et une femme
perdue. Que sa locataire fût une créature légère, non, on ne le lui
ferait pas admettre ; d'ailleurs le rédacteur à l'Écho du Parlement
l'avait aperçue de sa loge et avait dit : « Madame Courvoisier, votre
appartement n'est pas occupé pour trois semaines : c'est une petite
femme qui a fait un coup de tête ; vous allez voir rappliquer ici le
mari, la famille, sinon le curé pour une réconciliation… » Madame
Courvoisier s'attendait à des drames, parce qu'Élise n'avait pas une
tournure à vivre indépendante.
Qu'Élise fût une victime d'un coup de tête, comme le voulait le
rédacteur à l'Écho, passe encore, mais en cette hypothèse une chose
chiffonnait madame Courvoisier : M. Le Coûtre, en faveur de qui
semblait se compromettre une si charmante créature, M. Le Coûtre
n'avait pas la tête d'un héros de roman. M. Le Coûtre, aux yeux de
madame Courvoisier, ne représentait pas le type convenu de l'amant,
du moins pour une personne du « rang » qu'occupait certainement
Élise ; et autant madame Courvoisier eût volontiers protégé, dorloté
des tourtereaux, même des plus coupables, pourvu qu'ils eussent
l'un et l'autre la figure classique, autant madame Courvoisier était
tourmentée par une intrigue qui dérangeait l'ordonnance définitive
de ses idées.
Contre le préjugé de madame Courvoisier, rien à faire. Son mari
d'ailleurs était de son avis ; Mélanie de même.
Élise avait trop de retenue naturelle et une éducation trop
excellente pour aller prendre une concierge comme confidente ;
mais Élise éprouvait aussi une sorte de volupté à se sentir abaissée,
à cause de la grandeur de son amour.
Madame Courvoisier, timorée en face d'elle, se tenait non sans
difficulté la bouche cousue pour ne point témoigner son
mécontentement d'une aventure qui ne se présentait pas conforme à
son goût.
Sur M. Le Coûtre, outre qu'il ne lui plaisait pas qu'Élise eût un
amour, qu'était-ce qu'un homme qui laissait se consumer toute seule
une petite dame si comme il faut, au déjeuner, bien souvent, et
régulièrement au dîner, et à la soirée, et la nuit?
Et cependant Élise, vivant la plupart du temps seule, était bien la
femme la plus heureuse qu'elle eût vue. Élise vivait dans l'attente
d'un rendez-vous de Jean-Marie ou dans le souvenir des heures
passées avec lui. Elle avait oublié le reste ; son amour la comblait.
Quoique Élise aimât ses parents, elle s'interdisait de penser à
eux ; elle ne se demandait pas s'ils lui avaient écrit, boulevard
Malesherbes, s'ils attendaient avec anxiété de ses nouvelles. « Nous
aurons le temps de revenir là-dessus! » se disait-elle en sa demi-
conscience. L'état dans lequel elle vivait, durerait-il? Elle le souhaitait
éternel, et elle n'osait pas raisonnablement le voir se prolonger trois
semaines. Bien qu'elle n'imaginât en aucune façon par quel procédé
il y serait mis fin, elle ne pouvait le croire définitif, soit à cause du
caractère par trop insolite qu'il avait, soit à cause de l'intensité de la
joie qu'il lui procurait : « Cela passera ; d'ici là, n'approfondissons
pas! » Elle vivait dans une béatitude provisoire.
Elle ne recevait pas de lettres. Sa concierge le lui faisait assez
remarquer! Donc, son refuge était demeuré ignoré. Et cela
contribuait pour un peu à lui faire oublier ce qu'elle avait quitté.
Lorsqu'elle avait vu son amant dans la journée, elle demeurait
dans une extase. Mélanie la trouvait étendue sur sa chaise longue,
ou bien à la fenêtre et songeant, avec un air d'élue qui entend les
orgues célestes.
— Madame doit s'ennuyer à ne rien faire, disait la bonne aux
cheveux blonds.
— A ne rien faire!… soupirait Élise.
Et elle se retenait pour ne pas répliquer à cette fille que sa
réflexion était stupide.
Elle regardait par la fenêtre. Le papillotage produit par les jeunes
feuilles luisantes des peupliers de la berge l'étourdissait, l'hypnotisait
comme le miroir une alouette. Et de ces innombrables points
lumineux et de cette danse imaginaire de milliards de petits
personnages frais, des visions naissaient, exquises, imprécises, mais
aussi efficaces par leur effet qu'une musique enchanteresse.
Les bruits nombreux du quai, piaulements des oiseaux encagés,
cornes ou timbres des tramways et des omnibus, roulements des
fiacres sur le pavé et bavardage de la foule, étaient plus suaves à
son oreille que la soie déchirée de la mer basse, à Granville, que la
montée émouvante du flot, ou bien que le rythme de valse qui, au
Casino, ne faisait que la suffoquer du plaisir d'autrui. La vue
interceptée, contrariée, des dômes, du cheval d'Henri IV et de l'Hôtel
des Monnaies avait plus de charme à ses yeux que toute l'imagerie
romantique de Montorgueil Castle ou que le paysage si beau
pourtant des rives de la Rance. Mais, à travers les feuilles des
peupliers, sur les coupoles du Panthéon et de l'Institut ou sur la
croupe du cheval de bronze, tout ce qu'elle avait vu jadis de beau,
entendu d'émouvant ou senti d'extraordinaire, apparaissait aussi en
remembrances embellies ; le présent pour elle s'alliait au passé,
allait même chercher le plus profond passé pour le transporter et
l'exalter : « Comment, se disait-elle, n'ai-je pas été ce jour-là plus
émue?… » Et il s'agissait d'un jour quelconque perdu dans sa
mémoire. « Mais je ne savais donc rien voir! Mais je n'étais donc
qu'une sotte!… » Un magicien lui avait ouvert le passé, illuminé le
présent, enfin rendu l'avenir indifférent, — ce qu'on peut faire pour
celui-ci de plus favorable.
Un magicien avait fait cela pour elle. Un magicien!… Comment
cet homme de nature si positive, cet armateur, de qui pas un mot ne
la soulevait jamais au-dessus du terre à terre, avait-il pu produire ce
fait merveilleux? Oh! elle ne se demandait pas cela. Certes, il n'y
avait ni armateur, ni homme commun pour elle! Non, elle ne
s'étonnait pas que M. Le Coûtre eût suffi à opérer un tel miracle. Elle
voyait son ami égal au rôle qu'il jouait ; elle se révoltait même qu'on
ne comprît pas qu'il jouait ce rôle sublime, qu'il était éminemment
apte à le jouer, qu'il était le seul homme capable de le jouer. Et, au
travers des feuillages mobiles, et sur l'eau de la Seine aux myriades
d'yeux clignotants, suivant le mouvement lent des longues péniches
à géranium ou à basilic, elle voyait partout l'image du magicien ; elle
l'admirait ; elle l'adorait… Et elle avait l'orgueil d'être la seule à
recevoir le don ineffable de celui qui pouvait transformer toutes
choses et faire du monde si banal un paradis de beauté.
Lorsqu'elle consentait à retoucher le sol, son étonnement était
que Mélanie ne remarquât pas qu'elle descendait du ciel, ou bien
était que, tout au moins, la bonne ne s'écriât pas, à propos de
bottes, par exemple : « Dieu! que Monsieur est beau! »
Ayant un si violent désir que quelqu'un lui dît cela, après l'avoir
tant attendu en vain, elle se résigna à demander à Mélanie :
— N'est-ce pas que Monsieur est beau?
Mélanie tomba de son haut :
— Bien sûr, dit-elle, que Monsieur est de belle taille…
Ce n'était pas cela que demandait Élise. Elle haussa les épaules.
Dérision aussi de vouloir que cette fille comprît une telle chose! Elle
ne put toutefois s'empêcher de lui dire :
— Vous ne savez donc pas ce que c'est qu'un bel homme?
Mais Mélanie, du centre de son auréole de cheveux blonds, laissa
échapper sa sagesse populaire :
— Oh! le bel homme, Madame, c'est toujours celui qui est le
meilleur pour se blottir.
IV

Un matin, dans l'antichambre, la voix de madame Courvoisier fut


entendue, à la fois rauque et à bout de souffle, faisant présager
quelque importante nouvelle. Élise, dans le lit, sursauta. Puis Mélanie
frappa à la porte et l'ouvrit sans plus attendre :
— Madame! c'est une lettre…
Élise n'avait pas reçu de lettre jusqu'ici. Qui donc eût pu lui
écrire, puisque personne ne connaissait sa retraite? M. Le Coûtre lui-
même, quand il s'absentait, se gardait de confier à la poste une
adresse qui devait demeurer ignorée. A première vue, entre les
doigts de Mélanie, Élise reconnut l'écriture de son mari.
M. Destroyer écrivait à sa femme une lettre digne, sévère, et tout
ensemble un peu tendre, très composée, compassée comme lui-
même. Il avait appris « l'abandon du domicile conjugal » en arrivant
à Paris, par le concierge de l'immeuble, par le départ de Jeannette,
et enfin par de nombreuses lettres de madame de La Hotte à sa fille.
Ces lettres, il avait pris la liberté de les ouvrir, disait-il, afin de
s'informer, et il les renvoyait ci-jointes, espérant qu'à défaut de sa
propre prière l'angoisse d'une mère ferait réfléchir l'imprudente. Il
suppliait Élise de rentrer, jurait de reprendre avec elle une vie
exemplaire ; il terminait par des considérations, d'ailleurs justes, sur
l'effroyable avenir réservé à une femme jeune, inexpérimentée et
fugitive. Il semblait ignorer la liaison. Pouvait-il en concevoir une?

É
Élise lut cette lettre sans émotion. Elle était intriguée par le fait
que son mari avait découvert sa retraite, et impatientée qu'il ne lui
dît pas comment il s'y était pris pour arriver à cette fin. Les lettres de
madame de La Hotte la touchèrent davantage. Élise n'avait pas
songé jusqu'à cette heure, tant son ivresse était complète, que l'on
pût dans sa famille s'inquiéter de son silence, et la pensée soudaine
du tourment de son père et de sa mère l'atteignait. Elle se mit, au
sortir du lit, à écrire une lettre explicative. Puis, cette tâche achevée,
Élise s'aperçut que dévoiler sa situation nouvelle, même en cachant
bien entendu la liaison, c'était ouvrir avec sa famille des hostilités
sans fin : son père, sa mère, ses frères, sa sœur et tout ce qu'elle
possédait d'oncles, de tantes et de cousins allaient venir ici lui
donner l'assaut! C'en était fait de la paix! Et jamais plus elle ne
pourrait recevoir chez elle M. Le Coûtre.
Elle n'expédia point sa réponse avant le déjeuner. D'ailleurs, elle
attendait son ami : ne valait-il pas mieux prendre l'avis de celui-ci
avant d'agir?
Jean-Marie arriva à midi sonnant. Sa seule vue allégeait Élise de
tout souci : elle l'aimait ; il l'aimait ; et puis il était si grand, si fort!
Et il était son protecteur.
Rassérénée aussitôt par la présence chérie, Élise le fut à ce point
qu'elle négligea même de demander à son ami ce qu'il convenait de
faire, d'urgence, et s'il était nécessaire d'expédier à sa famille la
lettre. Il ne subsistait plus pour elle de piquant, dans cette affaire,
que le dépit d'avoir été découverte par son mari en ce qu'elle croyait
ingénument être sa cachette.
— Mais, ma bonne amie, lui dit M. Le Coûtre, c'était par
plaisanterie que nous appelions « cachette » votre appartement,
quai du Louvre! Croyez-vous vraiment pouvoir nous dissimuler en
plein Paris, vous avec la figure que vous avez, et moi avec ma taille?
L'étonnant est que vous n'ayez pas reçu la lettre de votre mari trois
semaines plus tôt! Qu'il fût à Paris ou au loin, cent personnes
pouvaient l'informer!…

É
— C'est égal, soupirait Élise, je donnerais quelque chose pour
savoir si c'est lui qui m'a suivie, ou quelque autre.
Elle en revenait sans cesse à ce petit problème, avec une
obstination puérile. Elle s'attachait à un détail qui importait peu, et
elle demeurait insouciante du reste.
M. Le Coûtre, bien qu'il eût prévu l'événement, ne le considérait
pas d'un œil serein. Il dit à Élise :
— Qu'allez-vous répondre à votre mari et à votre famille?
— Répondre à mon mari?… A quoi bon? A ma famille, c'est déjà
fait : voici la lettre…
— Ah!
— Il est vrai, ajouta-t-elle en riant, que je ne la mettrai pas à la
poste!…
— Qu'est-ce que vous y dites donc?
— La vérité.
— C'est absurde!
— Mais, mon chéri, puisque vous êtes vous-même d'avis que
nous ne pouvons rien cacher…
— Entre ne rien cacher et s'empresser de tout dire!…
— Aussi, je ne mettrai pas la lettre à la poste.
— Mais, avec votre mari, ma pauvre enfant, vous avez des
intérêts à régler…
— Allons, allons, à table! Ne sentez-vous pas qu'il y a une
matelote de madame Courvoisier?
Élise ne voulait rien entendre de ce qui n'était pas ce qu'elle
appelait « son bonheur ». Dans « son bonheur » elle refusait d'être
troublée. Elle remettait à plus tard tout ce qui pouvait l'importuner. Il
fut impossible à M. Le Coûtre de la ramener à un sujet qui ne lui
permettait point, à lui, l'insouciance.
L'après-midi, elle alla rue Guénégaud, et là, moins encore, fut-il
question du sujet.
A une interrogation de son ami, elle dit :
— Je vais avoir le temps de penser à tout cela, une fois seule…
Il sourit, hocha la tête ; et, en lui-même, ce grand gaillard apte à
porter des fardeaux disait : « Au diable!… »
En rentrant quai du Louvre, vers la fin de la journée, Élise fut
comme happée par madame Courvoisier, qui, ouvrant la porte de sa
loge et s'effaçant pour inviter sa locataire à entrer, sembla faire le
vide en son réduit. Aucun mot, nul cri de la part de la concierge,
mais cette porte ouverte précipitamment, cet effacement de toute la
personne de la concierge replète, et Élise se crut appelée à l'intérieur
de la loge où elle n'avait jamais mis le pied à cause de l'épaisse
odeur culinaire et de l'humaine qui s'y superposaient
désagréablement. Elle entra. Madame Courvoisier ôta ses lunettes
d'une main, et, de l'autre, tâtonnant, elle arracha d'un coin de la
vitre où elles étaient fichées une carte de visite cornée et une lettre.
Puis, remettant tout à coup et précipitamment ses lunettes, la
concierge s'approcha du visage de sa locataire et l'examina.
Le visage de la locataire exprima assurément la surprise, mais
non pas du tout celle qui paraissait escomptée. Toutes choses ne
pouvaient affecter qu'à la surface cette femme à peine échappée des
bras de son amant et encore toute ravie d'amour.
La carte cornée était celle de M. Destroyer. Sur l'enveloppe de la
lettre, Élise reconnut l'écriture de son mari.
Et pendant qu'Élise ouvrait la lettre et en prenait connaissance, la
concierge, pourtant attentive à l'examiner, parlait :
— Ce Monsieur est venu, Madame n'avait pas tourné le coin du
quai…
Ce qui expliquait que la lettre, écrite dans un café du voisinage,
probablement, avait eu le temps de parvenir à son adresse avant
que sa destinataire fût rentrée.
La lettre était brève. Élise l'eut vite déchiffrée. Madame
Courvoisier, qui ne se tenait plus, s'écria :
— C'est donc ça le mari de Madame!… Ça n'est pas Dieu possible
que Madame soye sans miséricorde pour un si bel homme!…
Élise sourit.
— Courvoisier était encore là, Madame : il est de mon sentiment
exact ; ça n'est pas mon sexe qui me fait parler : « C'est une paire
de moustaches, » — voilà les propres paroles de Courvoisier, — « qui
doivent prendre comme à l'hameçon tous les cœurs de femmes… »
Et, comme toujours, lorsqu'il s'agissait de son mari ou de tout ce
qui ne concernait pas son amour, Élise cessa de penser à la lettre
ainsi qu'aux suites qu'elle pouvait comporter. Remontée chez elle,
elle se remémora sa journée, ses heures de bonheur.
La lettre pourtant comportait des suites. M. Destroyer savait
désormais où habitait sa femme. Il annonçait qu'il voulait détruire
une situation irrégulière et pour lui intolérable. Il tenait désormais la
transfuge au gîte, il promettait nettement qu'il ne la lâcherait plus.
Et s'il était, en effet, comme tant de ses pareils, homme à
manquer à son serment de fidélité quant à la chair, il était, comme
autant de ses pareils, homme à ne pas faillir à une parole donnée,
fût-ce à soi-même.
Si Élise n'avait pas été possédée par un démon ou par un dieu,
elle n'eût pu s'empêcher de prévoir en ses détails la poursuite qui la
menaçait, la chasse dont elle allait être, dès le lendemain, le gibier
forcé, la meute qu'on allait incessamment lancer contre son corps de
Diane impure, et la course excessive pour ses jambes légères, et
l'inévitable curée. Elle était sans défense. Jean-Marie lui-même l'en
avait avertie en lui conseillant de se rendre.
Cependant elle ne pensa à rien qu'à son amour et à sa béatitude.
Elle se laissa endormir par son heureuse fatigue. Son sommeil ne fut
troublé par aucun rêve fâcheux. Elle se réveilla, toute fraîche, dans
la fraîcheur du matin, la fenêtre ouverte sur les peupliers
frissonnants, au chant déjà familier pour elle des marchands
ambulants, au sifflement des remorqueurs de Seine.
V

M. Destroyer, pour arriver quai du Louvre à l'heure fixée par lui


dans sa lettre, prit son café trop chaud, et, l'œil aux horloges, quitta
le restaurant de la rue Royale où il avait déjeuné. Il traversa la place
de la Concorde et le jardin des Tuileries, en consultant plusieurs fois
sa montre. Il était ponctuel, méticuleux, consciencieux même, eût-
on pu dire, en admettant que la fidélité conjugale, tout au moins du
côté du mari, ne fait pas partie de ces règles qu'un homme du
monde interprète d'une manière étroite.
Il ne doutait pas que sa femme ne le reçût, étant donnée la lettre
écrite par lui, et vraisemblablement remise la veille, entre les mains
de sa destinataire. Et, par une attention galante envers Élise qui
n'aimait pas l'odeur du cigare, il s'abstenait de fumer ; il en
éprouvait une gêne réelle et aspirait de temps en temps de l'air par
la bouche.
Il allait revoir sa femme, qui avait « abandonné le domicile
conjugal » depuis six semaines. Il n'était pas dépourvu d'émotion.
Pratiquant, sans examen, les mœurs de son temps, celles qui
régnaient parmi ses amis, parmi ses connaissances, il n'admettait à
aucun degré qu'en ayant une maîtresse, et plusieurs maîtresses, il
eût failli, lui. Il ne se reprochait absolument rien. Prendre une
maîtresse n'était pas même signe que l'on fît chez soi mauvais
ménage ; ç'avait été signe tout au plus qu'il ne trouvait pas, dans
son ménage, le confort parfait auquel un garçon de trente-cinq ans
s'est accoutumé, ou bien qu'il s'offrait, sans y ajouter d'importance,
de ces distractions d'homme, comme le tabac, le billard ou la salle
d'armes, qui constituent, dans la vie masculine, un domaine réservé,
où nul n'a rien à voir. C'était, par ailleurs, une manifestation de
prospérité matérielle qui s'allie tout naturellement au fait d'avoir un
bon tailleur, un bottier renommé.
Par contre, si d'aventure la femme légitime avait vent de cet acte
désinvolte et s'avisait d'en prendre ombrage, il était non moins
admis que l'homme s'inclinât devant ses prétentions. Sacrifier à la
femme la maîtresse était un acte de courtoisie apprécié et normal.
Congédier la maîtresse, au moins momentanément, pour la forme,
et ne fût-ce que par simulation, n'altérait pas l'acte de courtoisie. A
tel congé M. Destroyer eût consenti avec l'affabilité la plus déférente
pour peu qu'Élise se fût plainte. Mais Élise, sans proférer une seule
parole, avait « abandonné le domicile conjugal ». Cette dernière
expression, consacrée par le Code, dispensait l'esprit d'un mari de
méditer sur le fond de la situation et de prononcer un jugement
quelque peu nuancé. Élise, non pas lui, avait mis le contrat de
mariage en état d'être rompu. Dans l'âme conventionnelle, dans
l'âme sociale de M. Destroyer, une malchance avait voulu qu'Élise eût
l'occasion de lui reprocher à lui une peccadille ; mais Élise était la
coupable.
Il ignorait qu'elle eût un amant.
Il avait vécu deux ans et demi avec elle ; il avait eu d'elle un
enfant ; mais ni présence, ni absence, ni paroles, ni silence, ni
caresses ne semblaient, à aucun moment, avoir éveillé en elle le
moindre symptôme de l'amour. Et il n'en concluait nullement qu'elle
ne l'aimât point, car, l'esprit entièrement soumis aux manières de
penser communes, il se jugeait beau, bien fait, proprement tenu,
bien élevé, galant même, tel enfin qu'il est convenu qu'est un
homme agréable aux femmes. Et il savait, pardieu! qu'il plaisait aux
femmes. Pourquoi une petite fille de province, et qui, en somme,
n'avait jamais rien vu, eût-elle fait la rebelle? Il la jugeait seulement
peu démonstrative, jusqu'à présent dépourvue de sens, peut-être un
peu baroque, originale, tenant de son père, en somme, un caractère
difficile et secret qu'en habile homme il devait dompter un jour.
Allant la voir aujourd'hui, après la frasque commise par elle, lissant
ses longues moustaches, époussetant d'une chiquenaude un grain
de poussière sur le revers de sa jaquette, il croyait qu'il ramènerait
sa femme.
Il tira encore une fois de son gousset sa montre, et en confronta
l'indication avec celle d'un cadran ; il dépassa le café formant le coin
du quai et pénétra dans l'étroit couloir de la maison où habitait Élise.
Il ouvrit sans frapper la porte de la loge, et vit se décomposer le
visage de madame Courvoisier :
— Madame n'a pas déjeuné là,… dit celle-ci.
— Cependant!… fit vivement M. Destroyer.
— Oh! Madame ne manquera pas de rentrer, surtout si Monsieur
a donné rendez-vous à Madame!
Il était furieux ; mais il prit un air dégagé, ne voulant pas faire
figure d'un qui a donné rendez-vous et à qui l'on manque.
Madame Courvoisier, qui se repaissait de la vue d'un si bel
homme, lui offrit de s'asseoir et d'attendre une petite minute. M.
Destroyer humait les relents de la loge et regardait autour de lui ; il
refusa. Il dit qu'il repasserait peut-être.
En effet, il repassa, trois quarts d'heure après, saturé de la vue
des grainages, des oiseaux, des instruments aratoires, ayant poussé
jusqu'au chevet de Notre-Dame et jusqu'à la Morgue, s'étant assis
sur un banc du quai.
Madame n'était pas rentrée.
Il prit à peine le temps de recueillir le mot de la bouche de la
concierge qui le prononçait avec confusion, presque avec un
sentiment de honte personnelle, comme si elle-même eût été
coupable vis-à-vis de cet homme si bien et, qui plus est, de cet
homme qu'elle sentait armé de ses droits.
M. Destroyer s'éclipsa.
Il perdait malaisément l'équilibre. Cette fois, la stupeur, bientôt
transformée en colère, lui fouetta le sang, lui remua les entrailles. Il
résolut de faire ce qui répugnait à son habituelle correction : épier la
rentrée de la femme qui se moquait de lui et saisir celle-ci à son
retour, car il fallait en finir.
Il s'assit à la terrasse du café qui occupait le coin du quai,
regardant d'un œil la colonnade du Louvre. Consommation sur
consommation ; point de journaux de peur de perdre le moindre
passant. Le rôle singulier auquel il était réduit lui donnait la nausée.
Il paya, et se mit à faire les cent pas ; mais il craignit d'être aperçu
par la concierge, et revint s'asseoir au café. Le garçon, soupçonnant
ce qu'il faisait là, se mit à regarder pour lui, en amenuisant les yeux,
comme s'il savait quelle personne cherchait son client. Le manège
dura une heure, longue.
A six heures et demie, dans la magnificence du soleil déclinant,
Élise parut, son buste entier dépassant le parapet du pont, et fut
parfaitement reconnue de son mari. Elle était aise, souriante et
tranquille ; elle sortait de chez son amant. Elle ne pensait pas plus à
son mari que s'il n'eût pas existé.
Celui-ci, la tenant, s'efforça de ne pas la regarder pendant qu'il
réglait ses consommations. Il calcula bien la durée de ses gestes et
atteignit la jeune femme à temps pour la saluer, faire quatre pas à
côté d'elle et obtenir l'autorisation de poursuivre l'entretien, avant de
pénétrer avec elle dans le couloir, tout en causant. Les voix des deux
époux, confondues et accordées en un ton conventionnel et mondain
qui simulait la belle humeur, firent lever la tête de madame
Courvoisier. Celle-ci, à la vue du couple souriant et faisant des
phrases, demeura ahurie, plus bête, raconta-t-elle plus tard, que le
jour où elle avait eu la révélation, cela ne datait pas d'hier, que les
enfants ne viennent pas sous les choux.
Élise, au premier heurt contre son mari, avait elle-même adopté
ce mode enjoué qui lui semblait plus facile, plus décent dans la rue
que tout commencement d'explication, et aussi, peut-être, parce
qu'il était en accord avec l'indifférence totale qu'elle éprouvait pour
son mari.
Et elle eût soutenu ce ton, une fois arrivée dans son petit
appartement, tant elle éprouvait de bonheur à montrer à son maître
selon la loi l'ivresse que lui causait la vue de ces pauvres meubles,
de ces pièces exiguës, de ces tentures surannées, de ce carrelage de
mansarde, mais qui étaient pour elle symboles de la liberté, de
l'heureuse possession de soi dans l'amour ; elle eût soutenu ce ton
s'il n'eût été trop difficile de l'employer avec un homme dénué
d'humeur et de fantaisie, même à l'état normal, et aujourd'hui
intimement convaincu de la gravité des circonstances. Au premier
abord, l'harmonieux accord de cette jovialité avec l'aspect physique
de sa femme rajeunie, ranimée, embellie, avait troublé M. Destroyer
jusque dans sa chair, et il avait soudain trouvé désirable cet être qui,
près de lui, jusqu'à présent s'était si peu fait désirer. Le rire aidant et
les propos badins, une bouffée de chaleur lui était montée au visage,
et la pensée l'avait effleuré de devenir là, dans cette chambre de
couturière, l'amant de sa légitime épouse. Mais l'homme le plus
dépourvu de finesse est glacé, à certains moments, par le secret que
la femme, avec impertinence, lui présente à déchiffrer. Il n'avait
certes jamais bien compris Élise, mais, mieux qu'aucun jour, mieux
qu'aucune nuit de leur vie commune, il recevait aujourd'hui
l'assurance qu'il existait en cette fille de petite noblesse provinciale
quelque chose d'aussi étranger à lui que l'âme d'une Lapone ou
d'une indigène de la Malaisie. Il en fut incommodé, puis intimidé ;
et, comme sa vanité d'homme refusait de s'incliner, il se réfugia,
pour plus de confort, dans la persuasion que cette femme était un
peu folle. Il recourut soudain à l'attitude de la protection ; il eut des
mots de tuteur attendri qui vient visiter sa pupille au sortir du
couvent.
Élise en fut blessée à vif. En femme heureuse et fière de l'état
merveilleux et rare qui était le sien, elle regimba ; et, en femme
heureuse qui a besoin de crier sa félicité, elle dit qu'elle était
heureuse, pleinement, incomparablement, que cela se voyait,
d'ailleurs, que des gens inconnus, dans la rue, en la voyant passer, le
lui déclaraient tous les jours.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookfinal.com

You might also like