100% found this document useful (2 votes)
12 views

MATLAB Bioinformatics Toolbox User s Guide The Mathworks - The newest ebook version is ready, download now to explore

The document provides information about various MATLAB toolboxes, including the Bioinformatics Toolbox, Econometrics Toolbox, and others, available for download at textbookfull.com. It includes user guides, features, and contact details for The MathWorks, Inc. The document emphasizes the ability to download ebooks in multiple formats for use on any device.

Uploaded by

luukkomsaod
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
12 views

MATLAB Bioinformatics Toolbox User s Guide The Mathworks - The newest ebook version is ready, download now to explore

The document provides information about various MATLAB toolboxes, including the Bioinformatics Toolbox, Econometrics Toolbox, and others, available for download at textbookfull.com. It includes user guides, features, and contact details for The MathWorks, Inc. The document emphasizes the ability to download ebooks in multiple formats for use on any device.

Uploaded by

luukkomsaod
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Explore the full ebook collection and download it now at textbookfull.

com

MATLAB Bioinformatics Toolbox User s Guide The


Mathworks

https://textbookfull.com/product/matlab-bioinformatics-
toolbox-user-s-guide-the-mathworks/

OR CLICK HERE

DOWLOAD EBOOK

Browse and Get More Ebook Downloads Instantly at https://textbookfull.com


Click here to visit textbookfull.com and download textbook now
Your digital treasures (PDF, ePub, MOBI) await
Download instantly and pick your perfect format...

Read anywhere, anytime, on any device!

MATLAB Econometrics Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-econometrics-toolbox-user-s-
guide-the-mathworks/

textbookfull.com

MATLAB Mapping Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-mapping-toolbox-user-s-guide-
the-mathworks/

textbookfull.com

MATLAB Optimization Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-optimization-toolbox-user-s-
guide-the-mathworks/

textbookfull.com

MATLAB Trading Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-trading-toolbox-user-s-guide-
the-mathworks/

textbookfull.com
MATLAB Computer Vision Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-computer-vision-toolbox-user-
s-guide-the-mathworks/

textbookfull.com

MATLAB Curve Fitting Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-curve-fitting-toolbox-user-s-
guide-the-mathworks/

textbookfull.com

MATLAB Fuzzy Logic Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-fuzzy-logic-toolbox-user-s-
guide-the-mathworks/

textbookfull.com

MATLAB Global Optimization Toolbox User s Guide The


Mathworks

https://textbookfull.com/product/matlab-global-optimization-toolbox-
user-s-guide-the-mathworks/

textbookfull.com

MATLAB Image Processing Toolbox User s Guide The Mathworks

https://textbookfull.com/product/matlab-image-processing-toolbox-user-
s-guide-the-mathworks/

textbookfull.com
Bioinformatics Toolbox™
User's Guide

R2020a
How to Contact MathWorks

Latest news: www.mathworks.com

Sales and services: www.mathworks.com/sales_and_services

User community: www.mathworks.com/matlabcentral

Technical support: www.mathworks.com/support/contact_us

Phone: 508-647-7000

The MathWorks, Inc.


1 Apple Hill Drive
Natick, MA 01760-2098
Bioinformatics Toolbox™ User's Guide
© COPYRIGHT 2003–2020 by The MathWorks, Inc.
The software described in this document is furnished under a license agreement. The software may be used or copied
only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form
without prior written consent from The MathWorks, Inc.
FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through
the federal government of the United States. By accepting delivery of the Program or Documentation, the government
hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer
software documentation as such terms are used or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014.
Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain
to and govern the use, modification, reproduction, release, performance, display, and disclosure of the Program and
Documentation by the federal government (or other entity acquiring for or through the federal government) and shall
supersede any conflicting contractual terms or conditions. If this License fails to meet the government's needs or is
inconsistent in any respect with federal procurement law, the government agrees to return the Program and
Documentation, unused, to The MathWorks, Inc.
Trademarks
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be
trademarks or registered trademarks of their respective holders.
Patents
MathWorks products are protected by one or more U.S. patents. Please see www.mathworks.com/patents for
more information.
Revision History
September 2003 Online only New for Version 1.0 (Release 13SP1+)
June 2004 Online only Revised for Version 1.1 (Release 14)
November 2004 Online only Revised for Version 2.0 (Release 14SP1+)
March 2005 Online only Revised for Version 2.0.1 (Release 14SP2)
May 2005 Online only Revised for Version 2.1 (Release 14SP2+)
September 2005 Online only Revised for Version 2.1.1 (Release 14SP3)
November 2005 Online only Revised for Version 2.2 (Release 14SP3+)
March 2006 Online only Revised for Version 2.2.1 (Release 2006a)
May 2006 Online only Revised for Version 2.3 (Release 2006a+)
September 2006 Online only Revised for Version 2.4 (Release 2006b)
March 2007 Online only Revised for Version 2.5 (Release 2007a)
April 2007 Online only Revised for Version 2.6 (Release 2007a+)
September 2007 Online only Revised for Version 3.0 (Release 2007b)
March 2008 Online only Revised for Version 3.1 (Release 2008a)
October 2008 Online only Revised for Version 3.2 (Release 2008b)
March 2009 Online only Revised for Version 3.3 (Release 2009a)
September 2009 Online only Revised for Version 3.4 (Release 2009b)
March 2010 Online only Revised for Version 3.5 (Release 2010a)
September 2010 Online only Revised for Version 3.6 (Release 2010b)
April 2011 Online only Revised for Version 3.7 (Release 2011a)
September 2011 Online only Revised for Version 4.0 (Release 2011b)
March 2012 Online only Revised for Version 4.1 (Release 2012a)
September 2012 Online only Revised for Version 4.2 (Release 2012b)
March 2013 Online only Revised for Version 4.3 (Release 2013a)
September 2013 Online only Revised for Version 4.3.1 (Release 2013b)
March 2014 Online only Revised for Version 4.4 (Release 2014a)
October 2014 Online only Revised for Version 4.5 (Release 2014b)
March 2015 Online only Revised for Version 4.5.1 (Release 2015a)
September 2015 Online only Revised for Version 4.5.2 (Release 2015b)
March 2016 Online only Revised for Version 4.6 (Release 2016a)
September 2016 Online only Updated for Version 4.7 (Release 2016b)
March 2017 Online only Updated for Version 4.8 (Release 2017a)
September 2017 Online only Updated for Version 4.9 (Release 2017b)
March 2018 Online only Updated for Version 4.10 (Release 2018a)
September 2018 Online only Updated for Version 4.11 (Release 2018b)
March 2019 Online only Updated for Version 4.12 (Release 2019a)
September 2019 Online only Updated for Version 4.13 (Release 2019b)
March 2020 Online only Updated for Version 4.14 (Release 2020a)
Contents

Getting Started
1
Bioinformatics Toolbox Product Description . . . . . . . . . . . . . . . . . . . . . . . 1-2
Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Product Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3


Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Expected Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

Data Formats and Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

Sequence Alignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7

Sequence Utilities and Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8

Protein Property Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9

Phylogenetic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10

Microarray Data Analysis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11

Microarray Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12

Mass Spectrometry Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13

Graph Theory Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15

Graph Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16

Statistical Learning and Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17

Prototyping and Development Environment . . . . . . . . . . . . . . . . . . . . . . . 1-18

Data Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19

Exchange Bioinformatics Data Between Excel and MATLAB . . . . . . . . . . 1-20


Using Excel and MATLAB Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
About the Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Before Running the Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Running the Example for the Entire Data Set . . . . . . . . . . . . . . . . . . . . . 1-21
Editing Formulas to Run the Example on a Subset of the Data . . . . . . . . 1-22
Using the Spreadsheet Link product to Interact With the Data in MATLAB
..................................................... 1-23

v
Get Information from Web Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
What Are get Functions? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
Creating the getpubmed Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26

High-Throughput Sequence Analysis


2
Work with Next-Generation Sequencing Data . . . . . . . . . . . . . . . . . . . . . . . 2-2
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
What Files Can You Access? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Create a BioIndexedFile Object to Access Your Source File . . . . . . . . . . . . 2-3
Determine the Number of Entries Indexed By a BioIndexedFile Object . . . 2-3
Retrieve Entries from Your Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Read Entries from Your Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Manage Sequence Read Data in Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Represent Sequence and Quality Data in a BioRead Object . . . . . . . . . . . . 2-7
Represent Sequence, Quality, and Alignment/Mapping Data in a BioMap
Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Retrieve Information from a BioRead or BioMap Object . . . . . . . . . . . . . 2-10
Set Information in a BioRead or BioMap Object . . . . . . . . . . . . . . . . . . . 2-12
Determine Coverage of a Reference Sequence . . . . . . . . . . . . . . . . . . . . 2-12
Construct Sequence Alignments to a Reference Sequence . . . . . . . . . . . 2-13
Filter Read Sequences Using SAM Flags . . . . . . . . . . . . . . . . . . . . . . . . . 2-14

Store and Manage Feature Annotations in Objects . . . . . . . . . . . . . . . . . 2-16


Represent Feature Annotations in a GFFAnnotation or GTFAnnotation
Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
Construct an Annotation Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
Retrieve General Information from an Annotation Object . . . . . . . . . . . . 2-16
Access Data in an Annotation Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Use Feature Annotations with Sequence Read Data . . . . . . . . . . . . . . . . 2-18

Visualize and Investigate Sequence Read Alignments . . . . . . . . . . . . . . . 2-21


When to Use the NGS Browser to Visualize and Investigate Data . . . . . . 2-21
Open the NGS Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21
Import Data into the NGS Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23
Zoom and Pan to a Specific Region of the Alignment . . . . . . . . . . . . . . . . 2-25
View Coverage of the Reference Sequence . . . . . . . . . . . . . . . . . . . . . . . 2-25
View the Pileup View of Short Reads . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
Compare Alignments of Multiple Data Sets . . . . . . . . . . . . . . . . . . . . . . . 2-26
View Location, Quality Scores, and Mapping Information . . . . . . . . . . . . 2-27
Flag Reads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28
Evaluate and Flag Mismatches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28
View Insertions and Deletions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29
View Feature Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29
Print and Export the Browser Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30

Count Features from NGS Reads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31

vi Contents
Identifying Differentially Expressed Genes from RNA-Seq Data . . . . . . . 2-41

Visualize NGS Data Using Genomics Viewer App . . . . . . . . . . . . . . . . . . . 2-69


Open the App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-69
Add Tracks by Importing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-69
Visualize Single Nucleotide Variation in Cytochrome P450 . . . . . . . . . . . 2-70

Sequence Analysis
3
Exploring a Nucleotide Sequence Using Command Line . . . . . . . . . . . . . . 3-2
Overview of Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Searching the Web for Sequence Information . . . . . . . . . . . . . . . . . . . . . . 3-2
Reading Sequence Information from the Web . . . . . . . . . . . . . . . . . . . . . . 3-4
Determining Nucleotide Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Determining Codon Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Open Reading Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
Amino Acid Conversion and Composition . . . . . . . . . . . . . . . . . . . . . . . . 3-13

Exploring a Nucleotide Sequence Using the Sequence Viewer App . . . . 3-15


Overview of the Sequence Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Importing a Sequence into the Sequence Viewer . . . . . . . . . . . . . . . . . . 3-15
Viewing Nucleotide Sequence Information . . . . . . . . . . . . . . . . . . . . . . . 3-17
Searching for Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
Exploring Open Reading Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Closing the Sequence Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25

Explore a Protein Sequence Using the Sequence Viewer App . . . . . . . . . 3-26


Overview of the Sequence Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
Viewing Amino Acid Sequence Statistics . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
Closing the Sequence Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29

Compare Sequences Using Sequence Alignment Algorithms . . . . . . . . . 3-30


Overview of Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
Find a Model Organism to Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
Retrieve Sequence Information from a Public Database . . . . . . . . . . . . . 3-31
Search a Public Database for Related Genes . . . . . . . . . . . . . . . . . . . . . . 3-33
Locate Protein Coding Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
Compare Amino Acid Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36

View and Align Multiple Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43


Overview of the Sequence Alignment App . . . . . . . . . . . . . . . . . . . . . . . . 3-43
Visualize Multiple Sequence Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43
Adjust Sequence Alignments Manually . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44
Rearrange Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-52
Generate Phylogenetic Tree from Aligned Sequences . . . . . . . . . . . . . . . 3-54

vii
Microarray Analysis
4
Managing Gene Expression Data in Objects . . . . . . . . . . . . . . . . . . . . . . . . 4-2

Representing Expression Data Values in DataMatrix Objects . . . . . . . . . . 4-5


Overview of DataMatrix Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Constructing DataMatrix Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Getting and Setting Properties of a DataMatrix Object . . . . . . . . . . . . . . . 4-6
Accessing Data in DataMatrix Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6

Representing Expression Data Values in ExptData Objects . . . . . . . . . . . . 4-9


Overview of ExptData Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Constructing ExptData Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Using Properties of an ExptData Object . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
Using Methods of an ExptData Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11

Representing Sample and Feature Metadata in MetaData Objects . . . . . 4-12


Overview of MetaData Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Constructing MetaData Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
Using Properties of a MetaData Object . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
Using Methods of a MetaData Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15

Representing Experiment Information in a MIAME Object . . . . . . . . . . . 4-16


Overview of MIAME Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Constructing MIAME Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Using Properties of a MIAME Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
Using Methods of a MIAME Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18

Representing All Data in an ExpressionSet Object . . . . . . . . . . . . . . . . . . 4-19


Overview of ExpressionSet Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Constructing ExpressionSet Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
Using Properties of an ExpressionSet Object . . . . . . . . . . . . . . . . . . . . . 4-21
Using Methods of an ExpressionSet Object . . . . . . . . . . . . . . . . . . . . . . . 4-21

Visualizing Microarray Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23


Overview of the Mouse Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
Exploring the Microarray Data Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
Spatial Images of Microarray Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
Statistics of the Microarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
Scatter Plots of Microarray Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34

Phylogenetic Analysis
5
Using the Phylogenetic Tree App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Overview of the Phylogenetic Tree App . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Opening the Phylogenetic Tree App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11

viii Contents
Window Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18

ix
1

Getting Started

• “Bioinformatics Toolbox Product Description” on page 1-2


• “Product Overview” on page 1-3
• “Data Formats and Databases” on page 1-5
• “Sequence Alignments” on page 1-7
• “Sequence Utilities and Statistics” on page 1-8
• “Protein Property Analysis” on page 1-9
• “Phylogenetic Analysis” on page 1-10
• “Microarray Data Analysis Tools” on page 1-11
• “Microarray Data Storage” on page 1-12
• “Mass Spectrometry Data Analysis” on page 1-13
• “Graph Theory Functions” on page 1-15
• “Graph Visualization” on page 1-16
• “Statistical Learning and Visualization” on page 1-17
• “Prototyping and Development Environment” on page 1-18
• “Data Visualization” on page 1-19
• “Exchange Bioinformatics Data Between Excel and MATLAB” on page 1-20
• “Get Information from Web Database” on page 1-26
1 Getting Started

Bioinformatics Toolbox Product Description


Read, analyze, and visualize genomic and proteomic data

Bioinformatics Toolbox provides algorithms and apps for Next Generation Sequencing (NGS),
microarray analysis, mass spectrometry, and gene ontology. Using toolbox functions, you can read
genomic and proteomic data from standard file formats such as SAM, FASTA, CEL, and CDF, as well
as from online databases such as the NCBI Gene Expression Omnibus and GenBank®. You can explore
and visualize this data with sequence browsers, spatial heatmaps, and clustergrams. The toolbox also
provides statistical techniques for detecting peaks, imputing values for missing data, and selecting
features.

You can combine toolbox functions to support common bioinformatics workflows. You can use ChIP-
Seq data to identify transcription factors; analyze RNA-Seq data to identify differentially expressed
genes; identify copy number variants and SNPs in microarray data; and classify protein profiles using
mass spectrometry data.

Key Features
• Next Generation Sequencing analysis and browser
• Sequence analysis and visualization, including pairwise and multiple sequence alignment and
peak detection
• Microarray data analysis, including reading, filtering, normalizing, and visualization
• Mass spectrometry analysis, including preprocessing, classification, and marker identification
• Phylogenetic tree analysis
• Graph theory functions, including interaction maps, hierarchy plots, and pathways
• Data import from genomic, proteomic, and gene expression files, including SAM, FASTA, CEL, and
CDF, and from databases such as NCBI and GenBank

1-2
Product Overview

Product Overview

Features
The Bioinformatics Toolbox product extends the MATLAB® environment to provide an integrated
software environment for genome and proteome analysis. Scientists and engineers can answer
questions, solve problems, prototype new algorithms, and build applications for drug discovery and
design, genetic engineering, and biological research. An introduction to these features will help you
to develop a conceptual model for working with the toolbox and your biological data.

The Bioinformatics Toolbox product includes many functions to help you with genome and proteome
analysis. Most functions are implemented in the MATLAB programming language, with the source
available for you to view. This open environment lets you explore and customize the existing toolbox
algorithms or develop your own.

You can use the basic bioinformatic functions provided with this toolbox to create more complex
algorithms and applications. These robust and well-tested functions are the functions that you would
otherwise have to create yourself.

Toolbox features and functions fall within these categories:

• Data formats and databases — Connect to Web-accessible databases containing genomic and
proteomic data. Read and convert between multiple data formats.
• High-throughput sequencing — Gene expression and transcription factor analysis of next-
generation sequencing data, including RNA-Seq and ChIP-Seq.
• Sequence analysis — Determine the statistical characteristics of a sequence, align two
sequences, and multiply align several sequences. Model patterns in biological sequences using
hidden Markov model (HMM) profiles.
• Phylogenetic analysis — Create and manipulate phylogenetic tree data.
• Microarray data analysis — Read, normalize, and visualize microarray data.
• Mass spectrometry data analysis — Analyze and enhance raw mass spectrometry data.
• Statistical learning — Classify and identify features in data sets with statistical learning tools.
• Programming interface — Use other bioinformatic software (BioPerl and BioJava) within the
MATLAB environment.

The field of bioinformatics is rapidly growing and will become increasingly important as biology
becomes a more analytical science. The toolbox provides an open environment that you can customize
for development and deployment of the analytical tools you will need.

• Prototype and develop algorithms — Prototype new ideas in an open and extensible
environment. Develop algorithms using efficient string processing and statistical functions, view
the source code for existing functions, and use the code as a template for customizing, improving,
or creating your own functions. See “Prototyping and Development Environment” on page 1-18.
• Visualize data — Visualize sequences and alignments, gene expression data, phylogenetic trees,
mass spectrometry data, protein structure, and relationships between data with interconnected
graphs. See “Data Visualization” on page 1-19.
• Share and deploy applications — Use an interactive GUI builder to develop a custom graphical
front end for your data analysis programs. Create standalone applications that run separately
from the MATLAB environment.

1-3
1 Getting Started

Expected Users
The Bioinformatics Toolbox product is intended for computational biologists and research scientists
who need to develop new algorithms or implement published ones, visualize results, and create
standalone applications.

• Industry/Professional — Increasingly, drug discovery methods are being supported by


engineering practice. This toolbox supports tool builders who want to create applications for the
biotechnology and pharmaceutical industries.
• Education/Professor/Student — This toolbox is well suited for learning and teaching genome
and proteome analysis techniques. Educators and students can concentrate on bioinformatic
algorithms instead of programming basic functions such as reading and writing to files.

While the toolbox includes many bioinformatic functions, it is not intended to be a complete set of
tools for scientists to analyze their biological data. However, the MATLAB environment is ideal for
rapidly designing and prototyping the tools you need.

1-4
Data Formats and Databases

Data Formats and Databases


The Bioinformatics Toolbox lets you access many of the databases on the web and other online data
repositories. It lets you copy data into the MATLAB workspace, and read and write to files with
standard bioinformatic formats. It also reads many common genome file formats so that you do not
have to write and maintain your own file readers.

Web-based databases — You can directly access public databases on the Web and copy sequence
and gene expression information into the MATLAB environment.

The sequence databases currently supported are GenBank (getgenbank), GenPept (getgenpept),
European Molecular Biology Laboratory (EMBL) (getembl), and Protein Data Bank (PDB) (getpdb).
You can also access data from the NCBI Gene Expression Omnibus (GEO) Web site by using a single
function (getgeodata).

Get multiply aligned sequences (gethmmalignment), hidden Markov model profiles (gethmmprof),
and phylogenetic tree data (gethmmtree) from the PFAM database.

Gene Ontology database — Load the database from the Web into a gene ontology object (geneont).
Select sections of the ontology with methods for the geneont object (getancestors (geneont),
getdescendants (geneont), getmatrix (geneont), getrelatives (geneont)), and
manipulate data with utility functions (goannotread, num2goid).

Read data from instruments — Read data generated from gene sequencing instruments (scfread,
joinseq, traceplot), mass spectrometers (jcampread), and Agilent® microarray scanners
(agferead).

Reading data formats — The toolbox provides a number of functions for reading data from common
bioinformatic file formats.

• Sequence data: GenBank (genbankread), GenPept (genpeptread), EMBL (emblread), PDB


(pdbread), and FASTA (fastaread)
• Multiply aligned sequences: ClustalW and GCG formats (multialignread)
• Gene expression data from microarrays: Gene Expression Omnibus (GEO) data (geosoftread),
GenePix® data in GPR and GAL files (gprread, galread), SPOT data (sptread), Affymetrix®
GeneChip® data (affyread), and ImaGene® results files (imageneread)
• Hidden Markov model profiles: PFAM-HMM file (pfamhmmread)

Writing data formats — The functions for getting data from the Web include the option to save the
data to a file. However, there is a function to write data to a file using the FASTA format
(fastawrite).

BLAST searches — Request Web-based BLAST searches (blastncbi), get the results from a search
(getblast) and read results from a previously saved BLAST formatted report file (blastread).

The MATLAB environment has built-in support for other industry-standard file formats including
Microsoft® Excel® and comma-separated-value (CSV) files. Additional functions perform ASCII and
low-level binary I/O, allowing you to develop custom functions for working with any data format.

1-5
1 Getting Started

See Also

More About
• “High-Throughput Sequencing”
• “Microarray Analysis”
• “Sequence Analysis”
• “Structural Analysis”
• “Mass Spectrometry and Bioanalytics”

1-6
Sequence Alignments

Sequence Alignments
You can select from a list of analysis methods to compare nucleotide or amino acid sequences using
pairwise or multiple sequence alignment functions.

Pairwise sequence alignment — Efficient implementations of standard algorithms such as the


Needleman-Wunsch (nwalign) and Smith-Waterman (swalign) algorithms for pairwise sequence
alignment. The toolbox also includes standard scoring matrices such as the PAM and BLOSUM
families of matrices (blosum, dayhoff, gonnet, nuc44, pam). Visualize sequence similarities with
seqdotplot and sequence alignment results with showalignment.

Multiple sequence alignment — Functions for multiple sequence alignment (multialign,


profalign) and functions that support multiple sequences (multialignread, fastaread,
showalignment). There is also a graphical interface (seqalignviewer) for viewing the results of a
multiple sequence alignment and manually making adjustment.

Multiple sequence profiles — Implementations for multiple alignment and profile hidden Markov
model algorithms (gethmmprof, gethmmalignment, gethmmtree, pfamhmmread, hmmprofalign,
hmmprofestimate, hmmprofgenerate, hmmprofmerge, hmmprofstruct, showhmmprof).

Biological codes — Look up the letters or numeric equivalents for commonly used biological codes
(aminolookup, baselookup, geneticcode, revgeneticcode).

See Also

More About
• “Sequence Utilities and Statistics” on page 1-8
• “Sequence Analysis”
• “Data Formats and Databases” on page 1-5

1-7
1 Getting Started

Sequence Utilities and Statistics


You can manipulate and analyze your sequences to gain a deeper understanding of the physical,
chemical, and biological characteristics of your data. Use a graphical user interface (GUI) with many
of the sequence functions in the toolbox (seqviewer).

Sequence conversion and manipulation — The toolbox provides routines for common operations,
such as converting DNA or RNA sequences to amino acid sequences, that are basic to working with
nucleic acid and protein sequences (aa2int, aa2nt, dna2rna, rna2dna, int2aa, int2nt, nt2aa,
nt2int, seqcomplement, seqrcomplement, seqreverse).

You can manipulate your sequence by performing an in silico digestion with restriction endonucleases
(restrict) and proteases (cleave).

Sequence statistics — Determine various statistics about a sequence (aacount, basecount,


codoncount, dimercount, nmercount, ntdensity, codonbias, cpgisland, oligoprop), search
for specific patterns within a sequence (seqshowwords, seqwordcount), or search for open reading
frames (seqshoworfs). In addition, you can create random sequences for test cases (randseq).

Sequence utilities — Determine a consensus sequence from a set of multiply aligned amino acid,
nucleotide sequences (seqconsensus, or a sequence profile (seqprofile). Format a sequence for
display (seqdisp) or graphically show a sequence alignment with frequency data (seqlogo).

Additional MATLAB functions efficiently handle string operations with regular expressions (regexp,
seq2regexp) to look for specific patterns in a sequence and search through a library for string
matches (seqmatch).

Look for possible cleavage sites in a DNA/RNA sequence by searching for palindromes
(palindromes).

See Also

More About
• “Sequence Alignments” on page 1-7
• “Sequence Analysis”
• “Protein and Amino Acid Sequence Analysis”
• “Data Formats and Databases” on page 1-5

1-8
Protein Property Analysis

Protein Property Analysis


You can use a collection of protein analysis methods to extract information from your data. You can
determine protein characteristics and simulate enzyme cleavage reactions. The toolbox provides
functions to calculate various properties of a protein sequence, such as the atomic composition
(atomiccomp), molecular weight (molweight), and isoelectric point (isoelectric). You can cleave
a protein with an enzyme (cleave, rebasecuts) and create distance and Ramachandran plots for
PDB data (pdbdistplot, ramachandran). The toolbox contains a graphical user interface for
protein analysis (proteinplot) and plotting 3-D protein and other molecular structures with
information from molecule model files, such as PDB files (molviewer).

Amino acid sequence utilities — Calculate amino acid statistics for a sequence (aacount) and get
information about character codes (aminolookup).

See Also

More About
• “Protein and Amino Acid Sequence Analysis”
• “Structural Analysis”

1-9
1 Getting Started

Phylogenetic Analysis
Phylogenetic analysis is the process you use to determine the evolutionary relationships between
organisms. The results of an analysis can be drawn in a hierarchical diagram called a cladogram or
phylogram (phylogenetic tree). The branches in a tree are based on the hypothesized evolutionary
relationships (phylogeny) between organisms. Each member in a branch, also known as a
monophyletic group, is assumed to be descended from a common ancestor. Originally, phylogenetic
trees were created using morphology, but now, determining evolutionary relationships includes
matching patterns in nucleic acid and protein sequences. The Bioinformatics Toolbox provides the
following data structure and functions for phylogenetic analysis.

Phylogenetic tree data — Read and write Newick-formatted tree files (phytreeread,
phytreewrite) into the MATLAB Workspace as phylogenetic tree objects (phytree).

Create a phylogenetic tree — Calculate the pairwise distance between biological sequences
(seqpdist), estimate the substitution rates (dnds, dndsml), build a phylogenetic tree from pairwise
distances (seqlinkage, seqneighjoin, reroot), and view the tree in an interactive GUI that
allows you to view, edit, and explore the data (phytreeviewer or view). This GUI also allows you to
prune branches, reorder, rename, and explore distances.

Phylogenetic tree object methods — You can access the functionality of the phytreeviewer user
interface using methods for a phylogenetic tree object (phytree). Get property values (get) and
node names (getbyname). Calculate the patristic distances between pairs of leaf nodes (pdist,
weights) and draw a phylogenetic tree object in a MATLAB Figure window as a phylogram,
cladogram, or radial treeplot (plot). Manipulate tree data by selecting branches and leaves using a
specified criterion (select, subtree) and removing nodes (prune). Compare trees (getcanonical)
and use Newick-formatted strings (getnewickstr).

See Also

More About
• “Sequence Utilities and Statistics” on page 1-8
• “Sequence Analysis”

1-10
Microarray Data Analysis Tools

Microarray Data Analysis Tools


The MATLAB environment is widely used for microarray data analysis, including reading, filtering,
normalizing, and visualizing microarray data. However, the standard normalization and visualization
tools that scientists use can be difficult to implement. The toolbox includes these standard functions:

Microarray data — Read Affymetrix GeneChip files (affyread) and plot data (probesetplot),
ImaGene results files (imageneread), SPOT files (sptread) and Agilent microarray scanner files
(agferead). Read GenePix GPR files (gprread) and GAL files (galread). Get Gene Expression
Omnibus (GEO) data from the Web (getgeodata) and read GEO data from files (geosoftread).

A utility function (magetfield) extracts data from one of the microarray reader functions (gprread,
agferead, sptread, imageneread).

Microarray normalization and filtering — The toolbox provides a number of methods for
normalizing microarray data, such as lowess normalization (malowess) and mean normalization
(manorm), or across multiple arrays (quantilenorm). You can use filtering functions to clean raw
data before analysis (geneentropyfilter, genelowvalfilter, generangefilter,
genevarfilter), and calculate the range and variance of values (exprprofrange, exprprofvar).

Microarray visualization — The toolbox contains routines for visualizing microarray data. These
routines include spatial plots of microarray data (maimage, redgreencmap), box plots (maboxplot),
loglog plots (maloglog), and intensity-ratio plots (mairplot). You can also view clustered expression
profiles (clustergram, redgreencmap). You can create 2-D scatter plots of principal components
from the microarray data (mapcaplot).

Microarray utility functions — Use the following functions to work with Affymetrix GeneChip data
sets. Get library information for a probe (probelibraryinfo), gene information from a probe set
(probesetlookup), and probe set values from CEL and CDF information (probesetvalues). Show
probe set information from NetAffx™ Analysis Center (probesetlink) and plot probe set values
(probesetplot).

The toolbox accesses statistical routines to perform cluster analysis and to visualize the results, and
you can view your data through statistical visualizations such as dendrograms, classification, and
regression trees.

See Also

More About
• “Microarray Data Storage” on page 1-12
• “Microarray Analysis”

1-11
1 Getting Started

Microarray Data Storage


The Bioinformatics Toolbox includes functions, objects, and methods for creating, storing, and
accessing microarray data.

The object constructor function, DataMatrix, lets you create a DataMatrix object to encapsulate
data and metadata from a microarray experiment. A DataMatrix object stores experimental data in a
matrix, with rows typically corresponding to gene names or probe identifiers, and columns typically
corresponding to sample identifiers. A DataMatrix object also stores metadata, including the gene
names or probe identifiers (as the row names) and sample identifiers (as the column names).

You can reference microarray expression values in a DataMatrix object the same way you reference
data in a MATLAB array, that is, by using linear or logical indexing. Alternately, you can reference this
experimental data by gene (probe) identifiers and sample identifiers. Indexing by these identifiers lets
you quickly and conveniently access subsets of the data without having to maintain additional index
arrays.

Many MATLAB operators and arithmetic functions are available to DataMatrix objects by means of
methods. These methods let you modify, combine, compare, analyze, plot, and access information
from DataMatrix objects. Additionally, you can easily extend the functionality by using general
element-wise functions, dmarrayfun and dmbsxfun, and by manually accessing the properties of a
DataMatrix object.

Note For more information on creating and using DataMatrix objects, see “Representing Expression
Data Values in DataMatrix Objects” on page 4-5.

See Also

More About
• “Microarray Data Analysis Tools” on page 1-11
• “Microarray Analysis”

1-12
Mass Spectrometry Data Analysis

Mass Spectrometry Data Analysis


The mass spectrometry functions preprocess and classify raw data from SELDI-TOF and MALDI-TOF
spectrometers and use statistical learning functions to identify patterns.

Reading raw data — Load raw mass/charge and ion intensity data from comma-separated-value
(CSV) files, or read a JCAMP-DX-formatted file with mass spectrometry data (jcampread) into the
MATLAB environment.

You can also have data in TXT files and use the importdata function.

Preprocessing raw data — Resample high-resolution data to a lower resolution (msresample)


where the extra data points are not needed. Correct the baseline (msbackadj). Align a spectrum to a
set of reference masses (msalign) and visually verify the alignment (msheatmap). Normalize the
area between spectra for comparing (msnorm), and filter out noise (mslowess and mssgolay).

Spectrum analysis — Load spectra into a GUI (msviewer) for selecting mass peaks and further
analysis.

The following graphic illustrates the roles of the various mass spectrometry functions in the toolbox.

1-13
1 Getting Started

See Also

More About
• “Mass Spectrometry and Bioanalytics”
• “Data Formats and Databases” on page 1-5

1-14
Graph Theory Functions

Graph Theory Functions


Graph theory functions in the Bioinformatics Toolbox apply basic graph theory algorithms to sparse
matrices. A sparse matrix represents a graph, any nonzero entries in the matrix represent the edges
of the graph, and the values of these entries represent the associated weight (cost, distance, length,
or capacity) of the edge. Graph algorithms that use the weight information will cancel the edge if a
NaN or an Inf is found. Graph algorithms that do not use the weight information will consider the
edge if a NaN or an Inf is found, because these algorithms look only at the connectivity described by
the sparse matrix and not at the values stored in the sparse matrix.

Sparse matrices can represent four types of graphs:

• Directed Graph — Sparse matrix, either double real or logical. Row (column) index indicates the
source (target) of the edge. Self-loops (values in the diagonal) are allowed, although most of the
algorithms ignore these values.
• Undirected Graph — Lower triangle of a sparse matrix, either double real or logical. An
algorithm expecting an undirected graph ignores values stored in the upper triangle of the sparse
matrix and values in the diagonal.
• Direct Acyclic Graph (DAG) — Sparse matrix, double real or logical, with zero values in the
diagonal. While a zero-valued diagonal is a requirement of a DAG, it does not guarantee a DAG. An
algorithm expecting a DAG will not test for cycles because this will add unwanted complexity.
• Spanning Tree — Undirected graph with no cycles and with one connected component.

There are no attributes attached to the graphs; sparse matrices representing all four types of graphs
can be passed to any graph algorithm. All functions will return an error on nonsquare sparse
matrices.

Graph algorithms do not pretest for graph properties because such tests can introduce a time penalty.
For example, there is an efficient shortest path algorithm for DAG, however testing if a graph is
acyclic is expensive compared to the algorithm. Therefore, it is important to select a graph theory
function and properties appropriate for the type of the graph represented by your input matrix. If the
algorithm receives a graph type that differs from what it expects, it will either:

• Return an error when it reaches an inconsistency. For example, if you pass a cyclic graph to the
graphshortestpath function and specify Acyclic as the method property.
• Produce an invalid result. For example, if you pass a directed graph to a function with an
algorithm that expects an undirected graph, it will ignore values in the upper triangle of the
sparse matrix.

The graph theory functions include graphallshortestpaths, graphconncomp, graphisdag,


graphisomorphism, graphisspantree, graphmaxflow, graphminspantree, graphpred2path,
graphshortestpath, graphtopoorder, and graphtraverse.

See Also

More About
• “Graph Visualization” on page 1-16
• “Network Analysis and Visualization”

1-15
1 Getting Started

Graph Visualization
The Bioinformatics Toolbox includes functions, objects, and methods for creating, viewing, and
manipulating graphs such as interactive maps, hierarchy plots, and pathways. This allows you to view
relationships between data.

The object constructor function (biograph) lets you create a biograph object to hold graph data.
Methods of the biograph object let you calculate the position of nodes (dolayout), draw the graph
(view), get handles to the nodes and edges (getnodesbyid and getedgesbynodeid) to further
query information, and find relations between the nodes (getancestors, getdescendants, and
getrelatives). There are also methods that apply basic graph theory algorithms to the biograph
object.

Various properties of a biograph object let you programmatically change the properties of the
rendered graph. You can customize the node representation, for example, drawing pie charts inside
every node (CustomNodeDrawFcn). Or you can associate your own callback functions to nodes and
edges of the graph, for example, opening a Web page with more information about the nodes
(NodeCallback and EdgeCallback).

See Also

More About
• “Graph Theory Functions” on page 1-15
• “Network Analysis and Visualization”

1-16
Statistical Learning and Visualization

Statistical Learning and Visualization


You can classify and identify features in data sets, set up cross-validation experiments, and compare
different classification methods.

The toolbox provides functions that build on the classification and statistical learning tools in the
Statistics and Machine Learning Toolbox™ software (classify, kmeans, fitctree, and
fitrtree).

These functions include imputation tools (knnimpute), and K-nearest neighbor classifiers (fitcknn).

Other functions include set up of cross-validation experiments (crossvalind) and comparison of the
performance of different classification methods (classperf). In addition, there are tools for
selecting diversity and discriminating features (rankfeatures, randfeatures).

1-17
1 Getting Started

Prototyping and Development Environment


The MATLAB environment lets you prototype and develop algorithms and easily compare alternatives.

• Integrated environment — Explore biological data in an environment that integrates


programming and visualization. Create reports and plots with the built-in functions for
mathematics, graphics, and statistics.
• Open environment — Access the source code for the toolbox functions. The toolbox includes
many of the basic bioinformatics functions you will need to use, and it includes prototypes for
some of the more advanced functions. Modify these functions to create your own custom solutions.
• Interactive programming language — Test your ideas by typing functions that are interpreted
interactively with a language whose basic data element is an array. The arrays do not require
dimensioning and allow you to solve many technical computing problems,

Using matrices for sequences or groups of sequences allows you to work efficiently and not worry
about writing loops or other programming controls.
• Programming tools — Use a visual debugger for algorithm development and refinement and an
algorithm performance profiler to accelerate development.

1-18
Data Visualization

Data Visualization
You can visually compare pairwise sequence alignments, multiply aligned sequences, gene expression
data from microarrays, and plot nucleic acid and protein characteristics. The 2-D and volume
visualization features let you create custom graphical representations of multidimensional data sets.
You can also create montages and overlays, and export finished graphics to an Adobe® PostScript®
image file or copy directly into Microsoft PowerPoint®.

1-19
Another Random Document on
Scribd Without Any Related Topics
Bob huomasi jotain tunteissaan vaimoaan kohtaan, joka solui pois
ja tasoittui, mutta hän ei ruvennut sitä itselleen selvittelemään.
Hänen ei tarvinnut myöskään tehdä sitä. Lääkäri oli heille sanonut
kuoleman lähestyvän. Mutta Bob ei sitä uskonut. Hän yksin tunsi
vain jotain, joka oli korkeampaa kuin suru ja ilo, suurempaa kuin
elämä ja kuolema. Ja tähän uuteen tunteeseen, joka hänet nyt
täytti, hukkuivat kaikki ne tunteet, jotka olivat jäytäneet häntä, että
hän oli kärsinyt vääryyttä ja vieläkin kärsi — — —

Poika oli houraillut jo monta tuntia. Hän puhui hajanaisia sanoja ja


hän näytti olevan sodassa. Kirjojen satumaisissa seikkailuissa hän
näytti elävän ja hän huusi kovasti aseita, sotaa ja tahtoi saada
miekkansa. Se oli jotain sanomattoman kamalaa nähdä tuota luiksi
laihtunutta ruumista jännittyneenä, joka oli taudin runtelemana
uupunut, ja kuulla noiden ohuiden huulien lausuvan kummallisia,
ajatuksettomia sanoja.

Ja hiljaisuudesta, joka vallitsi tuossa huoneessa, joka oli kerran


ollut heidän syleilyjensä ja onnensa todistajana ja jossa he nyt taas
istuivat, kohosi onnettomien hengityksestä sanatonta tuskaa, joka
valtasi heidät molemmat. Heidät kohtasi menneisyys siellä
viuhuttaen ruoskaansa heidän hartioillaan. Hiljaisuudessa kuului
pohjattomia tuskan huokauksia, pimeys selkeni niin, että he
molemmat, tottuneina hämärään, voivat eroittaa toisensa. Heidän
katseensa kohtasivat toivottomina ja se, mikä ennen oli ollut
luonnollista ja jokapäiväistä, kasvoi muodottomaksi ja muuttui niin
vihlovaksi luonnottomuudeksi, että se tuntui tuskaiselta hätähuudolta
kuoleman suuresta hiljaisuudesta, kirouksen kapinalta itse ikuisen
vapauden edessä.
Sillä noilla kahdella, jotka istuivat siinä, ei ollut oikeutta tukea ja
auttaa toisiaan. Bob istui nyt toisen miehen vaimon kanssa vieri
vieressä poikansa kuollessa. Ja toisen miehen lasta tahtoi tämä
nainen seurata kuolemaan. Mutta näiden ajatusten lentäessä samalla
kertaa molempien aviopuolisoitten aivoissa kuin raivottaren siivillä,
riensi pikku Georg yhä kauvemmaksi ja kauvemmaksi heistä. Hän
lepäsi silmät suljettuina ja häntä ei enää saavuttaneet elävien
ajatukset eikä sanat. Yksin hän päätti itsessään omasta mailmastaan
muuttuen samalla suuremmaksi ja kokeneemmaksi kuin isä ja äiti
olivatkaan. Hänen kasvonsa tulivat läpikuultavimmiksi, kun hänen
sielunsa sai omistaa suuria näköaloja ja häntä ympäröitsi ilmakehä,
joka ei ollut kauvemmin aistillisen todellisuuden ilmapiirissä.

"Hän menee pois meidän luotamme", kuiskasi Anna.

"Hän tietää enemmän kuin me", vastasi Bob.

He vapisivat molemmat ja kaikki heidän ympärillään muuttui


kuoleman läheisyydessä äkkiä niin suureksi. Kaikki heissä vaikeni ja
tässä silmänräpäyksessä he eivät tunteneet mitään surua. Heidän
sielunsa olivat yhtyneet ja tahtoivat tainnoksissa seurata sitä sielua,
joka jo oli valmis rientämään pois.

Silloin avasi poika äkkiä silmänsä ja hymyili, ikäänkuin hän olisi


tuntenut jälleen vanhempansa. Silloin kuului korahdus, joka sai
heidät vavahtamaan ja vaihtamaan silmäyksen. Tämän jälkeen katsoi
poika taas ylös ja kuiskasi: "Äiti."

Sitten sulki hän silmänsä jälleen ja hänen laihat sormensa alkoivat


leikkiä peitolla. Ei kestänyt enää monta minuuttia, mutta heille, jotka
istuivat siellä äänettöminä odottaen, tulivat minuutit tuntien pituisiksi
ja he huokasivat ikäänkuin he eivät olisi voineet kestää enempää ja
ikäänkuin he olisivat ikävöineet kaiken olevan ohi. Kuolevan lapsen
kähisevä hengitys kuului yksistään läpi huoneen kunnes se viimein
sammui huokaukseen.

Hiljaisuus muuttui niin äärettömän syväksi ja voimakkaaksi, että


vanhempien sydämet taukosivat sykinnästä. He istuivat paikoillaan ja
antautuivat hiljaisuuden valtaan kumpikin ajatellen omia ajatuksiaan
kunnes kuolema kulki huoneessa jättäen heidät kahden, silloin tarttui
Bob epätoivossa Annaa käteen. Anna puristi myöskin hänen kättään.
Mutta Bob ei ajatellut muuta kuin, ettei Georgin viimeinen sana ollut
hänelle.

Bob istui miettien sitä ajatusten rientäessä sinne tänne ympäri


hänen olemuksessaan ja okaat eivät tahtoneet irtautua otteestaan.
Mutta se ei ollut vihan tai katkeruuden jälkiä hänen sielussaan. Hän
ei voinut olla muuta kuin hyvä tämän tapahtuessa ja hän jätti
huoneen puristaen vielä Annan kättä omassaan.

He istuivat kauvan vierashuoneessa eikä kukaan voi sanoa, mitä


heille tällä hetkellä tapahtui. Mutta Anna alkoi ensin puhua.

"Minä olen ollut huono nainen, Bob", sanoi hän. "Sillä minä en ole
koskaan ollut äiti. Se ei ole mikään lievennys, etten minä ehken ole
ollut huonompi, kuin kaikki ne, jotka ensin leikkivät lastensa kanssa
ja jättävät ne sitten huviensa vuoksi. Minä olen aina ajatellut, että
lapset saavat kerran elää omaa elämäänsä, mutta niin kauvan kuin
minun kestää, eläisin minä omaa elämääni. Sitten tuli heidän
vuoronsa ja silloin minä olin poissa. Minä olen uskonut siihen, ja nyt
minä tiedän sen, etten minä ole mitään ymmärtänyt. Sillä se ei ole
niin. Kun on lapsi. Ei mikään muu saa sen tilaa täyttää. Lapsessa
minä olen kuollut. Muistatko, Bob, minä pelkäsin usein tulevani
vanhaksi? Mitä se merkitsee? Jos minä vanhenen? Sehän ei ole
mitään. Minun lapseni oli kaikki kaikessa. Ja sitä minä en ole
koskaan ymmärtänyt."

Bob istui kuunnellen Annan sanoja ja uusi mailma avautui hänen


silmiensä eteen. Mutta tuo mailma vajosi ja hävisi pois juuri kuin hän
näki sen ja sitä mailmaa hän ei voisi koskaan saavuttaa.

"Niin syväksi on sävy muuttunut hänen ajatuksissaan!" ajatteli


Bob.
"Etten minä ole koskaan ennen sitä kuullut."

Surunsa valtaamana ymmärsi Bob nyt ensi kerran, että Anna oli
kärsinyt samoin kuin hänkin ja hänen ajatuksensa valtasi voimakas
ja kyyneleinen myötätuntoisuus, joka värisytti koko hänen sieluaan.
Hän katsoi Annaa, mutta hän ei voinut nähdä mitään. Hän olisi
tahtonut ojentaa käsivartensa pidättääkseen hänet luonaan, mutta
hän ei voinut.

"Nyt minun täytyy mennä", sanoi Anna ikäänkuin unesta


herättyään.

Ja Anna rouva meni kuolleen lapsensa äärestä kotia miehensä luo,


joka odotti häntä.

XXVI.

Osakeyhtiö Patrian toimeenpaneva johtaja, Gösta Wickner, istui


neljättä päivää yksinään jälkeen puolisten tyhjässä huoneustossaan
odottamassa rouvaansa. Hän oli ärsyytyneellä ja sietämättömällä
tuulella, ja antaessaan silmiensä solua ylös ja alas iltalehden
palstoilla katsahti hän pari kertaa kelloon.
Viimeinen tieto, minkä hän oli saanut rouvaltaan, oli ollut
muutamalla sanalla käyntikortille kirjoitettuna, joka kuului: "Sinun ei
tarvitse odottaa minua kauvemmin. Se on pian lopussa." Ei
sanaakaan enemmän. Ei tervehdystäkään eikä edes
allekirjoitustakaan.

Gösta Wickner oli antanut kortin olla edessään pöydällä, kun oli
sen ensin lukenut. Nyt pani hän sanomalehden pois ja otti taas tuon
pienen kortin käteensä. Hän luki vitkaan ne sanat, jotka juuri, hänen
silmiensä seuratessa sanomalehden palstoja, olivat hänen
mielessään ja estivät hänen lukuaan, ja hän koetti ajatella niiden
sisältöä. Mutta nehän eivät selvittäneet hänelle kerrassaan mitään ja
hän pani kortin jälleen pöydälle ajatellen sanoja: "Se on pian
lopussa." Onko tuo hänen vaimonsa luulottelua tai onko se totta?
Naiset joutuvat niin helposti luulottelujen uhriksi ja suurentelevat
vaaraa.

Gösta Wickner oli ärtyinen siitä, ettei hänen vaimonsa tullut, ja


hän koetti ajatella, kuinka se todellisuudessa vaikuttaisi hänen
vaimoonsa, jos poika kuolisi. Gösta Wickner ei voinut ajatella, miten
sellainen tapaus vaikuttaisi ja juuri tuo teki hänet rauhattomaksi.
Tätä ajatellessaan hän tuli taas katsoneeksi kelloa ja hän huomasi
silloin, että oli vain kymmenen minuuttia kulunut siitä, kun hän
viimeksi oli sitä katsonut ja tämä huomio sai hänet vielä enemmän
kärsimättömäksi.

Hän ajatteli nyt, että hän oli tässä tapauksessa menetellyt


täydellisesti oikeen salliessaan vaimonsa oleskella entisen miehensä
luona eikä katunut sitä vähääkään. Mutta oli niin paljon muuta, joka
kumminkin oli sen kanssa yhteydessä ja jota Gösta Wickner ei voinut
olla laskuihinsa ottamatta. Hän olisi tahtonut tietää, josko kukaan
muu kuin Bob oli nähnyt häntä tällä aikaa ja mitä oikeastaan oli
tapahtunut.

Hänen aivoissaan kierteli ajatus, jota hän koetti ajaa pois, mutta
joka aina tuli sinne jälleen. Jospa lapsi nyt olisi kuollut, olisi se
parasta, mitä oikeastaan voi tapahtua. Gösta Wicknerin ajatusten
mukaan sellainen oli samaa, kuin että tuo tuskainen side olisi
katkennut ja että Anna olisi tullut hänen omakseen ja yksistään
hänen omakseen. Gösta Wickner oli nimittäin saanut kokea, että
seurasi suurempi vastenmielisyys kuin hän oli ajatellutkaan, että
mennä naimisiin miehestään eronneen vaimon kanssa. Niin kauvan
kuin puhuttiin, että tuo suoraluontoinen Gösta Wickner oli
antautunut rakkausseikkailuihin kauniin rouva Flodinin kanssa, ei
ollut kiviäkään asetettu esteeksi hänen tielleen. Mutta kun hän
tunnusti avoimesti menevänsä naimisiin naisen kanssa, jonka huhu
oli jo hänen nimeensä liittänyt, niin silloin muuttui suhde toiseksi.
Gösta oli hyvin onnistunut sulkemaan Bobilta muutamia niistä ovista,
jotka olivat sallineet hänen vapaasti kulkea, mutta hän oli tarvinnut
kaiken esityskykynsä ja valppaan tarmonsa saavuttaakseen tämän
maalinsa. Ja kaikki se, joka vielä sitoi Annaa toiseen, viivytti hänen
nykyistä miestään sen päivän, sitten hän voisi tuntea itsensä
todellakin vapaaksi ja Gösta Wicknerilla ei ollut aikaa odottaakaan
kauvemmin. Hän oli likimain neljänkymmenen mies, jolloin hänen
menestyksensä oli alkanut, ja hän näki vallan, rikkauden,
kunnioituksen ja nautintojen viittovan molemmin puolin tuolla
kuninkaallisella tiellä, jonka hän oli valinnut voittaakseen onnensa.
Senvuoksi sisälsi myöskin tämä ajatus, että lapsi kuolisi, Gösta
Wicknerille jotain houkuttelevaa. Se toisi surua hänen vaimolleen,
sen hän ymmärsi. Mutta surua, jonka hän voittaisi. Ja kun suru olisi
voitettu, tuntisi Anna sen olleen vain onneksi hänelle itselleen ja
ehkä lapsellekin.
Gösta Wicknerilla oli melkein taikauskoinen aavistus näissä
ajatuksissaan, että kaikki näytti tarkoittavan hänen onneaan. Kuinka
olikaan hänelle raivattu onnen tietä ja kuinka hän olikaan laskenut
oikeen, kun hän oli ryhtynyt näihin puuhiin, jotka olivat vieneet
hänen nimensä rahamailman mahtavimpien joukkoon. Samaan
aikaan, kun hänen tulevaisuutensa hymyili hänelle, ilmestyi tuo
nainen, jota hän oli nuorena rakastanut, ja vaipui hänen syliinsä
ilman, että hänen olisi tarvinnut vaivata itseään voittaaksensa häntä.
Oli vain yksi, joka kiinnitti Annaa, vain yksi, joka esti häntä olemasta
täydellisesti onnellinen. Ja nyt raukeisi tuokin este itsestään.

Gösta Wickner muuttui melkein hellämieliseksi tätä ajatellessaan,


ja hän tunsi ansainneensa kaikki, mitä hän oli saanutkin. Taipumatta
vaikeuksien sattuessa oli hän kulkenut suoraan tietään eteenpäin ja
hän oli pelon kuumeessa, antamatta Anna rouvan ymmärtää sitä
sanallakaan, tehnyt laittomasta rakkaudestaan sen johtopäätöksen,
että Anna tulisi olemaan esteenä hänen tiellään. Kaikkien
vaikeuksien läpi hän oli kumminkin rautaisella tahdollaan
ponnistellut, ja nyt tuli palkkio siitä, jota hän ei ollut koskaan voinut
itselleen odottaakaan.

Näissä ajatuksissaan hän käveleskeli työhuoneessaan, kun kuuli


makuukamarin oven aukenevan ja näki samassa vaimonsa edessään.
Hän meni vaimoaan vastaan ja sulki hänet syliinsä joustavalla ja
melkein lämpöisellä liikkeellä. Anna painoi päänsä hänen
olkapäätään vasten, mutta Gösta tunsi hänen ruumiinsa olevan
jäykän ja että Anna vain koetti levätä, mutta ei sietänyt hänen
hyväilyjään. Hän tahtoi saada tehdä häneltä erään kysymyksen,
mutta hän ei tullut sitä kysyneeksi. Sillä hän pelkäsi antaa hänen
aavistaa niitä ajatuksiaan, joiden vallassa hän äsken oli ollut. Siksi
hän sanoi sensijaan:
"Miten minä olen ikävöinyt sinua! Minä en uskonut koskaan
ikävöiväni niin kovasti."

Anna katsahti häneen pikaisesti ja ohimennen tutkivasti, mutta sai


samassa tavallisen ilmeensä eikä vastannut mitään. Anna salli
itsensä johtaa matalalle sohvalle, oviverhojen viereen ja hänen
istuessaan siinä koetti Gösta etsiä hänen katsettaan, mutta ei voinut
tavata sitä. Eikö hän sitten voisi koskaan saada tietää, mitä hän
toivoi? Eikö Anna sanoisi mitään?

Sitten solui hänen katseensa Annan vaatteille ja hän näki hänen


olevan mustassa puvussa. Ettei hän ollut ajatellut sitä. Annahan
tulikin makuukamarista eikä eteisestä. Hän oli muuttanut pukua
ennenkuin tuli sisään.

Omituinen vastenmielisyys täytti hänen, ikäänkuin hänen


vaimonsa olisi tehnyt jotain häntä vastaan. "Oletko sinä ollut kauvan
kotona?" kysyi hän.

"Minä luulen sen", vastasi Anna.

"Minä laskin minuutteja ennen sinun tuloasi", sanoi hän.

Hänen äänensä tuntui kylmältä, mutta Anna ei ollut sitä


kuulevinaankaan.

Anna istui siinä hänen vieressään kädet polvilla tuijottaen eteensä.


Gösta ei ymmärtänyt, mitenkä hän olisi selittänyt itselleen hänen
kasvojenilmettään ja hän tuli sitä rauhattomammaksi mitä
kauvemmin hiljaisuutta kesti.

"Eikö sinulla ole mitään sanottavaa minulle, Anna?" kysyi hän.


Hän sanoi sen vain saadakseen hiljaisuuden loppumaan ja hänen
sanojensa sointu kuului niin vieraalta, jotta hän toivoi vaienneensa
tai sanoneensa muuta.

"Mitä sinä soisit minun sanovan sinulle?" kysyi Anna. "Hän on


kuollut."

Anna istui edelleen rauhatonna samoin kuin ennenkin. Mutta


raskaat kyyneleet virtasivat hänen poskilleen muuttamatta hänen
kasvojensa ilmeitä.

Kauhun tunne valtasi Gösta Wicknerin. Siinä sävyssä, jolla nuot


sanat sanottiin, ja koko naisessa, joka ne sanoi, oli hänelle ja hänen
ajatuksilleen jotain uutta, ettei hän voinut selittää itselleen sitä
vaikutustakaan, minkä hän tunsi niiden itseensä tehneen. Siihen
kätkeytyi vaara; hän tunsi voimakkaalla katkeruudella, että se oli
vaarallista, niin, voipa olla vaarallista hänelle itselleenkin. Mistä
hinnasta hyvänsä täytyi hänen ravistaa Anna hereilleen tuosta
houreesta, mihin hän joka minuutti näytti yhä syvemmälle vajoavan.
Mutta hän ei huomannut mitään keinoja ja sanoi vain puhtaassa
epätoivossaan:

"Niinkö sinä häntä nyt suret?"

Mitä hän oli juuri toivonut, näytti hänestä nyt toteutuneen. Sillä
Anna ponnahti ylös ja käänsi katseensa häneen.

"Enkö minä surisi omaa lastani?" kysyi hän.

"Kyllä, kyllä", joudutti hän sanomaan hillitäkseen myrskyä. "Mutta


ei niin. Minä en uskonut sinun häntä niin surevan."
"Sinä tarkoitat kai senvuoksi, että minä olen aina laiminlyönyt
hänet…"

"Sitä sinä et ole tehnyt…"

Hän tunsi mietiskelyä Annan sanoissa. Ja mietiskely täytyy saada


pois.
Mistä hinnasta hyvänsä se täytyy saada pois.

"Kyllä, minä olen aina laiminlyönyt hänet ja minä tiedän, ettei hän
ole merkinnyt minulle sitä, mitä hänen olisi pitänyt merkitä.
Senvuoksi minä suren häntä."

Samoin kuin Bob ennen, niin kuuli Gösta nyt sen syvän alttoäänen
hänen puheessaan, jota hän ei ollut kuullut ennen. Siinä oli jotain,
jota hän ei voinut ensinkään tuntea. Siinä murtautui esiin jotain, joka
oli hänelle aivan vastakkaista. "Caesarin onni!" ajatteli Gösta Wickner
ja hänen kasvonsa muuttuivat jäykiksi ja kalpeiksi.

"Jos minä olisin ollut äiti hänelle", sanoi Anna, "jos minä olisin ollut
hänen ystävänsä ja hänen hoitajattarensa, hänen paras uskottunsa
ja tukensa, jota hän ei olisi voinut koskaan kadottaa, niin silloin minä
en olisi surrut häntä niin paljon. Mutta nyt loppui minun elämäni
hänessä ja se, mitä minä kerran olen ollut, minä en tule enää
koskaan olemaan."

"Etkö sinä ajattele silmänräpäystäkään minua?"

"Minulle ei voi tapahtua mitään valtavampaa. Sillä minulle ei olisi


voinut tapahtua mitään muuta, joka olisi voinut murtaa minua niin."

"Eikö mitään? Ei edes, jos minä…" Gösta pidätti sanansa ja veti


kovasti henkeään. Hänen silmänsä saivat pistävän loisteen.
Anna katsoi häneen ja sai taas katseeseensa sitä pelkoa, jonka
tämä mies jo ennen oli hänessä herättänyt. Annassa heräsi eloon
hänen itsesuojeluskykynsä viimeisetkin jäännökset ja hän vastasi
mutisten katse poispäin käännettynä:

"En tiedä. En tiedä."

Hän ei voinut sanoa enempää ja seuraavalla minuutilla hän unohti,


että hän oli sanonut jotain. Hän istui kotonaan ja tunsi vain tuota
ainoaa tunnetta: Hän oli mennyt vieraiden luo eikä koskaan voisi
päästä takaisin kotia. Se ei ollut hänen huoneensa, koko ympäristö
oli hänelle vieras…Hän ei tohtinut ajatella ajatustaan loppuun, vaan
nosti katseensa ja katsoi miestään. Hän odotti hänen sanovan jotain,
joka voisi vapauttaa hänet loihtutuista ajatuksistaan. Hänestä tuntui
mahdottomalta, ettei hän sanoisi sitä. Silloin kuuli hän hänen
sanovan:

"Sinä olet rasittunut, Anna. Sinä olet sairas ja tarvitset lepoa."

Anna kuunteli noita sanoja ja hänestä ei tuntunut olevan niissä


mitään ajatusta. Gösta tunsi vastustusta Annan vaikenemisessa ja
hänen vaistonsa kehoitti häntä jättämään hänet rauhaan. Hän sanoi
tahtovansa mennä hetkeksi huoneeseensa ja se olikin parasta, että
Anna sai olla yksinään. Anna kuuli häntä ikäänkuin hän olisi
ymmärtänyt, mutta hänen lähtiessään ojensi Anna molemmat
kätensä hänelle ja kysyi:

"Eikö sinulla ole mitään sanottavaa minulle?"

Silloin luuli Gösta Wickner tulleen hänelle sopivan hetken puhua.


Hän istuutui jälleen Annan viereen ja tarttui hänen käteensä.
"Usko minua, Anna", sanoi hän. "Kun sinä olet voittanut surusi, voi
se olla meille molemmille onneksi."

Anna veti kätensä pois ja katsoi kauhulla häntä.

"Onneksi?" uudisti Anna.

Gösta Wickner kohtasi hänen katseensa, mutta hän ymmärsi


väärin sen ilmeen.

"Sinä et voi tuntea sitä nyt niin", sanoi hän. "Mutta kerran sinä
vielä ymmärrät minua."

Sitä hän ei suinkaan sanonut pahassa tarkoituksessa. Hän sanoi


sen vain osoittaakseen toiveen mahdollisuutta ja hän sanoi sen
rauhallisella ja ystävällisellä sävyllä, sellaisella kuin vanhempi tapaa
käyttää sairasta ja ärtynyttä lasta hillitessään.

Mutta Annaan vaikutti kaikki tuo kuin kuulumaton julmuus. Anna


toivoi hänen sulkevan hänet syliinsä, jakavan hänen surunsa,
kuivaavan hänen kyyneleensä antamalla omansa vuotaa, tuntea
hänen tunteitaan, kohoutuvan siihen tuskaan, jota vain äiti voi
tuntea. Tyhjään hän sai toiveissaan tyytyä. Mitä hän sai, oli sana,
joka lohduttaisi häntä, silloin, kun hän ei tarvinnut muuta kuin tuntea
itsensä lohduttomaksi saadakseen itkeä kaikki tuskansa. Ja hänet
valtasi jäätävä välinpitämättömyys, johon tuo pelontunnekin, joka
hänet valtasi aina Göstan läheisyydessä, hukkui kokonaan. Hän nousi
ylös ja pusersi esiin vain sanat:

"Sinulle se luonnollisestikin on onni päästä vapaaksi jokaisesta


muistosta, joka muistuttaa menneisyyttä."
Gösta Wickner seisoi hänen edessään kasvot kalpeina. Suonet
pullistuivat hänen otsassaan ja hänen kasvonsa saivat
hillitsemättömän raivon ilmeen, joka kummallisella tavalla kirosi koko
miehen olennon ja ulkomuodon.

"Sinä vaadit ehkä, että minunkin pitäisi surra häntä?" sanoi hän
jäykästi.

Anna ei tiennyt itsekään, mitä hän olisi vastannut. Hän tiesi vain,
että hän oli silmänräpäykseksi saanut pelkonsa toteutumaan, sen
pelon, joka sanoi hänelle, ettei hänellä ollut mitään tältä mieheltä
odotettavissa.

"Älä mene nyt minun luotani", sanoi Gösta ja asettui hänen


eteensä.
"Sinä et tiedä, mitä sinä teet."

"Hän ymmärtää kaikkityyni", ajatteli Anna.

Mutt'ei edes tämä ajatuskaan estänyt häntä. Mielettömästi hän


ryntäsi hänet pois tieltään ja meni huoneeseensa. Hän meni, että
hänen täytyi saada olla yksin ja siksi, että hänen ajatuksensa
uhkasivat tukehduttaa hänet. Hän meni ja istui ensimäiselle tuolille,
minkä hän löysi, ja hänen siellä istuessaan selveni koko hänen
elämänsä hänen sisäisille silmilleen. Hän sai sellaisen
selvänäköisyyden, kuin ihminen voi saada juuri siinä
silmänräpäyksessä, jolloin hänestä tuntuu, että tuska juuri on
hämmentämäisillään hänen järkensä, ja hän ainoastaan voi nähdä
mikä ennen oli hänelle muka suurta ja oleellista.

"Kuinka se voi olla niin", ajatteli Anna, "etten minä koskaan ennen
ole tuota nähnyt? Mikä minut on tehnyt sokeaksi? — Kuka tuo mies
on?" ajatteli hän edelleen. "Ja kuinka minä olen hänen? Hänhän ei
voi tuntea myötätuntoisuutta keneenkään. Hänen sydämensä on
kylmä. Hänen itsekkäät tunteensa itseään kohtaan ovat niin
voimakkaat, että ne ovat hurmanneet minut ja narranneet minun
sydämeni sykkimään tahdissa hänen sydämensä kanssa. Mitäpä hän
tuntisi minuun? Mitäpä se häntä liikuttaa, että minun lapseni on
kuollut? Tietääkö hän edes mitä se tahtoo sanoa, että pieni lapsi on
kuollut?"

Anna katsoi yhä kauvemmin ja kauvemmin jokaista ajatustaan,


joka syntyi hänessä. Hän istui samalla paikalla kunnes tuli pimeä ja
häntä paleli ikäänkuin Göstan kylmyys olisi tarttunut häneen.

"Hän on aivan toisellainen ihminen kuin Bob ja minä", ajatteli hän.


Minä ja Bob. Kuinka hän tuli maininneeksi itseään ja Bobia yhdessä?
Hän koetti edelleen tehdä sen ajatuksissaan ja alkoi hiljaa itkemään.
Sillä Bob ei olisi puhunut hänelle saadakseen hänet rauhoittumaan.
Hän olisi sallinut hänen itkeä loppuun ja hyväillyt häntä, ja koko ajan
olisi hän tiennyt, että hän tunsi samaa kuin hänkin.

"Mitähän tämä oli? Mitä se oli?"

Kaikki hänen ajatuksensa, jotka menivät ja tulivat, niihin liittyi


selityksiä hänen menneestä elämästään, kaikesta, mitä oli ollut ja
kaikesta, mitä nyt oli. Ne eivät kulkeneet järjestyksessä, mutta ne
selittivät kuitenkin kaikki. Ne repivät rikki sen anteeksiannon, joka
hämärsi hänen katseessaan, ja ne tulivat katkeruutena raatelemaan
hänen sieluaan. Mutta rikkiraadellun läpi hän näki selvästi, ja hän
tuomitsi itsensä rikollisena.

Lopuksi kuuli Anna oven avautuvan ja Göstan äänen kysyvän:


"Etkö tahdo vähän ruokaa? Se on jo pöydällä."

Anna oli kuulevinaan tuossa äänessä soraäänen, jonka hän oli


tuntevinaan niin hyvin. Hänestä tuntui tuo soraääni aina olleen siinä,
ja että hän oli tekeytynyt kuuroksi päästäkseen sitä kuulemasta.

"Kyllä", sanoi hän, "minä tulen."

Hän meni saliin ja istuutui pöytään. Sähkölamppujen valo kirveli


Annan
silmiä ja hän oli ihmeissään nähdessään itsensä. Häntä vastapäätä
istui
Gösta. Hän söi hyvällä ruokahalulla puhuen hillityllä äänellä, jossa
Anna kuuli katkeroitumisen vielä olevan jälellä.

Mutta hän ei ajatellut sitä. Hänen silmiensä totuttua


voimakkaaseen valoon istui hän katsellen miestään ja hänestä tuntui
ikäänkuin hän olisi nähnyt hänet ensi kertaa. Hän ei ajatellut itseään
eikä mitä tulee tapahtumaan, ainoastaan tätä ainoaa: "Kuka tuo
mies on? Mitä hän minusta tahtoo? Mitä minä hänestä välitän?" Hän
näki ajatuksissaan pienen, laihan ruumiin suuressa vuoteessa ja
ajatteli sitä, että sama vuode oli kerran ollut hänen omansa.

"Siellä minä olin kotona", ajatteli hän. "Ja nyt minä olen koditon."

Sitten näki hän Göstan nousevan ja lähestyvän häntä.

"Mene nyt nukkumaan", sanoi hän. "Sinun tarvitsee nukkua."

Anna ymmärsi hänen näissä sanoissa ikäänkuin ojentaneen


sovinnon kättä ja hän oli senvuoksi kiitollinen hänelle. Mutta tätä
tunnetta seurasi vain uusi tuska tuntiessaan, ettei tuntenut voivansa
koskaan palkita sitä.
XXVII.

Bob oli nyt aivan yksin, mutta hän ei ollut niin onneton kuin oli ollut
pojan eläessä. Jos joku olisi sanonut hänelle niin olevan, niin hän
olisi uskottavasti tehnyt kerrassaan jyrkän vastaväitöksen sellaisesta
mielettömyydestä. Mutta salaisuus oli siinä, että Bob siitä saakka,
kun hän istui yhdessä Anna rouvan kanssa oli laannut tuntemasta
katkeruutta. Hän oli nähnyt hänenkin kärsivän ja hän oli tullut
ajatelleeksi, ettei kellään ole oikeutta odottaa vain, että toiset
tekevät hänelle oikeutta. Kuinka tuo ajatus olikaan hänessä
kehittynyt, sitä Bob ei tiennyt. Mutta tultuaan se vaikutti häneen
sanomattoman hyvää. Senvuoksi hän hoiti ja säilytti tuota ajatusta,
ja hän tunsi sanomatonta lohtua sitä ajatellessaan, ettei hän voisi
odottaa kaikkien tekevän hänelle oikeen. Bob syytti itseään
kärsimyksistään ja hän teki sen senvuoksi, että hänestä tuntui silloin
elämä muuttuvan keveämmäksi. "Minähän olenkin vaatinut liikoja",
ajatteli Bob. "Ja niin minä olen tehnyt kaikkien ihmisten suhteen. Se
on minun oma vikani, että minä olen tuntenut itseni niin varmaksi.
Sillä kukaan ei voi antaa enempää kuin hänen luonteensa sallii.
Sillälailla tulee nähdä ja ymmärtää. Muuten siitä seuraa kosto. Mutta
kuka kostaa, sitä me emme tiedä."

Niin pitkälle oli Bob päässyt itsekseen ja Georg oli ollut nyt jo
kuukauden kuolleena.

Näihin aikoihin oli Anna rouva ehkä vielä enemmän yksinään kuin
Bob. Yhä uudestaan ja uudestaan hän oli kiintynyt tuohon
ajatukseen, joka oli houkutellut hänen jättämään kotinsa: "Minä elän
ensisijassa itseni vuoksi ja minun elämäni on minun omani." Tämä
ajatus tuli hänelle jokapäivä vieraammaksi ja kylmemmäksi ja hän ei
voinut ymmärtää, että se kerran oli vallinnut hänen tunteitaan ja
tekojaan. Hän mietti sitä ajatusta ja jäätävässä tyhjyydessään hän
näki, kuinka hänen elämänsä oli solunut harhaan.

Georgin kuoleman jälkeen hän ei ollut keskustellut muuta kuin


yhden kerran Göstan kanssa. Aviopuolisoiden tavatessa toisensa
täytti huoneen uhkaava hiljaisuus ja kun tuo hiljaisuus katkesi, niin
vaihtui se sanoihin, jotka kirvelivät ja toivat tuskaa.

Anna rouva oli siis koditoin. Hän ei tuntenut omia ajatuksiaan ja


hän pelkäsi ihmisiä, ikäänkuin kaikki olisivat olleet hänen vihollisiaan.

Niinpä tapahtui eräänä päivänä, kun Bob oli jälkeen puolisten


yksin kotona, kun akkunat olivat auki ja kevätilma virtaili herttaisena
sisään, että Anna rouva soitti entisen kotinsa ovikelloa ja että Bob
itse meni aukasemaan. Bob tuli ensin niin hämilleen, ettei hän voinut
sanoa mitään. Hän seisoi hölmistyneenä saamatta sanaakaan
sanotuksi ja ikäänkuin kylmä käsi olisi pusertanut hänen sydäntään.

Silloin kuuli hän Annan sanovan: "Saanko minä tulla sinun


luoksesi?"

Ja Bob kuuli hänen äänensä vavahtelevan liikutuksesta. Se oli


rukoileva kuin lapsen ja kuului niin kummallisen soinnuttomalta. Kuin
veitsi viilsi tuo ajatus Bobin sielussa: "Hän kärsii, hän tarvitsee minua
ja silloin hän tulee." Mutta silloin näki hän hänet taas ja silloin hän
unohti tuon pahan ajatuksen, joka oli häntä ennen piinannut ja
jonka hän luuli repineen hänen sydämensä juuriltaan.

"Kuinka sinä voit luulla muuta?" kysyi Bob.

Ja hän antoi hänen mennä sisälle edellään ja tunsi tunnetta


ikäänkuin kaikki tyyni olisi ollut unta.
Anna kulki verkalleen huoneitten läpi ja Bob ymmärsi hänen
tarkastelevan niitä ja olevan hänen muistojen täysi. Hän näytti
ikäänkuin unohtaneen Bobin ja Bob ei tehnyt liikettäkään
häiritäkseen häntä. Kun hän istuutui, näki Bob hänen itkevän.

Hän antoi hänen itkeä kyyneleensä loppuun ja istui vain katsellen


häntä.

"Minun täytyy saada puhua sinun kanssasi, Bob", sanoi hän.


"Minulla ei ole kenenkä kanssa minä puhuisin."

Anna näki, että Bob tahtoi sanoa jotain, mutta hän esti hänet siitä.

"Älä sano mitään", sanoi hän. "Sillä sinä et voi vielä mitään sanoa.
Minä en voi elää niinkuin minä olen elänyt viime viikot, ettei minulla
ole ketään, jolle puhuisin."

Taas tahtoi Bob puhua ja taas keskeytti Anna hänet.

"Ei", sanoi hän, "ei! Älä sano mitään. Se alkoi samana päivänä
kuin Georg kuoli. Ja se on kestänyt päivästä päivään. Minä en voisi
sitä koskaan sinulle selittää. Minä menin täältä kotia ajatellen vain
Georgia. Minun tunteeni samenivat ja minä en voinut saada selvää
itsestäni. Hän ymmärsi minun surevan. Miten minä surin, sitä minä
en voi koskaan ymmärtää. Mutta minä luulen sen alkaneen silloin.
Sillä senjälkeen ei hän eikä minä ole toiselleen sanonut muuta kuin
ne sanat, joita emme ole voineet väistää. Hän menee pois eineen
syötyään. Hän on poissa päivällisiin saakka, poissa iltaankin. Minä
liikun siellä yksin, Bob, ja ikäänkuin Georg seuraisi minua. Mitä minä
tekisin? Mitä minä tekisin? Etkö sinä voi sanoa sitä minulle?"
Bob kuuli hänen puhuvan ja hän unohti kaikki menneisyyden. Se
hävisi hänen tunteestaan ja kaikki muuttui niin vakavaksi hänelle,
ettei hän voinut ajatellakaan muuta, kuin, mitä hänelle nyt tapahtui,
oli yksinkertaista ja luonnollista. Hän meni hänen luokseen ja otti
kiinni hänen kädestään, Anna painoi päänsä hänen olkapäätään
vasten ja itki.

Bob antoi hänen vielä kerran itkeä ja hän tunsi itsensä


onnelliseksi, että hän voi sen tehdä. Hän iloitsi nähdessään Annan
muuttuvan rauhallisemmaksi hänen läheisyydessään, ja istuen vieri
vieressä he puhuivat, kuinka kaikki oli heidän välilleen tullut ja
kuinka heillä ei ollut mitään onnea saavutettavissa kummallakaan.
Bob ymmärsi, että Anna oli onneton ja että Gösta oli jollain tavalla
kova häntä kohtaan. Se ei ollut mustasukkaisuutta, joka aikaansai
hänessä tuota kovuutta, hän oli vain kova, koska häntä itseään
kiusasi nähdä vaimonsa surevan.

"Ajattelepas", sanoi Anna. "Hän tahtoi kieltää minua käyttämästä


surupukua. Hän sanoi sen herättävän huomiota."

Ja Bob kuuli kaikkityyni. Hän otti sen sydämelleen ja antoi


sydämensä puhua, vaikka hänen sieluaan karvasteli ja vaikka hän
ymmärsi, ettei hän tämän jälkeen saisi elää yhtään rauhallista hetkeä
koko elämänsä aikana. Hänen istuessaan siellä oli hän Bobille aivan
sama kuin hän aina oli ollut ja kumminkin hän oli toisen. Hän ajatteli
enempi selvästi, lausui ajatuksensa enempi kauniisti ja varmasti. Bob
huomasi sen, kun hän vihdoinkin voi puhua ilman liikutusta ja
hänestä tuntui, että hänen sanansa toisinaan lievittivät hänen
omaakin tuskaansa.

"Se mies on toisenlainen kuin sinä ja minä", sanoi Anna. — Hän


puhui Göstasta, mutta hän vältti mainita hänen nimeään. Kuului
ikäänkuin hän olisi toistanut jotain, jonka hän oli itse jo ennen
itsekseen sanonut.

"Hänen tunteittensa lämpömittari", jatkoi Anna rouva, "ei kohoa


koskaan määrättyjen asteiden yli. Hän panee kylmän käden pallolle
ja pidättää elohopean alhaalla. Hän kärsii sydämen kylmyyttä ja
senvuoksi on minun tai sinun kerrassaan mahdoton koskaan
ymmärtää häntä. Hän on tullut meidän väliimme ja murtanut meidät
molemmat, minun ja sinun. Oi, kuinka hyvin minä tunnen nyt voivani
sen käsittää! Ja kumminkaan minä en ymmärrä häntä. Hän ei
ymmärrä myöskään meitä, mutta hän tekee meille enemmän pahaa,
kuin kenenkään on mahdollista tehdä pahaa hänelle. Hänellä on
kylmyytensä, joka suojaa häntä ja sen kautta hän on voimakas. Minä
uskon nyt viime aikoina, että löytyy kahdellaisia ihmisiä, jotka ovat
eroitettu toisistaan muurilla, jonka yli ei kukaan voi päästä."

Hän vaikeni, ja Bob istui ajatellen sitä, kuinka ihmeellistä tuo oli,
että Anna istui siellä puhuen juuri samoja ajatuksia, jotka seurasivat
häntä koko hänen elämänsä ja joista hän nyt onnekseen tunsi
olevansa vapaa. Mutta hän ei keskeyttänyt Annaa. Hän tunsi
omituista tyydytystä kuullessaan Annan puhuvan noista ajatuksista
juuri nyt, kun hänen oma tuskansa oli tullut hänelle ylivoimaiseksi.
Oli ikäänkuin hän olisi myöntänyt hänen olevan oikeassa juuri siinä,
missä hän oli erehtynyt, ja se tuntui Bobista helpoitukselta, jota hän
tavallaan oli ollut vaatimassakin.

Anna jatkoi:

"Minä olen ajatellut paljon näinä päivinä ja minä luulen, kun kaksi
ihmistä rakastaa toisiaan, on aina toinen se, joka antaa ja toinen,
joka ottaa, Bob. Ja meidän välillä olit sinä aina antaja. Minä en
ymmärtänyt sitä silloin. Mutta minä uskon saaneeni oppia sen nyt.
Sillä minun ja hänen välillä olen minä aina antanut, antanut ja
antanut. Kun minä eräänä päivänä tulin ja tarvitsin saada jotain
takaisin, niin silloin minä en saanut mitään. Sillä — missä ei mitään
ole, siellä on hallitsija oikeutensa menettänyt. Minä olen ehkä ollut
sinulle sitä, mitä hän nyt on minulle. En tiedä."

Hän lopetti puheensa hymyillen ja nousi mennäkseen.

"Oletko sinä vihanen minulle, että minä tulin?" kysyi hän.

"Ei", sanoi Bob oikaisten hänelle kätensä.

"Minä en voinut muuta", vastasi Anna.

Hänen mentyään muisti Bob kerran sanoneensa rakastaneensa


häntä senvuoksi, ettei hän voinut kärsiä muiden käsittelevän häntä
kovuudella. Ja hän ajatteli sitä kuinka se oli käynyt niin, että toinen
mies oli saanut oikeuden kohdella häntä kovasti.

Silloin hän muisti äkkiä erään päivän, jolloin Gösta oli kertonut
hänelle nuoruutensa rakkauden, ja että hän silloin oli luvannut olla
kertomatta sitä vaimolleen. Mutta samana iltana hän oli rikkonut
lupauksensa ja se ei auttanut, että hän oli tehnyt sen parhaassa
tarkoituksessa. "Ehkä se on minun syytäni kaikkityyni!" ajatteli Bob.
Ja hän tunsi taas sen niin lohdulliseksi ottaa syy omakseen. Se tuntui
hänestä jollain tavalla sovittavan hänen vaimoaan ja senvuoksi hän
tunsi nyt taas voivansa ajatella häntä.

Se ei ollut myöskään viime kerta kun Anna kävi entisessä


kodissaan. Kevään ja tulevan kesän kuluessa hän uudisti usein siellä
käyntejään. Hän ei tullut koskaan määrätyllä ajalla eikä hän koskaan
kertonut edeltäpäin, milloin hän tulisi. Mutta hän ei tullut
kumminkaan silti odottamatta. Sillä Bob odotti häntä aina, ja joka
päivä, jolloin hän ei tullut, muuttui hänelle lopulta harmilliseksi
erehdykseksi. Mutta kun hän lopulta tuli, tuntui hänestä aina, että
hän juuri silloin olikin odottanut häntä.

Ja näin kohdatessaan he puhuivat kaikesta, joka nyt liikutti heitä.


He puhuivat Georgista ja syventyivät siihen kysymykseen, josko he
kerran voisivat hänet nähdä jälleen tai ei. He puhuivat Annan
avioliitosta, hänen ja Göstan suhteesta toisiinsa. Kaikki, mikä oli sillä
välin tapahtunut, kun he viimeksi tapasivat, kertoi Anna Bobille.
Hänen kertomuksissaan voi Bob seurata hänen uutta avioliittoaan
melkein päivästä päivään, ikäänkuin akkunasta nähdä tuohon
vieraaseen kotiin, kuinka ihmiset siellä vieraina kiertelivät toisiaan ja
kuinka vastenmielisyys kasvoi noiden kahden välillä, jotka olivat
yhteen sidotut ja nyt kiduttivat toisiaan kuolemaan asti.

Menneisyyttä he vain välttivät ikäänkuin hiljaisella sopimuksella


olisivat päättäneet vaieta siitä. Tuo menneisyys, joka kaikki kerran oli
ollut heidän välillään, ei liikuttanut heitä enää koskaan. Tuo
menneisyys oli heille suljettu portti, jonka taa he eivät saaneet
seurata toisiaan.

Bob kyllä ymmärsi, että ihmisistä tuntuisi tuo ihmeelliseltä, jos he


tietäisivät, että hän salaa tapasi entistä vaimoaan ja tuli hänen
uskotukseen juuri siinä surussa, jota hän sai kantaa, kun hän oli
jättänyt hänet toisen vuoksi. Mutta hänestä itsestään se ei koskaan
tuntunut kummalliselta. Sitä vähemmin hän tuli ajatelleeksi, että sitä
olisi vakavasti voinut sanoa naurettavaksi.

Hänellä oli niin paljon jokapäiväistä mielialaa ylempänä, että


senvuoksi kaikki, mikä tapahtui, tuntui hänestä niin inhimilliseltä ja
luonnolliselta.
"Eikö sinusta ole ihmeellistä, että minä ja sinä voimme tavata näin
vain toisiamme?" kysyi Anna eräänä päivänä.

Bob olisi toivonut, ettei Anna olisi tehnyt hänelle tuota kysymystä.

"Kuinka sinä muuten voisit elää?" sanoi hän.

"Niin, mutta luuletko sinä, että moni muu ihminen olisi tehnyt,
mitä me nyt teemme?"

"Se, millä on elämässä todellista arvoa, ei tapahdu koskaan kahta


kertaa samalla lailla."

"Sanotaan, ettei ole mitään uutta auringon alla", arveli Anna.

"Niin", vastasi Bob. "Mutta voidaan myöskin sanoa, että tapahtuu


ainoastaan uutta. Minä en tiedä, mikä on oikeampi."

Kaikkien ihmisten, joita kannattaa suuret tunteet ja jotka samalla


kertaa miettivät paljon, huomasi Bob joutuvan jonkunlaisen kohtalon
alaisiksi, mutt'ei kenenkään ihmisen kohtalo ole sellainen kuin
hänen, ajatteli hän. Ja yksin ollessaan voi tämä tunne täyttää hänet
sanomattomalla voimalla.

Näinä päivinä näki Bob elämänsä kokoontuvan ikäänkuin yhteen


polttopisteeseen, jonka valo oli niin hillittyä, että hän tunsi voivansa
silmiään räpäyttämättä katsoa siihen. Hän oli luullut voivansa vihata
ja hän oli työskennellyt tehdäkseen itsensä kovaksi. Hän oli sulkenut
sydämensä kaikille hyville ja lämpöisille tunteille ja hän koetti
tekeytyä sellaiseksi kuin hän luulotteli kaikkien muitten olevan. Ja
miten oli käynyt? Viha oli sulannut sen voiman edessä, joka on
suurempi kuin rakkaus ja viha. Kuolema oli tullut ja ottanut hänen
rakkaimpansa mailmasta ja sen kaikkivallan edessä muuttui hänen
oma kohtalonsa mitättömän pieneksi. Hänen kovuutensa oli
pehmennyt itsestään. Sillä se oli vain näennäistä itseään
suojatakseen, jonka teki tyhjäksi hänen oma sydämellisyytensä. Ja
hän, joka kerran oli tahtonut kirota sitä sidettä, joka sitoi hänet
murtamattomasti ihmisiin, joitten kohtalo oli sekaantunut hänen
kohtaloonsa, hän tunsi nyt voivansa antaa sydänverensä ainoastaan
voidakseen valmistaa muutaman tunnin helpotusta sille naiselle, joka
oli lyönyt hänen onnensa pirstaleiksi, mutta jonka hän nyt näki
ainoastaan menneen harhaan ja tulleen yhtä onnettomaksi kuin hän
itsekin.

Olivathan toverit tavanneet nimittääkin häntä "Pikku Bobiksi."


Miksi hän tuli ajatelleeksi näinä päivinä juuri tätä? Miksi sukelsi esiin
tämä muisto keskellä tätä elämää, jossa hän nyt eli jännityksessä ja
surunsekaisessa ilossa? Oliko hän sitten ainoastaan pikku Bob? Ja
eikö hän koskaan olisi muuttunut muuksi? Pikku Bob nuorukaisena,
pikku Bob miehenä, pikku Bob vielä hiusten harmetessa ja kasvojen
jo rumasti ryppyyn käydessä.

Mikä hänet valtasi yhä voimakkaammin ja voimakkaammin?


Vieläkö laululintu eli sisimmäisenä hänen rinnassaan?

Bob ei ollut oman sydämensä valtia. Sillä tarvittiin vain, että joku
tarvitsi häntä, niin hän oli valmiina kantamaan muiden taakkoja
unohtaen ne, joita hän oli kantanut.

Pikku Bob! Pikku Bob! Oli parasta, ettet sinä sitä itse
ymmärtänytkään.

XXVIII.
Bob käveleskeli eräänä aamuna mietteissään almanakka kädessä.
Almanakka sanoi hänelle tänä päivänä olevan hänen vaimonsa
syntymäpäivän ja hän tuli ajatelleeksi kuinka tätä päivää muinoin
vietettiin. Silloin oli ruusuja pöydällä ja pöytä oli kaunistettu
valkoisella kukilla koristetulla pöytäliinalla. Ruusujen ympärillä oli
suuria ja pieniä myttyjä, jotka Bob ja Georg oli sinne asettanut.

Bob käveleskeli ajatellen ja mitä enemmän hän ajatteli sitä


voimakkaampaa halua hän tunsi lähteä ostoksille.

Hänen kotia tultuaan päivälliselle oli myttyjä kotona odottamassa


häntä ja syötyään hän puhdisti pöydän omassa huoneessaan ja alkoi
järjestää sitä. Hän kaunisti sen kukilla asettaen suuren ruusun
keskelle pöytää ja sen ympärille hän asetti myttyjä. Bob oli aivan
rauhallinen sitä tehdessään ja hänestä ei tuntunutkaan, että Anna
tulisi. Mutta kun kaikki oli valmiina ja hän itse istui huoneessa, joka
oli kuin juhlaan koristettu, silloin valtasi hänet pohjaton
surunsekainen tunne, joka tuntui ikäänkuin hänen olisi tullut sääli
itseään. Hän istui ajatellen, josko hän ottaisi kaikki pois pöydältä ja
kätkisi ne. Mutta sitä hän ei tullut tehneeksi. Hän istui vain
ainoastaan katsellakseen tuota pöytää, joka muistutti hänelle niin
paljon ja hän ei ollut kauvemmin niin varma, ettei Anna todellakaan
tulisi. Mutta hän ei kumminkaan ottanut niitä pois pöydältä. Jos ei
hän tulisikaan, saisi pöytä hyvin kernaasti olla niinkuin se oli. Sillä se
muistutti häntä ensi kerrasta, jolloin hän kaunisti sillälailla pöydän
kukilla ja asetti sen huoneeseensa.

Silloin elivät he molemmat ajatellen lasta, joka tulisi ennen pitkää.


Ja Bob oli nähnyt paljon vaivaa, ettei mitään puuttuisi, joka toi iloa
hänen vaimolleen. Hänhän tiesi hänen voivan lapsen lailla iloita
jokaisesta pikkuesineestä, jota hän rakasti ja hän muisti hänen
kertoneen, ettei hän lapsuudessaan surrut mitään niin paljon kuin
jos näki unohdettavan hänen syntymäpäivänsä. Kuumeisesti hän oli
silloin kulkenut odottaen jonkun sanovan jotain ja kun iltaan
mennessä ei ollut mitään tapahtunut, meni hän metsään itkeäkseen
siellä. Tämän hän oli kertonut juuri sinä ensimäisenä
syntymäpäivänä, jota Bob nyt istui ajattelemassa. Hän sanoi
pelänneensä Bobin myöskin sen unohtavan. Ja silloin oli Bob
hymyillen sanonut kirjoittaneensa sen almanakkaan.

Kuinka iloisia he olivatkaan sinä päivänä ja kuinka kaunis syyskuun


päivä se olikaan! Bob ajatteli kaikkia niitä kellastuneita päiviä, jotka
olivat sitten tulleet.

Mutta se ei tahtonut onnistua hänelle tällä kertaa. Siinä oli yhtä ja


toista, joka sai hänen verensä kuohumaan. Hän muisti karvaita
sanoja ja ilkeitä tapahtumia. Hän muisti yksinäiset päivänsä ja
kamalat hetkensä, jolloin hänen onnettomuutensa selveni hänelle.
Georg seurasi muistojen mukana. Hän näki pojan edessään ilmi
elävänä seisovan auringonpaisteessa pihalla eteisen edustalla,
kerrassaan itsenäinen pikkumies. Ja Bob näki hänen kuolevan,
makaavan ja haparoivan pienillä käsillä peittoaan, ja kuuli hänen
kuiskaavan "äiti." Se vihlasi hänen sydäntään ja hän tuli liikutetuksi.
Hän nousi tuolilta päästäkseen näkemästä kaikkea tuota ja tahtoi
mennä ulos.

Silloin kuuli Bob ovikellon soivan ja hän meni empimättä riitaisten


tunteittensa vallassa avaamaan ovea.

Anna tuli sisään ja Bob näki hänen kulkevan kuin kuumeessa. Hän
esti eteisessä häntä ja antoi hänen heittää päällysnuttunsa. Sitten
kuljetti hän häntä koko huoneuston läpi ja avasi oven omaan
huoneeseensa. Silloin näki hän Annan haparoivan molemmilla
käsillään, ikäänkuin olisi etsinyt tukea itselleen. Sitten hän vaipui
pöydän eteen sohvalle ja purskahti itkuun.

Bobin riitaisista tunteista ei jäänyt paljon jälelle, kun hän näki sen.
Hän meni hänen luokseen asettaen sanaakaan sanomatta kätensä
hänen olkapäilleen.

"Oi, Bob", sanoi hän, "Bob! Sitä ei ole kukaan ajatellut senjälkeen
kuin sinä sen teit."

Noissa sanoissa oli sellaista epätoivoa, että Bob melkein tunsi


itsensä neuvottomaksi. Hän otti kätensä hänen olkapäiltään
istuutuen häntä vastapäätä.

"Etkö sinä avaakaan myttyjäsi?" sanoi hän koettaen lyödä leikkiä.

Mutta Anna pudisti vain päätään.

"Salli minun istua täällä ja katsella kaikkia, ja tuntea olevani


kotona", sanoi Anna.

Ja ennenkuin kumpikaan oikeen huomasi, mitä oli tapahtunut,


olivat he ruvenneet puhumaan. He puhuivat nyt menneistä, kaikesta
siitä, mikä oli ollut. He puhuivat katkonaisia ja hämäriä sanoja, mutta
kumpikaan heistä ei voinut sanoa mitään, jota toinen ei olisi
ymmärtänyt. He syyttelivät itseään ja he puhuivat yht'aikaa,
puhuivat ja kuuntelivat samalla kertaa.

Anna rouva tuijotti eteensä ja hänen silmänsä suurenivat.

"Ymmärsitkö sinä minun kirjeeni, Bob?" kysyi hän.

"Ymmärsitkö sinä minun kirjeeni?"


"Minä en tahtonut sitä ymmärtää", sanoi Bob. "Minä tiedän, etten
minä tahtonut tehdä sitä."

"Minä en ymmärtänyt sitä itsekään", sanoi Anna rouva, "ei silloin,


kun minä sitä kirjoitin. Mutta nyt minä tiedän, että minä silloin
sydämellisimmin toivoin, että sinä olisit kirjoittanut edes jotain, vain
sanankaan, joka olisi ollut sellaista, että minä olisin voinut pyytää
sinulta saada tulla takaisin. Minä olisin tehnyt kaikki, mitä sinä olisit
toivonut. Minä olisin tullut sinulle palvelijattareksi, jos sinä olisit sitä
vaatinut. Sillä minähän olin tehnyt sinulle niin paljon pahaa, ja
tiesinhän minä, etten minä koskaan, en koskaan voisi sitä jälleen
hyvittää. Mutta minä olin siellä yksin ja minä tiedän nyt, että minä
toivoin silloin saada kuulla sinun sanovan, että jos minä itse
tahtoisin, olisit sinä sietänyt minua luonasi. Minä en voinut enempää
toivoa. Mutta, että minä toivoin sitä, sitä minä en silloin
ymmärtänyt."

Bob ei voinut heti vastata. Hän tuskin muisti kirjettään, tiesi vain
tulleensa niin raivoisaksi, joka ei ajatellut muuta kuin olisi saanut
lyödä ja että hän tahtoi kostaa. Mutta hänestä tuntui ikäänkuin hän
nyt olisi nähnyt mahdollisuuden, että kaikki voisi muuttua hyväksi ja
hän kysyi:

"Etkö sinä voi tulla takaisin — nyt?"

Anna huudahti ojentaen molemmat kätensä Bobia kohti.

"Tahdotko sinä sitä?" kysyi Anna. "Onko se mahdollista, että sinä


tahdot sitä? Minä, joka olen tehnyt sinulle niin paljon pahaa, minä,
joka olen pettänyt sinun onnesi, joka olen jättänyt sinut ja häväissyt
sinun nimesi."
"Hiljaa", sanoi Bob. "On eräs, joka nukkuu mullassa ja joka ehkä
voi kuulla meitä. Hiljaa, älä häiritse häntä."

Bob ei tiennyt, mitä hän oli sanonut enemmän. Hän lyhistyi


kokoon painaen päänsä vaimonsa polville.

"Salli minun olla tässä", sanoi hän. "Salli minun olla! Jos se on
sinulle onneksi tai onnettomuudeksi, sitä minä en tiedä. Mutta minä
tiedän, että sinä tulit kotiasi ja viivyit siellä, kun meidän poikamme
kuoli. Kun sinä silloin istuit minun luonani, tunsin minä, ettet sinä
missään muualla, kuin minun luonani, ollut kotona. Ja hän, joka ei
voinut pitää sinua eläissään kotona, toi sinut takaisin kuollessaan."

Ja Bob ei voinut kauvemmin hillitä itseään. Ensi kerran Georgin


kuoleman jälkeen hän purskahti kiivaaseen itkuun ja hänestä tuntui
kaikki tuskat ja painavat tunteet lähtevän. Mutta sitä hän ei tiennyt,
josko hän itki ilosta tai surusta.

Hän tiesi vain, että elämä oli vienyt hänet sinne, missä ilo ja suru
pyyhkäistiin pois tai yhdistettiin ja jossa onni tai onnettomuus
näyttävät vähäpätöisiltä. Hän oli päässyt kaiken yläpuolelle, ja mitä
hän oli saavuttanut, se oli se, jolla ei ole mitään nimeä.
*** END OF THE PROJECT GUTENBERG EBOOK AVIOLIITON
ILVEILY: ROMAANI ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free


distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be


used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
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!

textbookfull.com

You might also like