]> git.donarmstrong.com Git - biopieces.git/commitdiff
removed bp_doc/ and content
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Thu, 24 Nov 2011 12:58:47 +0000 (12:58 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Thu, 24 Nov 2011 12:58:47 +0000 (12:58 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@1684 74ccb610-7750-0410-82ae-013aeee3265d

26 files changed:
bp_doc/00README [deleted file]
bp_doc/biopieces_cookbook.lyx [deleted file]
bp_doc/biopieces_cookbook.lyx~ [deleted file]
bp_doc/biotools_cookbook.lyx [deleted file]
bp_doc/biotools_cookbook.lyx~ [deleted file]
bp_doc/biotools_cookbook.pdf [deleted file]
bp_doc/biotools_cookbook.tex [deleted file]
bp_doc/biotools_presentation.odp [deleted file]
bp_doc/chrdist.pdf [deleted file]
bp_doc/chrdist.png [deleted file]
bp_doc/chrdist.ps [deleted file]
bp_doc/chrdist_ascii.png [deleted file]
bp_doc/dotplot.pdf [deleted file]
bp_doc/dotplot.png [deleted file]
bp_doc/dotplot.ps [deleted file]
bp_doc/dotplot.svg [deleted file]
bp_doc/histogram.png [deleted file]
bp_doc/karyogram.png [deleted file]
bp_doc/karyogram.svg [deleted file]
bp_doc/lendist.pdf [deleted file]
bp_doc/lendist.png [deleted file]
bp_doc/lendist.ps [deleted file]
bp_doc/lendist_ascii.png [deleted file]
bp_doc/logo.svg [deleted file]
bp_doc/seqlogo.png [deleted file]
bp_doc/seqlogo.svg [deleted file]

diff --git a/bp_doc/00README b/bp_doc/00README
deleted file mode 100644 (file)
index cdbed61..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Adding stuff to the wiki, like images and documents
-svn co https://biopieces.googlecode.com/svn/wiki wiki --username martinahansen
diff --git a/bp_doc/biopieces_cookbook.lyx b/bp_doc/biopieces_cookbook.lyx
deleted file mode 100644 (file)
index 1dc2694..0000000
+++ /dev/null
@@ -1,7258 +0,0 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
-\lyxformat 276
-\begin_document
-\begin_header
-\textclass scrartcl
-\begin_preamble
-\usepackage[colorlinks=true, urlcolor=blue, linkcolor=black]{hyperref}
-\end_preamble
-\language english
-\inputencoding auto
-\font_roman default
-\font_sans default
-\font_typewriter default
-\font_default_family default
-\font_sc false
-\font_osf false
-\font_sf_scale 100
-\font_tt_scale 100
-\graphics default
-\paperfontsize default
-\spacing single
-\papersize default
-\use_geometry false
-\use_amsmath 1
-\use_esint 1
-\cite_engine basic
-\use_bibtopic false
-\paperorientation portrait
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation skip
-\defskip medskip
-\quotes_language english
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-\tracking_changes false
-\output_changes false
-\author "" 
-\author "" 
-\end_header
-
-\begin_body
-
-\begin_layout Title
-Biopieces Cookbook
-\end_layout
-
-\begin_layout Author
-Martin Asser Hansen
-\end_layout
-
-\begin_layout Publishers
-John Mattick Group
-\newline
-Institute for Molecular Bioscience
-\newline
-University of Queensland
-\newline
-Aust
-ralia
-\newline
-E-mail: mail@maasha.dk
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
-
-\backslash
-thispagestyle{empty}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset LatexCommand tableofcontents
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset FloatList figure
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-Biopieces is a collection of bioinformatic tools that can be linked together
- (piped as we shall call it) in a very flexible manner to perform both simple
- and complex tasks.
- The fundamental idea is that biopieces work on a data stream that will
- only terminate at the end of an analysis and that this data stream can
- be passed through several different biopieces, each performing one specific
- task.
- The advantage of this approach is that a user can perform simple and complex
- tasks without having to write advanced code.
- Moreover, since the data format used to pass data between biopieces is
- text based, biopieces can be written by different developers in their favorite
- programming language --- and still the biopieces will be able to work together.
-\end_layout
-
-\begin_layout Standard
-In the most simple form bioools can be piped together on the command line
- like this (using the pipe character '|'):
-\end_layout
-
-\begin_layout LyX-Code
-read_data | calculate_something | write_result
-\end_layout
-
-\begin_layout Standard
-However, a more comprehensive analysis could be composed:
-\end_layout
-
-\begin_layout LyX-Code
-read_data | select_entries | convert_entries | search_database  
-\end_layout
-
-\begin_layout LyX-Code
-evaluate_results | plot_diagram | plot_another_diagram |
-\end_layout
-
-\begin_layout LyX-Code
-load_to_database
-\end_layout
-
-\begin_layout Standard
-The data stream that is piped through the biopieces consists of records
- of key/value pairs in the same way a hash does in order to keep as simple
- a structure as possible.
- An example record can be seen below:
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-REC_TYPE: PATSCAN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MATCH: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_BEG: 7
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_END: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-ALIGN_LEN: 9
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_ID: piR-t6
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-STRAND: +
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-PATTERN: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-The '
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-' denotes the delimiter of the records, and each key is a word followed
- by a ':' and a white-space and then the value.
- By convention the biopieces only uses upper case keys (a list of used keys
- can be seen in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:Keys"
-
-\end_inset
-
-).
- Since the records basically are hash structures this mean that the order
- of the keys in the stream is unordered, and in the above example it is
- pure coincidence that HIT_BEG is displayed before HIT_END, however, when
- the order of the keys is importent, the biopieces will automagically see
- to that.
-\end_layout
-
-\begin_layout Standard
-All of the biopieces are able to read and write a data stream to and from
- file as long as the records are in the biopieces format.
- This means that if you are undertaking a lengthy analysis where one of
- the steps is time consuming, you may save the stream after this step, and
- subsequently start one or more analysis from that last step
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-It is a goal that the biopieces at some point will be able to dump the data
- stream to file in case one of the tools fail critically.
-\end_layout
-
-\end_inset
-
-.
- If you are running a lengthy analysis it is highly recommended that you
- create a small test sample of the data and run that through the pipeline
- --- and once you are satisfied with the result proceed with the full data
- set (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-select-a-few-records"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-All of the biopieces can be supplied with long arguments prefixed with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
- switches or single character arguments prefixed with - switches that can
- be grouped together (e.g.
- -xok).
- In this cookbook only the long switches are used to emphasize what these
- switches do.
-\end_layout
-
-\begin_layout Section
-Setup
-\end_layout
-
-\begin_layout Standard
-In order to get the biopieces to work, you need to add environment settings
- to include the code binaries, scripts, and modules that constitute the
- biopieces package.
- Assuming that you are using bash, add the following to your '~/.bashrc'
- file using your favorite editor.
- After the changes has been saved you need to either run 'source ~/.bashrc'
- or relogin.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-if [ -f "/home/m.hansen/maasha/conf/bashrc" ]; then
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-    source "/home/m.hansen/maasha/conf/bashrc"
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-fi
-\end_layout
-
-\begin_layout Section
-Getting Started
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-list_biopieces
-\series default
- lists all the biopieces along with a description:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biopieces
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-align_seq             Align sequences in stream using Muscle.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_seq           Analysis the residue composition of each sequence
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_vals          Determine type, count, min, max, sum and mean for
- values in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blast_seq             BLAST sequences in stream against a specified database.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blat_seq              BLAT sequences in stream against a specified genome.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-complement_seq        Complement sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records         Count the number of records in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_seq             Count sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_vals            Count the number of times values of given keys exists
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-create_blast_db       Create a BLAST database from sequences in stream for
- use with BLAST.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-...
-\end_layout
-
-\begin_layout Standard
-To list the biopieces for writing different formats, you can use unix's
- grep like this:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biopieces | grep write
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_align           Write aligned sequences in pretty alignment format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_bed             Write records from stream as BED lines.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_blast           Write BLAST records from stream in BLAST tabular format
- (-m8 and 9).
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_fasta           Write sequences in FASTA format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_psl             Write records from stream in PSL format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_tab             Write records from stream as tab separated table.
-\end_layout
-
-\begin_layout Standard
-In order to find out how a specific biopiece works, you just type the program
- name without any arguments and press return and the usage of the biopiece
- will be displayed.
- E.g.
-\series bold
-read_fasta
-\series default
- <return>:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Frameless
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-width "100col%"
-special "none"
-height "1in"
-height_special "totalheight"
-status open
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Program name:   read_fasta
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Author:         Martin Asser Hansen - Copyright (C) - All rights reserved
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Contact:        mail@maasha.dk
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Date:           August 2007
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-License:        GNU General Public License version 2 (http://www.gnu.org/copyleft/
-gpl.html)
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Description:    Read FASTA entries.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Usage:          read_fasta [options] -i <FASTA file(s)>
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Options:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-i <file(s)> | --data_in=<file(s)>]  -  Comma separated list of files
- to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-n <int>     | --num=<int>]          -  Limit number of records to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-I <file>    | --stream_in=<file>]   -  Read input stream from file
-  -  Default=STDIN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-O <file>    | --stream_out=<file>]  -  Write output stream to file
-  -  Default=STDOUT
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Examples:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna             -  Read FASTA entries from file.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test1.fna,test2,fna  -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i '*.fna'              -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna -n 10       -  Read first 10 FASTA entries from
- file.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-The Data Stream
-\end_layout
-
-\begin_layout Subsection
-How to read the data stream from file?
-\begin_inset LatexCommand label
-name "sub:How-to-read-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-You want to read a data stream that you previously have saved to file in
- biopieces format.
- This can be done implicetly or explicitly.
- The implicit way uses the 'stdout' stream of the Unix terminal:
-\end_layout
-
-\begin_layout LyX-Code
-cat | <biopiece>
-\end_layout
-
-\begin_layout Standard
-cat is the Unix command that reads a file and output the result to 'stdout'
- --- which in this case is piped to any biopiece represented by the <biopiece>.
- It is also possible to read the data stream using '<' to direct the 'stdout'
- stream into the biopiece like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> < <file>
-\end_layout
-
-\begin_layout Standard
-However, that will not work if you pipe more biopieces together.
- Then it is much safer to read the stream from a file explicitly like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_in=<file>
-\end_layout
-
-\begin_layout Standard
-Here the filename <file> is explicetly given to the biopiece <biopiece>
- with the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in.
- This switch works with all biopieces.
- It is also possible to read in data from multiple sources by repeating
- the explicit read step:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_in=<file1> | <biopiece> --stream_in=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to write the data stream to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to save the output stream from a biopiece to file, so you can read
- in the stream again at a later time, you can do one of two things:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> > <file>
-\end_layout
-
-\begin_layout Standard
-All, the biopieces write the data stream to 'stdout' by default which can
- be written to a file by redirecting 'stdout' to file using '>' , however,
- if one of the biopieces for writing other formats is used then the both
- the biopieces records as well as the result output will go to 'stdout'
- in a mixture causing havock! To avoid this you must use the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out that explictly tells the biopiece to write the output stream
- to file:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_out=<file>
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out switch works with all biopieces.
-\end_layout
-
-\begin_layout Subsection
-How to terminate the data stream?
-\end_layout
-
-\begin_layout Standard
-The data stream is never stops unless the user want to save the stream or
- by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch that will terminate the stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --no_stream
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch only works with those biopieces where it makes sense that
- the user might want to terminale the data stream, 
-\emph on
-i.e
-\emph default
-.
- after an analysis step where the user wants to output the result, but not
- the data stream.
-\end_layout
-
-\begin_layout Subsection
-How to write my results to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-result"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Saving the result of an analysis to file can be done implicitly or explicitly.
- The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --no_stream > <file>
-\end_layout
-
-\begin_layout Standard
-If you use '>' to redirect 'stdout' to file then it is important to use
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch to avoid writing a mix of biopieces records and result
- to the same file causing havock.
- The safe way is to use the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which explicetly tells the biopiece to write the result
- to a given file:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-Using the above method will not terminate the stream, so it is possible
- to pipe that into another biopiece generating different results:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece1> --result_out=<file1> | <biopiece2> --result_out=<file2>
-\end_layout
-
-\begin_layout Standard
-And still the data stream will continue unless terminated with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --result_out=<file> --no_stream
-\end_layout
-
-\begin_layout Standard
-Or written to file using implicitly or explicity 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-result"
-
-\end_inset
-
-.
- The explicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --result_out=<file1> --stream_out=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to read data from multiple sources?
-\end_layout
-
-\begin_layout Standard
-To read multiple data sources, with the same type or different type of data
- do:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece1> --data_in=<file1> | <biopiece2> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-where type is the data type a specific biopiece reads.
-\end_layout
-
-\begin_layout Section
-Reading input
-\end_layout
-
-\begin_layout Subsection
-How to read biopieces input?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to read in data?
-\end_layout
-
-\begin_layout Standard
-Data in different formats can be read with the appropriate biopiece for
- that format.
- The biopieces are typicalled named 'read_<data type>' such as 
-\series bold
-read_fasta
-\series default
-, 
-\series bold
-read_bed
-\series default
-, 
-\series bold
-read_tab
-\series default
-, etc., and all behave in a similar manner.
- Data can be read by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in switch and a file name to the file containing the data:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read in a saved biopieces stream (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-) as well as reading data in one go:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_in=<file1> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you want to read data from several files you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=<file1> | <biopiece> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you have several data files you can read in all explicitly with a comma
- separated list:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=file1,file2,file3
-\end_layout
-
-\begin_layout Standard
-And it is also possible to use file globbing
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-using the short option will only work if you quote the argument -i '*.fna'
-\end_layout
-
-\end_inset
-
-:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=*.fna
-\end_layout
-
-\begin_layout Standard
-Or in a combination:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=file1,/dir/*.fna
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to read in data in different formats using the appropria
-te biopiece for each format:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece1> --data_in=<file1> | <biopiece2> --data_in=<file2> ...
-\end_layout
-
-\begin_layout Subsection
-How to read FASTA input?
-\end_layout
-
-\begin_layout Standard
-Sequences in FASTA format can be read explicitly using 
-\series bold
-read_fasta
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read alignment input?
-\end_layout
-
-\begin_layout Standard
-If your alignment if FASTA formatted then you can 
-\series bold
-read_align
-\series default
-.
- It is also possible to use 
-\series bold
-read_fasta
-\series default
- since the data is FASTA formatted, however, with 
-\series bold
-read_fasta
-\series default
- the key ALIGN will be omitted.
- The ALIGN key is used to determine which sequences belong to what alignment
- which is required for 
-\series bold
-write_align
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-read_align --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read tabular input?
-\begin_inset LatexCommand label
-name "sub:How-to-read-table"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Tabular input can be read with 
-\series bold
-read_tab
-\series default
- which will read in all rows and chosen columns (separated by a given delimter)
- from a table in text format.
-\end_layout
-
-\begin_layout Standard
-The table below:
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="3">
-<features>
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Human
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-ATACGTCAG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-23524
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Dog
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AGCATGAC
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2442
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Mouse
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-GACTG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-234
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Cat
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AAATGCA
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2342
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Can be read using the command:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-Which will result in four records, one for each row, where the keys V0,
- V1, V2 are the default keys for the organism, sequence, and count, respectively.
- It is possible to select a subset of colums to read by using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-cols switch which takes a comma separated list of columns numbers (first
- column is designated 0) as argument.
- So to read in only the sequence and the count so that the count comes before
- the sequence do:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1
-\end_layout
-
-\begin_layout Standard
-It is also possible to name the columns with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1 --keys=COUNT,SEQ
-\end_layout
-
-\begin_layout Subsection
-How to read BED input?
-\end_layout
-
-\begin_layout Standard
-The BED (Browser Extensible Data
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/FAQ/FAQformat"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-) format is a tabular format for data pertaining to one of the Eukaryotic
- genomes in the UCSC genome brower
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- The BED format consists of up to 12 columns, where the first three are
- mandatory CHR, CHR_BEG, and CHR_END.
- The mandatory columns and any of the optional columns can all be read in
- easily with the 
-\series bold
-read_bed
-\series default
- biopiece.
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read the BED file with 
-\series bold
-read_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-), however, that will be more cumbersome because you need to specify the
- keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --keys=CHR,CHR_BEG,CHR_END ...
-\end_layout
-
-\begin_layout Subsection
-How to read PSL input?
-\end_layout
-
-\begin_layout Standard
-The PSL format is the output from BLAT and contains 21 mandatory fields
- that can be read with 
-\series bold
-read_psl
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<file>
-\end_layout
-
-\begin_layout Section
-Writing output
-\end_layout
-
-\begin_layout Standard
-All result output can be written explicitly to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which all result generating biopieces have.
- It is also possible to write the result to file implicetly by directing
- 'stdout' to file using '>', however, that requires the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream swich to prevent a mixture of data stream and results in the file.
- The explicit (and safe) way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biopiece> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biopiece> --no_stream > <file>
-\end_layout
-
-\begin_layout Subsection
-How to write biopieces output?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to write FASTA output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-fasta"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-FASTA output can be written with 
-\series bold
-write_fasta
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to wrap the sequences to a given width using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch allthough wrapping of sequence is generally an evil thing:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --no_stream --wrap=80
-\end_layout
-
-\begin_layout Subsection
-How to write alignment output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-alignment"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Pretty alignments with ruler
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-'.' for every 10 residues, ':' for every 50, and '|' for every 100
-\end_layout
-
-\end_inset
-
- and consensus sequence
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-which reminds me to make that an option.
-\end_layout
-
-\end_inset
-
- can be created with 
-\series bold
-write_align
-\series default
-, what also have the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch to break the alignment into blocks of a given width: 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_align --result_out=<file> --wrap=80
-\end_layout
-
-\begin_layout Standard
-If the number of sequnces in the alignment is 2 then a pairwise alignment
- will be output otherwise a multiple alignment.
- And if the sequence type, determined automagically, is protein, then residues
- and symbols (+,\InsetSpace ~
-:,\InsetSpace ~
-.) will be used to show consensus according to the Blosum62
- matrix.
-\end_layout
-
-\begin_layout Subsection
-How to write tabular output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-tab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Outputting the data stream as a table can be done with 
-\series bold
-write_tab
-\series default
-, which will write generate one row per record with the values as columns.
- If you supply the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment switch, when the first row in the table will be a 'comment' line
- prefixed with a '#':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --comment
-\end_layout
-
-\begin_layout Standard
-You can also change the delimiter from the default (tab) to 
-\emph on
-e.g.
-
-\emph default
- ',':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --delimit=','
-\end_layout
-
-\begin_layout Standard
-If you want the values output in a specific order you have to supply a comma
- separated list using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch that will print only those keys in that order:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --keys=SEQ_NAME,COUNT
-\end_layout
-
-\begin_layout Standard
-Alternatively, if you have some keys that you don't want in the tabular
- output, use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switch.
- So to print all keys except SEQ and SEQ_TYPE do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --no_keys=SEQ,SEQ_TYPE
-\end_layout
-
-\begin_layout Standard
-Finally, if you have a stream containing a mix of different records types,
-\emph on
-e.g.
-
-\emph default
- records with sequences and records with matches, then you can use 
-\series bold
-write_tab
-\series default
- to output all the records in tabluar format, however, the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment, 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys, and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switches will only respond to records of the first type encountered.
- The reason is that outputting mixed records is probably not what you want
- anyway, and you should remove all the unwanted records from the stream
- before outputting the table: 
-\series bold
-grab
-\series default
- is your friend (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to write a BED output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-BED"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in BED format can be output if the records contain the mandatory keys
- CHR, CHR_BEG, and CHR_END using 
-\series bold
-write_bed
-\series default
-.
- If the optional keys are also present, they will be output as well:
-\end_layout
-
-\begin_layout LyX-Code
-write_bed --result_out=<file>
-\end_layout
-
-\begin_layout Subsection
-How to write PSL output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-PSL"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in PSL format can be output using 
-\series bold
-write_psl:
-\end_layout
-
-\begin_layout LyX-Code
-write_psl --result_out=<file>
-\end_layout
-
-\begin_layout Section
-Manipulating Records
-\end_layout
-
-\begin_layout Subsection
-How to select a few records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-a-few-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To quickly get an overview of your data you can limit the data stream to
- show a few records.
- This also very useful to test the pipeline with a few records if you are
- setting up a complex analysis using several biopieces.
- That way you can inspect that all goes well before analyzing and waiting
- for the full data set.
- All of the read_<type> biopieces have the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch which will take a number as argument and only that number of
- records will be read.
- So to read in the first 10 FASTA entries from a file:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna --num=10
-\end_layout
-
-\begin_layout Standard
-Another way of doing this is to use 
-\series bold
-head_records
-\series default
- will limit the stream to show the first 10 records (default):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records
-\end_layout
-
-\begin_layout Standard
-Using 
-\series bold
-head_records
-\series default
- directly after one of the read_<type> biopieces will be a lot slower than
- using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch with the read_<type> biopieces, however, 
-\series bold
-head_records
-\series default
- can also be used to limit the output from all the other biopieces.
- It is also possible to give 
-\series bold
-head_records
-\series default
- a number of records to show using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch.
- So to display the first 100 records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records --num=100
-\end_layout
-
-\begin_layout Subsection
-How to select random records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-random-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to inspect a number of random records from the stream this can
- be done with the 
-\series bold
-random_records
-\series default
- biopiece.
- So if you have 1 mio records in the stream and you want to select 1000
- random records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | random_records --num=1000
-\end_layout
-
-\begin_layout Subsection
-How to count all records in the data stream?
-\end_layout
-
-\begin_layout Standard
-To count all the records in the data stream use 
-\series bold
-count_records
-\series default
-, which adds one record (which is not included in the count) to the data
- stream.
- So to count the number of sequences in a FASTA file you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-cat test.fna | read_fasta | count_records --no_stream
-\end_layout
-
-\begin_layout Standard
-Which will write the last record containing the count to 'stdout':
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records: 630
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-It is also possible to write the count to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch.
-\end_layout
-
-\begin_layout Subsection
-How to get the length of record values?
-\begin_inset LatexCommand label
-name "sub:How-to-get-value_length"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Use the 
-\series bold
-length_vals
-\series default
- biopiece to get the length of each value for a comma separated list of
- keys:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | length_vals --keys=HIT,PATTERN
-\end_layout
-
-\begin_layout Subsection
-How to grab specific records?
-\begin_inset LatexCommand label
-name "sub:How-to-grab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-grab
-\series default
- is related to the Unix grep and locates records based on matching keys
- and/or values using either a pattern, a Perl regex, or a numerical evaluation.
- To easily 
-\series bold
-grab
-\series default
- all records in the stream that has any mentioning of the pattern 'human'
- just pipe the data stream through 
-\series bold
-grab
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human
-\end_layout
-
-\begin_layout Standard
-This will search for the pattern 'human' in all keys and all values.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma separated list of patterns, so in order to
- match multiple patterns do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human,mouse
-\end_layout
-
-\begin_layout Standard
-It is also possible to use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch instead of 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern.
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in is used to read a file with one pattern per line:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern_in=patterns.txt
-\end_layout
-
-\begin_layout Standard
-If you want the opposite result --- to find all records that does not match
- the patterns, add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch, which not only works with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch, but also with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-regex and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --invert
-\end_layout
-
-\begin_layout Standard
-If you want to search the record keys only, 
-\emph on
-e.g.
-
-\emph default
- to find all records containing the key SEQ you can add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys_only switch.
- This will prevent matching of SEQ in any record value, and in fact SEQ
- is a not uncommon peptide sequence you could get an unwanted record.
- Also, this will give an increase in speed since only the keys are searched:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --keys_only
-\end_layout
-
-\begin_layout Standard
-However, if you are interested in finding the peptide sequence SEQ and not
- the SEQ key, just add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-vals_only switch instead:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --vals_only
-\end_layout
-
-\begin_layout Standard
-Also, if you want to grab for certain key/value pairs you can supply a comma
- separated list of keys whos values will then be searched using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch.
- This is handy if your records contain large genomic sequences and you dont
- want to search the entire sequence for 
-\emph on
-e.g.
-
-\emph default
- the organism name --- it is much faster to tell 
-\series bold
-grab
-\series default
- which keys to search the value for:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --keys=SEQ_NAME
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-It is also possible to invoke flexible matching using regex (regular expressions
-) instead of simple pattern matching.
- In 
-\series bold
-grab
-\series default
- the regex engine is Perl based and allows use of different type of wild
- cards, alternatives, 
-\emph on
-etc
-\emph default
-
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://perldoc.perl.org/perlreref.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- If you want to 
-\series bold
-grab
-\series default
- records withs the sequence ATCG or GCTA you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='ATCG|GCTA'
-\end_layout
-
-\begin_layout Standard
-Or if you want to find sequences beginning with ATCG:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='^ATCG'
-\end_layout
-
-\begin_layout Standard
-You can also use 
-\series bold
-grab
-\series default
- to locate records that fulfill a numerical property using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval switch witch takes an expression in three parts.
- The first part is the key that holds the value we want to evaluate, the
- second part holds one the six operators:
-\end_layout
-
-\begin_layout Enumerate
-Greater than: >
-\end_layout
-
-\begin_layout Enumerate
-Greater than or equal to: >=
-\end_layout
-
-\begin_layout Enumerate
-Less than: <
-\end_layout
-
-\begin_layout Enumerate
-Less than or equal to: <=
-\end_layout
-
-\begin_layout Enumerate
-Equal to: =
-\end_layout
-
-\begin_layout Enumerate
-Not equal to: !=
-\end_layout
-
-\begin_layout Enumerate
-String wise equal to: eq
-\end_layout
-
-\begin_layout Enumerate
-String wise not equal to: ne
-\end_layout
-
-\begin_layout Standard
-And finally comes the number used in the evaluation.
- So to 
-\series bold
-grab
-\series default
- all records with a sequence length greater than 30:
-\end_layout
-
-\begin_layout LyX-Code
-...
- length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-If you want to locate all records containing the pattern 'human' and where
- the sequence length is greater that 30, you do this by running the stream
- through 
-\series bold
-grab
-\series default
- twice:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern='human' | length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to do fast matching of expressions from a file using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact switch.
- Each of these expressions has to be matched exactly over the entrie length,
- which if useful if you have a file with accession numbers, that you want
- to locate in the stream:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --exact acc_no.txt | ...
-\end_layout
-
-\begin_layout Standard
-Using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact is much faster than using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in, because with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact the expression has to be complete matches, where 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in looks for subpatterns.
-\end_layout
-
-\begin_layout Standard
-NB! To get the best speed performance, use the most restrictive 
-\series bold
-grab
-\series default
- first.
-\end_layout
-
-\begin_layout Subsection
-How to remove keys from records?
-\end_layout
-
-\begin_layout Standard
-To remove one or more specific keys from all records in the data stream
- use 
-\series bold
-remove_keys
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_keys --keys=SEQ,SEQ_NAME
-\end_layout
-
-\begin_layout Standard
-In the above example SEQ and SEQ_NAME will be removed from all records if
- they exists in these.
- If all keys are removed from a record, then the record will be removed.
-\end_layout
-
-\begin_layout Subsection
-How to rename keys in records?
-\end_layout
-
-\begin_layout Standard
-Sometimes you want to rename a record key, 
-\emph on
-e.g.
-
-\emph default
- if you have read in a two column table with sequence name and sequence
- in each column (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-) without specifying the key names, then the sequence name will be called
- V0 and the sequence V1 as default in the 
-\series bold
-read_tab
-\series default
- biopiece.
- To rename the V0 and V1 keys we need to run the stream through 
-\series bold
-rename_keys
-\series default
- twice (one for each key to rename):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | rename_keys --keys=V0,SEQ_NAME | rename_keys --keys=V1,SEQ
-\end_layout
-
-\begin_layout Standard
-The first instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V0 keys with SEQ_NAME, and the second instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V1 keys with SEQ.
-\emph on
-Et viola
-\emph default
- the data can now be used in the biopieces that requires these keys.
-\end_layout
-
-\begin_layout Section
-Manipulating Sequences
-\end_layout
-
-\begin_layout Subsection
-How to get sequence lengths?
-\end_layout
-
-\begin_layout Standard
-The length for sequences in records can be determined with 
-\series bold
-length_seq
-\series default
-, which adds the key SEQ_LEN to each record with the sequence length as
- the value.
- It also generates an extra record that is emitted last with the key TOTAL_SEQ_L
-EN showing the total length of all the sequences.
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout Standard
-It is also possible to determine the sequence length using the generic tool
-\series bold
-length_vals
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-get-value_length"
-
-\end_inset
-
-, which determines the length of the values for a given list of keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout Standard
-To obtain the total length of all sequences use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout LyX-Code
-| sum_vals --keys=SEQ_LEN
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-analyze_seq
-\series default
- will also determine the length of each sequence (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to analyze sequence composition?
-\begin_inset LatexCommand label
-name "sub:How-to-analyze"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to find out the sequence type, composition, length, as well
- as GC content, indel content and proportions of soft and hard masked sequence,
- then use 
-\series bold
-analyze_seq
-\series default
-.
- This handy biopiece will determine all these things per sequence from which
- it is easy to get an overview using the 
-\series bold
-write_tab
-\series default
- biopiece to output a table (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-).
- So in order to determine the sequence composition of a FASTA file with
- just one entry containing the sequence 'ATCG' we just read the data with
-\series bold
-read_fasta
-\series default
- and run the output through 
-\series bold
-analyze_seq
-\series default
- which will add the analysis to the record like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:D: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MIX_INDEX: 0.55
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:W: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:G: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SOFT_MASK%: 63.75
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:B: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:V: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-HARD_MASK%: 0.00
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:H: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:S: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:N: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:.: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-GC%: 35.00 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:A: 8 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:Y: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:M: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:T: 44 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_TYPE: DNA 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:K: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:~: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ: TTTCAGTTTGGGACGGAGTAAGGCCTTCCtttttttttttttttttttttttttttttgagaccgagtcttgctc
-tgtcg 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_LEN: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-80 RES:R: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:C: 12 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:-: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:U: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-Now to make a table of how may As, Ts, Cs, and Gs you can add the following:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyze_seq | write_tab --keys=RES:A,RES:T,RES:C,RES:G
-\end_layout
-
-\begin_layout Standard
-Or if you want to see the proportions of hard and soft masked sequence:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyse_seq | write_tab --keys=HARD_MASK%,SOFT_MASK%
-\end_layout
-
-\begin_layout Standard
-If you have a stack of sequences in one file and you want to determine the
- mean GC content you can do it using the 
-\series bold
-mean_vals
-\series default
- biopiece:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | mean_vals --keys=GC%
-\end_layout
-
-\begin_layout Standard
-Or if you want the total count of Ns you can use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | sum_vals --keys=RES:N
-\end_layout
-
-\begin_layout Standard
-The MIX_INDEX key is calculated as the count of the most common residue
- over the sequence length, and can be used as a cut-off for removing sequence
- tags consisting of mostly one nucleotide:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | grab --eval='MIX_INDEX<0.85'
-\end_layout
-
-\begin_layout Subsection
-How to extract subsequences?
-\begin_inset LatexCommand label
-name "sub:How-to-extract"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to extract a subsequence from a longer sequence use the biopiece
- extract_seq, which will replace the sequence in the record with the subsequence
- (this behaviour should probably be modified to be dependant of a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-replace or a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_replace switch
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-also in split_seq
-\end_layout
-
-\end_inset
-
-).
- So to extract the first 20 residues from all sequences do (first residue
- is designated 1): 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=1 --len=20
-\end_layout
-
-\begin_layout Standard
-You can also specify a begin and end coordinate set:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20 --end=40
-\end_layout
-
-\begin_layout Standard
-If you want the subsequences from position 20 to the sequence end do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20
-\end_layout
-
-\begin_layout Standard
-If you want to extract subsequences a given distance from the sequence end
- you can do this by reversing the sequence with the biopiece 
-\series bold
-reverse_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-, followed by 
-\series bold
-extract_seq
-\series default
- to get the subsequence, and then 
-\series bold
-reverse_seq
-\series default
- again to get the subsequence back in the original orientation:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | reverse_seq
-\end_layout
-
-\begin_layout LyX-Code
-| extract_seq --beg=10 --len=10 | reverse_seq
-\end_layout
-
-\begin_layout Subsection
-How to get genomic sequence?
-\begin_inset LatexCommand label
-name "sub:How-to-get-genomic-sequence"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-get_genomic_seq
-\series default
- can extract subsequences for a given genome specified with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch explicitly using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-beg and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-end/
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-len switches:
-\end_layout
-
-\begin_layout LyX-Code
-get_genome_seq --genome=<genome> --beg=1 --len=100
-\end_layout
-
-\begin_layout Standard
-Alternatively, 
-\series bold
-get_genome_seq
-\series default
- can be used to append the corresponding sequence to BED, PSL, and BLAST
- records:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to include flaking sequence using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-flank switch.
- So to include 50 nucleotides upstream and 50 nucleotides downstream for
- each BED entry do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome> --flank=50
-\end_layout
-
-\begin_layout Subsection
-How to upper-case sequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be shifted from lower case to upper case using 
-\series bold
-uppercase_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | uppercase_seq
-\end_layout
-
-\begin_layout Subsection
-How to reverse sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-reverse-seq"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The order of residues in a sequence can be reversed using reverse_seq:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | reverse_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-complement_seq
-\series default
- biopiece (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-complement"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to complement sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-complement"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-DNA and RNA sequences can be complemented with 
-\series bold
-complement_seq
-\series default
-, which automagically determines the sequence type:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | complement_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-reverse_seq
-\series default
- biopiece (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to remove indels from sequnces?
-\end_layout
-
-\begin_layout Standard
-Indels can be removed from sequences with the 
-\series bold
-remove_indels
-\series default
- biopiece.
- This is useful if you have aligned some sequences (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-align"
-
-\end_inset
-
-) and extracted (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-extract"
-
-\end_inset
-
-) a block of subsequences from the alignment and you want to use these sequence
- in a search where you need to remove the indels first.
- '-', '~', and '.' are considered indels:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_indels
-\end_layout
-
-\begin_layout Subsection
-How to shuffle sequences?
-\end_layout
-
-\begin_layout Standard
-All residues in sequences in the stream can be shuffled to random positions
- using the 
-\series bold
-shuffle_seq
-\series default
- biopiece:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | shuffle_seq
-\end_layout
-
-\begin_layout Subsection
-How to split sequences into overlapping subsequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be slit into overlapping subsequences with the 
-\series bold
-split_seq
-\series default
- biopiece.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | split_seq --word_size=20 --uniq
-\end_layout
-
-\begin_layout Subsection
-How to determine the oligo frequency?
-\end_layout
-
-\begin_layout Standard
-In order to determine if any oligo usage is over represented in one or more
- sequences you can determine the frequency of oligos of a given size with
-\series bold
-oligo_freq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4
-\end_layout
-
-\begin_layout Standard
-And if you have more than one sequence and want to accumulate the frequences
- you need the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-all switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all
-\end_layout
-
-\begin_layout Standard
-To get a meaningful result you need to write the resulting frequencies as
- a table with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-), but first it is important to 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-) the records with the frequencies to avoid full length sequences in the
- table:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all | grab --pattern=OLIGO --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-And the resulting frequency table can be sorted with Unix sort (man sort).
-\end_layout
-
-\begin_layout Subsection
-How to search for sequences in genomes?
-\end_layout
-
-\begin_layout Standard
-See the following biopiece:
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-patscan_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blat_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blast_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-vmatch_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to search sequences for a pattern?
-\begin_inset LatexCommand label
-name "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-It is possible to search sequences in the data stream for patterns using
- the 
-\series bold
-patscan_seq
-\series default
- biopiece which utilizes the powerful scan_for_matches engine.
- Consult the documentation for scan_for_matches in order to learn how to
- define patterns (the documentation is included in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:scan_for_matches-README"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-To search all sequences for a simple pattern consisting of the sequence
- ATCGATCG allowing for 3 mismatches, 2 insertions and 1 deletion:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | patscan_seq --pattern='ATCGATCG[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma seperated list of patterns, so if you want
- to search for more that one pattern do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern='ATCGATCG[3,2,1],GCTAGCTA[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-It is also possible to have a list of different patterns to search for in
- a file with one pattern per line.
- In order to get 
-\series bold
-patscan_seq
-\series default
- to read these patterns use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern_in=<file>
-\end_layout
-
-\begin_layout Standard
-To also scan the complementary strand in nucleotide sequences (
-\series bold
-patscan_seq
-\series default
- automagically determines the sequence type) you need to add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comp switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --comp
-\end_layout
-
-\begin_layout Standard
-It is also possible to use 
-\series bold
-patscan_seq
-\series default
- to output those records that does not contain a certain pattern by using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --invert
-\end_layout
-
-\begin_layout Standard
-Finally, 
-\series bold
-patscan_seq
-\series default
- can also scan for patterns in a given genome sequence, instead of sequences
- in the stream, using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch:
-\end_layout
-
-\begin_layout LyX-Code
-patscan --pattern=<pattern> --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use BLAT for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the data stream can be matched against supported genomes using
-\series bold
-blat_seq
-\series default
- which is a biopiece using BLAT as the name might suggest.
- Currently only Mouse and Human genomes are available and it is not possible
- to use OOC files since there is still a need for a local repository for
- genome files.
- Otherwise it is just:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-The search results can then be written to file with 
-\series bold
-write_psl
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-) or 
-\series bold
-write_bed
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-BED"
-
-\end_inset
-
-) allthough with 
-\series bold
-write_bed
-\series default
- some information will be lost).
- It is also possible to plot chromosome distribution of the search results
- using 
-\series bold
-plot_chrdist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-chrdist"
-
-\end_inset
-
-) or the distribution of the match lengths using 
-\series bold
-plot_lendist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-lendist"
-
-\end_inset
-
-) or a karyogram with the hits using 
-\series bold
-plot_karyogram
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-karyogram"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to use BLAST for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Two biopieces exist for blasting sequences: 
-\series bold
-create_blast_db
-\series default
- is used to create the BLAST database required for BLAST which is queried
- using the biopiece 
-\series bold
-blast_seq
-\series default
-.
- So in order to create a BLAST database from sequences in the data stream
- you simple run:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_blast_db --database=my_database --no_stream
-\end_layout
-
-\begin_layout Standard
-The type of sequence to use for the database is automagically determined
- by 
-\series bold
-create_blast_db
-\series default
-, but don't have a mixture of peptide and nucleic acids sequences in the
- stream.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch takes a path as argument, but will default to 'blastdb_<time_sta
-mp> if not set.
-\end_layout
-
-\begin_layout Standard
-The resulting database can now be queried with sequences in another data
- stream using 
-\series bold
-blast_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --database=my_database
-\end_layout
-
-\begin_layout Standard
-Again, the sequence type is determined automagically and the appropriate
- BLAST program is guessed (see below table), however, the program name can
- be overruled with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-program switch.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="3">
-<features>
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Subject sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Query sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Program guess
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastp
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastx
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tblastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Finally, it is also possible to use 
-\series bold
-blast_seq
-\series default
- for blasting sequences agains a preformatted genome using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch instead of the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use Vmatch for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The powerful suffix array software package Vmatch
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.vmatch.de/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- can be used for exact mapping of sequences against indexed genomes using
- the biopiece 
-\series bold
-vmatch_seq
-\series default
-, which will e.g.
- map 700000 ESTs to the human genome locating all 160 mio hits in less than
- an hour.
- Only nucleotide sequences and sequences longer than 11 nucleotides will
- be mapped.
- It is recommended that sequences consisting of mostly one nucleotide type
- are removed.
- This can be done with the 
-\series bold
-analyze_seq
-\series default
- biopiece 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to allow for mismatches using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist switch.
- So to allow for 2 mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=2
-\end_layout
-
-\begin_layout Standard
-Or to allow for 10% mismathing nucleotides:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=10p
-\end_layout
-
-\begin_layout Standard
-To allow both indels and mismatches use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist switch.
- So to allow for one mismatch or one indel:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=1
-\end_layout
-
-\begin_layout Standard
-Or to allow for 5% indels or mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=5p
-\end_layout
-
-\begin_layout Standard
-Note that using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist or
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist greatly slows down vmatch considerably --- use with care.
-\end_layout
-
-\begin_layout Standard
-The resulting SCORE key can be replaced to hold the number of genome matches
- of a given sequence (multi-mappers) is the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-count switch is given.
-\end_layout
-
-\begin_layout Subsection
-How to find all matches between sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-find-matches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-All matches between two sequences can be determined with the biopiece 
-\series bold
-match_seq
-\series default
-.
- The match finding engine underneath the hood of 
-\series bold
-match_seq
-\series default
- is the super fast suffix tree program MUMmer
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://mummer.sourceforge.net/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which will locate all forward and reverse matches between huge sequences
- in a matter of minutes (if the repeat count is not too high and if the
- word size used is appropriate).
- Matching two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq --word_size=20 --direction=both
-\end_layout
-
-\begin_layout Standard
-The output from 
-\series bold
-match_seq
-\series default
- can be used to generate a dot plot with 
-\series bold
-plot_matches
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-generate-dotplot"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to align sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-align"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the stream can be aligned with the 
-\series bold
-align_seq
-\series default
- biopiece that uses Muscle
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.drive5.com/muscle/muscle.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- as aligment engine.
- Currently you cannot change any of the Muscle alignment parameters and
-\series bold
-align_seq
-\series default
- will create an alignment based on the defaults (which are really good!):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | align_seq
-\end_layout
-
-\begin_layout Standard
-The aligned output can be written to file in FASTA format using 
-\series bold
-write_fasta
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-fasta"
-
-\end_inset
-
-) or in pretty text using 
-\series bold
-write_align
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-alignment"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to create a weight matrix?
-\end_layout
-
-\begin_layout Standard
-If you want a weight matrix to show the sequence composition of a stack
- of sequences you can use the biopiece create_weight_matrix:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix
-\end_layout
-
-\begin_layout Standard
-The result can be output in percent using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-percent switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix --percent
-\end_layout
-
-\begin_layout Standard
-The weight matrix can be written as tabular output with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-) after removeing the records containing SEQ with 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix | grab --invert --keys=SEQ --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-The V0 column will hold the residue, while the rest of the columns will
- hold the frequencies for each sequence position.
-\end_layout
-
-\begin_layout Section
-Plotting
-\end_layout
-
-\begin_layout Standard
-There exists several biopieces for plotting.
- Some of these are based on GNUplot
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.gnuplot.info/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which is an extremely powerful platform to generate all sorts of plots
- and even though GNUplot has quite a steep learning curve, the biopieces
- utilizing GNUplot are simple to use.
- GNUplot is able to output a lot of different formats (called terminals
- in GNUplot), but the biopieces focusses on three formats only:
-\end_layout
-
-\begin_layout Enumerate
-The 'dumb' terminal is default to the GNUplot based biopieces and will output
- a plot in crude ASCII text (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-).
- This is quite nice for a quick and dirty plot to get an overview of your
- data .
-\end_layout
-
-\begin_layout Enumerate
-The 'post' or 'postscript' terminal output postscript code which is publication
- grade graphics that can be viewed with applications such as Ghostview,
- Photoshop, and Preview.
-\end_layout
-
-\begin_layout Enumerate
-The 'svg' terminal output's scalable vector graphics (SVG) which is a vector
- based format.
- SVG is great because you can edit the resulting plot using Photoshop or
- Inkscape
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-Inkscape is a really handy drawing program that is free and open source.
- Availble at 
-\begin_inset LatexCommand htmlurl
-target "http://www.inkscape.org"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- if you want to add additional labels, captions, arrows, and so on and then
- save the result in different formats, such as postscript without loosing
- resolution.
-\end_layout
-
-\begin_layout Standard
-The biopieces for plotting that are not based on GNUplot only output SVG
- (that may change in the future).
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist_ascii.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dumb-terminal"
-
-\end_inset
-
-Dumb terminal
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-The output of a length distribution plot in the default 'dumb terminal'
- to the terminal window.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a histogram?
-\begin_inset LatexCommand label
-name "How-to-plot-histogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A generic histogram for a given value can be plotted with the biopiece 
-\series bold
-plot_histogram
-\series default
- (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Histogram"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_histogram --key=TISSUE --no_stream
-\end_layout
-
-\begin_layout Standard
-(Figure missing)
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align left
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename histogram.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Histogram"
-
-\end_inset
-
-Histogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a length distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-lendist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Plotting of length distributions, weather sequence lengths, patterns lengths,
- hit lengths, 
-\emph on
-etc.
-
-\emph default
- is a really handy thing and can be done with the the biopiece 
-\series bold
-plot_lendist
-\series default
-.
- If you have a file with FASTA entries and want to plot the length distribution
- you do it like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout LyX-Code
-| plot_lendist --key=SEQ_LEN --no_stream
-\end_layout
-
-\begin_layout Standard
-The result will be written to the default dumb terminal and will look like
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-If you instead want the result in postscript format you can do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --result_out=file.ps
-\end_layout
-
-\begin_layout Standard
-That will generate the plot and save it to file, but not interrupt the data
- stream which can then be used in further analysis.
- You can also save the plot implicetly using '>', however, it is then important
- to terminate the stream with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --no_stream > file.ps
-\end_layout
-
-\begin_layout Standard
-The resulting plot can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Length-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Length-distribution"
-
-\end_inset
-
-Length distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Length distribution of 630 piRNA like RNAs.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a chromosome distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-chrdist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you have the result of a sequence search against a multi chromosome genome,
- it is very practical to be able to plot the distribution of search hits
- on the different chromosomes.
- This can be done with 
-\series bold
-plot_chrdist
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_genome | plot_chrdist --no_stream
-\end_layout
-
-\begin_layout Standard
-The above example will result in a crude plot using the 'dumb' terminal,
- and if you want to mess around with the results from the BLAT search you
- probably want to save the result to file first (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-).
- To plot the chromosome distribution from the saved search result you can
- do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=file.bed | plot_chrdist --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-That will result in the output show in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Chromosome-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename chrdist.ps
-       lyxscale 50
-       width 12cm
-       rotateAngle 90
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Chromosome-distribution"
-
-\end_inset
-
-Chromosome distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to generate a dotplot?
-\begin_inset LatexCommand label
-name "sub:How-to-generate-dotplot"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A dotplot is a powerful way to get an overview of the size and location
- of sequence insertions, deletions, and duplications between two sequences.
- Generating a dotplot with biopieces is a two step process where you initially
- find all matches between two sequences using the tool 
-\series bold
-match_seq
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-find-matches"
-
-\end_inset
-
-) and plot the resulting matches with 
-\series bold
-plot_matches
-\series default
-.
- Matching and plotting two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq | plot_matches --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-The resulting dotplot is in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dotplot"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename dotplot.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dotplot"
-
-\end_inset
-
-Dotplot
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Forward matches are displayed in green while reverse matches are displayed
- in red.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a sequence logo?
-\end_layout
-
-\begin_layout Standard
-Sequence logos can be generate with 
-\series bold
-plot_seqlogo
-\series default
-.
- The sequnce type is determined automagically and an entropy scale of 2
- bits and 4 bits is used for nucleotide and peptide sequences, respectively
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand htmlurl
-target "http://www.ccrnp.ncifcrf.gov/~toms/paper/hawaii/latex/node5.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_seqlogo --no_stream --result_out=seqlogo.svg
-\end_layout
-
-\begin_layout Standard
-An example of a sequence logo can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Sequence-logo"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename seqlogo.png
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Sequence-logo"
-
-\end_inset
-
-Sequence logo
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a karyogram?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-karyogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To plot search hits on genomes use 
-\series bold
-plot_karyogram
-\series default
-, which will output a nice karyogram in SVG graphics:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_karyogram --result_out=karyogram.svg
-\end_layout
-
-\begin_layout Standard
-The banding data is taken from the UCSC genome browser database and currently
- only Human and Mouse is supported.
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Karyogram"
-
-\end_inset
-
- shows the distribution of piRNA like RNAs matched to the Human genome.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename karyogram.png
-       lyxscale 35
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Karyogram"
-
-\end_inset
-
-Karyogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Hits from a search of piRNA like RNAs in the Human genome is displayed as
- short horizontal bars.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Uploading Results
-\end_layout
-
-\begin_layout Subsection
-How do I display my results in the UCSC Genome Browser?
-\end_layout
-
-\begin_layout Standard
-Results from the list of biopieces below can be uploaded directly to a local
- mirror of the UCSC Genome Browser using the biopiece 
-\series bold
-upload_to_ucsc
-\series default
-:
-\end_layout
-
-\begin_layout Itemize
-patscan_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blat_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blast_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-vmatch_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The syntax for uploading data the most simple way requires two mandatory
- switches: 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database, which is the UCSC database name (such as hg18, mm9, etc.) and
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-table which should be the users initials followed by an underscore and a
- short description of the data:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | upload_to_ucsc --database=hg18 --table=mah_snoRNAs
-\end_layout
-
-\begin_layout Standard
-The 
-\series bold
-upload_to_ucsc
-\series default
- biopiece modifies the users ~/ucsc/my_tracks.ra file automagically (a backup
- is created with the name ~/ucsc/my_tracks.ra~) with default values that
- can be overridden using the following switches:
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-short_label - Short label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-long_label - Long label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-group - Track group name - Default=<user name as defined in env>
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-priority - Track display priority - Default=1
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-color - Track color - Default=147,73,42
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-chunk_size - Chunks for loading - Default=10000000
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-visibility - Track visibility - Default=pack
-\end_layout
-
-\begin_layout Standard
-Also, data in BED or PSL format can be uploaded with 
-\series bold
-upload_to_ucsc
-\series default
- as long as these reference to genomes and chromosomes existing in the UCSC
- Genome Browser:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<bed file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<psl file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout Section
-Power Scripting
-\end_layout
-
-\begin_layout Standard
-It is possible to do commandline scripting of biopiece records using Perl.
- Because a biopiece record essentially is a hash structure, you can pass
- records to 
-\series bold
-bioscript
-\series default
- command, which is a wrapper around the Perl executable that allows direct
- manipulations of the records using the power of Perl.
-\end_layout
-
-\begin_layout Standard
-In the below example we replace in all records the value to the CHR key
- with a forthrunning number:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{CHR}=$i++; put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-Something more useful would probably be to create custom FASTA headers.
- E.g.
- if we read in a BED file, lookup the genomic sequence, create a custom
- FASTA header with 
-\series bold
-bioscript
-\series default
- and output FASTA entries:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{SEQ_NAME}= //
-\end_layout
-
-\begin_layout LyX-Code
-join("_",$r->{CHR},$r->{CHR_BEG},$r->{CHR_END}); put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-And the output:
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_21567527_21567550 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_693380_693403 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_13859534_13859557 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_9005090_9005113 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_2106825_2106848 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_14649031_14649054 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout Section
-Trouble shooting
-\end_layout
-
-\begin_layout Standard
-Shoot the messenger!
-\end_layout
-
-\begin_layout Section
-\start_of_appendix
-Keys
-\begin_inset LatexCommand label
-name "sec:Keys"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-HIT
-\end_layout
-
-\begin_layout Standard
-HIT_BEG
-\end_layout
-
-\begin_layout Standard
-HIT_END
-\end_layout
-
-\begin_layout Standard
-HIT_LEN
-\end_layout
-
-\begin_layout Standard
-HIT_NAME
-\end_layout
-
-\begin_layout Standard
-PATTERN
-\end_layout
-
-\begin_layout Section
-Switches
-\begin_inset LatexCommand label
-name "sec:Switches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num
-\end_layout
-
-\begin_layout Section
-scan_for_matches README
-\begin_inset LatexCommand label
-name "sec:scan_for_matches-README"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout LyX-Code
-                          scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    A Program to Scan Nucleotide or Protein Sequences for Matching Patterns
-\end_layout
-
-\begin_layout LyX-Code
-                        Ross Overbeek
-\end_layout
-
-\begin_layout LyX-Code
-                        MCS
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne National Laboratory
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne, IL 60439
-\end_layout
-
-\begin_layout LyX-Code
-                        USA
-\end_layout
-
-\begin_layout LyX-Code
-Scan_for_matches is a utility that we have written to search for
-\end_layout
-
-\begin_layout LyX-Code
-patterns in DNA and protein sequences.
-  I wrote most of the code,
-\end_layout
-
-\begin_layout LyX-Code
-although David Joerg and Morgan Price wrote sections of an
-\end_layout
-
-\begin_layout LyX-Code
-earlier version.
-  The whole notion of pattern matching has a rich
-\end_layout
-
-\begin_layout LyX-Code
-history, and we borrowed liberally from many sources.
-  However, it is
-\end_layout
-
-\begin_layout LyX-Code
-worth noting that we were strongly influenced by the elegant tools
-\end_layout
-
-\begin_layout LyX-Code
-developed and distributed by David Searls.
-  My intent is to make the
-\end_layout
-
-\begin_layout LyX-Code
-existing tool available to anyone in the research community that might
-\end_layout
-
-\begin_layout LyX-Code
-find it useful.
-  I will continue to try to fix bugs and make suggested
-\end_layout
-
-\begin_layout LyX-Code
-enhancements, at least until I feel that a superior tool exists.
-\end_layout
-
-\begin_layout LyX-Code
-Hence, I would appreciate it if all bug reports and suggestions are
-\end_layout
-
-\begin_layout LyX-Code
-directed to me at Overbeek@mcs.anl.gov.
-  
-\end_layout
-
-\begin_layout LyX-Code
-I will try to log all bug fixes and report them to users that send me
-\end_layout
-
-\begin_layout LyX-Code
-their email addresses.
-  I do not require that you give me your name
-\end_layout
-
-\begin_layout LyX-Code
-and address.
-  However, if you do give it to me, I will try to notify
-\end_layout
-
-\begin_layout LyX-Code
-you of serious problems as they are discovered.
-\end_layout
-
-\begin_layout LyX-Code
-Getting Started:
-\end_layout
-
-\begin_layout LyX-Code
-    The distribution should contain at least the following programs:
-\end_layout
-
-\begin_layout LyX-Code
-                README                  -     This document
-\end_layout
-
-\begin_layout LyX-Code
-                ggpunit.c               -     One of the two source files
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches.c      -     The second source file
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                run_tests               -     A perl script to test things
-\end_layout
-
-\begin_layout LyX-Code
-                show_hits               -     A handy perl script
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_input          -     Test sequences for DNA
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_patterns       -     Test patterns for DNA scan
-\end_layout
-
-\begin_layout LyX-Code
-                test_output             -     Desired output from test
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_input         -     Test protein sequences
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_patterns      -     Test patterns for proteins
-\end_layout
-
-\begin_layout LyX-Code
-                testit                  -     a perl script used for test
-\end_layout
-
-\begin_layout LyX-Code
-    Only the first three files are required.
-  The others are useful,
-\end_layout
-
-\begin_layout LyX-Code
-    but only if you have Perl installed on your system.
-  If you do
-\end_layout
-
-\begin_layout LyX-Code
-    have Perl, I suggest that you type
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                which perl
-\end_layout
-
-\begin_layout LyX-Code
-    to find out where it installed.
-  On my system, I get the following
-\end_layout
-
-\begin_layout LyX-Code
-    response:
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                clone% which perl
-\end_layout
-
-\begin_layout LyX-Code
-                /usr/local/bin/perl
-\end_layout
-
-\begin_layout LyX-Code
-    indicating that Perl is installed in /usr/local/bin.
-  Anyway, once
-\end_layout
-
-\begin_layout LyX-Code
-    you know where it is installed, edit the first line of files 
-\end_layout
-
-\begin_layout LyX-Code
-        testit
-\end_layout
-
-\begin_layout LyX-Code
-        show_hits
-\end_layout
-
-\begin_layout LyX-Code
-    replacing /usr/local/bin/perl with the appropriate location.
-  I
-\end_layout
-
-\begin_layout LyX-Code
-    will assume that you can do this, although it is not critical (it
-\end_layout
-
-\begin_layout LyX-Code
-    is needed only to test the installation and to use the "show_hits"
-\end_layout
-
-\begin_layout LyX-Code
-    utility).
-  Perl is not required to actually install and run
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches.
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not have Perl, I suggest you get it and install it (it
-\end_layout
-
-\begin_layout LyX-Code
-    is a wonderful utility).
-  Information about Perl and how to get it
-\end_layout
-
-\begin_layout LyX-Code
-    can be found in the book "Programming Perl" by Larry Wall and
-\end_layout
-
-\begin_layout LyX-Code
-    Randall L.
- Schwartz, published by O'Reilly & Associates, Inc.
-\end_layout
-
-\begin_layout LyX-Code
-    To get started, you will need to compile the program.
-   I do this
-\end_layout
-
-\begin_layout LyX-Code
-    using 
-\end_layout
-
-\begin_layout LyX-Code
-        gcc -O -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not use GNU C, use 
-\end_layout
-
-\begin_layout LyX-Code
-        cc -O -DCC -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    which works on my Sun.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    Once you have compiled scan_for_matches, you can verify that it
-\end_layout
-
-\begin_layout LyX-Code
-    works with
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    You may get a few strange lines of the sort
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        rm: tmp: No such file or directory
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    These should cause no concern.
-  However, if the "diff" shows that
-\end_layout
-
-\begin_layout LyX-Code
-    tmp and test_output are different, contact me (you have a
-\end_layout
-
-\begin_layout LyX-Code
-    problem).
-\end_layout
-
-\begin_layout LyX-Code
-    You should now be able to use scan_for_matches by following the
-\end_layout
-
-\begin_layout LyX-Code
-    instructions given below (which is all the normal user should have
-\end_layout
-
-\begin_layout LyX-Code
-    to understand, once things are installed properly).
-\end_layout
-
-\begin_layout LyX-Code
- ==============================================================
-\end_layout
-
-\begin_layout LyX-Code
-How to run scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    To run the program, you type need to create two files
-\end_layout
-
-\begin_layout LyX-Code
-    1.
-  the first file contains the pattern you wish to scan for; I'll
-\end_layout
-
-\begin_layout LyX-Code
-        call this file pat_file in what follows (but any name is ok)
-\end_layout
-
-\begin_layout LyX-Code
-    2.
-  the second file contains a set of sequences to scan.
-  These
-\end_layout
-
-\begin_layout LyX-Code
-        should be in "fasta format".
-  Just look at the contents of
-\end_layout
-
-\begin_layout LyX-Code
-        test_dna_input to see examples of this format.
-  Basically,
-\end_layout
-
-\begin_layout LyX-Code
-        each sequence begins with a line of the form
-\end_layout
-
-\begin_layout LyX-Code
-           >sequence_id
-\end_layout
-
-\begin_layout LyX-Code
-        and is followed by one or more lines containing the sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    Once these files have been created, you just use
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file < input_file
-\end_layout
-
-\begin_layout LyX-Code
-    to scan all of the input sequences for the given pattern.
-  As an
-\end_layout
-
-\begin_layout LyX-Code
-    example, suppose that pat_file contains a single line of the form
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    Then,
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    should produce two "hits".
-  When I run this on my machine, I get
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        CGUAACC GGTTAACC GGUUACG 
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-Simple Patterns Built by Matching Ranges and Reverse Complements
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first explain this simple pattern:
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    The pattern consists of three "pattern units" separated by spaces.
-\end_layout
-
-\begin_layout LyX-Code
-    The first pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match 4 to 7 characters and call them p1".
-  The
-\end_layout
-
-\begin_layout LyX-Code
-    second pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                3...8
-\end_layout
-
-\begin_layout LyX-Code
-    which means "then match 3 to 8 characters".
-  The last pattern unit
-\end_layout
-
-\begin_layout LyX-Code
-    is 
-\end_layout
-
-\begin_layout LyX-Code
-                ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match the reverse complement of p1".
-  The first
-\end_layout
-
-\begin_layout LyX-Code
-    reported hit is shown as
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-    which states that characters 6 through 27 of sequence tst1 were
-\end_layout
-
-\begin_layout LyX-Code
-    matched.
-  "cguaac" matched the first pattern unit, "ggttaacc" the
-\end_layout
-
-\begin_layout LyX-Code
-    second, and "gguuacg" the third.
-  This is an example of a common
-\end_layout
-
-\begin_layout LyX-Code
-    type of pattern used to search for sections of DNA or RNA that
-\end_layout
-
-\begin_layout LyX-Code
-    would fold into a hairpin loop.
-\end_layout
-
-\begin_layout LyX-Code
-Searching Both Strands
-\end_layout
-
-\begin_layout LyX-Code
-    Now for a short aside: scan_for_matches only searched the
-\end_layout
-
-\begin_layout LyX-Code
-    sequences in the input file; it did not search the opposite
-\end_layout
-
-\begin_layout LyX-Code
-    strand.
-  With a pattern of the sort we just used, there is not
-\end_layout
-
-\begin_layout LyX-Code
-    need o search the opposite strand.
-  However, it is normally the
-\end_layout
-
-\begin_layout LyX-Code
-    case that you will wish to search both the sequence and the
-\end_layout
-
-\begin_layout LyX-Code
-    opposite strand (i.e., the reverse complement of the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    To do that, you would just use the "-c" command line.
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    Hits on the opposite strand will show a beginning location greater
-\end_layout
-
-\begin_layout LyX-Code
-    than te end location of the match.
-\end_layout
-
-\begin_layout LyX-Code
-Defining Pairing Rules and Allowing Mismatches, Insertions, and Deletions
-\end_layout
-
-\begin_layout LyX-Code
-    Let us stop now and ask "What additional features would one need to
-\end_layout
-
-\begin_layout LyX-Code
-    really find the kinds of loop structures that characterize tRNAs,
-\end_layout
-
-\begin_layout LyX-Code
-    rRNAs, and so forth?"  I can immediately think of two:
-\end_layout
-
-\begin_layout LyX-Code
-        a) you will need to be able to allow non-standard pairings
-\end_layout
-
-\begin_layout LyX-Code
-           (those other than G-C and A-U), and
-\end_layout
-
-\begin_layout LyX-Code
-        b) you will need to be able to tolerate some number of
-\end_layout
-
-\begin_layout LyX-Code
-           mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first show you how to handle non-standard "rules for
-\end_layout
-
-\begin_layout LyX-Code
-    pairing in reverse complements".
-  Consider the following pattern,
-\end_layout
-
-\begin_layout LyX-Code
-    which I show as two line (you may use as many lines as you like in
-\end_layout
-
-\begin_layout LyX-Code
-    forming a pattern, although you can only break a pattern at points
-\end_layout
-
-\begin_layout LyX-Code
-    where space would be legal):
-\end_layout
-
-\begin_layout LyX-Code
-            r1={au,ua,gc,cg,gu,ug,ga,ag} 
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3 0...4 p2=2...5 1...5 r1~p2 0...4 ~p1        
-\end_layout
-
-\begin_layout LyX-Code
-    The first "pattern unit" does not actually match anything; rather,
-\end_layout
-
-\begin_layout LyX-Code
-    it defines a "pairing rule" in which standard pairings are
-\end_layout
-
-\begin_layout LyX-Code
-    allowed, as well as G-A and A-G (in case you wondered, Us and Ts
-\end_layout
-
-\begin_layout LyX-Code
-    and upper and lower case can be used interchangably; for example
-\end_layout
-
-\begin_layout LyX-Code
-    r1={AT,UA,gc,cg} could be used to define the "standard rule" for
-\end_layout
-
-\begin_layout LyX-Code
-    pairings).
-  The second line consists of six pattern units which
-\end_layout
-
-\begin_layout LyX-Code
-    may be interpreted as follows:
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3     match 2 or 3 characters (call it p1)
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters
-\end_layout
-
-\begin_layout LyX-Code
-            p2=2...5     match 2 to 5 characters (call it p2)
-\end_layout
-
-\begin_layout LyX-Code
-            1...5        match 1 to 5 characters
-\end_layout
-
-\begin_layout LyX-Code
-            r1~p2        match the reverse complement of p2,
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing G-A and A-G pairs
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters        
-\end_layout
-
-\begin_layout LyX-Code
-            ~p1          match the reverse complement of p1
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing only G-C, C-G, A-T, and T-A pairs
-\end_layout
-
-\begin_layout LyX-Code
-    Thus, r1~p2 means "match the reverse complement of p2 using rule r1".
-\end_layout
-
-\begin_layout LyX-Code
-    Now let us consider the issue of tolerating mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-    You may add a "qualifier" to the pattern unit that gives the
-\end_layout
-
-\begin_layout LyX-Code
-    tolerable number of "mismatches, deletions, and insertions".
-\end_layout
-
-\begin_layout LyX-Code
-    Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                p1=10...10 3...8 ~p1[1,2,1]
-\end_layout
-
-\begin_layout LyX-Code
-    means that the third pattern unit must match 10 characters,
-\end_layout
-
-\begin_layout LyX-Code
-    allowing one "mismatch" (a pairing other than G-C, C-G, A-T, or
-\end_layout
-
-\begin_layout LyX-Code
-    T-A), two deletions (a deletion is a character that occurs in p1,
-\end_layout
-
-\begin_layout LyX-Code
-    but has been "deleted" from the string matched by ~p1), and one
-\end_layout
-
-\begin_layout LyX-Code
-    insertion (an "insertion" is a character that occurs in the string
-\end_layout
-
-\begin_layout LyX-Code
-    matched by ~p1, but not for which no corresponding character
-\end_layout
-
-\begin_layout LyX-Code
-    occurs in p1).
-  In this case, the pattern would match
-\end_layout
-
-\begin_layout LyX-Code
-              ACGTACGTAC GGGGGGGG GCGTTACCT
-\end_layout
-
-\begin_layout LyX-Code
-    which is, you must admit, a fairly weak loop.
-  It is common to
-\end_layout
-
-\begin_layout LyX-Code
-    allow mismatches, but you will find yourself using insertions and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions much more rarely.
-  In any event, you should note that
-\end_layout
-
-\begin_layout LyX-Code
-    allowing mismatches, insertions, and deletions does force the
-\end_layout
-
-\begin_layout LyX-Code
-    program to try many additional possible pairings, so it does slow
-\end_layout
-
-\begin_layout LyX-Code
-    things down a bit.
-\end_layout
-
-\begin_layout LyX-Code
-How Patterns Are Matched
-\end_layout
-
-\begin_layout LyX-Code
-    Now is as good a time as any to discuss the basic flow of control
-\end_layout
-
-\begin_layout LyX-Code
-    when matching patterns.
-  Recall that a "pattern" is a sequence of
-\end_layout
-
-\begin_layout LyX-Code
-    "pattern units".
-  Suppose that the pattern units were
-\end_layout
-
-\begin_layout LyX-Code
-        u1 u2 u3 u4 ...
- un
-\end_layout
-
-\begin_layout LyX-Code
-    The scan of a sequence S begins by setting the current position
-\end_layout
-
-\begin_layout LyX-Code
-    to 1.
-  Then, an attempt is made to match u1 starting at the
-\end_layout
-
-\begin_layout LyX-Code
-    current position.
-  Each attempt to match a pattern unit can
-\end_layout
-
-\begin_layout LyX-Code
-    succeed or fail.
-  If it succeeds, then an attempt is made to match
-\end_layout
-
-\begin_layout LyX-Code
-    the next unit.
-  If it fails, then an attempt is made to find an
-\end_layout
-
-\begin_layout LyX-Code
-    alternative match for the immediately preceding pattern unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    this succeeds, then we proceed forward again to the next unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    it fails we go back to the preceding unit.
-  This process is called
-\end_layout
-
-\begin_layout LyX-Code
-    "backtracking".
-  If there are no previous units, then the current
-\end_layout
-
-\begin_layout LyX-Code
-    position is incremented by one, and everything starts again.
-  This
-\end_layout
-
-\begin_layout LyX-Code
-    proceeds until either the current position goes past the end of
-\end_layout
-
-\begin_layout LyX-Code
-    the sequence or all of the pattern units succeed.
-  On success,
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches reports the "hit", the current position is set
-\end_layout
-
-\begin_layout LyX-Code
-    just past the hit, and an attempt is made to find another hit.
-\end_layout
-
-\begin_layout LyX-Code
-    If you wish to limit the scan to simply finding a maximum of, say,
-\end_layout
-
-\begin_layout LyX-Code
-    10 hits, you can use the -n option (-n 10 would set the limit to
-\end_layout
-
-\begin_layout LyX-Code
-    10 reported hits).
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c -n 1 pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    would search for just the first hit (and would stop searching the
-\end_layout
-
-\begin_layout LyX-Code
-    current sequences or any that follow in the input file).
-\end_layout
-
-\begin_layout LyX-Code
-Searching for repeats:
-\end_layout
-
-\begin_layout LyX-Code
-    In the last section, I discussed almost all of the details
-\end_layout
-
-\begin_layout LyX-Code
-    required to allow you to look for repeats.
-  Consider the following
-\end_layout
-
-\begin_layout LyX-Code
-    set of patterns:
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3...8 p1   (find exact 6 character repeat separated
-\end_layout
-
-\begin_layout LyX-Code
-                             by to 8 characters)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3..8 p1[1,0,0]   (allow one mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=3...3 p1[1,0,0] p1[1,0,0] p1[1,0,0]  
-\end_layout
-
-\begin_layout LyX-Code
-                            (match 12 characters that are the remains
-\end_layout
-
-\begin_layout LyX-Code
-                             of a 3-character sequence occurring 4 times)
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-        p1=4...8 0...3 p2=6...8 p1 0...3 p2
-\end_layout
-
-\begin_layout LyX-Code
-                            (This would match things like
-\end_layout
-
-\begin_layout LyX-Code
-                                ATCT G TCTTT ATCT TG TCTTT
-\end_layout
-
-\begin_layout LyX-Code
-                            )
-\end_layout
-
-\begin_layout LyX-Code
-Searching for particular sequences:
-\end_layout
-
-\begin_layout LyX-Code
-    Occasionally, one wishes to match a specific, known sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    In such a case, you can just give the sequence (along with an
-\end_layout
-
-\begin_layout LyX-Code
-    optional statement of the allowable mismatches, insertions, and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions).
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...8 GAGA ~p1    (match a hairpin with GAGA as the loop)
-\end_layout
-
-\begin_layout LyX-Code
-        RRRRYYYY             (match 4 purines followed by 4 pyrimidines)
-\end_layout
-
-\begin_layout LyX-Code
-        TATAA[1,0,0]         (match TATAA, allowing 1 mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-Matches against a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-    I will conclude my examples of the types of pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    available for matching against nucleotide sequences by discussing a
-\end_layout
-
-\begin_layout LyX-Code
-    crude implemetation of matching using a "weight matrix".
-  While I
-\end_layout
-
-\begin_layout LyX-Code
-    am less than overwhelmed with the syntax that I chose, I think that
-\end_layout
-
-\begin_layout LyX-Code
-    the reader should be aware that I was thinking of generating
-\end_layout
-
-\begin_layout LyX-Code
-    patterns containing such pattern units automatically from
-\end_layout
-
-\begin_layout LyX-Code
-    alignments (and did not really plan on typing such things in by
-\end_layout
-
-\begin_layout LyX-Code
-    hand very often).
-  Anyway, suppose that you wanted to match a
-\end_layout
-
-\begin_layout LyX-Code
-    sequence of eight characters.
-  The "consensus" of these eight
-\end_layout
-
-\begin_layout LyX-Code
-    characters is GRCACCGS, but the actual "frequencies of occurrence"
-\end_layout
-
-\begin_layout LyX-Code
-    are given in the matrix below.
-  Thus, the first character is an A
-\end_layout
-
-\begin_layout LyX-Code
-    16% the time and a G 84% of the time.
-  The second is an A 57% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time, a C 10% of the time, a G 29% of the time, and a T 4% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time.
-  
-\end_layout
-
-\begin_layout LyX-Code
-             C1     C2    C3    C4   C5    C6    C7    C8
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-       A     16     57     0    95    0    18     0     0
-\end_layout
-
-\begin_layout LyX-Code
-       C      0     10    80     0  100    60     0    50
-\end_layout
-
-\begin_layout LyX-Code
-       G     84     29     0     0    0    20   100    50
-\end_layout
-
-\begin_layout LyX-Code
-       T      0      4    20     5    0     2     0     0   
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-    One could use the following pattern unit to search for inexact
-\end_layout
-
-\begin_layout LyX-Code
-    matches related to such a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-        {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    This pattern unit will attempt to match exactly eight characters.
-\end_layout
-
-\begin_layout LyX-Code
-    For each character in the sequence, the entry in the corresponding
-\end_layout
-
-\begin_layout LyX-Code
-    tuple is added to an accumulated sum.
-  If the sum is greater than
-\end_layout
-
-\begin_layout LyX-Code
-    450, the match succeeds; else it fails.
-\end_layout
-
-\begin_layout LyX-Code
-    Recently, this feature was upgraded to allow ranges.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-  600 >  {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    will work, as well.
-\end_layout
-
-\begin_layout LyX-Code
-Allowing Alternatives:
-\end_layout
-
-\begin_layout LyX-Code
-    Very occasionally, you may wish to allow alternative pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    (i.e., "match either A or B").
-  You can do this using something
-\end_layout
-
-\begin_layout LyX-Code
-    like
-\end_layout
-
-\begin_layout LyX-Code
-                ( GAGA | GCGCA)
-\end_layout
-
-\begin_layout LyX-Code
-    which says "match either GAGA or GCGCA".
-  You may take
-\end_layout
-
-\begin_layout LyX-Code
-    alternatives of a list of pattern units, for example
-\end_layout
-
-\begin_layout LyX-Code
-        (p1=3...3 3...8 ~p1 | p1=5...5 4...4 ~p1 GGG)
-\end_layout
-
-\begin_layout LyX-Code
-    would match one of two sequences of pattern units.
-  There is one
-\end_layout
-
-\begin_layout LyX-Code
-    clumsy aspect of the syntax: to match a list of alternatives, you
-\end_layout
-
-\begin_layout LyX-Code
-    need to fully the request.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        (GAGA | (GCGCA | TTCGA))
-\end_layout
-
-\begin_layout LyX-Code
-    would be needed to try the three alternatives.
-\end_layout
-
-\begin_layout LyX-Code
-One Minor Extension
-\end_layout
-
-\begin_layout LyX-Code
-    Sometimes a pattern will contain a sequence of distinct ranges,
-\end_layout
-
-\begin_layout LyX-Code
-    and you might wish to limit the sum of the lengths of the matched
-\end_layout
-
-\begin_layout LyX-Code
-    subsequences.
-   For example, suppose that you basically wanted to
-\end_layout
-
-\begin_layout LyX-Code
-    match something like
-\end_layout
-
-\begin_layout LyX-Code
-    ARRYYTT p1=0...5 GCA[1,0,0] p2=1...6 ~p1 4...8 ~p2 p3=4...10 CCT
-\end_layout
-
-\begin_layout LyX-Code
-    but that the sum of the lengths of p1, p2, and p3 must not exceed
-\end_layout
-
-\begin_layout LyX-Code
-    eight characters.
-  To do this, you could add 
-\end_layout
-
-\begin_layout LyX-Code
-        length(p1+p2+p3) < 9
-\end_layout
-
-\begin_layout LyX-Code
-    as the last pattern unit.
-  It will just succeed or fail (but does
-\end_layout
-
-\begin_layout LyX-Code
-    not actually match any characters in the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-Matching Protein Sequences
-\end_layout
-
-\begin_layout LyX-Code
-    Suppose that the input file contains protein sequences.
-  In this
-\end_layout
-
-\begin_layout LyX-Code
-    case, you must invoke scan_for_matches with the "-p" option.
-  You
-\end_layout
-
-\begin_layout LyX-Code
-    cannot use aspects of the language that relate directly to
-\end_layout
-
-\begin_layout LyX-Code
-    nucleotide sequences (e.g., the -c command line option or pattern
-\end_layout
-
-\begin_layout LyX-Code
-    constructs referring to the reverse complement of a previously
-\end_layout
-
-\begin_layout LyX-Code
-    matched unit).
-  
-\end_layout
-
-\begin_layout LyX-Code
-    You also have two additional constructs that allow you to match
-\end_layout
-
-\begin_layout LyX-Code
-    either "one of a set of amino acids" or "any amino acid other than
-\end_layout
-
-\begin_layout LyX-Code
-    those a given set".
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=0...4 any(HQD) 1...3 notany(HK) p1
-\end_layout
-
-\begin_layout LyX-Code
-    would successfully match a string like
-\end_layout
-
-\begin_layout LyX-Code
-           YWV D AA C YWV
-\end_layout
-
-\begin_layout LyX-Code
-Using the show_hits Utility
-\end_layout
-
-\begin_layout LyX-Code
-    When viewing a large set of complex matches, you might find it
-\end_layout
-
-\begin_layout LyX-Code
-    convenient to post-process the scan_for_matches output to get a
-\end_layout
-
-\begin_layout LyX-Code
-    more readable version.
-  We provide a simple post-processor called
-\end_layout
-
-\begin_layout LyX-Code
-    "show_hits".
-  To see its effect, just pipe the output of a
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches into show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-     Normal Output:
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[1,28]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc  ggttaac cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[28,1]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc  ggttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[2,31]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGUAAC C GGTTAACC GGUUACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[31,2]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGTAAC C GGTTAACC GGTTACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[3,32]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc g gttaactt cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[32,3]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc g aagttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-     Piped Through show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    Optionally, you can specify which of the "fields" in the matches
-\end_layout
-
-\begin_layout LyX-Code
-    you wish to sort on, and show_hits will sort them.
-  The field
-\end_layout
-
-\begin_layout LyX-Code
-    numbers start with 0.
-  So, you might get something like
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits 2 1
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the hits have been sorted on fields 2 and 1 (that is,
-\end_layout
-
-\begin_layout LyX-Code
-    the third and second matched subfields).
-\end_layout
-
-\begin_layout LyX-Code
-    show_hits is just one possible little post-processor, and you
-\end_layout
-
-\begin_layout LyX-Code
-    might well wish to write a customized one for yourself.
-\end_layout
-
-\begin_layout LyX-Code
-Reducing the Cost of a Search
-\end_layout
-
-\begin_layout LyX-Code
-    The scan_for_matches utility uses a fairly simple search, and may
-\end_layout
-
-\begin_layout LyX-Code
-    consume large amounts of CPU time for complex patterns.
-  Someday,
-\end_layout
-
-\begin_layout LyX-Code
-    I may decide to optimize the code.
-  However, until then, let me
-\end_layout
-
-\begin_layout LyX-Code
-    mention one useful technique.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    When you have a complex pattern that includes a number of varying
-\end_layout
-
-\begin_layout LyX-Code
-    ranges, imprecise matches, and so forth, it is useful to
-\end_layout
-
-\begin_layout LyX-Code
-    "pipeline" matches.
-  That is, form a simpler pattern that can be
-\end_layout
-
-\begin_layout LyX-Code
-    used to scan through a large database extracting sections that
-\end_layout
-
-\begin_layout LyX-Code
-    might be matched by the more complex pattern.
-  Let me illustrate
-\end_layout
-
-\begin_layout LyX-Code
-    with a short example.
-  Suppose that you really wished to match the
-\end_layout
-
-\begin_layout LyX-Code
-    pattern 
-\end_layout
-
-\begin_layout LyX-Code
-    p1=3...5 0...8 ~p1[1,1,0] p2=6...7 3...6 AGC 3...5 RYGC ~p2[1,0,0]
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the pattern units AGC 3...5 RYGC can be used to rapidly
-\end_layout
-
-\begin_layout LyX-Code
-    constrain the overall search.
-  You can preprocess the overall
-\end_layout
-
-\begin_layout LyX-Code
-    database using the pattern:
-\end_layout
-
-\begin_layout LyX-Code
-          31...31 AGC 3...5 RYGC 7...7
-\end_layout
-
-\begin_layout LyX-Code
-    Put the complex pattern in pat_file1 and the simpler pattern in
-\end_layout
-
-\begin_layout LyX-Code
-    pat_file2.
-  Then use,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file2 < nucleotide_database |
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file1
-\end_layout
-
-\begin_layout LyX-Code
-    The output will show things like
-\end_layout
-
-\begin_layout LyX-Code
-    >seqid:[232,280][2,47]
-\end_layout
-
-\begin_layout LyX-Code
-    matches pieces
-\end_layout
-
-\begin_layout LyX-Code
-    Then, the actual section of the sequence that was matched can be
-\end_layout
-
-\begin_layout LyX-Code
-    easily computed as [233,278] (remember, the positions start from
-\end_layout
-
-\begin_layout LyX-Code
-    1, not 0).
-\end_layout
-
-\begin_layout LyX-Code
-    Let me finally add, you should do a few short experiments to see
-\end_layout
-
-\begin_layout LyX-Code
-    whether or not such pipelining actually improves performance -- it
-\end_layout
-
-\begin_layout LyX-Code
-    is not always obvious where the time is going, and I have
-\end_layout
-
-\begin_layout LyX-Code
-    sometimes found that the added complexity of pipelining actually
-\end_layout
-
-\begin_layout LyX-Code
-    slowed things up.
-  It gets its best improvements when there are
-\end_layout
-
-\begin_layout LyX-Code
-    exact matches of more than just a few characters that can be
-\end_layout
-
-\begin_layout LyX-Code
-    rapidly used to eliminate large sections of the database.
-\end_layout
-
-\begin_layout LyX-Code
-=============
-\end_layout
-
-\begin_layout LyX-Code
-Additions:
-\end_layout
-
-\begin_layout LyX-Code
-Feb 9, 1995:   the pattern units ^ and $ now work as in normal regular
-\end_layout
-
-\begin_layout LyX-Code
-               expressions.
-  That is
-\end_layout
-
-\begin_layout LyX-Code
-                        TTF $
-\end_layout
-
-\begin_layout LyX-Code
-               matches only TTF at the end of the string and 
-\end_layout
-
-\begin_layout LyX-Code
-                        ^ TTF 
-\end_layout
-
-\begin_layout LyX-Code
-               matches only an initial TTF
-\end_layout
-
-\begin_layout LyX-Code
-               The pattern unit 
-\end_layout
-
-\begin_layout LyX-Code
-                        <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches the reverse of the string named p1.
-  That is,
-\end_layout
-
-\begin_layout LyX-Code
-               if p1 matched GCAT, then <p1 would match TACG.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                   p1=6...6 <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches a real palindrome (not the biologically common
-\end_layout
-
-\begin_layout LyX-Code
-               meaning of "reverse complement")
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\end_body
-\end_document
diff --git a/bp_doc/biopieces_cookbook.lyx~ b/bp_doc/biopieces_cookbook.lyx~
deleted file mode 100644 (file)
index 1090825..0000000
+++ /dev/null
@@ -1,7258 +0,0 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
-\lyxformat 276
-\begin_document
-\begin_header
-\textclass scrartcl
-\begin_preamble
-\usepackage[colorlinks=true, urlcolor=blue, linkcolor=black]{hyperref}
-\end_preamble
-\language english
-\inputencoding auto
-\font_roman default
-\font_sans default
-\font_typewriter default
-\font_default_family default
-\font_sc false
-\font_osf false
-\font_sf_scale 100
-\font_tt_scale 100
-\graphics default
-\paperfontsize default
-\spacing single
-\papersize default
-\use_geometry false
-\use_amsmath 1
-\use_esint 1
-\cite_engine basic
-\use_bibtopic false
-\paperorientation portrait
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation skip
-\defskip medskip
-\quotes_language english
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-\tracking_changes false
-\output_changes false
-\author "" 
-\author "" 
-\end_header
-
-\begin_body
-
-\begin_layout Title
-Biopieces Cookbook
-\end_layout
-
-\begin_layout Author
-Martin Asser Hansen
-\end_layout
-
-\begin_layout Publishers
-John Mattick Group
-\newline
-Institute for Molecular Bioscience
-\newline
-University of Queensland
-\newline
-Aust
-ralia
-\newline
-E-mail: mail@maasha.dk
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
-
-\backslash
-thispagestyle{empty}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset LatexCommand tableofcontents
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset FloatList figure
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-Biopieces is a collection of simple tools that can be linked together (piped
- as we shall call it) in a very flexible manner to perform both simple and
- complex tasks.
- The fundamental idea is that biopieces work on a data stream that will
- only terminate at the end of an analysis and that this data stream can
- be passed through several different biopieces, each performing one specific
- task.
- The advantage of this approach is that a user can perform simple and complex
- tasks without having to write advanced code.
- Moreover, since the data format used to pass data between biopieces is
- text based, biopieces can be written by different developers in their favorite
- programming language --- and still the biopieces will be able to work together.
-\end_layout
-
-\begin_layout Standard
-In the most simple form bioools can be piped together on the command line
- like this (using the pipe character '|'):
-\end_layout
-
-\begin_layout LyX-Code
-read_data | calculate_something | write_result
-\end_layout
-
-\begin_layout Standard
-However, a more comprehensive analysis could be composed:
-\end_layout
-
-\begin_layout LyX-Code
-read_data | select_entries | convert_entries | search_database  
-\end_layout
-
-\begin_layout LyX-Code
-evaluate_results | plot_diagram | plot_another_diagram |
-\end_layout
-
-\begin_layout LyX-Code
-load_to_database
-\end_layout
-
-\begin_layout Standard
-The data stream that is piped through the biopieces consists of records
- of key/value pairs in the same way a hash does in order to keep as simple
- a structure as possible.
- An example record can be seen below:
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-REC_TYPE: PATSCAN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MATCH: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_BEG: 7
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_END: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-ALIGN_LEN: 9
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_ID: piR-t6
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-STRAND: +
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-PATTERN: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-The '
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-' denotes the delimiter of the records, and each key is a word followed
- by a ':' and a white-space and then the value.
- By convention the biopieces only uses upper case keys (a list of used keys
- can be seen in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:Keys"
-
-\end_inset
-
-).
- Since the records basically are hash structures this mean that the order
- of the keys in the stream is unordered, and in the above example it is
- pure coincidence that HIT_BEG is displayed before HIT_END, however, when
- the order of the keys is importent, the biopieces will automagically see
- to that.
-\end_layout
-
-\begin_layout Standard
-All of the biopieces are able to read and write a data stream to and from
- file as long as the records are in the biopieces format.
- This means that if you are undertaking a lengthy analysis where one of
- the steps is time consuming, you may save the stream after this step, and
- subsequently start one or more analysis from that last step
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-It is a goal that the biopieces at some point will be able to dump the data
- stream to file in case one of the tools fail critically.
-\end_layout
-
-\end_inset
-
-.
- If you are running a lengthy analysis it is highly recommended that you
- create a small test sample of the data and run that through the pipeline
- --- and once you are satisfied with the result proceed with the full data
- set (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-select-a-few-records"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-All of the biopieces can be supplied with long arguments prefixed with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
- switches or single character arguments prefixed with - switches that can
- be grouped together (e.g.
- -xok).
- In this cookbook only the long switches are used to emphasize what these
- switches do.
-\end_layout
-
-\begin_layout Section
-Setup
-\end_layout
-
-\begin_layout Standard
-In order to get the biopieces to work, you need to add environment settings
- to include the code binaries, scripts, and modules that constitute the
- biopieces package.
- Assuming that you are using bash, add the following to your '~/.bashrc'
- file using your favorite editor.
- After the changes has been saved you need to either run 'source ~/.bashrc'
- or relogin.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-if [ -f "/home/m.hansen/maasha/conf/bashrc" ]; then
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-    source "/home/m.hansen/maasha/conf/bashrc"
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-fi
-\end_layout
-
-\begin_layout Section
-Getting Started
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-list_biopieces
-\series default
- lists all the biopieces along with a description:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biopieces
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-align_seq             Align sequences in stream using Muscle.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_seq           Analysis the residue composition of each sequence
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_vals          Determine type, count, min, max, sum and mean for
- values in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blast_seq             BLAST sequences in stream against a specified database.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blat_seq              BLAT sequences in stream against a specified genome.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-complement_seq        Complement sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records         Count the number of records in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_seq             Count sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_vals            Count the number of times values of given keys exists
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-create_blast_db       Create a BLAST database from sequences in stream for
- use with BLAST.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-...
-\end_layout
-
-\begin_layout Standard
-To list the biopieces for writing different formats, you can use unix's
- grep like this:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biopieces | grep write
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_align           Write aligned sequences in pretty alignment format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_bed             Write records from stream as BED lines.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_blast           Write BLAST records from stream in BLAST tabular format
- (-m8 and 9).
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_fasta           Write sequences in FASTA format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_psl             Write records from stream in PSL format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_tab             Write records from stream as tab separated table.
-\end_layout
-
-\begin_layout Standard
-In order to find out how a specific biopiece works, you just type the program
- name without any arguments and press return and the usage of the biopiece
- will be displayed.
- E.g.
-\series bold
-read_fasta
-\series default
- <return>:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Frameless
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-width "100col%"
-special "none"
-height "1in"
-height_special "totalheight"
-status open
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Program name:   read_fasta
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Author:         Martin Asser Hansen - Copyright (C) - All rights reserved
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Contact:        mail@maasha.dk
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Date:           August 2007
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-License:        GNU General Public License version 2 (http://www.gnu.org/copyleft/
-gpl.html)
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Description:    Read FASTA entries.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Usage:          read_fasta [options] -i <FASTA file(s)>
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Options:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-i <file(s)> | --data_in=<file(s)>]  -  Comma separated list of files
- to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-n <int>     | --num=<int>]          -  Limit number of records to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-I <file>    | --stream_in=<file>]   -  Read input stream from file
-  -  Default=STDIN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-O <file>    | --stream_out=<file>]  -  Write output stream to file
-  -  Default=STDOUT
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Examples:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna             -  Read FASTA entries from file.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test1.fna,test2,fna  -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i '*.fna'              -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna -n 10       -  Read first 10 FASTA entries from
- file.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-The Data Stream
-\end_layout
-
-\begin_layout Subsection
-How to read the data stream from file?
-\begin_inset LatexCommand label
-name "sub:How-to-read-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-You want to read a data stream that you previously have saved to file in
- biopieces format.
- This can be done implicetly or explicitly.
- The implicit way uses the 'stdout' stream of the Unix terminal:
-\end_layout
-
-\begin_layout LyX-Code
-cat | <biopiece>
-\end_layout
-
-\begin_layout Standard
-cat is the Unix command that reads a file and output the result to 'stdout'
- --- which in this case is piped to any biopiece represented by the <biopiece>.
- It is also possible to read the data stream using '<' to direct the 'stdout'
- stream into the biopiece like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> < <file>
-\end_layout
-
-\begin_layout Standard
-However, that will not work if you pipe more biopieces together.
- Then it is much safer to read the stream from a file explicitly like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_in=<file>
-\end_layout
-
-\begin_layout Standard
-Here the filename <file> is explicetly given to the biopiece <biopiece>
- with the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in.
- This switch works with all biopieces.
- It is also possible to read in data from multiple sources by repeating
- the explicit read step:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_in=<file1> | <biopiece> --stream_in=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to write the data stream to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to save the output stream from a biopiece to file, so you can read
- in the stream again at a later time, you can do one of two things:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> > <file>
-\end_layout
-
-\begin_layout Standard
-All, the biopieces write the data stream to 'stdout' by default which can
- be written to a file by redirecting 'stdout' to file using '>' , however,
- if one of the biopieces for writing other formats is used then the both
- the biopieces records as well as the result output will go to 'stdout'
- in a mixture causing havock! To avoid this you must use the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out that explictly tells the biopiece to write the output stream
- to file:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_out=<file>
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out switch works with all biopieces.
-\end_layout
-
-\begin_layout Subsection
-How to terminate the data stream?
-\end_layout
-
-\begin_layout Standard
-The data stream is never stops unless the user want to save the stream or
- by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch that will terminate the stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --no_stream
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch only works with those biopieces where it makes sense that
- the user might want to terminale the data stream, 
-\emph on
-i.e
-\emph default
-.
- after an analysis step where the user wants to output the result, but not
- the data stream.
-\end_layout
-
-\begin_layout Subsection
-How to write my results to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-result"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Saving the result of an analysis to file can be done implicitly or explicitly.
- The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --no_stream > <file>
-\end_layout
-
-\begin_layout Standard
-If you use '>' to redirect 'stdout' to file then it is important to use
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch to avoid writing a mix of biopieces records and result
- to the same file causing havock.
- The safe way is to use the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which explicetly tells the biopiece to write the result
- to a given file:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-Using the above method will not terminate the stream, so it is possible
- to pipe that into another biopiece generating different results:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece1> --result_out=<file1> | <biopiece2> --result_out=<file2>
-\end_layout
-
-\begin_layout Standard
-And still the data stream will continue unless terminated with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --result_out=<file> --no_stream
-\end_layout
-
-\begin_layout Standard
-Or written to file using implicitly or explicity 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-result"
-
-\end_inset
-
-.
- The explicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --result_out=<file1> --stream_out=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to read data from multiple sources?
-\end_layout
-
-\begin_layout Standard
-To read multiple data sources, with the same type or different type of data
- do:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece1> --data_in=<file1> | <biopiece2> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-where type is the data type a specific biopiece reads.
-\end_layout
-
-\begin_layout Section
-Reading input
-\end_layout
-
-\begin_layout Subsection
-How to read biopieces input?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to read in data?
-\end_layout
-
-\begin_layout Standard
-Data in different formats can be read with the appropriate biopiece for
- that format.
- The biopieces are typicalled named 'read_<data type>' such as 
-\series bold
-read_fasta
-\series default
-, 
-\series bold
-read_bed
-\series default
-, 
-\series bold
-read_tab
-\series default
-, etc., and all behave in a similar manner.
- Data can be read by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in switch and a file name to the file containing the data:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read in a saved biopieces stream (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-) as well as reading data in one go:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --stream_in=<file1> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you want to read data from several files you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=<file1> | <biopiece> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you have several data files you can read in all explicitly with a comma
- separated list:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=file1,file2,file3
-\end_layout
-
-\begin_layout Standard
-And it is also possible to use file globbing
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-using the short option will only work if you quote the argument -i '*.fna'
-\end_layout
-
-\end_inset
-
-:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=*.fna
-\end_layout
-
-\begin_layout Standard
-Or in a combination:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece> --data_in=file1,/dir/*.fna
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to read in data in different formats using the appropria
-te biopiece for each format:
-\end_layout
-
-\begin_layout LyX-Code
-<biopiece1> --data_in=<file1> | <biopiece2> --data_in=<file2> ...
-\end_layout
-
-\begin_layout Subsection
-How to read FASTA input?
-\end_layout
-
-\begin_layout Standard
-Sequences in FASTA format can be read explicitly using 
-\series bold
-read_fasta
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read alignment input?
-\end_layout
-
-\begin_layout Standard
-If your alignment if FASTA formatted then you can 
-\series bold
-read_align
-\series default
-.
- It is also possible to use 
-\series bold
-read_fasta
-\series default
- since the data is FASTA formatted, however, with 
-\series bold
-read_fasta
-\series default
- the key ALIGN will be omitted.
- The ALIGN key is used to determine which sequences belong to what alignment
- which is required for 
-\series bold
-write_align
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-read_align --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read tabular input?
-\begin_inset LatexCommand label
-name "sub:How-to-read-table"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Tabular input can be read with 
-\series bold
-read_tab
-\series default
- which will read in all rows and chosen columns (separated by a given delimter)
- from a table in text format.
-\end_layout
-
-\begin_layout Standard
-The table below:
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="3">
-<features>
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Human
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-ATACGTCAG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-23524
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Dog
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AGCATGAC
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2442
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Mouse
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-GACTG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-234
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Cat
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AAATGCA
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2342
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Can be read using the command:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-Which will result in four records, one for each row, where the keys V0,
- V1, V2 are the default keys for the organism, sequence, and count, respectively.
- It is possible to select a subset of colums to read by using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-cols switch which takes a comma separated list of columns numbers (first
- column is designated 0) as argument.
- So to read in only the sequence and the count so that the count comes before
- the sequence do:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1
-\end_layout
-
-\begin_layout Standard
-It is also possible to name the columns with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1 --keys=COUNT,SEQ
-\end_layout
-
-\begin_layout Subsection
-How to read BED input?
-\end_layout
-
-\begin_layout Standard
-The BED (Browser Extensible Data
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/FAQ/FAQformat"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-) format is a tabular format for data pertaining to one of the Eukaryotic
- genomes in the UCSC genome brower
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- The BED format consists of up to 12 columns, where the first three are
- mandatory CHR, CHR_BEG, and CHR_END.
- The mandatory columns and any of the optional columns can all be read in
- easily with the 
-\series bold
-read_bed
-\series default
- biopiece.
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read the BED file with 
-\series bold
-read_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-), however, that will be more cumbersome because you need to specify the
- keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --keys=CHR,CHR_BEG,CHR_END ...
-\end_layout
-
-\begin_layout Subsection
-How to read PSL input?
-\end_layout
-
-\begin_layout Standard
-The PSL format is the output from BLAT and contains 21 mandatory fields
- that can be read with 
-\series bold
-read_psl
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<file>
-\end_layout
-
-\begin_layout Section
-Writing output
-\end_layout
-
-\begin_layout Standard
-All result output can be written explicitly to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which all result generating biopieces have.
- It is also possible to write the result to file implicetly by directing
- 'stdout' to file using '>', however, that requires the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream swich to prevent a mixture of data stream and results in the file.
- The explicit (and safe) way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biopiece> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biopiece> --no_stream > <file>
-\end_layout
-
-\begin_layout Subsection
-How to write biopieces output?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to write FASTA output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-fasta"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-FASTA output can be written with 
-\series bold
-write_fasta
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to wrap the sequences to a given width using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch allthough wrapping of sequence is generally an evil thing:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --no_stream --wrap=80
-\end_layout
-
-\begin_layout Subsection
-How to write alignment output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-alignment"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Pretty alignments with ruler
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-'.' for every 10 residues, ':' for every 50, and '|' for every 100
-\end_layout
-
-\end_inset
-
- and consensus sequence
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-which reminds me to make that an option.
-\end_layout
-
-\end_inset
-
- can be created with 
-\series bold
-write_align
-\series default
-, what also have the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch to break the alignment into blocks of a given width: 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_align --result_out=<file> --wrap=80
-\end_layout
-
-\begin_layout Standard
-If the number of sequnces in the alignment is 2 then a pairwise alignment
- will be output otherwise a multiple alignment.
- And if the sequence type, determined automagically, is protein, then residues
- and symbols (+,\InsetSpace ~
-:,\InsetSpace ~
-.) will be used to show consensus according to the Blosum62
- matrix.
-\end_layout
-
-\begin_layout Subsection
-How to write tabular output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-tab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Outputting the data stream as a table can be done with 
-\series bold
-write_tab
-\series default
-, which will write generate one row per record with the values as columns.
- If you supply the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment switch, when the first row in the table will be a 'comment' line
- prefixed with a '#':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --comment
-\end_layout
-
-\begin_layout Standard
-You can also change the delimiter from the default (tab) to 
-\emph on
-e.g.
-
-\emph default
- ',':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --delimit=','
-\end_layout
-
-\begin_layout Standard
-If you want the values output in a specific order you have to supply a comma
- separated list using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch that will print only those keys in that order:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --keys=SEQ_NAME,COUNT
-\end_layout
-
-\begin_layout Standard
-Alternatively, if you have some keys that you don't want in the tabular
- output, use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switch.
- So to print all keys except SEQ and SEQ_TYPE do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --no_keys=SEQ,SEQ_TYPE
-\end_layout
-
-\begin_layout Standard
-Finally, if you have a stream containing a mix of different records types,
-\emph on
-e.g.
-
-\emph default
- records with sequences and records with matches, then you can use 
-\series bold
-write_tab
-\series default
- to output all the records in tabluar format, however, the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment, 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys, and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switches will only respond to records of the first type encountered.
- The reason is that outputting mixed records is probably not what you want
- anyway, and you should remove all the unwanted records from the stream
- before outputting the table: 
-\series bold
-grab
-\series default
- is your friend (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to write a BED output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-BED"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in BED format can be output if the records contain the mandatory keys
- CHR, CHR_BEG, and CHR_END using 
-\series bold
-write_bed
-\series default
-.
- If the optional keys are also present, they will be output as well:
-\end_layout
-
-\begin_layout LyX-Code
-write_bed --result_out=<file>
-\end_layout
-
-\begin_layout Subsection
-How to write PSL output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-PSL"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in PSL format can be output using 
-\series bold
-write_psl:
-\end_layout
-
-\begin_layout LyX-Code
-write_psl --result_out=<file>
-\end_layout
-
-\begin_layout Section
-Manipulating Records
-\end_layout
-
-\begin_layout Subsection
-How to select a few records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-a-few-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To quickly get an overview of your data you can limit the data stream to
- show a few records.
- This also very useful to test the pipeline with a few records if you are
- setting up a complex analysis using several biopieces.
- That way you can inspect that all goes well before analyzing and waiting
- for the full data set.
- All of the read_<type> biopieces have the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch which will take a number as argument and only that number of
- records will be read.
- So to read in the first 10 FASTA entries from a file:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna --num=10
-\end_layout
-
-\begin_layout Standard
-Another way of doing this is to use 
-\series bold
-head_records
-\series default
- will limit the stream to show the first 10 records (default):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records
-\end_layout
-
-\begin_layout Standard
-Using 
-\series bold
-head_records
-\series default
- directly after one of the read_<type> biopieces will be a lot slower than
- using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch with the read_<type> biopieces, however, 
-\series bold
-head_records
-\series default
- can also be used to limit the output from all the other biopieces.
- It is also possible to give 
-\series bold
-head_records
-\series default
- a number of records to show using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch.
- So to display the first 100 records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records --num=100
-\end_layout
-
-\begin_layout Subsection
-How to select random records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-random-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to inspect a number of random records from the stream this can
- be done with the 
-\series bold
-random_records
-\series default
- biopiece.
- So if you have 1 mio records in the stream and you want to select 1000
- random records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | random_records --num=1000
-\end_layout
-
-\begin_layout Subsection
-How to count all records in the data stream?
-\end_layout
-
-\begin_layout Standard
-To count all the records in the data stream use 
-\series bold
-count_records
-\series default
-, which adds one record (which is not included in the count) to the data
- stream.
- So to count the number of sequences in a FASTA file you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-cat test.fna | read_fasta | count_records --no_stream
-\end_layout
-
-\begin_layout Standard
-Which will write the last record containing the count to 'stdout':
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records: 630
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-It is also possible to write the count to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch.
-\end_layout
-
-\begin_layout Subsection
-How to get the length of record values?
-\begin_inset LatexCommand label
-name "sub:How-to-get-value_length"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Use the 
-\series bold
-length_vals
-\series default
- biopiece to get the length of each value for a comma separated list of
- keys:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | length_vals --keys=HIT,PATTERN
-\end_layout
-
-\begin_layout Subsection
-How to grab specific records?
-\begin_inset LatexCommand label
-name "sub:How-to-grab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-grab
-\series default
- is related to the Unix grep and locates records based on matching keys
- and/or values using either a pattern, a Perl regex, or a numerical evaluation.
- To easily 
-\series bold
-grab
-\series default
- all records in the stream that has any mentioning of the pattern 'human'
- just pipe the data stream through 
-\series bold
-grab
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human
-\end_layout
-
-\begin_layout Standard
-This will search for the pattern 'human' in all keys and all values.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma separated list of patterns, so in order to
- match multiple patterns do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human,mouse
-\end_layout
-
-\begin_layout Standard
-It is also possible to use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch instead of 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern.
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in is used to read a file with one pattern per line:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern_in=patterns.txt
-\end_layout
-
-\begin_layout Standard
-If you want the opposite result --- to find all records that does not match
- the patterns, add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch, which not only works with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch, but also with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-regex and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --invert
-\end_layout
-
-\begin_layout Standard
-If you want to search the record keys only, 
-\emph on
-e.g.
-
-\emph default
- to find all records containing the key SEQ you can add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys_only switch.
- This will prevent matching of SEQ in any record value, and in fact SEQ
- is a not uncommon peptide sequence you could get an unwanted record.
- Also, this will give an increase in speed since only the keys are searched:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --keys_only
-\end_layout
-
-\begin_layout Standard
-However, if you are interested in finding the peptide sequence SEQ and not
- the SEQ key, just add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-vals_only switch instead:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --vals_only
-\end_layout
-
-\begin_layout Standard
-Also, if you want to grab for certain key/value pairs you can supply a comma
- separated list of keys whos values will then be searched using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch.
- This is handy if your records contain large genomic sequences and you dont
- want to search the entire sequence for 
-\emph on
-e.g.
-
-\emph default
- the organism name --- it is much faster to tell 
-\series bold
-grab
-\series default
- which keys to search the value for:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --keys=SEQ_NAME
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-It is also possible to invoke flexible matching using regex (regular expressions
-) instead of simple pattern matching.
- In 
-\series bold
-grab
-\series default
- the regex engine is Perl based and allows use of different type of wild
- cards, alternatives, 
-\emph on
-etc
-\emph default
-
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://perldoc.perl.org/perlreref.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- If you want to 
-\series bold
-grab
-\series default
- records withs the sequence ATCG or GCTA you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='ATCG|GCTA'
-\end_layout
-
-\begin_layout Standard
-Or if you want to find sequences beginning with ATCG:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='^ATCG'
-\end_layout
-
-\begin_layout Standard
-You can also use 
-\series bold
-grab
-\series default
- to locate records that fulfill a numerical property using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval switch witch takes an expression in three parts.
- The first part is the key that holds the value we want to evaluate, the
- second part holds one the six operators:
-\end_layout
-
-\begin_layout Enumerate
-Greater than: >
-\end_layout
-
-\begin_layout Enumerate
-Greater than or equal to: >=
-\end_layout
-
-\begin_layout Enumerate
-Less than: <
-\end_layout
-
-\begin_layout Enumerate
-Less than or equal to: <=
-\end_layout
-
-\begin_layout Enumerate
-Equal to: =
-\end_layout
-
-\begin_layout Enumerate
-Not equal to: !=
-\end_layout
-
-\begin_layout Enumerate
-String wise equal to: eq
-\end_layout
-
-\begin_layout Enumerate
-String wise not equal to: ne
-\end_layout
-
-\begin_layout Standard
-And finally comes the number used in the evaluation.
- So to 
-\series bold
-grab
-\series default
- all records with a sequence length greater than 30:
-\end_layout
-
-\begin_layout LyX-Code
-...
- length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-If you want to locate all records containing the pattern 'human' and where
- the sequence length is greater that 30, you do this by running the stream
- through 
-\series bold
-grab
-\series default
- twice:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern='human' | length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to do fast matching of expressions from a file using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact switch.
- Each of these expressions has to be matched exactly over the entrie length,
- which if useful if you have a file with accession numbers, that you want
- to locate in the stream:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --exact acc_no.txt | ...
-\end_layout
-
-\begin_layout Standard
-Using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact is much faster than using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in, because with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact the expression has to be complete matches, where 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in looks for subpatterns.
-\end_layout
-
-\begin_layout Standard
-NB! To get the best speed performance, use the most restrictive 
-\series bold
-grab
-\series default
- first.
-\end_layout
-
-\begin_layout Subsection
-How to remove keys from records?
-\end_layout
-
-\begin_layout Standard
-To remove one or more specific keys from all records in the data stream
- use 
-\series bold
-remove_keys
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_keys --keys=SEQ,SEQ_NAME
-\end_layout
-
-\begin_layout Standard
-In the above example SEQ and SEQ_NAME will be removed from all records if
- they exists in these.
- If all keys are removed from a record, then the record will be removed.
-\end_layout
-
-\begin_layout Subsection
-How to rename keys in records?
-\end_layout
-
-\begin_layout Standard
-Sometimes you want to rename a record key, 
-\emph on
-e.g.
-
-\emph default
- if you have read in a two column table with sequence name and sequence
- in each column (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-) without specifying the key names, then the sequence name will be called
- V0 and the sequence V1 as default in the 
-\series bold
-read_tab
-\series default
- biopiece.
- To rename the V0 and V1 keys we need to run the stream through 
-\series bold
-rename_keys
-\series default
- twice (one for each key to rename):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | rename_keys --keys=V0,SEQ_NAME | rename_keys --keys=V1,SEQ
-\end_layout
-
-\begin_layout Standard
-The first instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V0 keys with SEQ_NAME, and the second instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V1 keys with SEQ.
-\emph on
-Et viola
-\emph default
- the data can now be used in the biopieces that requires these keys.
-\end_layout
-
-\begin_layout Section
-Manipulating Sequences
-\end_layout
-
-\begin_layout Subsection
-How to get sequence lengths?
-\end_layout
-
-\begin_layout Standard
-The length for sequences in records can be determined with 
-\series bold
-length_seq
-\series default
-, which adds the key SEQ_LEN to each record with the sequence length as
- the value.
- It also generates an extra record that is emitted last with the key TOTAL_SEQ_L
-EN showing the total length of all the sequences.
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout Standard
-It is also possible to determine the sequence length using the generic tool
-\series bold
-length_vals
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-get-value_length"
-
-\end_inset
-
-, which determines the length of the values for a given list of keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout Standard
-To obtain the total length of all sequences use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout LyX-Code
-| sum_vals --keys=SEQ_LEN
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-analyze_seq
-\series default
- will also determine the length of each sequence (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to analyze sequence composition?
-\begin_inset LatexCommand label
-name "sub:How-to-analyze"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to find out the sequence type, composition, length, as well
- as GC content, indel content and proportions of soft and hard masked sequence,
- then use 
-\series bold
-analyze_seq
-\series default
-.
- This handy biopiece will determine all these things per sequence from which
- it is easy to get an overview using the 
-\series bold
-write_tab
-\series default
- biopiece to output a table (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-).
- So in order to determine the sequence composition of a FASTA file with
- just one entry containing the sequence 'ATCG' we just read the data with
-\series bold
-read_fasta
-\series default
- and run the output through 
-\series bold
-analyze_seq
-\series default
- which will add the analysis to the record like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:D: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MIX_INDEX: 0.55
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:W: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:G: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SOFT_MASK%: 63.75
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:B: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:V: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-HARD_MASK%: 0.00
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:H: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:S: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:N: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:.: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-GC%: 35.00 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:A: 8 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:Y: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:M: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:T: 44 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_TYPE: DNA 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:K: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:~: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ: TTTCAGTTTGGGACGGAGTAAGGCCTTCCtttttttttttttttttttttttttttttgagaccgagtcttgctc
-tgtcg 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_LEN: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-80 RES:R: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:C: 12 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:-: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:U: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-Now to make a table of how may As, Ts, Cs, and Gs you can add the following:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyze_seq | write_tab --keys=RES:A,RES:T,RES:C,RES:G
-\end_layout
-
-\begin_layout Standard
-Or if you want to see the proportions of hard and soft masked sequence:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyse_seq | write_tab --keys=HARD_MASK%,SOFT_MASK%
-\end_layout
-
-\begin_layout Standard
-If you have a stack of sequences in one file and you want to determine the
- mean GC content you can do it using the 
-\series bold
-mean_vals
-\series default
- biopiece:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | mean_vals --keys=GC%
-\end_layout
-
-\begin_layout Standard
-Or if you want the total count of Ns you can use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | sum_vals --keys=RES:N
-\end_layout
-
-\begin_layout Standard
-The MIX_INDEX key is calculated as the count of the most common residue
- over the sequence length, and can be used as a cut-off for removing sequence
- tags consisting of mostly one nucleotide:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | grab --eval='MIX_INDEX<0.85'
-\end_layout
-
-\begin_layout Subsection
-How to extract subsequences?
-\begin_inset LatexCommand label
-name "sub:How-to-extract"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to extract a subsequence from a longer sequence use the biopiece
- extract_seq, which will replace the sequence in the record with the subsequence
- (this behaviour should probably be modified to be dependant of a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-replace or a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_replace switch
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-also in split_seq
-\end_layout
-
-\end_inset
-
-).
- So to extract the first 20 residues from all sequences do (first residue
- is designated 1): 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=1 --len=20
-\end_layout
-
-\begin_layout Standard
-You can also specify a begin and end coordinate set:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20 --end=40
-\end_layout
-
-\begin_layout Standard
-If you want the subsequences from position 20 to the sequence end do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20
-\end_layout
-
-\begin_layout Standard
-If you want to extract subsequences a given distance from the sequence end
- you can do this by reversing the sequence with the biopiece 
-\series bold
-reverse_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-, followed by 
-\series bold
-extract_seq
-\series default
- to get the subsequence, and then 
-\series bold
-reverse_seq
-\series default
- again to get the subsequence back in the original orientation:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | reverse_seq
-\end_layout
-
-\begin_layout LyX-Code
-| extract_seq --beg=10 --len=10 | reverse_seq
-\end_layout
-
-\begin_layout Subsection
-How to get genomic sequence?
-\begin_inset LatexCommand label
-name "sub:How-to-get-genomic-sequence"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biopiece 
-\series bold
-get_genomic_seq
-\series default
- can extract subsequences for a given genome specified with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch explicitly using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-beg and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-end/
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-len switches:
-\end_layout
-
-\begin_layout LyX-Code
-get_genome_seq --genome=<genome> --beg=1 --len=100
-\end_layout
-
-\begin_layout Standard
-Alternatively, 
-\series bold
-get_genome_seq
-\series default
- can be used to append the corresponding sequence to BED, PSL, and BLAST
- records:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to include flaking sequence using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-flank switch.
- So to include 50 nucleotides upstream and 50 nucleotides downstream for
- each BED entry do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome> --flank=50
-\end_layout
-
-\begin_layout Subsection
-How to upper-case sequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be shifted from lower case to upper case using 
-\series bold
-uppercase_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | uppercase_seq
-\end_layout
-
-\begin_layout Subsection
-How to reverse sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-reverse-seq"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The order of residues in a sequence can be reversed using reverse_seq:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | reverse_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-complement_seq
-\series default
- biopiece (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-complement"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to complement sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-complement"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-DNA and RNA sequences can be complemented with 
-\series bold
-complement_seq
-\series default
-, which automagically determines the sequence type:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | complement_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-reverse_seq
-\series default
- biopiece (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to remove indels from sequnces?
-\end_layout
-
-\begin_layout Standard
-Indels can be removed from sequences with the 
-\series bold
-remove_indels
-\series default
- biopiece.
- This is useful if you have aligned some sequences (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-align"
-
-\end_inset
-
-) and extracted (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-extract"
-
-\end_inset
-
-) a block of subsequences from the alignment and you want to use these sequence
- in a search where you need to remove the indels first.
- '-', '~', and '.' are considered indels:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_indels
-\end_layout
-
-\begin_layout Subsection
-How to shuffle sequences?
-\end_layout
-
-\begin_layout Standard
-All residues in sequences in the stream can be shuffled to random positions
- using the 
-\series bold
-shuffle_seq
-\series default
- biopiece:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | shuffle_seq
-\end_layout
-
-\begin_layout Subsection
-How to split sequences into overlapping subsequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be slit into overlapping subsequences with the 
-\series bold
-split_seq
-\series default
- biopiece.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | split_seq --word_size=20 --uniq
-\end_layout
-
-\begin_layout Subsection
-How to determine the oligo frequency?
-\end_layout
-
-\begin_layout Standard
-In order to determine if any oligo usage is over represented in one or more
- sequences you can determine the frequency of oligos of a given size with
-\series bold
-oligo_freq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4
-\end_layout
-
-\begin_layout Standard
-And if you have more than one sequence and want to accumulate the frequences
- you need the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-all switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all
-\end_layout
-
-\begin_layout Standard
-To get a meaningful result you need to write the resulting frequencies as
- a table with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-), but first it is important to 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-) the records with the frequencies to avoid full length sequences in the
- table:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all | grab --pattern=OLIGO --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-And the resulting frequency table can be sorted with Unix sort (man sort).
-\end_layout
-
-\begin_layout Subsection
-How to search for sequences in genomes?
-\end_layout
-
-\begin_layout Standard
-See the following biopiece:
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-patscan_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blat_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blast_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-vmatch_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to search sequences for a pattern?
-\begin_inset LatexCommand label
-name "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-It is possible to search sequences in the data stream for patterns using
- the 
-\series bold
-patscan_seq
-\series default
- biopiece which utilizes the powerful scan_for_matches engine.
- Consult the documentation for scan_for_matches in order to learn how to
- define patterns (the documentation is included in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:scan_for_matches-README"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-To search all sequences for a simple pattern consisting of the sequence
- ATCGATCG allowing for 3 mismatches, 2 insertions and 1 deletion:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | patscan_seq --pattern='ATCGATCG[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma seperated list of patterns, so if you want
- to search for more that one pattern do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern='ATCGATCG[3,2,1],GCTAGCTA[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-It is also possible to have a list of different patterns to search for in
- a file with one pattern per line.
- In order to get 
-\series bold
-patscan_seq
-\series default
- to read these patterns use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern_in=<file>
-\end_layout
-
-\begin_layout Standard
-To also scan the complementary strand in nucleotide sequences (
-\series bold
-patscan_seq
-\series default
- automagically determines the sequence type) you need to add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comp switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --comp
-\end_layout
-
-\begin_layout Standard
-It is also possible to use 
-\series bold
-patscan_seq
-\series default
- to output those records that does not contain a certain pattern by using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --invert
-\end_layout
-
-\begin_layout Standard
-Finally, 
-\series bold
-patscan_seq
-\series default
- can also scan for patterns in a given genome sequence, instead of sequences
- in the stream, using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch:
-\end_layout
-
-\begin_layout LyX-Code
-patscan --pattern=<pattern> --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use BLAT for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the data stream can be matched against supported genomes using
-\series bold
-blat_seq
-\series default
- which is a biopiece using BLAT as the name might suggest.
- Currently only Mouse and Human genomes are available and it is not possible
- to use OOC files since there is still a need for a local repository for
- genome files.
- Otherwise it is just:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-The search results can then be written to file with 
-\series bold
-write_psl
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-) or 
-\series bold
-write_bed
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-BED"
-
-\end_inset
-
-) allthough with 
-\series bold
-write_bed
-\series default
- some information will be lost).
- It is also possible to plot chromosome distribution of the search results
- using 
-\series bold
-plot_chrdist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-chrdist"
-
-\end_inset
-
-) or the distribution of the match lengths using 
-\series bold
-plot_lendist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-lendist"
-
-\end_inset
-
-) or a karyogram with the hits using 
-\series bold
-plot_karyogram
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-karyogram"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to use BLAST for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Two biopieces exist for blasting sequences: 
-\series bold
-create_blast_db
-\series default
- is used to create the BLAST database required for BLAST which is queried
- using the biopiece 
-\series bold
-blast_seq
-\series default
-.
- So in order to create a BLAST database from sequences in the data stream
- you simple run:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_blast_db --database=my_database --no_stream
-\end_layout
-
-\begin_layout Standard
-The type of sequence to use for the database is automagically determined
- by 
-\series bold
-create_blast_db
-\series default
-, but don't have a mixture of peptide and nucleic acids sequences in the
- stream.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch takes a path as argument, but will default to 'blastdb_<time_sta
-mp> if not set.
-\end_layout
-
-\begin_layout Standard
-The resulting database can now be queried with sequences in another data
- stream using 
-\series bold
-blast_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --database=my_database
-\end_layout
-
-\begin_layout Standard
-Again, the sequence type is determined automagically and the appropriate
- BLAST program is guessed (see below table), however, the program name can
- be overruled with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-program switch.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="3">
-<features>
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Subject sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Query sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Program guess
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastp
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastx
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tblastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Finally, it is also possible to use 
-\series bold
-blast_seq
-\series default
- for blasting sequences agains a preformatted genome using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch instead of the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use Vmatch for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The powerful suffix array software package Vmatch
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.vmatch.de/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- can be used for exact mapping of sequences against indexed genomes using
- the biopiece 
-\series bold
-vmatch_seq
-\series default
-, which will e.g.
- map 700000 ESTs to the human genome locating all 160 mio hits in less than
- an hour.
- Only nucleotide sequences and sequences longer than 11 nucleotides will
- be mapped.
- It is recommended that sequences consisting of mostly one nucleotide type
- are removed.
- This can be done with the 
-\series bold
-analyze_seq
-\series default
- biopiece 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to allow for mismatches using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist switch.
- So to allow for 2 mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=2
-\end_layout
-
-\begin_layout Standard
-Or to allow for 10% mismathing nucleotides:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=10p
-\end_layout
-
-\begin_layout Standard
-To allow both indels and mismatches use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist switch.
- So to allow for one mismatch or one indel:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=1
-\end_layout
-
-\begin_layout Standard
-Or to allow for 5% indels or mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=5p
-\end_layout
-
-\begin_layout Standard
-Note that using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist or
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist greatly slows down vmatch considerably --- use with care.
-\end_layout
-
-\begin_layout Standard
-The resulting SCORE key can be replaced to hold the number of genome matches
- of a given sequence (multi-mappers) is the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-count switch is given.
-\end_layout
-
-\begin_layout Subsection
-How to find all matches between sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-find-matches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-All matches between two sequences can be determined with the biopiece 
-\series bold
-match_seq
-\series default
-.
- The match finding engine underneath the hood of 
-\series bold
-match_seq
-\series default
- is the super fast suffix tree program MUMmer
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://mummer.sourceforge.net/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which will locate all forward and reverse matches between huge sequences
- in a matter of minutes (if the repeat count is not too high and if the
- word size used is appropriate).
- Matching two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq --word_size=20 --direction=both
-\end_layout
-
-\begin_layout Standard
-The output from 
-\series bold
-match_seq
-\series default
- can be used to generate a dot plot with 
-\series bold
-plot_matches
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-generate-dotplot"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to align sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-align"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the stream can be aligned with the 
-\series bold
-align_seq
-\series default
- biopiece that uses Muscle
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.drive5.com/muscle/muscle.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- as aligment engine.
- Currently you cannot change any of the Muscle alignment parameters and
-\series bold
-align_seq
-\series default
- will create an alignment based on the defaults (which are really good!):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | align_seq
-\end_layout
-
-\begin_layout Standard
-The aligned output can be written to file in FASTA format using 
-\series bold
-write_fasta
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-fasta"
-
-\end_inset
-
-) or in pretty text using 
-\series bold
-write_align
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-alignment"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to create a weight matrix?
-\end_layout
-
-\begin_layout Standard
-If you want a weight matrix to show the sequence composition of a stack
- of sequences you can use the biopiece create_weight_matrix:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix
-\end_layout
-
-\begin_layout Standard
-The result can be output in percent using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-percent switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix --percent
-\end_layout
-
-\begin_layout Standard
-The weight matrix can be written as tabular output with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-) after removeing the records containing SEQ with 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix | grab --invert --keys=SEQ --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-The V0 column will hold the residue, while the rest of the columns will
- hold the frequencies for each sequence position.
-\end_layout
-
-\begin_layout Section
-Plotting
-\end_layout
-
-\begin_layout Standard
-There exists several biopieces for plotting.
- Some of these are based on GNUplot
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.gnuplot.info/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which is an extremely powerful platform to generate all sorts of plots
- and even though GNUplot has quite a steep learning curve, the biopieces
- utilizing GNUplot are simple to use.
- GNUplot is able to output a lot of different formats (called terminals
- in GNUplot), but the biopieces focusses on three formats only:
-\end_layout
-
-\begin_layout Enumerate
-The 'dumb' terminal is default to the GNUplot based biopieces and will output
- a plot in crude ASCII text (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-).
- This is quite nice for a quick and dirty plot to get an overview of your
- data .
-\end_layout
-
-\begin_layout Enumerate
-The 'post' or 'postscript' terminal output postscript code which is publication
- grade graphics that can be viewed with applications such as Ghostview,
- Photoshop, and Preview.
-\end_layout
-
-\begin_layout Enumerate
-The 'svg' terminal output's scalable vector graphics (SVG) which is a vector
- based format.
- SVG is great because you can edit the resulting plot using Photoshop or
- Inkscape
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-Inkscape is a really handy drawing program that is free and open source.
- Availble at 
-\begin_inset LatexCommand htmlurl
-target "http://www.inkscape.org"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- if you want to add additional labels, captions, arrows, and so on and then
- save the result in different formats, such as postscript without loosing
- resolution.
-\end_layout
-
-\begin_layout Standard
-The biopieces for plotting that are not based on GNUplot only output SVG
- (that may change in the future).
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist_ascii.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dumb-terminal"
-
-\end_inset
-
-Dumb terminal
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-The output of a length distribution plot in the default 'dumb terminal'
- to the terminal window.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a histogram?
-\begin_inset LatexCommand label
-name "How-to-plot-histogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A generic histogram for a given value can be plotted with the biopiece 
-\series bold
-plot_histogram
-\series default
- (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Histogram"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_histogram --key=TISSUE --no_stream
-\end_layout
-
-\begin_layout Standard
-(Figure missing)
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align left
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename histogram.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Histogram"
-
-\end_inset
-
-Histogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a length distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-lendist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Plotting of length distributions, weather sequence lengths, patterns lengths,
- hit lengths, 
-\emph on
-etc.
-
-\emph default
- is a really handy thing and can be done with the the biopiece 
-\series bold
-plot_lendist
-\series default
-.
- If you have a file with FASTA entries and want to plot the length distribution
- you do it like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout LyX-Code
-| plot_lendist --key=SEQ_LEN --no_stream
-\end_layout
-
-\begin_layout Standard
-The result will be written to the default dumb terminal and will look like
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-If you instead want the result in postscript format you can do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --result_out=file.ps
-\end_layout
-
-\begin_layout Standard
-That will generate the plot and save it to file, but not interrupt the data
- stream which can then be used in further analysis.
- You can also save the plot implicetly using '>', however, it is then important
- to terminate the stream with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --no_stream > file.ps
-\end_layout
-
-\begin_layout Standard
-The resulting plot can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Length-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Length-distribution"
-
-\end_inset
-
-Length distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Length distribution of 630 piRNA like RNAs.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a chromosome distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-chrdist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you have the result of a sequence search against a multi chromosome genome,
- it is very practical to be able to plot the distribution of search hits
- on the different chromosomes.
- This can be done with 
-\series bold
-plot_chrdist
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_genome | plot_chrdist --no_stream
-\end_layout
-
-\begin_layout Standard
-The above example will result in a crude plot using the 'dumb' terminal,
- and if you want to mess around with the results from the BLAT search you
- probably want to save the result to file first (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-).
- To plot the chromosome distribution from the saved search result you can
- do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=file.bed | plot_chrdist --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-That will result in the output show in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Chromosome-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename chrdist.ps
-       lyxscale 50
-       width 12cm
-       rotateAngle 90
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Chromosome-distribution"
-
-\end_inset
-
-Chromosome distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to generate a dotplot?
-\begin_inset LatexCommand label
-name "sub:How-to-generate-dotplot"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A dotplot is a powerful way to get an overview of the size and location
- of sequence insertions, deletions, and duplications between two sequences.
- Generating a dotplot with biopieces is a two step process where you initially
- find all matches between two sequences using the tool 
-\series bold
-match_seq
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-find-matches"
-
-\end_inset
-
-) and plot the resulting matches with 
-\series bold
-plot_matches
-\series default
-.
- Matching and plotting two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq | plot_matches --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-The resulting dotplot is in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dotplot"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename dotplot.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dotplot"
-
-\end_inset
-
-Dotplot
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Forward matches are displayed in green while reverse matches are displayed
- in red.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a sequence logo?
-\end_layout
-
-\begin_layout Standard
-Sequence logos can be generate with 
-\series bold
-plot_seqlogo
-\series default
-.
- The sequnce type is determined automagically and an entropy scale of 2
- bits and 4 bits is used for nucleotide and peptide sequences, respectively
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand htmlurl
-target "http://www.ccrnp.ncifcrf.gov/~toms/paper/hawaii/latex/node5.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_seqlogo --no_stream --result_out=seqlogo.svg
-\end_layout
-
-\begin_layout Standard
-An example of a sequence logo can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Sequence-logo"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename seqlogo.png
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Sequence-logo"
-
-\end_inset
-
-Sequence logo
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a karyogram?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-karyogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To plot search hits on genomes use 
-\series bold
-plot_karyogram
-\series default
-, which will output a nice karyogram in SVG graphics:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_karyogram --result_out=karyogram.svg
-\end_layout
-
-\begin_layout Standard
-The banding data is taken from the UCSC genome browser database and currently
- only Human and Mouse is supported.
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Karyogram"
-
-\end_inset
-
- shows the distribution of piRNA like RNAs matched to the Human genome.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename karyogram.png
-       lyxscale 35
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Karyogram"
-
-\end_inset
-
-Karyogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Hits from a search of piRNA like RNAs in the Human genome is displayed as
- short horizontal bars.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Uploading Results
-\end_layout
-
-\begin_layout Subsection
-How do I display my results in the UCSC Genome Browser?
-\end_layout
-
-\begin_layout Standard
-Results from the list of biopieces below can be uploaded directly to a local
- mirror of the UCSC Genome Browser using the biopiece 
-\series bold
-upload_to_ucsc
-\series default
-:
-\end_layout
-
-\begin_layout Itemize
-patscan_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blat_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blast_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-vmatch_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The syntax for uploading data the most simple way requires two mandatory
- switches: 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database, which is the UCSC database name (such as hg18, mm9, etc.) and
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-table which should be the users initials followed by an underscore and a
- short description of the data:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | upload_to_ucsc --database=hg18 --table=mah_snoRNAs
-\end_layout
-
-\begin_layout Standard
-The 
-\series bold
-upload_to_ucsc
-\series default
- biopiece modifies the users ~/ucsc/my_tracks.ra file automagically (a backup
- is created with the name ~/ucsc/my_tracks.ra~) with default values that
- can be overridden using the following switches:
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-short_label - Short label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-long_label - Long label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-group - Track group name - Default=<user name as defined in env>
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-priority - Track display priority - Default=1
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-color - Track color - Default=147,73,42
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-chunk_size - Chunks for loading - Default=10000000
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-visibility - Track visibility - Default=pack
-\end_layout
-
-\begin_layout Standard
-Also, data in BED or PSL format can be uploaded with 
-\series bold
-upload_to_ucsc
-\series default
- as long as these reference to genomes and chromosomes existing in the UCSC
- Genome Browser:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<bed file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<psl file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout Section
-Power Scripting
-\end_layout
-
-\begin_layout Standard
-It is possible to do commandline scripting of biopiece records using Perl.
- Because a biopiece record essentially is a hash structure, you can pass
- records to 
-\series bold
-bioscript
-\series default
- command, which is a wrapper around the Perl executable that allows direct
- manipulations of the records using the power of Perl.
-\end_layout
-
-\begin_layout Standard
-In the below example we replace in all records the value to the CHR key
- with a forthrunning number:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{CHR}=$i++; put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-Something more useful would probably be to create custom FASTA headers.
- E.g.
- if we read in a BED file, lookup the genomic sequence, create a custom
- FASTA header with 
-\series bold
-bioscript
-\series default
- and output FASTA entries:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{SEQ_NAME}= //
-\end_layout
-
-\begin_layout LyX-Code
-join("_",$r->{CHR},$r->{CHR_BEG},$r->{CHR_END}); put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-And the output:
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_21567527_21567550 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_693380_693403 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_13859534_13859557 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_9005090_9005113 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_2106825_2106848 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_14649031_14649054 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout Section
-Trouble shooting
-\end_layout
-
-\begin_layout Standard
-Shoot the messenger!
-\end_layout
-
-\begin_layout Section
-\start_of_appendix
-Keys
-\begin_inset LatexCommand label
-name "sec:Keys"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-HIT
-\end_layout
-
-\begin_layout Standard
-HIT_BEG
-\end_layout
-
-\begin_layout Standard
-HIT_END
-\end_layout
-
-\begin_layout Standard
-HIT_LEN
-\end_layout
-
-\begin_layout Standard
-HIT_NAME
-\end_layout
-
-\begin_layout Standard
-PATTERN
-\end_layout
-
-\begin_layout Section
-Switches
-\begin_inset LatexCommand label
-name "sec:Switches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num
-\end_layout
-
-\begin_layout Section
-scan_for_matches README
-\begin_inset LatexCommand label
-name "sec:scan_for_matches-README"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout LyX-Code
-                          scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    A Program to Scan Nucleotide or Protein Sequences for Matching Patterns
-\end_layout
-
-\begin_layout LyX-Code
-                        Ross Overbeek
-\end_layout
-
-\begin_layout LyX-Code
-                        MCS
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne National Laboratory
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne, IL 60439
-\end_layout
-
-\begin_layout LyX-Code
-                        USA
-\end_layout
-
-\begin_layout LyX-Code
-Scan_for_matches is a utility that we have written to search for
-\end_layout
-
-\begin_layout LyX-Code
-patterns in DNA and protein sequences.
-  I wrote most of the code,
-\end_layout
-
-\begin_layout LyX-Code
-although David Joerg and Morgan Price wrote sections of an
-\end_layout
-
-\begin_layout LyX-Code
-earlier version.
-  The whole notion of pattern matching has a rich
-\end_layout
-
-\begin_layout LyX-Code
-history, and we borrowed liberally from many sources.
-  However, it is
-\end_layout
-
-\begin_layout LyX-Code
-worth noting that we were strongly influenced by the elegant tools
-\end_layout
-
-\begin_layout LyX-Code
-developed and distributed by David Searls.
-  My intent is to make the
-\end_layout
-
-\begin_layout LyX-Code
-existing tool available to anyone in the research community that might
-\end_layout
-
-\begin_layout LyX-Code
-find it useful.
-  I will continue to try to fix bugs and make suggested
-\end_layout
-
-\begin_layout LyX-Code
-enhancements, at least until I feel that a superior tool exists.
-\end_layout
-
-\begin_layout LyX-Code
-Hence, I would appreciate it if all bug reports and suggestions are
-\end_layout
-
-\begin_layout LyX-Code
-directed to me at Overbeek@mcs.anl.gov.
-  
-\end_layout
-
-\begin_layout LyX-Code
-I will try to log all bug fixes and report them to users that send me
-\end_layout
-
-\begin_layout LyX-Code
-their email addresses.
-  I do not require that you give me your name
-\end_layout
-
-\begin_layout LyX-Code
-and address.
-  However, if you do give it to me, I will try to notify
-\end_layout
-
-\begin_layout LyX-Code
-you of serious problems as they are discovered.
-\end_layout
-
-\begin_layout LyX-Code
-Getting Started:
-\end_layout
-
-\begin_layout LyX-Code
-    The distribution should contain at least the following programs:
-\end_layout
-
-\begin_layout LyX-Code
-                README                  -     This document
-\end_layout
-
-\begin_layout LyX-Code
-                ggpunit.c               -     One of the two source files
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches.c      -     The second source file
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                run_tests               -     A perl script to test things
-\end_layout
-
-\begin_layout LyX-Code
-                show_hits               -     A handy perl script
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_input          -     Test sequences for DNA
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_patterns       -     Test patterns for DNA scan
-\end_layout
-
-\begin_layout LyX-Code
-                test_output             -     Desired output from test
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_input         -     Test protein sequences
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_patterns      -     Test patterns for proteins
-\end_layout
-
-\begin_layout LyX-Code
-                testit                  -     a perl script used for test
-\end_layout
-
-\begin_layout LyX-Code
-    Only the first three files are required.
-  The others are useful,
-\end_layout
-
-\begin_layout LyX-Code
-    but only if you have Perl installed on your system.
-  If you do
-\end_layout
-
-\begin_layout LyX-Code
-    have Perl, I suggest that you type
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                which perl
-\end_layout
-
-\begin_layout LyX-Code
-    to find out where it installed.
-  On my system, I get the following
-\end_layout
-
-\begin_layout LyX-Code
-    response:
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                clone% which perl
-\end_layout
-
-\begin_layout LyX-Code
-                /usr/local/bin/perl
-\end_layout
-
-\begin_layout LyX-Code
-    indicating that Perl is installed in /usr/local/bin.
-  Anyway, once
-\end_layout
-
-\begin_layout LyX-Code
-    you know where it is installed, edit the first line of files 
-\end_layout
-
-\begin_layout LyX-Code
-        testit
-\end_layout
-
-\begin_layout LyX-Code
-        show_hits
-\end_layout
-
-\begin_layout LyX-Code
-    replacing /usr/local/bin/perl with the appropriate location.
-  I
-\end_layout
-
-\begin_layout LyX-Code
-    will assume that you can do this, although it is not critical (it
-\end_layout
-
-\begin_layout LyX-Code
-    is needed only to test the installation and to use the "show_hits"
-\end_layout
-
-\begin_layout LyX-Code
-    utility).
-  Perl is not required to actually install and run
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches.
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not have Perl, I suggest you get it and install it (it
-\end_layout
-
-\begin_layout LyX-Code
-    is a wonderful utility).
-  Information about Perl and how to get it
-\end_layout
-
-\begin_layout LyX-Code
-    can be found in the book "Programming Perl" by Larry Wall and
-\end_layout
-
-\begin_layout LyX-Code
-    Randall L.
- Schwartz, published by O'Reilly & Associates, Inc.
-\end_layout
-
-\begin_layout LyX-Code
-    To get started, you will need to compile the program.
-   I do this
-\end_layout
-
-\begin_layout LyX-Code
-    using 
-\end_layout
-
-\begin_layout LyX-Code
-        gcc -O -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not use GNU C, use 
-\end_layout
-
-\begin_layout LyX-Code
-        cc -O -DCC -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    which works on my Sun.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    Once you have compiled scan_for_matches, you can verify that it
-\end_layout
-
-\begin_layout LyX-Code
-    works with
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    You may get a few strange lines of the sort
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        rm: tmp: No such file or directory
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    These should cause no concern.
-  However, if the "diff" shows that
-\end_layout
-
-\begin_layout LyX-Code
-    tmp and test_output are different, contact me (you have a
-\end_layout
-
-\begin_layout LyX-Code
-    problem).
-\end_layout
-
-\begin_layout LyX-Code
-    You should now be able to use scan_for_matches by following the
-\end_layout
-
-\begin_layout LyX-Code
-    instructions given below (which is all the normal user should have
-\end_layout
-
-\begin_layout LyX-Code
-    to understand, once things are installed properly).
-\end_layout
-
-\begin_layout LyX-Code
- ==============================================================
-\end_layout
-
-\begin_layout LyX-Code
-How to run scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    To run the program, you type need to create two files
-\end_layout
-
-\begin_layout LyX-Code
-    1.
-  the first file contains the pattern you wish to scan for; I'll
-\end_layout
-
-\begin_layout LyX-Code
-        call this file pat_file in what follows (but any name is ok)
-\end_layout
-
-\begin_layout LyX-Code
-    2.
-  the second file contains a set of sequences to scan.
-  These
-\end_layout
-
-\begin_layout LyX-Code
-        should be in "fasta format".
-  Just look at the contents of
-\end_layout
-
-\begin_layout LyX-Code
-        test_dna_input to see examples of this format.
-  Basically,
-\end_layout
-
-\begin_layout LyX-Code
-        each sequence begins with a line of the form
-\end_layout
-
-\begin_layout LyX-Code
-           >sequence_id
-\end_layout
-
-\begin_layout LyX-Code
-        and is followed by one or more lines containing the sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    Once these files have been created, you just use
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file < input_file
-\end_layout
-
-\begin_layout LyX-Code
-    to scan all of the input sequences for the given pattern.
-  As an
-\end_layout
-
-\begin_layout LyX-Code
-    example, suppose that pat_file contains a single line of the form
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    Then,
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    should produce two "hits".
-  When I run this on my machine, I get
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        CGUAACC GGTTAACC GGUUACG 
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-Simple Patterns Built by Matching Ranges and Reverse Complements
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first explain this simple pattern:
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    The pattern consists of three "pattern units" separated by spaces.
-\end_layout
-
-\begin_layout LyX-Code
-    The first pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match 4 to 7 characters and call them p1".
-  The
-\end_layout
-
-\begin_layout LyX-Code
-    second pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                3...8
-\end_layout
-
-\begin_layout LyX-Code
-    which means "then match 3 to 8 characters".
-  The last pattern unit
-\end_layout
-
-\begin_layout LyX-Code
-    is 
-\end_layout
-
-\begin_layout LyX-Code
-                ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match the reverse complement of p1".
-  The first
-\end_layout
-
-\begin_layout LyX-Code
-    reported hit is shown as
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-    which states that characters 6 through 27 of sequence tst1 were
-\end_layout
-
-\begin_layout LyX-Code
-    matched.
-  "cguaac" matched the first pattern unit, "ggttaacc" the
-\end_layout
-
-\begin_layout LyX-Code
-    second, and "gguuacg" the third.
-  This is an example of a common
-\end_layout
-
-\begin_layout LyX-Code
-    type of pattern used to search for sections of DNA or RNA that
-\end_layout
-
-\begin_layout LyX-Code
-    would fold into a hairpin loop.
-\end_layout
-
-\begin_layout LyX-Code
-Searching Both Strands
-\end_layout
-
-\begin_layout LyX-Code
-    Now for a short aside: scan_for_matches only searched the
-\end_layout
-
-\begin_layout LyX-Code
-    sequences in the input file; it did not search the opposite
-\end_layout
-
-\begin_layout LyX-Code
-    strand.
-  With a pattern of the sort we just used, there is not
-\end_layout
-
-\begin_layout LyX-Code
-    need o search the opposite strand.
-  However, it is normally the
-\end_layout
-
-\begin_layout LyX-Code
-    case that you will wish to search both the sequence and the
-\end_layout
-
-\begin_layout LyX-Code
-    opposite strand (i.e., the reverse complement of the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    To do that, you would just use the "-c" command line.
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    Hits on the opposite strand will show a beginning location greater
-\end_layout
-
-\begin_layout LyX-Code
-    than te end location of the match.
-\end_layout
-
-\begin_layout LyX-Code
-Defining Pairing Rules and Allowing Mismatches, Insertions, and Deletions
-\end_layout
-
-\begin_layout LyX-Code
-    Let us stop now and ask "What additional features would one need to
-\end_layout
-
-\begin_layout LyX-Code
-    really find the kinds of loop structures that characterize tRNAs,
-\end_layout
-
-\begin_layout LyX-Code
-    rRNAs, and so forth?"  I can immediately think of two:
-\end_layout
-
-\begin_layout LyX-Code
-        a) you will need to be able to allow non-standard pairings
-\end_layout
-
-\begin_layout LyX-Code
-           (those other than G-C and A-U), and
-\end_layout
-
-\begin_layout LyX-Code
-        b) you will need to be able to tolerate some number of
-\end_layout
-
-\begin_layout LyX-Code
-           mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first show you how to handle non-standard "rules for
-\end_layout
-
-\begin_layout LyX-Code
-    pairing in reverse complements".
-  Consider the following pattern,
-\end_layout
-
-\begin_layout LyX-Code
-    which I show as two line (you may use as many lines as you like in
-\end_layout
-
-\begin_layout LyX-Code
-    forming a pattern, although you can only break a pattern at points
-\end_layout
-
-\begin_layout LyX-Code
-    where space would be legal):
-\end_layout
-
-\begin_layout LyX-Code
-            r1={au,ua,gc,cg,gu,ug,ga,ag} 
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3 0...4 p2=2...5 1...5 r1~p2 0...4 ~p1        
-\end_layout
-
-\begin_layout LyX-Code
-    The first "pattern unit" does not actually match anything; rather,
-\end_layout
-
-\begin_layout LyX-Code
-    it defines a "pairing rule" in which standard pairings are
-\end_layout
-
-\begin_layout LyX-Code
-    allowed, as well as G-A and A-G (in case you wondered, Us and Ts
-\end_layout
-
-\begin_layout LyX-Code
-    and upper and lower case can be used interchangably; for example
-\end_layout
-
-\begin_layout LyX-Code
-    r1={AT,UA,gc,cg} could be used to define the "standard rule" for
-\end_layout
-
-\begin_layout LyX-Code
-    pairings).
-  The second line consists of six pattern units which
-\end_layout
-
-\begin_layout LyX-Code
-    may be interpreted as follows:
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3     match 2 or 3 characters (call it p1)
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters
-\end_layout
-
-\begin_layout LyX-Code
-            p2=2...5     match 2 to 5 characters (call it p2)
-\end_layout
-
-\begin_layout LyX-Code
-            1...5        match 1 to 5 characters
-\end_layout
-
-\begin_layout LyX-Code
-            r1~p2        match the reverse complement of p2,
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing G-A and A-G pairs
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters        
-\end_layout
-
-\begin_layout LyX-Code
-            ~p1          match the reverse complement of p1
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing only G-C, C-G, A-T, and T-A pairs
-\end_layout
-
-\begin_layout LyX-Code
-    Thus, r1~p2 means "match the reverse complement of p2 using rule r1".
-\end_layout
-
-\begin_layout LyX-Code
-    Now let us consider the issue of tolerating mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-    You may add a "qualifier" to the pattern unit that gives the
-\end_layout
-
-\begin_layout LyX-Code
-    tolerable number of "mismatches, deletions, and insertions".
-\end_layout
-
-\begin_layout LyX-Code
-    Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                p1=10...10 3...8 ~p1[1,2,1]
-\end_layout
-
-\begin_layout LyX-Code
-    means that the third pattern unit must match 10 characters,
-\end_layout
-
-\begin_layout LyX-Code
-    allowing one "mismatch" (a pairing other than G-C, C-G, A-T, or
-\end_layout
-
-\begin_layout LyX-Code
-    T-A), two deletions (a deletion is a character that occurs in p1,
-\end_layout
-
-\begin_layout LyX-Code
-    but has been "deleted" from the string matched by ~p1), and one
-\end_layout
-
-\begin_layout LyX-Code
-    insertion (an "insertion" is a character that occurs in the string
-\end_layout
-
-\begin_layout LyX-Code
-    matched by ~p1, but not for which no corresponding character
-\end_layout
-
-\begin_layout LyX-Code
-    occurs in p1).
-  In this case, the pattern would match
-\end_layout
-
-\begin_layout LyX-Code
-              ACGTACGTAC GGGGGGGG GCGTTACCT
-\end_layout
-
-\begin_layout LyX-Code
-    which is, you must admit, a fairly weak loop.
-  It is common to
-\end_layout
-
-\begin_layout LyX-Code
-    allow mismatches, but you will find yourself using insertions and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions much more rarely.
-  In any event, you should note that
-\end_layout
-
-\begin_layout LyX-Code
-    allowing mismatches, insertions, and deletions does force the
-\end_layout
-
-\begin_layout LyX-Code
-    program to try many additional possible pairings, so it does slow
-\end_layout
-
-\begin_layout LyX-Code
-    things down a bit.
-\end_layout
-
-\begin_layout LyX-Code
-How Patterns Are Matched
-\end_layout
-
-\begin_layout LyX-Code
-    Now is as good a time as any to discuss the basic flow of control
-\end_layout
-
-\begin_layout LyX-Code
-    when matching patterns.
-  Recall that a "pattern" is a sequence of
-\end_layout
-
-\begin_layout LyX-Code
-    "pattern units".
-  Suppose that the pattern units were
-\end_layout
-
-\begin_layout LyX-Code
-        u1 u2 u3 u4 ...
- un
-\end_layout
-
-\begin_layout LyX-Code
-    The scan of a sequence S begins by setting the current position
-\end_layout
-
-\begin_layout LyX-Code
-    to 1.
-  Then, an attempt is made to match u1 starting at the
-\end_layout
-
-\begin_layout LyX-Code
-    current position.
-  Each attempt to match a pattern unit can
-\end_layout
-
-\begin_layout LyX-Code
-    succeed or fail.
-  If it succeeds, then an attempt is made to match
-\end_layout
-
-\begin_layout LyX-Code
-    the next unit.
-  If it fails, then an attempt is made to find an
-\end_layout
-
-\begin_layout LyX-Code
-    alternative match for the immediately preceding pattern unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    this succeeds, then we proceed forward again to the next unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    it fails we go back to the preceding unit.
-  This process is called
-\end_layout
-
-\begin_layout LyX-Code
-    "backtracking".
-  If there are no previous units, then the current
-\end_layout
-
-\begin_layout LyX-Code
-    position is incremented by one, and everything starts again.
-  This
-\end_layout
-
-\begin_layout LyX-Code
-    proceeds until either the current position goes past the end of
-\end_layout
-
-\begin_layout LyX-Code
-    the sequence or all of the pattern units succeed.
-  On success,
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches reports the "hit", the current position is set
-\end_layout
-
-\begin_layout LyX-Code
-    just past the hit, and an attempt is made to find another hit.
-\end_layout
-
-\begin_layout LyX-Code
-    If you wish to limit the scan to simply finding a maximum of, say,
-\end_layout
-
-\begin_layout LyX-Code
-    10 hits, you can use the -n option (-n 10 would set the limit to
-\end_layout
-
-\begin_layout LyX-Code
-    10 reported hits).
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c -n 1 pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    would search for just the first hit (and would stop searching the
-\end_layout
-
-\begin_layout LyX-Code
-    current sequences or any that follow in the input file).
-\end_layout
-
-\begin_layout LyX-Code
-Searching for repeats:
-\end_layout
-
-\begin_layout LyX-Code
-    In the last section, I discussed almost all of the details
-\end_layout
-
-\begin_layout LyX-Code
-    required to allow you to look for repeats.
-  Consider the following
-\end_layout
-
-\begin_layout LyX-Code
-    set of patterns:
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3...8 p1   (find exact 6 character repeat separated
-\end_layout
-
-\begin_layout LyX-Code
-                             by to 8 characters)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3..8 p1[1,0,0]   (allow one mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=3...3 p1[1,0,0] p1[1,0,0] p1[1,0,0]  
-\end_layout
-
-\begin_layout LyX-Code
-                            (match 12 characters that are the remains
-\end_layout
-
-\begin_layout LyX-Code
-                             of a 3-character sequence occurring 4 times)
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-        p1=4...8 0...3 p2=6...8 p1 0...3 p2
-\end_layout
-
-\begin_layout LyX-Code
-                            (This would match things like
-\end_layout
-
-\begin_layout LyX-Code
-                                ATCT G TCTTT ATCT TG TCTTT
-\end_layout
-
-\begin_layout LyX-Code
-                            )
-\end_layout
-
-\begin_layout LyX-Code
-Searching for particular sequences:
-\end_layout
-
-\begin_layout LyX-Code
-    Occasionally, one wishes to match a specific, known sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    In such a case, you can just give the sequence (along with an
-\end_layout
-
-\begin_layout LyX-Code
-    optional statement of the allowable mismatches, insertions, and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions).
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...8 GAGA ~p1    (match a hairpin with GAGA as the loop)
-\end_layout
-
-\begin_layout LyX-Code
-        RRRRYYYY             (match 4 purines followed by 4 pyrimidines)
-\end_layout
-
-\begin_layout LyX-Code
-        TATAA[1,0,0]         (match TATAA, allowing 1 mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-Matches against a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-    I will conclude my examples of the types of pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    available for matching against nucleotide sequences by discussing a
-\end_layout
-
-\begin_layout LyX-Code
-    crude implemetation of matching using a "weight matrix".
-  While I
-\end_layout
-
-\begin_layout LyX-Code
-    am less than overwhelmed with the syntax that I chose, I think that
-\end_layout
-
-\begin_layout LyX-Code
-    the reader should be aware that I was thinking of generating
-\end_layout
-
-\begin_layout LyX-Code
-    patterns containing such pattern units automatically from
-\end_layout
-
-\begin_layout LyX-Code
-    alignments (and did not really plan on typing such things in by
-\end_layout
-
-\begin_layout LyX-Code
-    hand very often).
-  Anyway, suppose that you wanted to match a
-\end_layout
-
-\begin_layout LyX-Code
-    sequence of eight characters.
-  The "consensus" of these eight
-\end_layout
-
-\begin_layout LyX-Code
-    characters is GRCACCGS, but the actual "frequencies of occurrence"
-\end_layout
-
-\begin_layout LyX-Code
-    are given in the matrix below.
-  Thus, the first character is an A
-\end_layout
-
-\begin_layout LyX-Code
-    16% the time and a G 84% of the time.
-  The second is an A 57% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time, a C 10% of the time, a G 29% of the time, and a T 4% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time.
-  
-\end_layout
-
-\begin_layout LyX-Code
-             C1     C2    C3    C4   C5    C6    C7    C8
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-       A     16     57     0    95    0    18     0     0
-\end_layout
-
-\begin_layout LyX-Code
-       C      0     10    80     0  100    60     0    50
-\end_layout
-
-\begin_layout LyX-Code
-       G     84     29     0     0    0    20   100    50
-\end_layout
-
-\begin_layout LyX-Code
-       T      0      4    20     5    0     2     0     0   
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-    One could use the following pattern unit to search for inexact
-\end_layout
-
-\begin_layout LyX-Code
-    matches related to such a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-        {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    This pattern unit will attempt to match exactly eight characters.
-\end_layout
-
-\begin_layout LyX-Code
-    For each character in the sequence, the entry in the corresponding
-\end_layout
-
-\begin_layout LyX-Code
-    tuple is added to an accumulated sum.
-  If the sum is greater than
-\end_layout
-
-\begin_layout LyX-Code
-    450, the match succeeds; else it fails.
-\end_layout
-
-\begin_layout LyX-Code
-    Recently, this feature was upgraded to allow ranges.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-  600 >  {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    will work, as well.
-\end_layout
-
-\begin_layout LyX-Code
-Allowing Alternatives:
-\end_layout
-
-\begin_layout LyX-Code
-    Very occasionally, you may wish to allow alternative pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    (i.e., "match either A or B").
-  You can do this using something
-\end_layout
-
-\begin_layout LyX-Code
-    like
-\end_layout
-
-\begin_layout LyX-Code
-                ( GAGA | GCGCA)
-\end_layout
-
-\begin_layout LyX-Code
-    which says "match either GAGA or GCGCA".
-  You may take
-\end_layout
-
-\begin_layout LyX-Code
-    alternatives of a list of pattern units, for example
-\end_layout
-
-\begin_layout LyX-Code
-        (p1=3...3 3...8 ~p1 | p1=5...5 4...4 ~p1 GGG)
-\end_layout
-
-\begin_layout LyX-Code
-    would match one of two sequences of pattern units.
-  There is one
-\end_layout
-
-\begin_layout LyX-Code
-    clumsy aspect of the syntax: to match a list of alternatives, you
-\end_layout
-
-\begin_layout LyX-Code
-    need to fully the request.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        (GAGA | (GCGCA | TTCGA))
-\end_layout
-
-\begin_layout LyX-Code
-    would be needed to try the three alternatives.
-\end_layout
-
-\begin_layout LyX-Code
-One Minor Extension
-\end_layout
-
-\begin_layout LyX-Code
-    Sometimes a pattern will contain a sequence of distinct ranges,
-\end_layout
-
-\begin_layout LyX-Code
-    and you might wish to limit the sum of the lengths of the matched
-\end_layout
-
-\begin_layout LyX-Code
-    subsequences.
-   For example, suppose that you basically wanted to
-\end_layout
-
-\begin_layout LyX-Code
-    match something like
-\end_layout
-
-\begin_layout LyX-Code
-    ARRYYTT p1=0...5 GCA[1,0,0] p2=1...6 ~p1 4...8 ~p2 p3=4...10 CCT
-\end_layout
-
-\begin_layout LyX-Code
-    but that the sum of the lengths of p1, p2, and p3 must not exceed
-\end_layout
-
-\begin_layout LyX-Code
-    eight characters.
-  To do this, you could add 
-\end_layout
-
-\begin_layout LyX-Code
-        length(p1+p2+p3) < 9
-\end_layout
-
-\begin_layout LyX-Code
-    as the last pattern unit.
-  It will just succeed or fail (but does
-\end_layout
-
-\begin_layout LyX-Code
-    not actually match any characters in the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-Matching Protein Sequences
-\end_layout
-
-\begin_layout LyX-Code
-    Suppose that the input file contains protein sequences.
-  In this
-\end_layout
-
-\begin_layout LyX-Code
-    case, you must invoke scan_for_matches with the "-p" option.
-  You
-\end_layout
-
-\begin_layout LyX-Code
-    cannot use aspects of the language that relate directly to
-\end_layout
-
-\begin_layout LyX-Code
-    nucleotide sequences (e.g., the -c command line option or pattern
-\end_layout
-
-\begin_layout LyX-Code
-    constructs referring to the reverse complement of a previously
-\end_layout
-
-\begin_layout LyX-Code
-    matched unit).
-  
-\end_layout
-
-\begin_layout LyX-Code
-    You also have two additional constructs that allow you to match
-\end_layout
-
-\begin_layout LyX-Code
-    either "one of a set of amino acids" or "any amino acid other than
-\end_layout
-
-\begin_layout LyX-Code
-    those a given set".
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=0...4 any(HQD) 1...3 notany(HK) p1
-\end_layout
-
-\begin_layout LyX-Code
-    would successfully match a string like
-\end_layout
-
-\begin_layout LyX-Code
-           YWV D AA C YWV
-\end_layout
-
-\begin_layout LyX-Code
-Using the show_hits Utility
-\end_layout
-
-\begin_layout LyX-Code
-    When viewing a large set of complex matches, you might find it
-\end_layout
-
-\begin_layout LyX-Code
-    convenient to post-process the scan_for_matches output to get a
-\end_layout
-
-\begin_layout LyX-Code
-    more readable version.
-  We provide a simple post-processor called
-\end_layout
-
-\begin_layout LyX-Code
-    "show_hits".
-  To see its effect, just pipe the output of a
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches into show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-     Normal Output:
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[1,28]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc  ggttaac cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[28,1]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc  ggttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[2,31]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGUAAC C GGTTAACC GGUUACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[31,2]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGTAAC C GGTTAACC GGTTACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[3,32]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc g gttaactt cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[32,3]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc g aagttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-     Piped Through show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    Optionally, you can specify which of the "fields" in the matches
-\end_layout
-
-\begin_layout LyX-Code
-    you wish to sort on, and show_hits will sort them.
-  The field
-\end_layout
-
-\begin_layout LyX-Code
-    numbers start with 0.
-  So, you might get something like
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits 2 1
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the hits have been sorted on fields 2 and 1 (that is,
-\end_layout
-
-\begin_layout LyX-Code
-    the third and second matched subfields).
-\end_layout
-
-\begin_layout LyX-Code
-    show_hits is just one possible little post-processor, and you
-\end_layout
-
-\begin_layout LyX-Code
-    might well wish to write a customized one for yourself.
-\end_layout
-
-\begin_layout LyX-Code
-Reducing the Cost of a Search
-\end_layout
-
-\begin_layout LyX-Code
-    The scan_for_matches utility uses a fairly simple search, and may
-\end_layout
-
-\begin_layout LyX-Code
-    consume large amounts of CPU time for complex patterns.
-  Someday,
-\end_layout
-
-\begin_layout LyX-Code
-    I may decide to optimize the code.
-  However, until then, let me
-\end_layout
-
-\begin_layout LyX-Code
-    mention one useful technique.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    When you have a complex pattern that includes a number of varying
-\end_layout
-
-\begin_layout LyX-Code
-    ranges, imprecise matches, and so forth, it is useful to
-\end_layout
-
-\begin_layout LyX-Code
-    "pipeline" matches.
-  That is, form a simpler pattern that can be
-\end_layout
-
-\begin_layout LyX-Code
-    used to scan through a large database extracting sections that
-\end_layout
-
-\begin_layout LyX-Code
-    might be matched by the more complex pattern.
-  Let me illustrate
-\end_layout
-
-\begin_layout LyX-Code
-    with a short example.
-  Suppose that you really wished to match the
-\end_layout
-
-\begin_layout LyX-Code
-    pattern 
-\end_layout
-
-\begin_layout LyX-Code
-    p1=3...5 0...8 ~p1[1,1,0] p2=6...7 3...6 AGC 3...5 RYGC ~p2[1,0,0]
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the pattern units AGC 3...5 RYGC can be used to rapidly
-\end_layout
-
-\begin_layout LyX-Code
-    constrain the overall search.
-  You can preprocess the overall
-\end_layout
-
-\begin_layout LyX-Code
-    database using the pattern:
-\end_layout
-
-\begin_layout LyX-Code
-          31...31 AGC 3...5 RYGC 7...7
-\end_layout
-
-\begin_layout LyX-Code
-    Put the complex pattern in pat_file1 and the simpler pattern in
-\end_layout
-
-\begin_layout LyX-Code
-    pat_file2.
-  Then use,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file2 < nucleotide_database |
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file1
-\end_layout
-
-\begin_layout LyX-Code
-    The output will show things like
-\end_layout
-
-\begin_layout LyX-Code
-    >seqid:[232,280][2,47]
-\end_layout
-
-\begin_layout LyX-Code
-    matches pieces
-\end_layout
-
-\begin_layout LyX-Code
-    Then, the actual section of the sequence that was matched can be
-\end_layout
-
-\begin_layout LyX-Code
-    easily computed as [233,278] (remember, the positions start from
-\end_layout
-
-\begin_layout LyX-Code
-    1, not 0).
-\end_layout
-
-\begin_layout LyX-Code
-    Let me finally add, you should do a few short experiments to see
-\end_layout
-
-\begin_layout LyX-Code
-    whether or not such pipelining actually improves performance -- it
-\end_layout
-
-\begin_layout LyX-Code
-    is not always obvious where the time is going, and I have
-\end_layout
-
-\begin_layout LyX-Code
-    sometimes found that the added complexity of pipelining actually
-\end_layout
-
-\begin_layout LyX-Code
-    slowed things up.
-  It gets its best improvements when there are
-\end_layout
-
-\begin_layout LyX-Code
-    exact matches of more than just a few characters that can be
-\end_layout
-
-\begin_layout LyX-Code
-    rapidly used to eliminate large sections of the database.
-\end_layout
-
-\begin_layout LyX-Code
-=============
-\end_layout
-
-\begin_layout LyX-Code
-Additions:
-\end_layout
-
-\begin_layout LyX-Code
-Feb 9, 1995:   the pattern units ^ and $ now work as in normal regular
-\end_layout
-
-\begin_layout LyX-Code
-               expressions.
-  That is
-\end_layout
-
-\begin_layout LyX-Code
-                        TTF $
-\end_layout
-
-\begin_layout LyX-Code
-               matches only TTF at the end of the string and 
-\end_layout
-
-\begin_layout LyX-Code
-                        ^ TTF 
-\end_layout
-
-\begin_layout LyX-Code
-               matches only an initial TTF
-\end_layout
-
-\begin_layout LyX-Code
-               The pattern unit 
-\end_layout
-
-\begin_layout LyX-Code
-                        <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches the reverse of the string named p1.
-  That is,
-\end_layout
-
-\begin_layout LyX-Code
-               if p1 matched GCAT, then <p1 would match TACG.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                   p1=6...6 <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches a real palindrome (not the biologically common
-\end_layout
-
-\begin_layout LyX-Code
-               meaning of "reverse complement")
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\end_body
-\end_document
diff --git a/bp_doc/biotools_cookbook.lyx b/bp_doc/biotools_cookbook.lyx
deleted file mode 100644 (file)
index eaf2d0b..0000000
+++ /dev/null
@@ -1,7256 +0,0 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
-\lyxformat 276
-\begin_document
-\begin_header
-\textclass scrartcl
-\begin_preamble
-\usepackage[colorlinks=true, urlcolor=blue, linkcolor=black]{hyperref}
-\end_preamble
-\language english
-\inputencoding auto
-\font_roman default
-\font_sans default
-\font_typewriter default
-\font_default_family default
-\font_sc false
-\font_osf false
-\font_sf_scale 100
-\font_tt_scale 100
-\graphics default
-\paperfontsize default
-\spacing single
-\papersize default
-\use_geometry false
-\use_amsmath 1
-\use_esint 1
-\cite_engine basic
-\use_bibtopic false
-\paperorientation portrait
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation skip
-\defskip medskip
-\quotes_language english
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-\tracking_changes false
-\output_changes false
-\author "" 
-\author "" 
-\end_header
-
-\begin_body
-
-\begin_layout Title
-Biotools Cookbook
-\end_layout
-
-\begin_layout Author
-Martin Asser Hansen
-\end_layout
-
-\begin_layout Publishers
-John Mattick Group
-\newline
-Institute for Molecular Bioscience
-\newline
-University of Queensland
-\newline
-Aust
-ralia
-\newline
-E-mail: mail@maasha.dk
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
-
-\backslash
-thispagestyle{empty}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset LatexCommand tableofcontents
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset FloatList figure
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-Biotools is a selection of simple tools that can be linked together (piped
- as we shall call it) in a very flexible manner to perform both simple and
- complex tasks.
- The fundamental idea is that biotools work on a data stream that will only
- terminate at the end of an analysis and that this data stream can be passed
- through several different biotools, each performing one specific task.
- The advantage of this approach is that a user can perform simple and complex
- tasks without having to write advanced code.
- Moreover, since the data format used to pass data between biotools is text
- based, biotools can be written by different developers in their favorite
- programming language --- and still the biotools will be able to work together.
-\end_layout
-
-\begin_layout Standard
-In the most simple form bioools can be piped together on the command line
- like this (using the pipe character '|'):
-\end_layout
-
-\begin_layout LyX-Code
-read_data | calculate_something | write_result
-\end_layout
-
-\begin_layout Standard
-However, a more comprehensive analysis could be composed:
-\end_layout
-
-\begin_layout LyX-Code
-read_data | select_entries | convert_entries | search_database  
-\end_layout
-
-\begin_layout LyX-Code
-evaluate_results | plot_diagram | plot_another_diagram |
-\end_layout
-
-\begin_layout LyX-Code
-load_to_database
-\end_layout
-
-\begin_layout Standard
-The data stream that is piped through the biotools consists of records of
- key/value pairs in the same way a hash does in order to keep as simple
- a structure as possible.
- An example record can be seen below:
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-REC_TYPE: PATSCAN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MATCH: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_BEG: 7
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_END: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-ALIGN_LEN: 9
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_ID: piR-t6
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-STRAND: +
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-PATTERN: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-The '
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-' denotes the delimiter of the records, and each key is a word followed
- by a ':' and a white-space and then the value.
- By convention the biotools only uses upper case keys (a list of used keys
- can be seen in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:Keys"
-
-\end_inset
-
-).
- Since the records basically are hash structures this mean that the order
- of the keys in the stream is unordered, and in the above example it is
- pure coincidence that HIT_BEG is displayed before HIT_END, however, when
- the order of the keys is importent, the biotools will automagically see
- to that.
-\end_layout
-
-\begin_layout Standard
-All of the biotools are able to read and write a data stream to and from
- file as long as the records are in the biotools format.
- This means that if you are undertaking a lengthy analysis where one of
- the steps is time consuming, you may save the stream after this step, and
- subsequently start one or more analysis from that last step
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-It is a goal that the biotools at some point will be able to dump the data
- stream to file in case one of the tools fail critically.
-\end_layout
-
-\end_inset
-
-.
- If you are running a lengthy analysis it is highly recommended that you
- create a small test sample of the data and run that through the pipeline
- --- and once you are satisfied with the result proceed with the full data
- set (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-select-a-few-records"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-All of the biotools can be supplied with long arguments prefixed with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
- switches or single character arguments prefixed with - switches that can
- be grouped together (e.g.
- -xok).
- In this cookbook only the long switches are used to emphasize what these
- switches do.
-\end_layout
-
-\begin_layout Section
-Setup
-\end_layout
-
-\begin_layout Standard
-In order to get the biotools to work, you need to add environment settings
- to include the code binaries, scripts, and modules that constitute the
- biotools package.
- Assuming that you are using bash, add the following to your '~/.bashrc'
- file using your favorite editor.
- After the changes has been saved you need to either run 'source ~/.bashrc'
- or relogin.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-if [ -f "/home/m.hansen/maasha/conf/bashrc" ]; then
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-    source "/home/m.hansen/maasha/conf/bashrc"
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-fi
-\end_layout
-
-\begin_layout Section
-Getting Started
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-list_biotools
-\series default
- lists all the biotools along with a description:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biotools
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-align_seq             Align sequences in stream using Muscle.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_seq           Analysis the residue composition of each sequence
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_vals          Determine type, count, min, max, sum and mean for
- values in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blast_seq             BLAST sequences in stream against a specified database.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blat_seq              BLAT sequences in stream against a specified genome.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-complement_seq        Complement sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records         Count the number of records in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_seq             Count sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_vals            Count the number of times values of given keys exists
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-create_blast_db       Create a BLAST database from sequences in stream for
- use with BLAST.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-...
-\end_layout
-
-\begin_layout Standard
-To list the biotools for writing different formats, you can use unix's grep
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biotools | grep write
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_align           Write aligned sequences in pretty alignment format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_bed             Write records from stream as BED lines.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_blast           Write BLAST records from stream in BLAST tabular format
- (-m8 and 9).
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_fasta           Write sequences in FASTA format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_psl             Write records from stream in PSL format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_tab             Write records from stream as tab separated table.
-\end_layout
-
-\begin_layout Standard
-In order to find out how a specific biotool works, you just type the program
- name without any arguments and press return and the usage of the biotool
- will be displayed.
- E.g.
-\series bold
-read_fasta
-\series default
- <return>:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Frameless
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-width "100col%"
-special "none"
-height "1in"
-height_special "totalheight"
-status open
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Program name:   read_fasta
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Author:         Martin Asser Hansen - Copyright (C) - All rights reserved
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Contact:        mail@maasha.dk
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Date:           August 2007
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-License:        GNU General Public License version 2 (http://www.gnu.org/copyleft/
-gpl.html)
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Description:    Read FASTA entries.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Usage:          read_fasta [options] -i <FASTA file(s)>
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Options:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-i <file(s)> | --data_in=<file(s)>]  -  Comma separated list of files
- to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-n <int>     | --num=<int>]          -  Limit number of records to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-I <file>    | --stream_in=<file>]   -  Read input stream from file
-  -  Default=STDIN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-O <file>    | --stream_out=<file>]  -  Write output stream to file
-  -  Default=STDOUT
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Examples:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna             -  Read FASTA entries from file.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test1.fna,test2,fna  -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i '*.fna'              -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna -n 10       -  Read first 10 FASTA entries from
- file.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-The Data Stream
-\end_layout
-
-\begin_layout Subsection
-How to read the data stream from file?
-\begin_inset LatexCommand label
-name "sub:How-to-read-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-You want to read a data stream that you previously have saved to file in
- biotools format.
- This can be done implicetly or explicitly.
- The implicit way uses the 'stdout' stream of the Unix terminal:
-\end_layout
-
-\begin_layout LyX-Code
-cat | <biotool>
-\end_layout
-
-\begin_layout Standard
-cat is the Unix command that reads a file and output the result to 'stdout'
- --- which in this case is piped to any biotool represented by the <biotool>.
- It is also possible to read the data stream using '<' to direct the 'stdout'
- stream into the biotool like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> < <file>
-\end_layout
-
-\begin_layout Standard
-However, that will not work if you pipe more biotools together.
- Then it is much safer to read the stream from a file explicitly like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_in=<file>
-\end_layout
-
-\begin_layout Standard
-Here the filename <file> is explicetly given to the biotool <biotool> with
- the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in.
- This switch works with all biotools.
- It is also possible to read in data from multiple sources by repeating
- the explicit read step:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_in=<file1> | <biotool> --stream_in=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to write the data stream to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to save the output stream from a biotool to file, so you can read
- in the stream again at a later time, you can do one of two things:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> > <file>
-\end_layout
-
-\begin_layout Standard
-All, the biotools write the data stream to 'stdout' by default which can
- be written to a file by redirecting 'stdout' to file using '>' , however,
- if one of the biotools for writing other formats is used then the both
- the biotools records as well as the result output will go to 'stdout' in
- a mixture causing havock! To avoid this you must use the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out that explictly tells the biotool to write the output stream to
- file:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_out=<file>
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out switch works with all biotools.
-\end_layout
-
-\begin_layout Subsection
-How to terminate the data stream?
-\end_layout
-
-\begin_layout Standard
-The data stream is never stops unless the user want to save the stream or
- by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch that will terminate the stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --no_stream
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch only works with those biotools where it makes sense that
- the user might want to terminale the data stream, 
-\emph on
-i.e
-\emph default
-.
- after an analysis step where the user wants to output the result, but not
- the data stream.
-\end_layout
-
-\begin_layout Subsection
-How to write my results to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-result"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Saving the result of an analysis to file can be done implicitly or explicitly.
- The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --no_stream > <file>
-\end_layout
-
-\begin_layout Standard
-If you use '>' to redirect 'stdout' to file then it is important to use
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch to avoid writing a mix of biotools records and result to
- the same file causing havock.
- The safe way is to use the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which explicetly tells the biotool to write the result
- to a given file:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-Using the above method will not terminate the stream, so it is possible
- to pipe that into another biotool generating different results:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool1> --result_out=<file1> | <biotool2> --result_out=<file2>
-\end_layout
-
-\begin_layout Standard
-And still the data stream will continue unless terminated with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --result_out=<file> --no_stream
-\end_layout
-
-\begin_layout Standard
-Or written to file using implicitly or explicity 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-result"
-
-\end_inset
-
-.
- The explicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --result_out=<file1> --stream_out=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to read data from multiple sources?
-\end_layout
-
-\begin_layout Standard
-To read multiple data sources, with the same type or different type of data
- do:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool1> --data_in=<file1> | <biotool2> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-where type is the data type a specific biotool reads.
-\end_layout
-
-\begin_layout Section
-Reading input
-\end_layout
-
-\begin_layout Subsection
-How to read biotools input?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to read in data?
-\end_layout
-
-\begin_layout Standard
-Data in different formats can be read with the appropriate biotool for that
- format.
- The biotools are typicalled named 'read_<data type>' such as 
-\series bold
-read_fasta
-\series default
-, 
-\series bold
-read_bed
-\series default
-, 
-\series bold
-read_tab
-\series default
-, etc., and all behave in a similar manner.
- Data can be read by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in switch and a file name to the file containing the data:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read in a saved biotools stream (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-) as well as reading data in one go:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_in=<file1> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you want to read data from several files you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=<file1> | <biotool> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you have several data files you can read in all explicitly with a comma
- separated list:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=file1,file2,file3
-\end_layout
-
-\begin_layout Standard
-And it is also possible to use file globbing
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-using the short option will only work if you quote the argument -i '*.fna'
-\end_layout
-
-\end_inset
-
-:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=*.fna
-\end_layout
-
-\begin_layout Standard
-Or in a combination:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=file1,/dir/*.fna
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to read in data in different formats using the appropria
-te biotool for each format:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool1> --data_in=<file1> | <biotool2> --data_in=<file2> ...
-\end_layout
-
-\begin_layout Subsection
-How to read FASTA input?
-\end_layout
-
-\begin_layout Standard
-Sequences in FASTA format can be read explicitly using 
-\series bold
-read_fasta
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read alignment input?
-\end_layout
-
-\begin_layout Standard
-If your alignment if FASTA formatted then you can 
-\series bold
-read_align
-\series default
-.
- It is also possible to use 
-\series bold
-read_fasta
-\series default
- since the data is FASTA formatted, however, with 
-\series bold
-read_fasta
-\series default
- the key ALIGN will be omitted.
- The ALIGN key is used to determine which sequences belong to what alignment
- which is required for 
-\series bold
-write_align
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-read_align --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read tabular input?
-\begin_inset LatexCommand label
-name "sub:How-to-read-table"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Tabular input can be read with 
-\series bold
-read_tab
-\series default
- which will read in all rows and chosen columns (separated by a given delimter)
- from a table in text format.
-\end_layout
-
-\begin_layout Standard
-The table below:
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="3">
-<features>
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Human
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-ATACGTCAG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-23524
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Dog
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AGCATGAC
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2442
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Mouse
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-GACTG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-234
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Cat
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AAATGCA
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2342
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Can be read using the command:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-Which will result in four records, one for each row, where the keys V0,
- V1, V2 are the default keys for the organism, sequence, and count, respectively.
- It is possible to select a subset of colums to read by using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-cols switch which takes a comma separated list of columns numbers (first
- column is designated 0) as argument.
- So to read in only the sequence and the count so that the count comes before
- the sequence do:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1
-\end_layout
-
-\begin_layout Standard
-It is also possible to name the columns with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1 --keys=COUNT,SEQ
-\end_layout
-
-\begin_layout Subsection
-How to read BED input?
-\end_layout
-
-\begin_layout Standard
-The BED (Browser Extensible Data
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/FAQ/FAQformat"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-) format is a tabular format for data pertaining to one of the Eukaryotic
- genomes in the UCSC genome brower
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- The BED format consists of up to 12 columns, where the first three are
- mandatory CHR, CHR_BEG, and CHR_END.
- The mandatory columns and any of the optional columns can all be read in
- easily with the 
-\series bold
-read_bed
-\series default
- biotool.
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read the BED file with 
-\series bold
-read_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-), however, that will be more cumbersome because you need to specify the
- keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --keys=CHR,CHR_BEG,CHR_END ...
-\end_layout
-
-\begin_layout Subsection
-How to read PSL input?
-\end_layout
-
-\begin_layout Standard
-The PSL format is the output from BLAT and contains 21 mandatory fields
- that can be read with 
-\series bold
-read_psl
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<file>
-\end_layout
-
-\begin_layout Section
-Writing output
-\end_layout
-
-\begin_layout Standard
-All result output can be written explicitly to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which all result generating biotools have.
- It is also possible to write the result to file implicetly by directing
- 'stdout' to file using '>', however, that requires the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream swich to prevent a mixture of data stream and results in the file.
- The explicit (and safe) way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biotool> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biotool> --no_stream > <file>
-\end_layout
-
-\begin_layout Subsection
-How to write biotools output?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to write FASTA output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-fasta"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-FASTA output can be written with 
-\series bold
-write_fasta
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to wrap the sequences to a given width using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch allthough wrapping of sequence is generally an evil thing:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --no_stream --wrap=80
-\end_layout
-
-\begin_layout Subsection
-How to write alignment output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-alignment"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Pretty alignments with ruler
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-'.' for every 10 residues, ':' for every 50, and '|' for every 100
-\end_layout
-
-\end_inset
-
- and consensus sequence
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-which reminds me to make that an option.
-\end_layout
-
-\end_inset
-
- can be created with 
-\series bold
-write_align
-\series default
-, what also have the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch to break the alignment into blocks of a given width: 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_align --result_out=<file> --wrap=80
-\end_layout
-
-\begin_layout Standard
-If the number of sequnces in the alignment is 2 then a pairwise alignment
- will be output otherwise a multiple alignment.
- And if the sequence type, determined automagically, is protein, then residues
- and symbols (+,\InsetSpace ~
-:,\InsetSpace ~
-.) will be used to show consensus according to the Blosum62
- matrix.
-\end_layout
-
-\begin_layout Subsection
-How to write tabular output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-tab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Outputting the data stream as a table can be done with 
-\series bold
-write_tab
-\series default
-, which will write generate one row per record with the values as columns.
- If you supply the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment switch, when the first row in the table will be a 'comment' line
- prefixed with a '#':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --comment
-\end_layout
-
-\begin_layout Standard
-You can also change the delimiter from the default (tab) to 
-\emph on
-e.g.
-
-\emph default
- ',':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --delimit=','
-\end_layout
-
-\begin_layout Standard
-If you want the values output in a specific order you have to supply a comma
- separated list using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch that will print only those keys in that order:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --keys=SEQ_NAME,COUNT
-\end_layout
-
-\begin_layout Standard
-Alternatively, if you have some keys that you don't want in the tabular
- output, use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switch.
- So to print all keys except SEQ and SEQ_TYPE do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --no_keys=SEQ,SEQ_TYPE
-\end_layout
-
-\begin_layout Standard
-Finally, if you have a stream containing a mix of different records types,
-\emph on
-e.g.
-
-\emph default
- records with sequences and records with matches, then you can use 
-\series bold
-write_tab
-\series default
- to output all the records in tabluar format, however, the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment, 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys, and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switches will only respond to records of the first type encountered.
- The reason is that outputting mixed records is probably not what you want
- anyway, and you should remove all the unwanted records from the stream
- before outputting the table: 
-\series bold
-grab
-\series default
- is your friend (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to write a BED output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-BED"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in BED format can be output if the records contain the mandatory keys
- CHR, CHR_BEG, and CHR_END using 
-\series bold
-write_bed
-\series default
-.
- If the optional keys are also present, they will be output as well:
-\end_layout
-
-\begin_layout LyX-Code
-write_bed --result_out=<file>
-\end_layout
-
-\begin_layout Subsection
-How to write PSL output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-PSL"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in PSL format can be output using 
-\series bold
-write_psl:
-\end_layout
-
-\begin_layout LyX-Code
-write_psl --result_out=<file>
-\end_layout
-
-\begin_layout Section
-Manipulating Records
-\end_layout
-
-\begin_layout Subsection
-How to select a few records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-a-few-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To quickly get an overview of your data you can limit the data stream to
- show a few records.
- This also very useful to test the pipeline with a few records if you are
- setting up a complex analysis using several biotools.
- That way you can inspect that all goes well before analyzing and waiting
- for the full data set.
- All of the read_<type> biotools have the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch which will take a number as argument and only that number of
- records will be read.
- So to read in the first 10 FASTA entries from a file:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna --num=10
-\end_layout
-
-\begin_layout Standard
-Another way of doing this is to use 
-\series bold
-head_records
-\series default
- will limit the stream to show the first 10 records (default):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records
-\end_layout
-
-\begin_layout Standard
-Using 
-\series bold
-head_records
-\series default
- directly after one of the read_<type> biotools will be a lot slower than
- using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch with the read_<type> biotools, however, 
-\series bold
-head_records
-\series default
- can also be used to limit the output from all the other biotools.
- It is also possible to give 
-\series bold
-head_records
-\series default
- a number of records to show using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch.
- So to display the first 100 records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records --num=100
-\end_layout
-
-\begin_layout Subsection
-How to select random records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-random-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to inspect a number of random records from the stream this can
- be done with the 
-\series bold
-random_records
-\series default
- biotool.
- So if you have 1 mio records in the stream and you want to select 1000
- random records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | random_records --num=1000
-\end_layout
-
-\begin_layout Subsection
-How to count all records in the data stream?
-\end_layout
-
-\begin_layout Standard
-To count all the records in the data stream use 
-\series bold
-count_records
-\series default
-, which adds one record (which is not included in the count) to the data
- stream.
- So to count the number of sequences in a FASTA file you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-cat test.fna | read_fasta | count_records --no_stream
-\end_layout
-
-\begin_layout Standard
-Which will write the last record containing the count to 'stdout':
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records: 630
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-It is also possible to write the count to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch.
-\end_layout
-
-\begin_layout Subsection
-How to get the length of record values?
-\begin_inset LatexCommand label
-name "sub:How-to-get-value_length"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Use the 
-\series bold
-length_vals
-\series default
- biotool to get the length of each value for a comma separated list of keys:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | length_vals --keys=HIT,PATTERN
-\end_layout
-
-\begin_layout Subsection
-How to grab specific records?
-\begin_inset LatexCommand label
-name "sub:How-to-grab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-grab
-\series default
- is related to the Unix grep and locates records based on matching keys
- and/or values using either a pattern, a Perl regex, or a numerical evaluation.
- To easily 
-\series bold
-grab
-\series default
- all records in the stream that has any mentioning of the pattern 'human'
- just pipe the data stream through 
-\series bold
-grab
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human
-\end_layout
-
-\begin_layout Standard
-This will search for the pattern 'human' in all keys and all values.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma separated list of patterns, so in order to
- match multiple patterns do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human,mouse
-\end_layout
-
-\begin_layout Standard
-It is also possible to use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch instead of 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern.
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in is used to read a file with one pattern per line:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern_in=patterns.txt
-\end_layout
-
-\begin_layout Standard
-If you want the opposite result --- to find all records that does not match
- the patterns, add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch, which not only works with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch, but also with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-regex and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --invert
-\end_layout
-
-\begin_layout Standard
-If you want to search the record keys only, 
-\emph on
-e.g.
-
-\emph default
- to find all records containing the key SEQ you can add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys_only switch.
- This will prevent matching of SEQ in any record value, and in fact SEQ
- is a not uncommon peptide sequence you could get an unwanted record.
- Also, this will give an increase in speed since only the keys are searched:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --keys_only
-\end_layout
-
-\begin_layout Standard
-However, if you are interested in finding the peptide sequence SEQ and not
- the SEQ key, just add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-vals_only switch instead:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --vals_only
-\end_layout
-
-\begin_layout Standard
-Also, if you want to grab for certain key/value pairs you can supply a comma
- separated list of keys whos values will then be searched using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch.
- This is handy if your records contain large genomic sequences and you dont
- want to search the entire sequence for 
-\emph on
-e.g.
-
-\emph default
- the organism name --- it is much faster to tell 
-\series bold
-grab
-\series default
- which keys to search the value for:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --keys=SEQ_NAME
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-It is also possible to invoke flexible matching using regex (regular expressions
-) instead of simple pattern matching.
- In 
-\series bold
-grab
-\series default
- the regex engine is Perl based and allows use of different type of wild
- cards, alternatives, 
-\emph on
-etc
-\emph default
-
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://perldoc.perl.org/perlreref.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- If you want to 
-\series bold
-grab
-\series default
- records withs the sequence ATCG or GCTA you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='ATCG|GCTA'
-\end_layout
-
-\begin_layout Standard
-Or if you want to find sequences beginning with ATCG:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='^ATCG'
-\end_layout
-
-\begin_layout Standard
-You can also use 
-\series bold
-grab
-\series default
- to locate records that fulfill a numerical property using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval switch witch takes an expression in three parts.
- The first part is the key that holds the value we want to evaluate, the
- second part holds one the six operators:
-\end_layout
-
-\begin_layout Enumerate
-Greater than: >
-\end_layout
-
-\begin_layout Enumerate
-Greater than or equal to: >=
-\end_layout
-
-\begin_layout Enumerate
-Less than: <
-\end_layout
-
-\begin_layout Enumerate
-Less than or equal to: <=
-\end_layout
-
-\begin_layout Enumerate
-Equal to: =
-\end_layout
-
-\begin_layout Enumerate
-Not equal to: !=
-\end_layout
-
-\begin_layout Enumerate
-String wise equal to: eq
-\end_layout
-
-\begin_layout Enumerate
-String wise not equal to: ne
-\end_layout
-
-\begin_layout Standard
-And finally comes the number used in the evaluation.
- So to 
-\series bold
-grab
-\series default
- all records with a sequence length greater than 30:
-\end_layout
-
-\begin_layout LyX-Code
-...
- length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-If you want to locate all records containing the pattern 'human' and where
- the sequence length is greater that 30, you do this by running the stream
- through 
-\series bold
-grab
-\series default
- twice:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern='human' | length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to do fast matching of expressions from a file using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact switch.
- Each of these expressions has to be matched exactly over the entrie length,
- which if useful if you have a file with accession numbers, that you want
- to locate in the stream:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --exact acc_no.txt | ...
-\end_layout
-
-\begin_layout Standard
-Using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact is much faster than using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in, because with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact the expression has to be complete matches, where 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in looks for subpatterns.
-\end_layout
-
-\begin_layout Standard
-NB! To get the best speed performance, use the most restrictive 
-\series bold
-grab
-\series default
- first.
-\end_layout
-
-\begin_layout Subsection
-How to remove keys from records?
-\end_layout
-
-\begin_layout Standard
-To remove one or more specific keys from all records in the data stream
- use 
-\series bold
-remove_keys
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_keys --keys=SEQ,SEQ_NAME
-\end_layout
-
-\begin_layout Standard
-In the above example SEQ and SEQ_NAME will be removed from all records if
- they exists in these.
- If all keys are removed from a record, then the record will be removed.
-\end_layout
-
-\begin_layout Subsection
-How to rename keys in records?
-\end_layout
-
-\begin_layout Standard
-Sometimes you want to rename a record key, 
-\emph on
-e.g.
-
-\emph default
- if you have read in a two column table with sequence name and sequence
- in each column (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-) without specifying the key names, then the sequence name will be called
- V0 and the sequence V1 as default in the 
-\series bold
-read_tab
-\series default
- biotool.
- To rename the V0 and V1 keys we need to run the stream through 
-\series bold
-rename_keys
-\series default
- twice (one for each key to rename):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | rename_keys --keys=V0,SEQ_NAME | rename_keys --keys=V1,SEQ
-\end_layout
-
-\begin_layout Standard
-The first instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V0 keys with SEQ_NAME, and the second instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V1 keys with SEQ.
-\emph on
-Et viola
-\emph default
- the data can now be used in the biotools that requires these keys.
-\end_layout
-
-\begin_layout Section
-Manipulating Sequences
-\end_layout
-
-\begin_layout Subsection
-How to get sequence lengths?
-\end_layout
-
-\begin_layout Standard
-The length for sequences in records can be determined with 
-\series bold
-length_seq
-\series default
-, which adds the key SEQ_LEN to each record with the sequence length as
- the value.
- It also generates an extra record that is emitted last with the key TOTAL_SEQ_L
-EN showing the total length of all the sequences.
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout Standard
-It is also possible to determine the sequence length using the generic tool
-\series bold
-length_vals
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-get-value_length"
-
-\end_inset
-
-, which determines the length of the values for a given list of keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout Standard
-To obtain the total length of all sequences use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout LyX-Code
-| sum_vals --keys=SEQ_LEN
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-analyze_seq
-\series default
- will also determine the length of each sequence (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to analyze sequence composition?
-\begin_inset LatexCommand label
-name "sub:How-to-analyze"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to find out the sequence type, composition, length, as well
- as GC content, indel content and proportions of soft and hard masked sequence,
- then use 
-\series bold
-analyze_seq
-\series default
-.
- This handy biotool will determine all these things per sequence from which
- it is easy to get an overview using the 
-\series bold
-write_tab
-\series default
- biotool to output a table (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-).
- So in order to determine the sequence composition of a FASTA file with
- just one entry containing the sequence 'ATCG' we just read the data with
-\series bold
-read_fasta
-\series default
- and run the output through 
-\series bold
-analyze_seq
-\series default
- which will add the analysis to the record like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:D: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MIX_INDEX: 0.55
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:W: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:G: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SOFT_MASK%: 63.75
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:B: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:V: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-HARD_MASK%: 0.00
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:H: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:S: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:N: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:.: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-GC%: 35.00 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:A: 8 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:Y: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:M: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:T: 44 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_TYPE: DNA 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:K: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:~: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ: TTTCAGTTTGGGACGGAGTAAGGCCTTCCtttttttttttttttttttttttttttttgagaccgagtcttgctc
-tgtcg 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_LEN: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-80 RES:R: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:C: 12 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:-: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:U: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-Now to make a table of how may As, Ts, Cs, and Gs you can add the following:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyze_seq | write_tab --keys=RES:A,RES:T,RES:C,RES:G
-\end_layout
-
-\begin_layout Standard
-Or if you want to see the proportions of hard and soft masked sequence:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyse_seq | write_tab --keys=HARD_MASK%,SOFT_MASK%
-\end_layout
-
-\begin_layout Standard
-If you have a stack of sequences in one file and you want to determine the
- mean GC content you can do it using the 
-\series bold
-mean_vals
-\series default
- biotool:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | mean_vals --keys=GC%
-\end_layout
-
-\begin_layout Standard
-Or if you want the total count of Ns you can use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | sum_vals --keys=RES:N
-\end_layout
-
-\begin_layout Standard
-The MIX_INDEX key is calculated as the count of the most common residue
- over the sequence length, and can be used as a cut-off for removing sequence
- tags consisting of mostly one nucleotide:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | grab --eval='MIX_INDEX<0.85'
-\end_layout
-
-\begin_layout Subsection
-How to extract subsequences?
-\begin_inset LatexCommand label
-name "sub:How-to-extract"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to extract a subsequence from a longer sequence use the biotool
- extract_seq, which will replace the sequence in the record with the subsequence
- (this behaviour should probably be modified to be dependant of a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-replace or a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_replace switch
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-also in split_seq
-\end_layout
-
-\end_inset
-
-).
- So to extract the first 20 residues from all sequences do (first residue
- is designated 1): 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=1 --len=20
-\end_layout
-
-\begin_layout Standard
-You can also specify a begin and end coordinate set:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20 --end=40
-\end_layout
-
-\begin_layout Standard
-If you want the subsequences from position 20 to the sequence end do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20
-\end_layout
-
-\begin_layout Standard
-If you want to extract subsequences a given distance from the sequence end
- you can do this by reversing the sequence with the biotool 
-\series bold
-reverse_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-, followed by 
-\series bold
-extract_seq
-\series default
- to get the subsequence, and then 
-\series bold
-reverse_seq
-\series default
- again to get the subsequence back in the original orientation:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | reverse_seq
-\end_layout
-
-\begin_layout LyX-Code
-| extract_seq --beg=10 --len=10 | reverse_seq
-\end_layout
-
-\begin_layout Subsection
-How to get genomic sequence?
-\begin_inset LatexCommand label
-name "sub:How-to-get-genomic-sequence"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-get_genomic_seq
-\series default
- can extract subsequences for a given genome specified with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch explicitly using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-beg and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-end/
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-len switches:
-\end_layout
-
-\begin_layout LyX-Code
-get_genome_seq --genome=<genome> --beg=1 --len=100
-\end_layout
-
-\begin_layout Standard
-Alternatively, 
-\series bold
-get_genome_seq
-\series default
- can be used to append the corresponding sequence to BED, PSL, and BLAST
- records:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to include flaking sequence using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-flank switch.
- So to include 50 nucleotides upstream and 50 nucleotides downstream for
- each BED entry do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome> --flank=50
-\end_layout
-
-\begin_layout Subsection
-How to upper-case sequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be shifted from lower case to upper case using 
-\series bold
-uppercase_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | uppercase_seq
-\end_layout
-
-\begin_layout Subsection
-How to reverse sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-reverse-seq"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The order of residues in a sequence can be reversed using reverse_seq:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | reverse_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-complement_seq
-\series default
- biotool (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-complement"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to complement sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-complement"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-DNA and RNA sequences can be complemented with 
-\series bold
-complement_seq
-\series default
-, which automagically determines the sequence type:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | complement_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-reverse_seq
-\series default
- biotool (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to remove indels from sequnces?
-\end_layout
-
-\begin_layout Standard
-Indels can be removed from sequences with the 
-\series bold
-remove_indels
-\series default
- biotool.
- This is useful if you have aligned some sequences (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-align"
-
-\end_inset
-
-) and extracted (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-extract"
-
-\end_inset
-
-) a block of subsequences from the alignment and you want to use these sequence
- in a search where you need to remove the indels first.
- '-', '~', and '.' are considered indels:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_indels
-\end_layout
-
-\begin_layout Subsection
-How to shuffle sequences?
-\end_layout
-
-\begin_layout Standard
-All residues in sequences in the stream can be shuffled to random positions
- using the 
-\series bold
-shuffle_seq
-\series default
- biotool:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | shuffle_seq
-\end_layout
-
-\begin_layout Subsection
-How to split sequences into overlapping subsequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be slit into overlapping subsequences with the 
-\series bold
-split_seq
-\series default
- biotool.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | split_seq --word_size=20 --uniq
-\end_layout
-
-\begin_layout Subsection
-How to determine the oligo frequency?
-\end_layout
-
-\begin_layout Standard
-In order to determine if any oligo usage is over represented in one or more
- sequences you can determine the frequency of oligos of a given size with
-\series bold
-oligo_freq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4
-\end_layout
-
-\begin_layout Standard
-And if you have more than one sequence and want to accumulate the frequences
- you need the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-all switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all
-\end_layout
-
-\begin_layout Standard
-To get a meaningful result you need to write the resulting frequencies as
- a table with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-), but first it is important to 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-) the records with the frequencies to avoid full length sequences in the
- table:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all | grab --pattern=OLIGO --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-And the resulting frequency table can be sorted with Unix sort (man sort).
-\end_layout
-
-\begin_layout Subsection
-How to search for sequences in genomes?
-\end_layout
-
-\begin_layout Standard
-See the following biotool:
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-patscan_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blat_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blast_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-vmatch_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to search sequences for a pattern?
-\begin_inset LatexCommand label
-name "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-It is possible to search sequences in the data stream for patterns using
- the 
-\series bold
-patscan_seq
-\series default
- biotool which utilizes the powerful scan_for_matches engine.
- Consult the documentation for scan_for_matches in order to learn how to
- define patterns (the documentation is included in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:scan_for_matches-README"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-To search all sequences for a simple pattern consisting of the sequence
- ATCGATCG allowing for 3 mismatches, 2 insertions and 1 deletion:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | patscan_seq --pattern='ATCGATCG[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma seperated list of patterns, so if you want
- to search for more that one pattern do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern='ATCGATCG[3,2,1],GCTAGCTA[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-It is also possible to have a list of different patterns to search for in
- a file with one pattern per line.
- In order to get 
-\series bold
-patscan_seq
-\series default
- to read these patterns use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern_in=<file>
-\end_layout
-
-\begin_layout Standard
-To also scan the complementary strand in nucleotide sequences (
-\series bold
-patscan_seq
-\series default
- automagically determines the sequence type) you need to add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comp switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --comp
-\end_layout
-
-\begin_layout Standard
-It is also possible to use 
-\series bold
-patscan_seq
-\series default
- to output those records that does not contain a certain pattern by using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --invert
-\end_layout
-
-\begin_layout Standard
-Finally, 
-\series bold
-patscan_seq
-\series default
- can also scan for patterns in a given genome sequence, instead of sequences
- in the stream, using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch:
-\end_layout
-
-\begin_layout LyX-Code
-patscan --pattern=<pattern> --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use BLAT for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the data stream can be matched against supported genomes using
-\series bold
-blat_seq
-\series default
- which is a biotool using BLAT as the name might suggest.
- Currently only Mouse and Human genomes are available and it is not possible
- to use OOC files since there is still a need for a local repository for
- genome files.
- Otherwise it is just:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-The search results can then be written to file with 
-\series bold
-write_psl
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-) or 
-\series bold
-write_bed
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-BED"
-
-\end_inset
-
-) allthough with 
-\series bold
-write_bed
-\series default
- some information will be lost).
- It is also possible to plot chromosome distribution of the search results
- using 
-\series bold
-plot_chrdist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-chrdist"
-
-\end_inset
-
-) or the distribution of the match lengths using 
-\series bold
-plot_lendist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-lendist"
-
-\end_inset
-
-) or a karyogram with the hits using 
-\series bold
-plot_karyogram
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-karyogram"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to use BLAST for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Two biotools exist for blasting sequences: 
-\series bold
-create_blast_db
-\series default
- is used to create the BLAST database required for BLAST which is queried
- using the biotool 
-\series bold
-blast_seq
-\series default
-.
- So in order to create a BLAST database from sequences in the data stream
- you simple run:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_blast_db --database=my_database --no_stream
-\end_layout
-
-\begin_layout Standard
-The type of sequence to use for the database is automagically determined
- by 
-\series bold
-create_blast_db
-\series default
-, but don't have a mixture of peptide and nucleic acids sequences in the
- stream.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch takes a path as argument, but will default to 'blastdb_<time_sta
-mp> if not set.
-\end_layout
-
-\begin_layout Standard
-The resulting database can now be queried with sequences in another data
- stream using 
-\series bold
-blast_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --database=my_database
-\end_layout
-
-\begin_layout Standard
-Again, the sequence type is determined automagically and the appropriate
- BLAST program is guessed (see below table), however, the program name can
- be overruled with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-program switch.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="3">
-<features>
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Subject sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Query sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Program guess
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastp
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastx
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tblastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Finally, it is also possible to use 
-\series bold
-blast_seq
-\series default
- for blasting sequences agains a preformatted genome using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch instead of the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use Vmatch for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The powerful suffix array software package Vmatch
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.vmatch.de/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- can be used for exact mapping of sequences against indexed genomes using
- the biotool 
-\series bold
-vmatch_seq
-\series default
-, which will e.g.
- map 700000 ESTs to the human genome locating all 160 mio hits in less than
- an hour.
- Only nucleotide sequences and sequences longer than 11 nucleotides will
- be mapped.
- It is recommended that sequences consisting of mostly one nucleotide type
- are removed.
- This can be done with the 
-\series bold
-analyze_seq
-\series default
- biotool 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to allow for mismatches using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist switch.
- So to allow for 2 mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=2
-\end_layout
-
-\begin_layout Standard
-Or to allow for 10% mismathing nucleotides:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=10p
-\end_layout
-
-\begin_layout Standard
-To allow both indels and mismatches use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist switch.
- So to allow for one mismatch or one indel:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=1
-\end_layout
-
-\begin_layout Standard
-Or to allow for 5% indels or mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=5p
-\end_layout
-
-\begin_layout Standard
-Note that using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist or
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist greatly slows down vmatch considerably --- use with care.
-\end_layout
-
-\begin_layout Standard
-The resulting SCORE key can be replaced to hold the number of genome matches
- of a given sequence (multi-mappers) is the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-count switch is given.
-\end_layout
-
-\begin_layout Subsection
-How to find all matches between sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-find-matches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-All matches between two sequences can be determined with the biotool 
-\series bold
-match_seq
-\series default
-.
- The match finding engine underneath the hood of 
-\series bold
-match_seq
-\series default
- is the super fast suffix tree program MUMmer
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://mummer.sourceforge.net/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which will locate all forward and reverse matches between huge sequences
- in a matter of minutes (if the repeat count is not too high and if the
- word size used is appropriate).
- Matching two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq --word_size=20 --direction=both
-\end_layout
-
-\begin_layout Standard
-The output from 
-\series bold
-match_seq
-\series default
- can be used to generate a dot plot with 
-\series bold
-plot_matches
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-generate-dotplot"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to align sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-align"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the stream can be aligned with the 
-\series bold
-align_seq
-\series default
- biotool that uses Muscle
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.drive5.com/muscle/muscle.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- as aligment engine.
- Currently you cannot change any of the Muscle alignment parameters and
-\series bold
-align_seq
-\series default
- will create an alignment based on the defaults (which are really good!):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | align_seq
-\end_layout
-
-\begin_layout Standard
-The aligned output can be written to file in FASTA format using 
-\series bold
-write_fasta
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-fasta"
-
-\end_inset
-
-) or in pretty text using 
-\series bold
-write_align
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-alignment"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to create a weight matrix?
-\end_layout
-
-\begin_layout Standard
-If you want a weight matrix to show the sequence composition of a stack
- of sequences you can use the biotool create_weight_matrix:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix
-\end_layout
-
-\begin_layout Standard
-The result can be output in percent using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-percent switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix --percent
-\end_layout
-
-\begin_layout Standard
-The weight matrix can be written as tabular output with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-) after removeing the records containing SEQ with 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix | grab --invert --keys=SEQ --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-The V0 column will hold the residue, while the rest of the columns will
- hold the frequencies for each sequence position.
-\end_layout
-
-\begin_layout Section
-Plotting
-\end_layout
-
-\begin_layout Standard
-There exists several biotools for plotting.
- Some of these are based on GNUplot
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.gnuplot.info/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which is an extremely powerful platform to generate all sorts of plots
- and even though GNUplot has quite a steep learning curve, the biotools
- utilizing GNUplot are simple to use.
- GNUplot is able to output a lot of different formats (called terminals
- in GNUplot), but the biotools focusses on three formats only:
-\end_layout
-
-\begin_layout Enumerate
-The 'dumb' terminal is default to the GNUplot based biotools and will output
- a plot in crude ASCII text (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-).
- This is quite nice for a quick and dirty plot to get an overview of your
- data .
-\end_layout
-
-\begin_layout Enumerate
-The 'post' or 'postscript' terminal output postscript code which is publication
- grade graphics that can be viewed with applications such as Ghostview,
- Photoshop, and Preview.
-\end_layout
-
-\begin_layout Enumerate
-The 'svg' terminal output's scalable vector graphics (SVG) which is a vector
- based format.
- SVG is great because you can edit the resulting plot using Photoshop or
- Inkscape
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-Inkscape is a really handy drawing program that is free and open source.
- Availble at 
-\begin_inset LatexCommand htmlurl
-target "http://www.inkscape.org"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- if you want to add additional labels, captions, arrows, and so on and then
- save the result in different formats, such as postscript without loosing
- resolution.
-\end_layout
-
-\begin_layout Standard
-The biotools for plotting that are not based on GNUplot only output SVG
- (that may change in the future).
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist_ascii.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dumb-terminal"
-
-\end_inset
-
-Dumb terminal
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-The output of a length distribution plot in the default 'dumb terminal'
- to the terminal window.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a histogram?
-\begin_inset LatexCommand label
-name "How-to-plot-histogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A generic histogram for a given value can be plotted with the biotool 
-\series bold
-plot_histogram
-\series default
- (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Histogram"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_histogram --key=TISSUE --no_stream
-\end_layout
-
-\begin_layout Standard
-(Figure missing)
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align left
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename histogram.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Histogram"
-
-\end_inset
-
-Histogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a length distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-lendist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Plotting of length distributions, weather sequence lengths, patterns lengths,
- hit lengths, 
-\emph on
-etc.
-
-\emph default
- is a really handy thing and can be done with the the biotool 
-\series bold
-plot_lendist
-\series default
-.
- If you have a file with FASTA entries and want to plot the length distribution
- you do it like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout LyX-Code
-| plot_lendist --key=SEQ_LEN --no_stream
-\end_layout
-
-\begin_layout Standard
-The result will be written to the default dumb terminal and will look like
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-If you instead want the result in postscript format you can do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --result_out=file.ps
-\end_layout
-
-\begin_layout Standard
-That will generate the plot and save it to file, but not interrupt the data
- stream which can then be used in further analysis.
- You can also save the plot implicetly using '>', however, it is then important
- to terminate the stream with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --no_stream > file.ps
-\end_layout
-
-\begin_layout Standard
-The resulting plot can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Length-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Length-distribution"
-
-\end_inset
-
-Length distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Length distribution of 630 piRNA like RNAs.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a chromosome distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-chrdist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you have the result of a sequence search against a multi chromosome genome,
- it is very practical to be able to plot the distribution of search hits
- on the different chromosomes.
- This can be done with 
-\series bold
-plot_chrdist
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_genome | plot_chrdist --no_stream
-\end_layout
-
-\begin_layout Standard
-The above example will result in a crude plot using the 'dumb' terminal,
- and if you want to mess around with the results from the BLAT search you
- probably want to save the result to file first (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-).
- To plot the chromosome distribution from the saved search result you can
- do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=file.bed | plot_chrdist --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-That will result in the output show in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Chromosome-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename chrdist.ps
-       lyxscale 50
-       width 12cm
-       rotateAngle 90
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Chromosome-distribution"
-
-\end_inset
-
-Chromosome distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to generate a dotplot?
-\begin_inset LatexCommand label
-name "sub:How-to-generate-dotplot"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A dotplot is a powerful way to get an overview of the size and location
- of sequence insertions, deletions, and duplications between two sequences.
- Generating a dotplot with biotools is a two step process where you initially
- find all matches between two sequences using the tool 
-\series bold
-match_seq
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-find-matches"
-
-\end_inset
-
-) and plot the resulting matches with 
-\series bold
-plot_matches
-\series default
-.
- Matching and plotting two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq | plot_matches --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-The resulting dotplot is in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dotplot"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename dotplot.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dotplot"
-
-\end_inset
-
-Dotplot
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Forward matches are displayed in green while reverse matches are displayed
- in red.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a sequence logo?
-\end_layout
-
-\begin_layout Standard
-Sequence logos can be generate with 
-\series bold
-plot_seqlogo
-\series default
-.
- The sequnce type is determined automagically and an entropy scale of 2
- bits and 4 bits is used for nucleotide and peptide sequences, respectively
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand htmlurl
-target "http://www.ccrnp.ncifcrf.gov/~toms/paper/hawaii/latex/node5.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_seqlogo --no_stream --result_out=seqlogo.svg
-\end_layout
-
-\begin_layout Standard
-An example of a sequence logo can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Sequence-logo"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename seqlogo.png
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Sequence-logo"
-
-\end_inset
-
-Sequence logo
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a karyogram?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-karyogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To plot search hits on genomes use 
-\series bold
-plot_karyogram
-\series default
-, which will output a nice karyogram in SVG graphics:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_karyogram --result_out=karyogram.svg
-\end_layout
-
-\begin_layout Standard
-The banding data is taken from the UCSC genome browser database and currently
- only Human and Mouse is supported.
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Karyogram"
-
-\end_inset
-
- shows the distribution of piRNA like RNAs matched to the Human genome.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename karyogram.png
-       lyxscale 35
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Karyogram"
-
-\end_inset
-
-Karyogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Hits from a search of piRNA like RNAs in the Human genome is displayed as
- short horizontal bars.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Uploading Results
-\end_layout
-
-\begin_layout Subsection
-How do I display my results in the UCSC Genome Browser?
-\end_layout
-
-\begin_layout Standard
-Results from the list of biotools below can be uploaded directly to a local
- mirror of the UCSC Genome Browser using the biotool 
-\series bold
-upload_to_ucsc
-\series default
-:
-\end_layout
-
-\begin_layout Itemize
-patscan_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blat_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blast_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-vmatch_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The syntax for uploading data the most simple way requires two mandatory
- switches: 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database, which is the UCSC database name (such as hg18, mm9, etc.) and
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-table which should be the users initials followed by an underscore and a
- short description of the data:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | upload_to_ucsc --database=hg18 --table=mah_snoRNAs
-\end_layout
-
-\begin_layout Standard
-The 
-\series bold
-upload_to_ucsc
-\series default
- biotool modifies the users ~/ucsc/my_tracks.ra file automagically (a backup
- is created with the name ~/ucsc/my_tracks.ra~) with default values that
- can be overridden using the following switches:
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-short_label - Short label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-long_label - Long label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-group - Track group name - Default=<user name as defined in env>
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-priority - Track display priority - Default=1
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-color - Track color - Default=147,73,42
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-chunk_size - Chunks for loading - Default=10000000
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-visibility - Track visibility - Default=pack
-\end_layout
-
-\begin_layout Standard
-Also, data in BED or PSL format can be uploaded with 
-\series bold
-upload_to_ucsc
-\series default
- as long as these reference to genomes and chromosomes existing in the UCSC
- Genome Browser:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<bed file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<psl file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout Section
-Power Scripting
-\end_layout
-
-\begin_layout Standard
-It is possible to do commandline scripting of biotool records using Perl.
- Because a biotool record essentially is a hash structure, you can pass
- records to 
-\series bold
-bioscript
-\series default
- command, which is a wrapper around the Perl executable that allows direct
- manipulations of the records using the power of Perl.
-\end_layout
-
-\begin_layout Standard
-In the below example we replace in all records the value to the CHR key
- with a forthrunning number:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{CHR}=$i++; put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-Something more useful would probably be to create custom FASTA headers.
- E.g.
- if we read in a BED file, lookup the genomic sequence, create a custom
- FASTA header with 
-\series bold
-bioscript
-\series default
- and output FASTA entries:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{SEQ_NAME}= //
-\end_layout
-
-\begin_layout LyX-Code
-join("_",$r->{CHR},$r->{CHR_BEG},$r->{CHR_END}); put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-And the output:
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_21567527_21567550 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_693380_693403 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_13859534_13859557 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_9005090_9005113 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_2106825_2106848 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_14649031_14649054 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout Section
-Trouble shooting
-\end_layout
-
-\begin_layout Standard
-Shoot the messenger!
-\end_layout
-
-\begin_layout Section
-\start_of_appendix
-Keys
-\begin_inset LatexCommand label
-name "sec:Keys"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-HIT
-\end_layout
-
-\begin_layout Standard
-HIT_BEG
-\end_layout
-
-\begin_layout Standard
-HIT_END
-\end_layout
-
-\begin_layout Standard
-HIT_LEN
-\end_layout
-
-\begin_layout Standard
-HIT_NAME
-\end_layout
-
-\begin_layout Standard
-PATTERN
-\end_layout
-
-\begin_layout Section
-Switches
-\begin_inset LatexCommand label
-name "sec:Switches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num
-\end_layout
-
-\begin_layout Section
-scan_for_matches README
-\begin_inset LatexCommand label
-name "sec:scan_for_matches-README"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout LyX-Code
-                          scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    A Program to Scan Nucleotide or Protein Sequences for Matching Patterns
-\end_layout
-
-\begin_layout LyX-Code
-                        Ross Overbeek
-\end_layout
-
-\begin_layout LyX-Code
-                        MCS
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne National Laboratory
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne, IL 60439
-\end_layout
-
-\begin_layout LyX-Code
-                        USA
-\end_layout
-
-\begin_layout LyX-Code
-Scan_for_matches is a utility that we have written to search for
-\end_layout
-
-\begin_layout LyX-Code
-patterns in DNA and protein sequences.
-  I wrote most of the code,
-\end_layout
-
-\begin_layout LyX-Code
-although David Joerg and Morgan Price wrote sections of an
-\end_layout
-
-\begin_layout LyX-Code
-earlier version.
-  The whole notion of pattern matching has a rich
-\end_layout
-
-\begin_layout LyX-Code
-history, and we borrowed liberally from many sources.
-  However, it is
-\end_layout
-
-\begin_layout LyX-Code
-worth noting that we were strongly influenced by the elegant tools
-\end_layout
-
-\begin_layout LyX-Code
-developed and distributed by David Searls.
-  My intent is to make the
-\end_layout
-
-\begin_layout LyX-Code
-existing tool available to anyone in the research community that might
-\end_layout
-
-\begin_layout LyX-Code
-find it useful.
-  I will continue to try to fix bugs and make suggested
-\end_layout
-
-\begin_layout LyX-Code
-enhancements, at least until I feel that a superior tool exists.
-\end_layout
-
-\begin_layout LyX-Code
-Hence, I would appreciate it if all bug reports and suggestions are
-\end_layout
-
-\begin_layout LyX-Code
-directed to me at Overbeek@mcs.anl.gov.
-  
-\end_layout
-
-\begin_layout LyX-Code
-I will try to log all bug fixes and report them to users that send me
-\end_layout
-
-\begin_layout LyX-Code
-their email addresses.
-  I do not require that you give me your name
-\end_layout
-
-\begin_layout LyX-Code
-and address.
-  However, if you do give it to me, I will try to notify
-\end_layout
-
-\begin_layout LyX-Code
-you of serious problems as they are discovered.
-\end_layout
-
-\begin_layout LyX-Code
-Getting Started:
-\end_layout
-
-\begin_layout LyX-Code
-    The distribution should contain at least the following programs:
-\end_layout
-
-\begin_layout LyX-Code
-                README                  -     This document
-\end_layout
-
-\begin_layout LyX-Code
-                ggpunit.c               -     One of the two source files
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches.c      -     The second source file
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                run_tests               -     A perl script to test things
-\end_layout
-
-\begin_layout LyX-Code
-                show_hits               -     A handy perl script
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_input          -     Test sequences for DNA
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_patterns       -     Test patterns for DNA scan
-\end_layout
-
-\begin_layout LyX-Code
-                test_output             -     Desired output from test
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_input         -     Test protein sequences
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_patterns      -     Test patterns for proteins
-\end_layout
-
-\begin_layout LyX-Code
-                testit                  -     a perl script used for test
-\end_layout
-
-\begin_layout LyX-Code
-    Only the first three files are required.
-  The others are useful,
-\end_layout
-
-\begin_layout LyX-Code
-    but only if you have Perl installed on your system.
-  If you do
-\end_layout
-
-\begin_layout LyX-Code
-    have Perl, I suggest that you type
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                which perl
-\end_layout
-
-\begin_layout LyX-Code
-    to find out where it installed.
-  On my system, I get the following
-\end_layout
-
-\begin_layout LyX-Code
-    response:
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                clone% which perl
-\end_layout
-
-\begin_layout LyX-Code
-                /usr/local/bin/perl
-\end_layout
-
-\begin_layout LyX-Code
-    indicating that Perl is installed in /usr/local/bin.
-  Anyway, once
-\end_layout
-
-\begin_layout LyX-Code
-    you know where it is installed, edit the first line of files 
-\end_layout
-
-\begin_layout LyX-Code
-        testit
-\end_layout
-
-\begin_layout LyX-Code
-        show_hits
-\end_layout
-
-\begin_layout LyX-Code
-    replacing /usr/local/bin/perl with the appropriate location.
-  I
-\end_layout
-
-\begin_layout LyX-Code
-    will assume that you can do this, although it is not critical (it
-\end_layout
-
-\begin_layout LyX-Code
-    is needed only to test the installation and to use the "show_hits"
-\end_layout
-
-\begin_layout LyX-Code
-    utility).
-  Perl is not required to actually install and run
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches.
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not have Perl, I suggest you get it and install it (it
-\end_layout
-
-\begin_layout LyX-Code
-    is a wonderful utility).
-  Information about Perl and how to get it
-\end_layout
-
-\begin_layout LyX-Code
-    can be found in the book "Programming Perl" by Larry Wall and
-\end_layout
-
-\begin_layout LyX-Code
-    Randall L.
- Schwartz, published by O'Reilly & Associates, Inc.
-\end_layout
-
-\begin_layout LyX-Code
-    To get started, you will need to compile the program.
-   I do this
-\end_layout
-
-\begin_layout LyX-Code
-    using 
-\end_layout
-
-\begin_layout LyX-Code
-        gcc -O -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not use GNU C, use 
-\end_layout
-
-\begin_layout LyX-Code
-        cc -O -DCC -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    which works on my Sun.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    Once you have compiled scan_for_matches, you can verify that it
-\end_layout
-
-\begin_layout LyX-Code
-    works with
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    You may get a few strange lines of the sort
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        rm: tmp: No such file or directory
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    These should cause no concern.
-  However, if the "diff" shows that
-\end_layout
-
-\begin_layout LyX-Code
-    tmp and test_output are different, contact me (you have a
-\end_layout
-
-\begin_layout LyX-Code
-    problem).
-\end_layout
-
-\begin_layout LyX-Code
-    You should now be able to use scan_for_matches by following the
-\end_layout
-
-\begin_layout LyX-Code
-    instructions given below (which is all the normal user should have
-\end_layout
-
-\begin_layout LyX-Code
-    to understand, once things are installed properly).
-\end_layout
-
-\begin_layout LyX-Code
- ==============================================================
-\end_layout
-
-\begin_layout LyX-Code
-How to run scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    To run the program, you type need to create two files
-\end_layout
-
-\begin_layout LyX-Code
-    1.
-  the first file contains the pattern you wish to scan for; I'll
-\end_layout
-
-\begin_layout LyX-Code
-        call this file pat_file in what follows (but any name is ok)
-\end_layout
-
-\begin_layout LyX-Code
-    2.
-  the second file contains a set of sequences to scan.
-  These
-\end_layout
-
-\begin_layout LyX-Code
-        should be in "fasta format".
-  Just look at the contents of
-\end_layout
-
-\begin_layout LyX-Code
-        test_dna_input to see examples of this format.
-  Basically,
-\end_layout
-
-\begin_layout LyX-Code
-        each sequence begins with a line of the form
-\end_layout
-
-\begin_layout LyX-Code
-           >sequence_id
-\end_layout
-
-\begin_layout LyX-Code
-        and is followed by one or more lines containing the sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    Once these files have been created, you just use
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file < input_file
-\end_layout
-
-\begin_layout LyX-Code
-    to scan all of the input sequences for the given pattern.
-  As an
-\end_layout
-
-\begin_layout LyX-Code
-    example, suppose that pat_file contains a single line of the form
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    Then,
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    should produce two "hits".
-  When I run this on my machine, I get
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        CGUAACC GGTTAACC GGUUACG 
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-Simple Patterns Built by Matching Ranges and Reverse Complements
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first explain this simple pattern:
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    The pattern consists of three "pattern units" separated by spaces.
-\end_layout
-
-\begin_layout LyX-Code
-    The first pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match 4 to 7 characters and call them p1".
-  The
-\end_layout
-
-\begin_layout LyX-Code
-    second pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                3...8
-\end_layout
-
-\begin_layout LyX-Code
-    which means "then match 3 to 8 characters".
-  The last pattern unit
-\end_layout
-
-\begin_layout LyX-Code
-    is 
-\end_layout
-
-\begin_layout LyX-Code
-                ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match the reverse complement of p1".
-  The first
-\end_layout
-
-\begin_layout LyX-Code
-    reported hit is shown as
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-    which states that characters 6 through 27 of sequence tst1 were
-\end_layout
-
-\begin_layout LyX-Code
-    matched.
-  "cguaac" matched the first pattern unit, "ggttaacc" the
-\end_layout
-
-\begin_layout LyX-Code
-    second, and "gguuacg" the third.
-  This is an example of a common
-\end_layout
-
-\begin_layout LyX-Code
-    type of pattern used to search for sections of DNA or RNA that
-\end_layout
-
-\begin_layout LyX-Code
-    would fold into a hairpin loop.
-\end_layout
-
-\begin_layout LyX-Code
-Searching Both Strands
-\end_layout
-
-\begin_layout LyX-Code
-    Now for a short aside: scan_for_matches only searched the
-\end_layout
-
-\begin_layout LyX-Code
-    sequences in the input file; it did not search the opposite
-\end_layout
-
-\begin_layout LyX-Code
-    strand.
-  With a pattern of the sort we just used, there is not
-\end_layout
-
-\begin_layout LyX-Code
-    need o search the opposite strand.
-  However, it is normally the
-\end_layout
-
-\begin_layout LyX-Code
-    case that you will wish to search both the sequence and the
-\end_layout
-
-\begin_layout LyX-Code
-    opposite strand (i.e., the reverse complement of the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    To do that, you would just use the "-c" command line.
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    Hits on the opposite strand will show a beginning location greater
-\end_layout
-
-\begin_layout LyX-Code
-    than te end location of the match.
-\end_layout
-
-\begin_layout LyX-Code
-Defining Pairing Rules and Allowing Mismatches, Insertions, and Deletions
-\end_layout
-
-\begin_layout LyX-Code
-    Let us stop now and ask "What additional features would one need to
-\end_layout
-
-\begin_layout LyX-Code
-    really find the kinds of loop structures that characterize tRNAs,
-\end_layout
-
-\begin_layout LyX-Code
-    rRNAs, and so forth?"  I can immediately think of two:
-\end_layout
-
-\begin_layout LyX-Code
-        a) you will need to be able to allow non-standard pairings
-\end_layout
-
-\begin_layout LyX-Code
-           (those other than G-C and A-U), and
-\end_layout
-
-\begin_layout LyX-Code
-        b) you will need to be able to tolerate some number of
-\end_layout
-
-\begin_layout LyX-Code
-           mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first show you how to handle non-standard "rules for
-\end_layout
-
-\begin_layout LyX-Code
-    pairing in reverse complements".
-  Consider the following pattern,
-\end_layout
-
-\begin_layout LyX-Code
-    which I show as two line (you may use as many lines as you like in
-\end_layout
-
-\begin_layout LyX-Code
-    forming a pattern, although you can only break a pattern at points
-\end_layout
-
-\begin_layout LyX-Code
-    where space would be legal):
-\end_layout
-
-\begin_layout LyX-Code
-            r1={au,ua,gc,cg,gu,ug,ga,ag} 
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3 0...4 p2=2...5 1...5 r1~p2 0...4 ~p1        
-\end_layout
-
-\begin_layout LyX-Code
-    The first "pattern unit" does not actually match anything; rather,
-\end_layout
-
-\begin_layout LyX-Code
-    it defines a "pairing rule" in which standard pairings are
-\end_layout
-
-\begin_layout LyX-Code
-    allowed, as well as G-A and A-G (in case you wondered, Us and Ts
-\end_layout
-
-\begin_layout LyX-Code
-    and upper and lower case can be used interchangably; for example
-\end_layout
-
-\begin_layout LyX-Code
-    r1={AT,UA,gc,cg} could be used to define the "standard rule" for
-\end_layout
-
-\begin_layout LyX-Code
-    pairings).
-  The second line consists of six pattern units which
-\end_layout
-
-\begin_layout LyX-Code
-    may be interpreted as follows:
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3     match 2 or 3 characters (call it p1)
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters
-\end_layout
-
-\begin_layout LyX-Code
-            p2=2...5     match 2 to 5 characters (call it p2)
-\end_layout
-
-\begin_layout LyX-Code
-            1...5        match 1 to 5 characters
-\end_layout
-
-\begin_layout LyX-Code
-            r1~p2        match the reverse complement of p2,
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing G-A and A-G pairs
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters        
-\end_layout
-
-\begin_layout LyX-Code
-            ~p1          match the reverse complement of p1
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing only G-C, C-G, A-T, and T-A pairs
-\end_layout
-
-\begin_layout LyX-Code
-    Thus, r1~p2 means "match the reverse complement of p2 using rule r1".
-\end_layout
-
-\begin_layout LyX-Code
-    Now let us consider the issue of tolerating mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-    You may add a "qualifier" to the pattern unit that gives the
-\end_layout
-
-\begin_layout LyX-Code
-    tolerable number of "mismatches, deletions, and insertions".
-\end_layout
-
-\begin_layout LyX-Code
-    Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                p1=10...10 3...8 ~p1[1,2,1]
-\end_layout
-
-\begin_layout LyX-Code
-    means that the third pattern unit must match 10 characters,
-\end_layout
-
-\begin_layout LyX-Code
-    allowing one "mismatch" (a pairing other than G-C, C-G, A-T, or
-\end_layout
-
-\begin_layout LyX-Code
-    T-A), two deletions (a deletion is a character that occurs in p1,
-\end_layout
-
-\begin_layout LyX-Code
-    but has been "deleted" from the string matched by ~p1), and one
-\end_layout
-
-\begin_layout LyX-Code
-    insertion (an "insertion" is a character that occurs in the string
-\end_layout
-
-\begin_layout LyX-Code
-    matched by ~p1, but not for which no corresponding character
-\end_layout
-
-\begin_layout LyX-Code
-    occurs in p1).
-  In this case, the pattern would match
-\end_layout
-
-\begin_layout LyX-Code
-              ACGTACGTAC GGGGGGGG GCGTTACCT
-\end_layout
-
-\begin_layout LyX-Code
-    which is, you must admit, a fairly weak loop.
-  It is common to
-\end_layout
-
-\begin_layout LyX-Code
-    allow mismatches, but you will find yourself using insertions and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions much more rarely.
-  In any event, you should note that
-\end_layout
-
-\begin_layout LyX-Code
-    allowing mismatches, insertions, and deletions does force the
-\end_layout
-
-\begin_layout LyX-Code
-    program to try many additional possible pairings, so it does slow
-\end_layout
-
-\begin_layout LyX-Code
-    things down a bit.
-\end_layout
-
-\begin_layout LyX-Code
-How Patterns Are Matched
-\end_layout
-
-\begin_layout LyX-Code
-    Now is as good a time as any to discuss the basic flow of control
-\end_layout
-
-\begin_layout LyX-Code
-    when matching patterns.
-  Recall that a "pattern" is a sequence of
-\end_layout
-
-\begin_layout LyX-Code
-    "pattern units".
-  Suppose that the pattern units were
-\end_layout
-
-\begin_layout LyX-Code
-        u1 u2 u3 u4 ...
- un
-\end_layout
-
-\begin_layout LyX-Code
-    The scan of a sequence S begins by setting the current position
-\end_layout
-
-\begin_layout LyX-Code
-    to 1.
-  Then, an attempt is made to match u1 starting at the
-\end_layout
-
-\begin_layout LyX-Code
-    current position.
-  Each attempt to match a pattern unit can
-\end_layout
-
-\begin_layout LyX-Code
-    succeed or fail.
-  If it succeeds, then an attempt is made to match
-\end_layout
-
-\begin_layout LyX-Code
-    the next unit.
-  If it fails, then an attempt is made to find an
-\end_layout
-
-\begin_layout LyX-Code
-    alternative match for the immediately preceding pattern unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    this succeeds, then we proceed forward again to the next unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    it fails we go back to the preceding unit.
-  This process is called
-\end_layout
-
-\begin_layout LyX-Code
-    "backtracking".
-  If there are no previous units, then the current
-\end_layout
-
-\begin_layout LyX-Code
-    position is incremented by one, and everything starts again.
-  This
-\end_layout
-
-\begin_layout LyX-Code
-    proceeds until either the current position goes past the end of
-\end_layout
-
-\begin_layout LyX-Code
-    the sequence or all of the pattern units succeed.
-  On success,
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches reports the "hit", the current position is set
-\end_layout
-
-\begin_layout LyX-Code
-    just past the hit, and an attempt is made to find another hit.
-\end_layout
-
-\begin_layout LyX-Code
-    If you wish to limit the scan to simply finding a maximum of, say,
-\end_layout
-
-\begin_layout LyX-Code
-    10 hits, you can use the -n option (-n 10 would set the limit to
-\end_layout
-
-\begin_layout LyX-Code
-    10 reported hits).
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c -n 1 pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    would search for just the first hit (and would stop searching the
-\end_layout
-
-\begin_layout LyX-Code
-    current sequences or any that follow in the input file).
-\end_layout
-
-\begin_layout LyX-Code
-Searching for repeats:
-\end_layout
-
-\begin_layout LyX-Code
-    In the last section, I discussed almost all of the details
-\end_layout
-
-\begin_layout LyX-Code
-    required to allow you to look for repeats.
-  Consider the following
-\end_layout
-
-\begin_layout LyX-Code
-    set of patterns:
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3...8 p1   (find exact 6 character repeat separated
-\end_layout
-
-\begin_layout LyX-Code
-                             by to 8 characters)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3..8 p1[1,0,0]   (allow one mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=3...3 p1[1,0,0] p1[1,0,0] p1[1,0,0]  
-\end_layout
-
-\begin_layout LyX-Code
-                            (match 12 characters that are the remains
-\end_layout
-
-\begin_layout LyX-Code
-                             of a 3-character sequence occurring 4 times)
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-        p1=4...8 0...3 p2=6...8 p1 0...3 p2
-\end_layout
-
-\begin_layout LyX-Code
-                            (This would match things like
-\end_layout
-
-\begin_layout LyX-Code
-                                ATCT G TCTTT ATCT TG TCTTT
-\end_layout
-
-\begin_layout LyX-Code
-                            )
-\end_layout
-
-\begin_layout LyX-Code
-Searching for particular sequences:
-\end_layout
-
-\begin_layout LyX-Code
-    Occasionally, one wishes to match a specific, known sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    In such a case, you can just give the sequence (along with an
-\end_layout
-
-\begin_layout LyX-Code
-    optional statement of the allowable mismatches, insertions, and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions).
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...8 GAGA ~p1    (match a hairpin with GAGA as the loop)
-\end_layout
-
-\begin_layout LyX-Code
-        RRRRYYYY             (match 4 purines followed by 4 pyrimidines)
-\end_layout
-
-\begin_layout LyX-Code
-        TATAA[1,0,0]         (match TATAA, allowing 1 mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-Matches against a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-    I will conclude my examples of the types of pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    available for matching against nucleotide sequences by discussing a
-\end_layout
-
-\begin_layout LyX-Code
-    crude implemetation of matching using a "weight matrix".
-  While I
-\end_layout
-
-\begin_layout LyX-Code
-    am less than overwhelmed with the syntax that I chose, I think that
-\end_layout
-
-\begin_layout LyX-Code
-    the reader should be aware that I was thinking of generating
-\end_layout
-
-\begin_layout LyX-Code
-    patterns containing such pattern units automatically from
-\end_layout
-
-\begin_layout LyX-Code
-    alignments (and did not really plan on typing such things in by
-\end_layout
-
-\begin_layout LyX-Code
-    hand very often).
-  Anyway, suppose that you wanted to match a
-\end_layout
-
-\begin_layout LyX-Code
-    sequence of eight characters.
-  The "consensus" of these eight
-\end_layout
-
-\begin_layout LyX-Code
-    characters is GRCACCGS, but the actual "frequencies of occurrence"
-\end_layout
-
-\begin_layout LyX-Code
-    are given in the matrix below.
-  Thus, the first character is an A
-\end_layout
-
-\begin_layout LyX-Code
-    16% the time and a G 84% of the time.
-  The second is an A 57% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time, a C 10% of the time, a G 29% of the time, and a T 4% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time.
-  
-\end_layout
-
-\begin_layout LyX-Code
-             C1     C2    C3    C4   C5    C6    C7    C8
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-       A     16     57     0    95    0    18     0     0
-\end_layout
-
-\begin_layout LyX-Code
-       C      0     10    80     0  100    60     0    50
-\end_layout
-
-\begin_layout LyX-Code
-       G     84     29     0     0    0    20   100    50
-\end_layout
-
-\begin_layout LyX-Code
-       T      0      4    20     5    0     2     0     0   
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-    One could use the following pattern unit to search for inexact
-\end_layout
-
-\begin_layout LyX-Code
-    matches related to such a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-        {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    This pattern unit will attempt to match exactly eight characters.
-\end_layout
-
-\begin_layout LyX-Code
-    For each character in the sequence, the entry in the corresponding
-\end_layout
-
-\begin_layout LyX-Code
-    tuple is added to an accumulated sum.
-  If the sum is greater than
-\end_layout
-
-\begin_layout LyX-Code
-    450, the match succeeds; else it fails.
-\end_layout
-
-\begin_layout LyX-Code
-    Recently, this feature was upgraded to allow ranges.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-  600 >  {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    will work, as well.
-\end_layout
-
-\begin_layout LyX-Code
-Allowing Alternatives:
-\end_layout
-
-\begin_layout LyX-Code
-    Very occasionally, you may wish to allow alternative pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    (i.e., "match either A or B").
-  You can do this using something
-\end_layout
-
-\begin_layout LyX-Code
-    like
-\end_layout
-
-\begin_layout LyX-Code
-                ( GAGA | GCGCA)
-\end_layout
-
-\begin_layout LyX-Code
-    which says "match either GAGA or GCGCA".
-  You may take
-\end_layout
-
-\begin_layout LyX-Code
-    alternatives of a list of pattern units, for example
-\end_layout
-
-\begin_layout LyX-Code
-        (p1=3...3 3...8 ~p1 | p1=5...5 4...4 ~p1 GGG)
-\end_layout
-
-\begin_layout LyX-Code
-    would match one of two sequences of pattern units.
-  There is one
-\end_layout
-
-\begin_layout LyX-Code
-    clumsy aspect of the syntax: to match a list of alternatives, you
-\end_layout
-
-\begin_layout LyX-Code
-    need to fully the request.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        (GAGA | (GCGCA | TTCGA))
-\end_layout
-
-\begin_layout LyX-Code
-    would be needed to try the three alternatives.
-\end_layout
-
-\begin_layout LyX-Code
-One Minor Extension
-\end_layout
-
-\begin_layout LyX-Code
-    Sometimes a pattern will contain a sequence of distinct ranges,
-\end_layout
-
-\begin_layout LyX-Code
-    and you might wish to limit the sum of the lengths of the matched
-\end_layout
-
-\begin_layout LyX-Code
-    subsequences.
-   For example, suppose that you basically wanted to
-\end_layout
-
-\begin_layout LyX-Code
-    match something like
-\end_layout
-
-\begin_layout LyX-Code
-    ARRYYTT p1=0...5 GCA[1,0,0] p2=1...6 ~p1 4...8 ~p2 p3=4...10 CCT
-\end_layout
-
-\begin_layout LyX-Code
-    but that the sum of the lengths of p1, p2, and p3 must not exceed
-\end_layout
-
-\begin_layout LyX-Code
-    eight characters.
-  To do this, you could add 
-\end_layout
-
-\begin_layout LyX-Code
-        length(p1+p2+p3) < 9
-\end_layout
-
-\begin_layout LyX-Code
-    as the last pattern unit.
-  It will just succeed or fail (but does
-\end_layout
-
-\begin_layout LyX-Code
-    not actually match any characters in the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-Matching Protein Sequences
-\end_layout
-
-\begin_layout LyX-Code
-    Suppose that the input file contains protein sequences.
-  In this
-\end_layout
-
-\begin_layout LyX-Code
-    case, you must invoke scan_for_matches with the "-p" option.
-  You
-\end_layout
-
-\begin_layout LyX-Code
-    cannot use aspects of the language that relate directly to
-\end_layout
-
-\begin_layout LyX-Code
-    nucleotide sequences (e.g., the -c command line option or pattern
-\end_layout
-
-\begin_layout LyX-Code
-    constructs referring to the reverse complement of a previously
-\end_layout
-
-\begin_layout LyX-Code
-    matched unit).
-  
-\end_layout
-
-\begin_layout LyX-Code
-    You also have two additional constructs that allow you to match
-\end_layout
-
-\begin_layout LyX-Code
-    either "one of a set of amino acids" or "any amino acid other than
-\end_layout
-
-\begin_layout LyX-Code
-    those a given set".
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=0...4 any(HQD) 1...3 notany(HK) p1
-\end_layout
-
-\begin_layout LyX-Code
-    would successfully match a string like
-\end_layout
-
-\begin_layout LyX-Code
-           YWV D AA C YWV
-\end_layout
-
-\begin_layout LyX-Code
-Using the show_hits Utility
-\end_layout
-
-\begin_layout LyX-Code
-    When viewing a large set of complex matches, you might find it
-\end_layout
-
-\begin_layout LyX-Code
-    convenient to post-process the scan_for_matches output to get a
-\end_layout
-
-\begin_layout LyX-Code
-    more readable version.
-  We provide a simple post-processor called
-\end_layout
-
-\begin_layout LyX-Code
-    "show_hits".
-  To see its effect, just pipe the output of a
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches into show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-     Normal Output:
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[1,28]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc  ggttaac cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[28,1]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc  ggttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[2,31]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGUAAC C GGTTAACC GGUUACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[31,2]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGTAAC C GGTTAACC GGTTACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[3,32]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc g gttaactt cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[32,3]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc g aagttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-     Piped Through show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    Optionally, you can specify which of the "fields" in the matches
-\end_layout
-
-\begin_layout LyX-Code
-    you wish to sort on, and show_hits will sort them.
-  The field
-\end_layout
-
-\begin_layout LyX-Code
-    numbers start with 0.
-  So, you might get something like
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits 2 1
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the hits have been sorted on fields 2 and 1 (that is,
-\end_layout
-
-\begin_layout LyX-Code
-    the third and second matched subfields).
-\end_layout
-
-\begin_layout LyX-Code
-    show_hits is just one possible little post-processor, and you
-\end_layout
-
-\begin_layout LyX-Code
-    might well wish to write a customized one for yourself.
-\end_layout
-
-\begin_layout LyX-Code
-Reducing the Cost of a Search
-\end_layout
-
-\begin_layout LyX-Code
-    The scan_for_matches utility uses a fairly simple search, and may
-\end_layout
-
-\begin_layout LyX-Code
-    consume large amounts of CPU time for complex patterns.
-  Someday,
-\end_layout
-
-\begin_layout LyX-Code
-    I may decide to optimize the code.
-  However, until then, let me
-\end_layout
-
-\begin_layout LyX-Code
-    mention one useful technique.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    When you have a complex pattern that includes a number of varying
-\end_layout
-
-\begin_layout LyX-Code
-    ranges, imprecise matches, and so forth, it is useful to
-\end_layout
-
-\begin_layout LyX-Code
-    "pipeline" matches.
-  That is, form a simpler pattern that can be
-\end_layout
-
-\begin_layout LyX-Code
-    used to scan through a large database extracting sections that
-\end_layout
-
-\begin_layout LyX-Code
-    might be matched by the more complex pattern.
-  Let me illustrate
-\end_layout
-
-\begin_layout LyX-Code
-    with a short example.
-  Suppose that you really wished to match the
-\end_layout
-
-\begin_layout LyX-Code
-    pattern 
-\end_layout
-
-\begin_layout LyX-Code
-    p1=3...5 0...8 ~p1[1,1,0] p2=6...7 3...6 AGC 3...5 RYGC ~p2[1,0,0]
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the pattern units AGC 3...5 RYGC can be used to rapidly
-\end_layout
-
-\begin_layout LyX-Code
-    constrain the overall search.
-  You can preprocess the overall
-\end_layout
-
-\begin_layout LyX-Code
-    database using the pattern:
-\end_layout
-
-\begin_layout LyX-Code
-          31...31 AGC 3...5 RYGC 7...7
-\end_layout
-
-\begin_layout LyX-Code
-    Put the complex pattern in pat_file1 and the simpler pattern in
-\end_layout
-
-\begin_layout LyX-Code
-    pat_file2.
-  Then use,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file2 < nucleotide_database |
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file1
-\end_layout
-
-\begin_layout LyX-Code
-    The output will show things like
-\end_layout
-
-\begin_layout LyX-Code
-    >seqid:[232,280][2,47]
-\end_layout
-
-\begin_layout LyX-Code
-    matches pieces
-\end_layout
-
-\begin_layout LyX-Code
-    Then, the actual section of the sequence that was matched can be
-\end_layout
-
-\begin_layout LyX-Code
-    easily computed as [233,278] (remember, the positions start from
-\end_layout
-
-\begin_layout LyX-Code
-    1, not 0).
-\end_layout
-
-\begin_layout LyX-Code
-    Let me finally add, you should do a few short experiments to see
-\end_layout
-
-\begin_layout LyX-Code
-    whether or not such pipelining actually improves performance -- it
-\end_layout
-
-\begin_layout LyX-Code
-    is not always obvious where the time is going, and I have
-\end_layout
-
-\begin_layout LyX-Code
-    sometimes found that the added complexity of pipelining actually
-\end_layout
-
-\begin_layout LyX-Code
-    slowed things up.
-  It gets its best improvements when there are
-\end_layout
-
-\begin_layout LyX-Code
-    exact matches of more than just a few characters that can be
-\end_layout
-
-\begin_layout LyX-Code
-    rapidly used to eliminate large sections of the database.
-\end_layout
-
-\begin_layout LyX-Code
-=============
-\end_layout
-
-\begin_layout LyX-Code
-Additions:
-\end_layout
-
-\begin_layout LyX-Code
-Feb 9, 1995:   the pattern units ^ and $ now work as in normal regular
-\end_layout
-
-\begin_layout LyX-Code
-               expressions.
-  That is
-\end_layout
-
-\begin_layout LyX-Code
-                        TTF $
-\end_layout
-
-\begin_layout LyX-Code
-               matches only TTF at the end of the string and 
-\end_layout
-
-\begin_layout LyX-Code
-                        ^ TTF 
-\end_layout
-
-\begin_layout LyX-Code
-               matches only an initial TTF
-\end_layout
-
-\begin_layout LyX-Code
-               The pattern unit 
-\end_layout
-
-\begin_layout LyX-Code
-                        <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches the reverse of the string named p1.
-  That is,
-\end_layout
-
-\begin_layout LyX-Code
-               if p1 matched GCAT, then <p1 would match TACG.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                   p1=6...6 <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches a real palindrome (not the biologically common
-\end_layout
-
-\begin_layout LyX-Code
-               meaning of "reverse complement")
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\end_body
-\end_document
diff --git a/bp_doc/biotools_cookbook.lyx~ b/bp_doc/biotools_cookbook.lyx~
deleted file mode 100644 (file)
index 2f10d7e..0000000
+++ /dev/null
@@ -1,7337 +0,0 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
-\lyxformat 276
-\begin_document
-\begin_header
-\textclass scrartcl
-\begin_preamble
-\usepackage[colorlinks=true, urlcolor=blue, linkcolor=black]{hyperref}
-\end_preamble
-\language english
-\inputencoding auto
-\font_roman default
-\font_sans default
-\font_typewriter default
-\font_default_family default
-\font_sc false
-\font_osf false
-\font_sf_scale 100
-\font_tt_scale 100
-\graphics default
-\paperfontsize default
-\spacing single
-\papersize default
-\use_geometry false
-\use_amsmath 1
-\use_esint 1
-\cite_engine basic
-\use_bibtopic false
-\paperorientation portrait
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation skip
-\defskip medskip
-\quotes_language english
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-\tracking_changes false
-\output_changes false
-\author "" 
-\author "" 
-\end_header
-
-\begin_body
-
-\begin_layout Title
-Biotools Cookbook
-\end_layout
-
-\begin_layout Author
-Martin Asser Hansen
-\end_layout
-
-\begin_layout Publishers
-John Mattick Group
-\newline
-Institute for Molecular Bioscience
-\newline
-University of Queensland
-\newline
-Aust
-ralia
-\newline
-E-mail: mail@maasha.dk
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
-
-\backslash
-thispagestyle{empty}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset LatexCommand tableofcontents
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset FloatList figure
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-Biotools is a selection of simple tools that can be linked together (piped
- as we shall call it) in a very flexible manner to perform both simple and
- complex tasks.
- The fundamental idea is that biotools work on a data stream that will only
- terminate at the end of an analysis and that this data stream can be passed
- through several different biotools, each performing one specific task.
- The advantage of this approach is that a user can perform simple and complex
- tasks without having to write advanced code.
- Moreover, since the data format used to pass data between biotools is text
- based, biotools can be written by different developers in their favorite
- programming language --- and still the biotools will be able to work together.
-\end_layout
-
-\begin_layout Standard
-In the most simple form bioools can be piped together on the command line
- like this (using the pipe character '|'):
-\end_layout
-
-\begin_layout LyX-Code
-read_data | calculate_something | write_result
-\end_layout
-
-\begin_layout Standard
-However, a more comprehensive analysis could be composed:
-\end_layout
-
-\begin_layout LyX-Code
-read_data | select_entries | convert_entries | search_database  
-\end_layout
-
-\begin_layout LyX-Code
-evaluate_results | plot_diagram | plot_another_diagram |
-\end_layout
-
-\begin_layout LyX-Code
-load_to_database
-\end_layout
-
-\begin_layout Standard
-The data stream that is piped through the biotools consists of records of
- key/value pairs in the same way a hash does in order to keep as simple
- a structure as possible.
- An example record can be seen below:
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-REC_TYPE: PATSCAN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MATCH: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_BEG: 7
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_END: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-ALIGN_LEN: 9
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-S_ID: piR-t6
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-STRAND: +
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-PATTERN: AGATCAAGTG
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-The '
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-' denotes the delimiter of the records, and each key is a word followed
- by a ':' and a white-space and then the value.
- By convention the biotools only uses upper case keys (a list of used keys
- can be seen in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:Keys"
-
-\end_inset
-
-).
- Since the records basically are hash structures this mean that the order
- of the keys in the stream is unordered, and in the above example it is
- pure coincidence that HIT_BEG is displayed before HIT_END, however, when
- the order of the keys is importent, the biotools will automagically see
- to that.
-\end_layout
-
-\begin_layout Standard
-All of the biotools are able to read and write a data stream to and from
- file as long as the records are in the biotools format.
- This means that if you are undertaking a lengthy analysis where one of
- the steps is time consuming, you may save the stream after this step, and
- subsequently start one or more analysis from that last step
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-It is a goal that the biotools at some point will be able to dump the data
- stream to file in case one of the tools fail critically.
-\end_layout
-
-\end_inset
-
-.
- If you are running a lengthy analysis it is highly recommended that you
- create a small test sample of the data and run that through the pipeline
- --- and once you are satisfied with the result proceed with the full data
- set (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-select-a-few-records"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-All of the biotools can be supplied with long arguments prefixed with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
- switches or single character arguments prefixed with - switches that can
- be grouped together (e.g.
- -xok).
- In this cookbook only the long switches are used to emphasize what these
- switches do.
-\end_layout
-
-\begin_layout Section
-Setup
-\end_layout
-
-\begin_layout Standard
-In order to get the biotools to work, you need to add environment settings
- to include the code binaries, scripts, and modules that constitute the
- biotools package.
- Assuming that you are using bash, add the following to your '~/.bashrc'
- file using your favorite editor.
- After the changes has been saved you need to either run 'source ~/.bashrc'
- or relogin.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-# >>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-# Stuff that enables biotools.
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-export TOOLS_DIR="/home/m.hansen/tools"      # Contains binaries for BLAST
- and Vmatch.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-export  INST_DIR="/home/m.hansen/maasha"     # Contains scripts and modules.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-export  DATA_DIR="/home/m.hansen/DATA"       # Contains genomic data etc.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-export   TMP_DIR="/home/m.hansen/maasha/tmp" # Required temporary directory.
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-export     PATH="$PATH:$TOOLS_DIR/blast-2.2.17/bin:$TOOLS_DIR/vmatch.distribution"
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-export     PATH="$INST_DIR/bin/:$INST_DIR/perl_scripts/:$INST_DIR/perl_scripts/b
-iotools:$PATH"  
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-export PERL5LIB="$PERL5LIB:$INST_DIR" 
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-# Alias allowing power scripting with biotools
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-alias bioscript="perl -I $INST_DIR/Maasha -MBiotools=read_stream,get_recor
-d,put_record -e"
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-# >>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<
-\end_layout
-
-\begin_layout Section
-Getting Started
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-list_biotools
-\series default
- lists all the biotools along with a description:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biotools
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-align_seq             Align sequences in stream using Muscle.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_seq           Analysis the residue composition of each sequence
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-analyze_vals          Determine type, count, min, max, sum and mean for
- values in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blast_seq             BLAST sequences in stream against a specified database.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-blat_seq              BLAT sequences in stream against a specified genome.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-complement_seq        Complement sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records         Count the number of records in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_seq             Count sequences in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_vals            Count the number of times values of given keys exists
- in stream.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-create_blast_db       Create a BLAST database from sequences in stream for
- use with BLAST.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-...
-\end_layout
-
-\begin_layout Standard
-To list the biotools for writing different formats, you can use unix's grep
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-list_biotools | grep write
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_align           Write aligned sequences in pretty alignment format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_bed             Write records from stream as BED lines.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_blast           Write BLAST records from stream in BLAST tabular format
- (-m8 and 9).
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_fasta           Write sequences in FASTA format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_psl             Write records from stream in PSL format.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-write_tab             Write records from stream as tab separated table.
-\end_layout
-
-\begin_layout Standard
-In order to find out how a specific biotool works, you just type the program
- name without any arguments and press return and the usage of the biotool
- will be displayed.
- E.g.
-\series bold
-read_fasta
-\series default
- <return>:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Frameless
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-width "100col%"
-special "none"
-height "1in"
-height_special "totalheight"
-status open
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Program name:   read_fasta
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Author:         Martin Asser Hansen - Copyright (C) - All rights reserved
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Contact:        mail@maasha.dk
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Date:           August 2007
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-License:        GNU General Public License version 2 (http://www.gnu.org/copyleft/
-gpl.html)
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Description:    Read FASTA entries.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Usage:          read_fasta [options] -i <FASTA file(s)>
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Options:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-i <file(s)> | --data_in=<file(s)>]  -  Comma separated list of files
- to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-n <int>     | --num=<int>]          -  Limit number of records to read.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-I <file>    | --stream_in=<file>]   -  Read input stream from file
-  -  Default=STDIN
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   [-O <file>    | --stream_out=<file>]  -  Write output stream to file
-  -  Default=STDOUT
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-Examples:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna             -  Read FASTA entries from file.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test1.fna,test2,fna  -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i '*.fna'              -  Read FASTA entries from files.
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-   read_fasta -i test.fna -n 10       -  Read first 10 FASTA entries from
- file.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-The Data Stream
-\end_layout
-
-\begin_layout Subsection
-How to read the data stream from file?
-\begin_inset LatexCommand label
-name "sub:How-to-read-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-You want to read a data stream that you previously have saved to file in
- biotools format.
- This can be done implicetly or explicitly.
- The implicit way uses the 'stdout' stream of the Unix terminal:
-\end_layout
-
-\begin_layout LyX-Code
-cat | <biotool>
-\end_layout
-
-\begin_layout Standard
-cat is the Unix command that reads a file and output the result to 'stdout'
- --- which in this case is piped to any biotool represented by the <biotool>.
- It is also possible to read the data stream using '<' to direct the 'stdout'
- stream into the biotool like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> < <file>
-\end_layout
-
-\begin_layout Standard
-However, that will not work if you pipe more biotools together.
- Then it is much safer to read the stream from a file explicitly like this:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_in=<file>
-\end_layout
-
-\begin_layout Standard
-Here the filename <file> is explicetly given to the biotool <biotool> with
- the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in.
- This switch works with all biotools.
- It is also possible to read in data from multiple sources by repeating
- the explicit read step:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_in=<file1> | <biotool> --stream_in=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to write the data stream to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-stream"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to save the output stream from a biotool to file, so you can read
- in the stream again at a later time, you can do one of two things:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> > <file>
-\end_layout
-
-\begin_layout Standard
-All, the biotools write the data stream to 'stdout' by default which can
- be written to a file by redirecting 'stdout' to file using '>' , however,
- if one of the biotools for writing other formats is used then the both
- the biotools records as well as the result output will go to 'stdout' in
- a mixture causing havock! To avoid this you must use the switch 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out that explictly tells the biotool to write the output stream to
- file:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_out=<file>
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out switch works with all biotools.
-\end_layout
-
-\begin_layout Subsection
-How to terminate the data stream?
-\end_layout
-
-\begin_layout Standard
-The data stream is never stops unless the user want to save the stream or
- by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch that will terminate the stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --no_stream
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch only works with those biotools where it makes sense that
- the user might want to terminale the data stream, 
-\emph on
-i.e
-\emph default
-.
- after an analysis step where the user wants to output the result, but not
- the data stream.
-\end_layout
-
-\begin_layout Subsection
-How to write my results to file?
-\begin_inset LatexCommand label
-name "sub:How-to-write-result"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Saving the result of an analysis to file can be done implicitly or explicitly.
- The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --no_stream > <file>
-\end_layout
-
-\begin_layout Standard
-If you use '>' to redirect 'stdout' to file then it is important to use
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch to avoid writing a mix of biotools records and result to
- the same file causing havock.
- The safe way is to use the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which explicetly tells the biotool to write the result
- to a given file:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-Using the above method will not terminate the stream, so it is possible
- to pipe that into another biotool generating different results:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool1> --result_out=<file1> | <biotool2> --result_out=<file2>
-\end_layout
-
-\begin_layout Standard
-And still the data stream will continue unless terminated with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --result_out=<file> --no_stream
-\end_layout
-
-\begin_layout Standard
-Or written to file using implicitly or explicity 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-result"
-
-\end_inset
-
-.
- The explicit way:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --result_out=<file1> --stream_out=<file2>
-\end_layout
-
-\begin_layout Subsection
-How to read data from multiple sources?
-\end_layout
-
-\begin_layout Standard
-To read multiple data sources, with the same type or different type of data
- do:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool1> --data_in=<file1> | <biotool2> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-where type is the data type a specific biotool reads.
-\end_layout
-
-\begin_layout Section
-Reading input
-\end_layout
-
-\begin_layout Subsection
-How to read biotools input?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to read in data?
-\end_layout
-
-\begin_layout Standard
-Data in different formats can be read with the appropriate biotool for that
- format.
- The biotools are typicalled named 'read_<data type>' such as 
-\series bold
-read_fasta
-\series default
-, 
-\series bold
-read_bed
-\series default
-, 
-\series bold
-read_tab
-\series default
-, etc., and all behave in a similar manner.
- Data can be read by supplying the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in switch and a file name to the file containing the data:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read in a saved biotools stream (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-stream"
-
-\end_inset
-
-) as well as reading data in one go:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --stream_in=<file1> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you want to read data from several files you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=<file1> | <biotool> --data_in=<file2>
-\end_layout
-
-\begin_layout Standard
-If you have several data files you can read in all explicitly with a comma
- separated list:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=file1,file2,file3
-\end_layout
-
-\begin_layout Standard
-And it is also possible to use file globbing
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-using the short option will only work if you quote the argument -i '*.fna'
-\end_layout
-
-\end_inset
-
-:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=*.fna
-\end_layout
-
-\begin_layout Standard
-Or in a combination:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool> --data_in=file1,/dir/*.fna
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to read in data in different formats using the appropria
-te biotool for each format:
-\end_layout
-
-\begin_layout LyX-Code
-<biotool1> --data_in=<file1> | <biotool2> --data_in=<file2> ...
-\end_layout
-
-\begin_layout Subsection
-How to read FASTA input?
-\end_layout
-
-\begin_layout Standard
-Sequences in FASTA format can be read explicitly using 
-\series bold
-read_fasta
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read alignment input?
-\end_layout
-
-\begin_layout Standard
-If your alignment if FASTA formatted then you can 
-\series bold
-read_align
-\series default
-.
- It is also possible to use 
-\series bold
-read_fasta
-\series default
- since the data is FASTA formatted, however, with 
-\series bold
-read_fasta
-\series default
- the key ALIGN will be omitted.
- The ALIGN key is used to determine which sequences belong to what alignment
- which is required for 
-\series bold
-write_align
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-read_align --data_in=<file>
-\end_layout
-
-\begin_layout Subsection
-How to read tabular input?
-\begin_inset LatexCommand label
-name "sub:How-to-read-table"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Tabular input can be read with 
-\series bold
-read_tab
-\series default
- which will read in all rows and chosen columns (separated by a given delimter)
- from a table in text format.
-\end_layout
-
-\begin_layout Standard
-The table below:
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="3">
-<features>
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<column alignment="left" valignment="top" width="0">
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Human
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-ATACGTCAG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-23524
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Dog
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AGCATGAC
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2442
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Mouse
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-GACTG
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-234
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Cat
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-AAATGCA
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-2342
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Can be read using the command:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-Which will result in four records, one for each row, where the keys V0,
- V1, V2 are the default keys for the organism, sequence, and count, respectively.
- It is possible to select a subset of colums to read by using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-cols switch which takes a comma separated list of columns numbers (first
- column is designated 0) as argument.
- So to read in only the sequence and the count so that the count comes before
- the sequence do:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1
-\end_layout
-
-\begin_layout Standard
-It is also possible to name the columns with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --cols=2,1 --keys=COUNT,SEQ
-\end_layout
-
-\begin_layout Subsection
-How to read BED input?
-\end_layout
-
-\begin_layout Standard
-The BED (Browser Extensible Data
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/FAQ/FAQformat"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-) format is a tabular format for data pertaining to one of the Eukaryotic
- genomes in the UCSC genome brower
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://genome.ucsc.edu/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- The BED format consists of up to 12 columns, where the first three are
- mandatory CHR, CHR_BEG, and CHR_END.
- The mandatory columns and any of the optional columns can all be read in
- easily with the 
-\series bold
-read_bed
-\series default
- biotool.
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to read the BED file with 
-\series bold
-read_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-), however, that will be more cumbersome because you need to specify the
- keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_tab --data_in=<file> --keys=CHR,CHR_BEG,CHR_END ...
-\end_layout
-
-\begin_layout Subsection
-How to read PSL input?
-\end_layout
-
-\begin_layout Standard
-The PSL format is the output from BLAT and contains 21 mandatory fields
- that can be read with 
-\series bold
-read_psl
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<file>
-\end_layout
-
-\begin_layout Section
-Writing output
-\end_layout
-
-\begin_layout Standard
-All result output can be written explicitly to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch which all result generating biotools have.
- It is also possible to write the result to file implicetly by directing
- 'stdout' to file using '>', however, that requires the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream swich to prevent a mixture of data stream and results in the file.
- The explicit (and safe) way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biotool> --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-The implicit way:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | <biotool> --no_stream > <file>
-\end_layout
-
-\begin_layout Subsection
-How to write biotools output?
-\end_layout
-
-\begin_layout Standard
-See 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-write-stream"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-How to write FASTA output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-fasta"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-FASTA output can be written with 
-\series bold
-write_fasta
-\series default
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --result_out=<file>
-\end_layout
-
-\begin_layout Standard
-It is also possible to wrap the sequences to a given width using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch allthough wrapping of sequence is generally an evil thing:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_fasta --no_stream --wrap=80
-\end_layout
-
-\begin_layout Subsection
-How to write alignment output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-alignment"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Pretty alignments with ruler
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-'.' for every 10 residues, ':' for every 50, and '|' for every 100
-\end_layout
-
-\end_inset
-
- and consensus sequence
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-which reminds me to make that an option.
-\end_layout
-
-\end_inset
-
- can be created with 
-\series bold
-write_align
-\series default
-, what also have the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-wrap switch to break the alignment into blocks of a given width: 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_align --result_out=<file> --wrap=80
-\end_layout
-
-\begin_layout Standard
-If the number of sequnces in the alignment is 2 then a pairwise alignment
- will be output otherwise a multiple alignment.
- And if the sequence type, determined automagically, is protein, then residues
- and symbols (+,\InsetSpace ~
-:,\InsetSpace ~
-.) will be used to show consensus according to the Blosum62
- matrix.
-\end_layout
-
-\begin_layout Subsection
-How to write tabular output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-tab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Outputting the data stream as a table can be done with 
-\series bold
-write_tab
-\series default
-, which will write generate one row per record with the values as columns.
- If you supply the optional 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment switch, when the first row in the table will be a 'comment' line
- prefixed with a '#':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --comment
-\end_layout
-
-\begin_layout Standard
-You can also change the delimiter from the default (tab) to 
-\emph on
-e.g.
-
-\emph default
- ',':
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --delimit=','
-\end_layout
-
-\begin_layout Standard
-If you want the values output in a specific order you have to supply a comma
- separated list using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch that will print only those keys in that order:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --keys=SEQ_NAME,COUNT
-\end_layout
-
-\begin_layout Standard
-Alternatively, if you have some keys that you don't want in the tabular
- output, use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switch.
- So to print all keys except SEQ and SEQ_TYPE do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | write_tab --result_out=<file> --no_keys=SEQ,SEQ_TYPE
-\end_layout
-
-\begin_layout Standard
-Finally, if you have a stream containing a mix of different records types,
-\emph on
-e.g.
-
-\emph default
- records with sequences and records with matches, then you can use 
-\series bold
-write_tab
-\series default
- to output all the records in tabluar format, however, the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comment, 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys, and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_keys switches will only respond to records of the first type encountered.
- The reason is that outputting mixed records is probably not what you want
- anyway, and you should remove all the unwanted records from the stream
- before outputting the table: 
-\series bold
-grab
-\series default
- is your friend (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to write a BED output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-BED"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in BED format can be output if the records contain the mandatory keys
- CHR, CHR_BEG, and CHR_END using 
-\series bold
-write_bed
-\series default
-.
- If the optional keys are also present, they will be output as well:
-\end_layout
-
-\begin_layout LyX-Code
-write_bed --result_out=<file>
-\end_layout
-
-\begin_layout Subsection
-How to write PSL output?
-\begin_inset LatexCommand label
-name "sub:How-to-write-PSL"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Data in PSL format can be output using 
-\series bold
-write_psl:
-\end_layout
-
-\begin_layout LyX-Code
-write_psl --result_out=<file>
-\end_layout
-
-\begin_layout Section
-Manipulating Records
-\end_layout
-
-\begin_layout Subsection
-How to select a few records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-a-few-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To quickly get an overview of your data you can limit the data stream to
- show a few records.
- This also very useful to test the pipeline with a few records if you are
- setting up a complex analysis using several biotools.
- That way you can inspect that all goes well before analyzing and waiting
- for the full data set.
- All of the read_<type> biotools have the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch which will take a number as argument and only that number of
- records will be read.
- So to read in the first 10 FASTA entries from a file:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna --num=10
-\end_layout
-
-\begin_layout Standard
-Another way of doing this is to use 
-\series bold
-head_records
-\series default
- will limit the stream to show the first 10 records (default):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records
-\end_layout
-
-\begin_layout Standard
-Using 
-\series bold
-head_records
-\series default
- directly after one of the read_<type> biotools will be a lot slower than
- using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch with the read_<type> biotools, however, 
-\series bold
-head_records
-\series default
- can also be used to limit the output from all the other biotools.
- It is also possible to give 
-\series bold
-head_records
-\series default
- a number of records to show using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num switch.
- So to display the first 100 records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | head_records --num=100
-\end_layout
-
-\begin_layout Subsection
-How to select random records?
-\begin_inset LatexCommand label
-name "sub:How-to-select-random-records"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to inspect a number of random records from the stream this can
- be done with the 
-\series bold
-random_records
-\series default
- biotool.
- So if you have 1 mio records in the stream and you want to select 1000
- random records do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | random_records --num=1000
-\end_layout
-
-\begin_layout Subsection
-How to count all records in the data stream?
-\end_layout
-
-\begin_layout Standard
-To count all the records in the data stream use 
-\series bold
-count_records
-\series default
-, which adds one record (which is not included in the count) to the data
- stream.
- So to count the number of sequences in a FASTA file you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-cat test.fna | read_fasta | count_records --no_stream
-\end_layout
-
-\begin_layout Standard
-Which will write the last record containing the count to 'stdout':
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-count_records: 630
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout Standard
-It is also possible to write the count to file using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out switch.
-\end_layout
-
-\begin_layout Subsection
-How to get the length of record values?
-\begin_inset LatexCommand label
-name "sub:How-to-get-value_length"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Use the 
-\series bold
-length_vals
-\series default
- biotool to get the length of each value for a comma separated list of keys:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | length_vals --keys=HIT,PATTERN
-\end_layout
-
-\begin_layout Subsection
-How to grab specific records?
-\begin_inset LatexCommand label
-name "sub:How-to-grab"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-grab
-\series default
- is related to the Unix grep and locates records based on matching keys
- and/or values using either a pattern, a Perl regex, or a numerical evaluation.
- To easily 
-\series bold
-grab
-\series default
- all records in the stream that has any mentioning of the pattern 'human'
- just pipe the data stream through 
-\series bold
-grab
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human
-\end_layout
-
-\begin_layout Standard
-This will search for the pattern 'human' in all keys and all values.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma separated list of patterns, so in order to
- match multiple patterns do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human,mouse
-\end_layout
-
-\begin_layout Standard
-It is also possible to use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch instead of 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern.
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in is used to read a file with one pattern per line:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern_in=patterns.txt
-\end_layout
-
-\begin_layout Standard
-If you want the opposite result --- to find all records that does not match
- the patterns, add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch, which not only works with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch, but also with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-regex and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --invert
-\end_layout
-
-\begin_layout Standard
-If you want to search the record keys only, 
-\emph on
-e.g.
-
-\emph default
- to find all records containing the key SEQ you can add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys_only switch.
- This will prevent matching of SEQ in any record value, and in fact SEQ
- is a not uncommon peptide sequence you could get an unwanted record.
- Also, this will give an increase in speed since only the keys are searched:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --keys_only
-\end_layout
-
-\begin_layout Standard
-However, if you are interested in finding the peptide sequence SEQ and not
- the SEQ key, just add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-vals_only switch instead:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=SEQ --vals_only
-\end_layout
-
-\begin_layout Standard
-Also, if you want to grab for certain key/value pairs you can supply a comma
- separated list of keys whos values will then be searched using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-keys switch.
- This is handy if your records contain large genomic sequences and you dont
- want to search the entire sequence for 
-\emph on
-e.g.
-
-\emph default
- the organism name --- it is much faster to tell 
-\series bold
-grab
-\series default
- which keys to search the value for:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern=human --keys=SEQ_NAME
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-It is also possible to invoke flexible matching using regex (regular expressions
-) instead of simple pattern matching.
- In 
-\series bold
-grab
-\series default
- the regex engine is Perl based and allows use of different type of wild
- cards, alternatives, 
-\emph on
-etc
-\emph default
-
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://perldoc.perl.org/perlreref.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
- If you want to 
-\series bold
-grab
-\series default
- records withs the sequence ATCG or GCTA you can do this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='ATCG|GCTA'
-\end_layout
-
-\begin_layout Standard
-Or if you want to find sequences beginning with ATCG:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --regex='^ATCG'
-\end_layout
-
-\begin_layout Standard
-You can also use 
-\series bold
-grab
-\series default
- to locate records that fulfill a numerical property using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-eval switch witch takes an expression in three parts.
- The first part is the key that holds the value we want to evaluate, the
- second part holds one the six operators:
-\end_layout
-
-\begin_layout Enumerate
-Greater than: >
-\end_layout
-
-\begin_layout Enumerate
-Greater than or equal to: >=
-\end_layout
-
-\begin_layout Enumerate
-Less than: <
-\end_layout
-
-\begin_layout Enumerate
-Less than or equal to: <=
-\end_layout
-
-\begin_layout Enumerate
-Equal to: =
-\end_layout
-
-\begin_layout Enumerate
-Not equal to: !=
-\end_layout
-
-\begin_layout Enumerate
-String wise equal to: eq
-\end_layout
-
-\begin_layout Enumerate
-String wise not equal to: ne
-\end_layout
-
-\begin_layout Standard
-And finally comes the number used in the evaluation.
- So to 
-\series bold
-grab
-\series default
- all records with a sequence length greater than 30:
-\end_layout
-
-\begin_layout LyX-Code
-...
- length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-If you want to locate all records containing the pattern 'human' and where
- the sequence length is greater that 30, you do this by running the stream
- through 
-\series bold
-grab
-\series default
- twice:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --pattern='human' | length_seq | grab --eval='SEQ_LEN > 30'
-\end_layout
-
-\begin_layout Standard
-Finally, it is possible to do fast matching of expressions from a file using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact switch.
- Each of these expressions has to be matched exactly over the entrie length,
- which if useful if you have a file with accession numbers, that you want
- to locate in the stream:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | grab --exact acc_no.txt | ...
-\end_layout
-
-\begin_layout Standard
-Using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact is much faster than using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in, because with 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-exact the expression has to be complete matches, where 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in looks for subpatterns.
-\end_layout
-
-\begin_layout Standard
-NB! To get the best speed performance, use the most restrictive 
-\series bold
-grab
-\series default
- first.
-\end_layout
-
-\begin_layout Subsection
-How to remove keys from records?
-\end_layout
-
-\begin_layout Standard
-To remove one or more specific keys from all records in the data stream
- use 
-\series bold
-remove_keys
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_keys --keys=SEQ,SEQ_NAME
-\end_layout
-
-\begin_layout Standard
-In the above example SEQ and SEQ_NAME will be removed from all records if
- they exists in these.
- If all keys are removed from a record, then the record will be removed.
-\end_layout
-
-\begin_layout Subsection
-How to rename keys in records?
-\end_layout
-
-\begin_layout Standard
-Sometimes you want to rename a record key, 
-\emph on
-e.g.
-
-\emph default
- if you have read in a two column table with sequence name and sequence
- in each column (see 
-\begin_inset LatexCommand ref
-reference "sub:How-to-read-table"
-
-\end_inset
-
-) without specifying the key names, then the sequence name will be called
- V0 and the sequence V1 as default in the 
-\series bold
-read_tab
-\series default
- biotool.
- To rename the V0 and V1 keys we need to run the stream through 
-\series bold
-rename_keys
-\series default
- twice (one for each key to rename):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | rename_keys --keys=V0,SEQ_NAME | rename_keys --keys=V1,SEQ
-\end_layout
-
-\begin_layout Standard
-The first instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V0 keys with SEQ_NAME, and the second instance of 
-\series bold
-rename_keys
-\series default
- replaces all the V1 keys with SEQ.
-\emph on
-Et viola
-\emph default
- the data can now be used in the biotools that requires these keys.
-\end_layout
-
-\begin_layout Section
-Manipulating Sequences
-\end_layout
-
-\begin_layout Subsection
-How to get sequence lengths?
-\end_layout
-
-\begin_layout Standard
-The length for sequences in records can be determined with 
-\series bold
-length_seq
-\series default
-, which adds the key SEQ_LEN to each record with the sequence length as
- the value.
- It also generates an extra record that is emitted last with the key TOTAL_SEQ_L
-EN showing the total length of all the sequences.
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout Standard
-It is also possible to determine the sequence length using the generic tool
-\series bold
-length_vals
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-get-value_length"
-
-\end_inset
-
-, which determines the length of the values for a given list of keys:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout Standard
-To obtain the total length of all sequences use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_vals --keys=SEQ
-\end_layout
-
-\begin_layout LyX-Code
-| sum_vals --keys=SEQ_LEN
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-analyze_seq
-\series default
- will also determine the length of each sequence (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to analyze sequence composition?
-\begin_inset LatexCommand label
-name "sub:How-to-analyze"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you want to find out the sequence type, composition, length, as well
- as GC content, indel content and proportions of soft and hard masked sequence,
- then use 
-\series bold
-analyze_seq
-\series default
-.
- This handy biotool will determine all these things per sequence from which
- it is easy to get an overview using the 
-\series bold
-write_tab
-\series default
- biotool to output a table (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-).
- So in order to determine the sequence composition of a FASTA file with
- just one entry containing the sequence 'ATCG' we just read the data with
-\series bold
-read_fasta
-\series default
- and run the output through 
-\series bold
-analyze_seq
-\series default
- which will add the analysis to the record like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:D: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-MIX_INDEX: 0.55
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:W: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:G: 16
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SOFT_MASK%: 63.75
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:B: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:V: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-HARD_MASK%: 0.00
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:H: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:S: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:N: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:.: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-GC%: 35.00 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:A: 8 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:Y: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:M: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:T: 44 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_TYPE: DNA 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:K: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:~: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ: TTTCAGTTTGGGACGGAGTAAGGCCTTCCtttttttttttttttttttttttttttttgagaccgagtcttgctc
-tgtcg 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-SEQ_LEN: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-80 RES:R: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:C: 12 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:-: 0 
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
-RES:U: 0
-\end_layout
-
-\begin_layout LyX-Code
-
-\size scriptsize
----
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Standard
-Now to make a table of how may As, Ts, Cs, and Gs you can add the following:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyze_seq | write_tab --keys=RES:A,RES:T,RES:C,RES:G
-\end_layout
-
-\begin_layout Standard
-Or if you want to see the proportions of hard and soft masked sequence:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | analyse_seq | write_tab --keys=HARD_MASK%,SOFT_MASK%
-\end_layout
-
-\begin_layout Standard
-If you have a stack of sequences in one file and you want to determine the
- mean GC content you can do it using the 
-\series bold
-mean_vals
-\series default
- biotool:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | mean_vals --keys=GC%
-\end_layout
-
-\begin_layout Standard
-Or if you want the total count of Ns you can use 
-\series bold
-sum_vals
-\series default
- like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | sum_vals --keys=RES:N
-\end_layout
-
-\begin_layout Standard
-The MIX_INDEX key is calculated as the count of the most common residue
- over the sequence length, and can be used as a cut-off for removing sequence
- tags consisting of mostly one nucleotide:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | analyze_seq | grab --eval='MIX_INDEX<0.85'
-\end_layout
-
-\begin_layout Subsection
-How to extract subsequences?
-\begin_inset LatexCommand label
-name "sub:How-to-extract"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-In order to extract a subsequence from a longer sequence use the biotool
- extract_seq, which will replace the sequence in the record with the subsequence
- (this behaviour should probably be modified to be dependant of a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-replace or a 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_replace switch
-\begin_inset Note Note
-status collapsed
-
-\begin_layout Standard
-also in split_seq
-\end_layout
-
-\end_inset
-
-).
- So to extract the first 20 residues from all sequences do (first residue
- is designated 1): 
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=1 --len=20
-\end_layout
-
-\begin_layout Standard
-You can also specify a begin and end coordinate set:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20 --end=40
-\end_layout
-
-\begin_layout Standard
-If you want the subsequences from position 20 to the sequence end do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | extract_seq --beg=20
-\end_layout
-
-\begin_layout Standard
-If you want to extract subsequences a given distance from the sequence end
- you can do this by reversing the sequence with the biotool 
-\series bold
-reverse_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-, followed by 
-\series bold
-extract_seq
-\series default
- to get the subsequence, and then 
-\series bold
-reverse_seq
-\series default
- again to get the subsequence back in the original orientation:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=test.fna | reverse_seq
-\end_layout
-
-\begin_layout LyX-Code
-| extract_seq --beg=10 --len=10 | reverse_seq
-\end_layout
-
-\begin_layout Subsection
-How to get genomic sequence?
-\begin_inset LatexCommand label
-name "sub:How-to-get-genomic-sequence"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The biotool 
-\series bold
-get_genomic_seq
-\series default
- can extract subsequences for a given genome specified with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch explicitly using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-beg and 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-end/
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-len switches:
-\end_layout
-
-\begin_layout LyX-Code
-get_genome_seq --genome=<genome> --beg=1 --len=100
-\end_layout
-
-\begin_layout Standard
-Alternatively, 
-\series bold
-get_genome_seq
-\series default
- can be used to append the corresponding sequence to BED, PSL, and BLAST
- records:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to include flaking sequence using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-flank switch.
- So to include 50 nucleotides upstream and 50 nucleotides downstream for
- each BED entry do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<BED file> | get_genome_seq --genome=<genome> --flank=50
-\end_layout
-
-\begin_layout Subsection
-How to upper-case sequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be shifted from lower case to upper case using 
-\series bold
-uppercase_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | uppercase_seq
-\end_layout
-
-\begin_layout Subsection
-How to reverse sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-reverse-seq"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The order of residues in a sequence can be reversed using reverse_seq:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | reverse_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-complement_seq
-\series default
- biotool (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-complement"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to complement sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-complement"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-DNA and RNA sequences can be complemented with 
-\series bold
-complement_seq
-\series default
-, which automagically determines the sequence type:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | complement_seq
-\end_layout
-
-\begin_layout Standard
-Note that in order to reverse/complement a sequence you also need the 
-\series bold
-reverse_seq
-\series default
- biotool (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-reverse-seq"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to remove indels from sequnces?
-\end_layout
-
-\begin_layout Standard
-Indels can be removed from sequences with the 
-\series bold
-remove_indels
-\series default
- biotool.
- This is useful if you have aligned some sequences (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-align"
-
-\end_inset
-
-) and extracted (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-extract"
-
-\end_inset
-
-) a block of subsequences from the alignment and you want to use these sequence
- in a search where you need to remove the indels first.
- '-', '~', and '.' are considered indels:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | remove_indels
-\end_layout
-
-\begin_layout Subsection
-How to shuffle sequences?
-\end_layout
-
-\begin_layout Standard
-All residues in sequences in the stream can be shuffled to random positions
- using the 
-\series bold
-shuffle_seq
-\series default
- biotool:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | shuffle_seq
-\end_layout
-
-\begin_layout Subsection
-How to split sequences into overlapping subsequences?
-\end_layout
-
-\begin_layout Standard
-Sequences can be slit into overlapping subsequences with the 
-\series bold
-split_seq
-\series default
- biotool.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | split_seq --word_size=20 --uniq
-\end_layout
-
-\begin_layout Subsection
-How to determine the oligo frequency?
-\end_layout
-
-\begin_layout Standard
-In order to determine if any oligo usage is over represented in one or more
- sequences you can determine the frequency of oligos of a given size with
-\series bold
-oligo_freq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4
-\end_layout
-
-\begin_layout Standard
-And if you have more than one sequence and want to accumulate the frequences
- you need the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-all switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all
-\end_layout
-
-\begin_layout Standard
-To get a meaningful result you need to write the resulting frequencies as
- a table with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-), but first it is important to 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-) the records with the frequencies to avoid full length sequences in the
- table:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | oligo_freq --word_size=4 --all | grab --pattern=OLIGO --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-And the resulting frequency table can be sorted with Unix sort (man sort).
-\end_layout
-
-\begin_layout Subsection
-How to search for sequences in genomes?
-\end_layout
-
-\begin_layout Standard
-See the following biotool:
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-patscan_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blat_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-blast_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-vmatch_seq
-\series default
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to search sequences for a pattern?
-\begin_inset LatexCommand label
-name "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-It is possible to search sequences in the data stream for patterns using
- the 
-\series bold
-patscan_seq
-\series default
- biotool which utilizes the powerful scan_for_matches engine.
- Consult the documentation for scan_for_matches in order to learn how to
- define patterns (the documentation is included in Appendix\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sec:scan_for_matches-README"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Standard
-To search all sequences for a simple pattern consisting of the sequence
- ATCGATCG allowing for 3 mismatches, 2 insertions and 1 deletion:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | patscan_seq --pattern='ATCGATCG[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern switch takes a comma seperated list of patterns, so if you want
- to search for more that one pattern do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern='ATCGATCG[3,2,1],GCTAGCTA[3,2,1]'
-\end_layout
-
-\begin_layout Standard
-It is also possible to have a list of different patterns to search for in
- a file with one pattern per line.
- In order to get 
-\series bold
-patscan_seq
-\series default
- to read these patterns use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-pattern_in switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern_in=<file>
-\end_layout
-
-\begin_layout Standard
-To also scan the complementary strand in nucleotide sequences (
-\series bold
-patscan_seq
-\series default
- automagically determines the sequence type) you need to add the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-comp switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --comp
-\end_layout
-
-\begin_layout Standard
-It is also possible to use 
-\series bold
-patscan_seq
-\series default
- to output those records that does not contain a certain pattern by using
- the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-invert switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | patscan_seq --pattern=<pattern> --invert
-\end_layout
-
-\begin_layout Standard
-Finally, 
-\series bold
-patscan_seq
-\series default
- can also scan for patterns in a given genome sequence, instead of sequences
- in the stream, using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch:
-\end_layout
-
-\begin_layout LyX-Code
-patscan --pattern=<pattern> --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use BLAT for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the data stream can be matched against supported genomes using
-\series bold
-blat_seq
-\series default
- which is a biotool using BLAT as the name might suggest.
- Currently only Mouse and Human genomes are available and it is not possible
- to use OOC files since there is still a need for a local repository for
- genome files.
- Otherwise it is just:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-The search results can then be written to file with 
-\series bold
-write_psl
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-) or 
-\series bold
-write_bed
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-BED"
-
-\end_inset
-
-) allthough with 
-\series bold
-write_bed
-\series default
- some information will be lost).
- It is also possible to plot chromosome distribution of the search results
- using 
-\series bold
-plot_chrdist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-chrdist"
-
-\end_inset
-
-) or the distribution of the match lengths using 
-\series bold
-plot_lendist
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-lendist"
-
-\end_inset
-
-) or a karyogram with the hits using 
-\series bold
-plot_karyogram
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-plot-karyogram"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to use BLAST for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Two biotools exist for blasting sequences: 
-\series bold
-create_blast_db
-\series default
- is used to create the BLAST database required for BLAST which is queried
- using the biotool 
-\series bold
-blast_seq
-\series default
-.
- So in order to create a BLAST database from sequences in the data stream
- you simple run:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_blast_db --database=my_database --no_stream
-\end_layout
-
-\begin_layout Standard
-The type of sequence to use for the database is automagically determined
- by 
-\series bold
-create_blast_db
-\series default
-, but don't have a mixture of peptide and nucleic acids sequences in the
- stream.
- The 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch takes a path as argument, but will default to 'blastdb_<time_sta
-mp> if not set.
-\end_layout
-
-\begin_layout Standard
-The resulting database can now be queried with sequences in another data
- stream using 
-\series bold
-blast_seq
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --database=my_database
-\end_layout
-
-\begin_layout Standard
-Again, the sequence type is determined automagically and the appropriate
- BLAST program is guessed (see below table), however, the program name can
- be overruled with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-program switch.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="3">
-<features>
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<column alignment="center" valignment="top" width="0">
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Subject sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Query sequence
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Program guess
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastp
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-blastx
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Nucleotide
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Protein
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tblastn
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Finally, it is also possible to use 
-\series bold
-blast_seq
-\series default
- for blasting sequences agains a preformatted genome using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-genome switch instead of the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | blast_seq --genome=<genome>
-\end_layout
-
-\begin_layout Subsection
-How to use Vmatch for sequence search?
-\begin_inset LatexCommand label
-name "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The powerful suffix array software package Vmatch
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.vmatch.de/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- can be used for exact mapping of sequences against indexed genomes using
- the biotool 
-\series bold
-vmatch_seq
-\series default
-, which will e.g.
- map 700000 ESTs to the human genome locating all 160 mio hits in less than
- an hour.
- Only nucleotide sequences and sequences longer than 11 nucleotides will
- be mapped.
- It is recommended that sequences consisting of mostly one nucleotide type
- are removed.
- This can be done with the 
-\series bold
-analyze_seq
-\series default
- biotool 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-analyze"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome>
-\end_layout
-
-\begin_layout Standard
-It is also possible to allow for mismatches using the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist switch.
- So to allow for 2 mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=2
-\end_layout
-
-\begin_layout Standard
-Or to allow for 10% mismathing nucleotides:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=10p
-\end_layout
-
-\begin_layout Standard
-To allow both indels and mismatches use the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist switch.
- So to allow for one mismatch or one indel:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=1
-\end_layout
-
-\begin_layout Standard
-Or to allow for 5% indels or mismatches:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | vmatch_seq --genome=<genome> --hamming_dist=5p
-\end_layout
-
-\begin_layout Standard
-Note that using 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-hamming_dist or
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-edit_dist greatly slows down vmatch considerably --- use with care.
-\end_layout
-
-\begin_layout Standard
-The resulting SCORE key can be replaced to hold the number of genome matches
- of a given sequence (multi-mappers) is the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-count switch is given.
-\end_layout
-
-\begin_layout Subsection
-How to find all matches between sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-find-matches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-All matches between two sequences can be determined with the biotool 
-\series bold
-match_seq
-\series default
-.
- The match finding engine underneath the hood of 
-\series bold
-match_seq
-\series default
- is the super fast suffix tree program MUMmer
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://mummer.sourceforge.net/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which will locate all forward and reverse matches between huge sequences
- in a matter of minutes (if the repeat count is not too high and if the
- word size used is appropriate).
- Matching two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq --word_size=20 --direction=both
-\end_layout
-
-\begin_layout Standard
-The output from 
-\series bold
-match_seq
-\series default
- can be used to generate a dot plot with 
-\series bold
-plot_matches
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-generate-dotplot"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to align sequences?
-\begin_inset LatexCommand label
-name "sub:How-to-align"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Sequences in the stream can be aligned with the 
-\series bold
-align_seq
-\series default
- biotool that uses Muscle
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.drive5.com/muscle/muscle.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- as aligment engine.
- Currently you cannot change any of the Muscle alignment parameters and
-\series bold
-align_seq
-\series default
- will create an alignment based on the defaults (which are really good!):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | align_seq
-\end_layout
-
-\begin_layout Standard
-The aligned output can be written to file in FASTA format using 
-\series bold
-write_fasta
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-fasta"
-
-\end_inset
-
-) or in pretty text using 
-\series bold
-write_align
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-alignment"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-How to create a weight matrix?
-\end_layout
-
-\begin_layout Standard
-If you want a weight matrix to show the sequence composition of a stack
- of sequences you can use the biotool create_weight_matrix:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix
-\end_layout
-
-\begin_layout Standard
-The result can be output in percent using the 
-\begin_inset ERT
-status open
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-percent switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix --percent
-\end_layout
-
-\begin_layout Standard
-The weight matrix can be written as tabular output with 
-\series bold
-write_tab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-tab"
-
-\end_inset
-
-) after removeing the records containing SEQ with 
-\series bold
-grab
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-grab"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | create_weight_matrix | grab --invert --keys=SEQ --keys_only
-\end_layout
-
-\begin_layout LyX-Code
-| write_tab --no_stream
-\end_layout
-
-\begin_layout Standard
-The V0 column will hold the residue, while the rest of the columns will
- hold the frequencies for each sequence position.
-\end_layout
-
-\begin_layout Section
-Plotting
-\end_layout
-
-\begin_layout Standard
-There exists several biotools for plotting.
- Some of these are based on GNUplot
-\begin_inset Foot
-status open
-
-\begin_layout Standard
-\begin_inset LatexCommand url
-target "http://www.gnuplot.info/"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-, which is an extremely powerful platform to generate all sorts of plots
- and even though GNUplot has quite a steep learning curve, the biotools
- utilizing GNUplot are simple to use.
- GNUplot is able to output a lot of different formats (called terminals
- in GNUplot), but the biotools focusses on three formats only:
-\end_layout
-
-\begin_layout Enumerate
-The 'dumb' terminal is default to the GNUplot based biotools and will output
- a plot in crude ASCII text (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-).
- This is quite nice for a quick and dirty plot to get an overview of your
- data .
-\end_layout
-
-\begin_layout Enumerate
-The 'post' or 'postscript' terminal output postscript code which is publication
- grade graphics that can be viewed with applications such as Ghostview,
- Photoshop, and Preview.
-\end_layout
-
-\begin_layout Enumerate
-The 'svg' terminal output's scalable vector graphics (SVG) which is a vector
- based format.
- SVG is great because you can edit the resulting plot using Photoshop or
- Inkscape
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-Inkscape is a really handy drawing program that is free and open source.
- Availble at 
-\begin_inset LatexCommand htmlurl
-target "http://www.inkscape.org"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
- if you want to add additional labels, captions, arrows, and so on and then
- save the result in different formats, such as postscript without loosing
- resolution.
-\end_layout
-
-\begin_layout Standard
-The biotools for plotting that are not based on GNUplot only output SVG
- (that may change in the future).
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist_ascii.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dumb-terminal"
-
-\end_inset
-
-Dumb terminal
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-The output of a length distribution plot in the default 'dumb terminal'
- to the terminal window.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a histogram?
-\begin_inset LatexCommand label
-name "How-to-plot-histogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A generic histogram for a given value can be plotted with the biotool 
-\series bold
-plot_histogram
-\series default
- (Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Histogram"
-
-\end_inset
-
-):
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_histogram --key=TISSUE --no_stream
-\end_layout
-
-\begin_layout Standard
-(Figure missing)
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align left
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename histogram.png
-       lyxscale 70
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Histogram"
-
-\end_inset
-
-Histogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a length distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-lendist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Plotting of length distributions, weather sequence lengths, patterns lengths,
- hit lengths, 
-\emph on
-etc.
-
-\emph default
- is a really handy thing and can be done with the the biotool 
-\series bold
-plot_lendist
-\series default
-.
- If you have a file with FASTA entries and want to plot the length distribution
- you do it like this:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | length_seq
-\end_layout
-
-\begin_layout LyX-Code
-| plot_lendist --key=SEQ_LEN --no_stream
-\end_layout
-
-\begin_layout Standard
-The result will be written to the default dumb terminal and will look like
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dumb-terminal"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-If you instead want the result in postscript format you can do:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --result_out=file.ps
-\end_layout
-
-\begin_layout Standard
-That will generate the plot and save it to file, but not interrupt the data
- stream which can then be used in further analysis.
- You can also save the plot implicetly using '>', however, it is then important
- to terminate the stream with the 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream switch:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_lendist --key=SEQ_LEN --terminal=post --no_stream > file.ps
-\end_layout
-
-\begin_layout Standard
-The resulting plot can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Length-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename lendist.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Length-distribution"
-
-\end_inset
-
-Length distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Length distribution of 630 piRNA like RNAs.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a chromosome distribution?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-chrdist"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-If you have the result of a sequence search against a multi chromosome genome,
- it is very practical to be able to plot the distribution of search hits
- on the different chromosomes.
- This can be done with 
-\series bold
-plot_chrdist
-\series default
-:
-\end_layout
-
-\begin_layout LyX-Code
-read_fasta --data_in=<file> | blat_genome | plot_chrdist --no_stream
-\end_layout
-
-\begin_layout Standard
-The above example will result in a crude plot using the 'dumb' terminal,
- and if you want to mess around with the results from the BLAT search you
- probably want to save the result to file first (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-write-PSL"
-
-\end_inset
-
-).
- To plot the chromosome distribution from the saved search result you can
- do:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=file.bed | plot_chrdist --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-That will result in the output show in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Chromosome-distribution"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename chrdist.ps
-       lyxscale 50
-       width 12cm
-       rotateAngle 90
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Chromosome-distribution"
-
-\end_inset
-
-Chromosome distribution
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to generate a dotplot?
-\begin_inset LatexCommand label
-name "sub:How-to-generate-dotplot"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-A dotplot is a powerful way to get an overview of the size and location
- of sequence insertions, deletions, and duplications between two sequences.
- Generating a dotplot with biotools is a two step process where you initially
- find all matches between two sequences using the tool 
-\series bold
-match_seq
-\series default
- (see\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "sub:How-to-find-matches"
-
-\end_inset
-
-) and plot the resulting matches with 
-\series bold
-plot_matches
-\series default
-.
- Matching and plotting two 
-\emph on
-Helicobacter pylori
-\emph default
- genomes (1.7Mbp) takes around 10 seconds:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | match_seq | plot_matches --terminal=post --result_out=plot.ps
-\end_layout
-
-\begin_layout Standard
-The resulting dotplot is in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Dotplot"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename dotplot.ps
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Dotplot"
-
-\end_inset
-
-Dotplot
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Forward matches are displayed in green while reverse matches are displayed
- in red.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a sequence logo?
-\end_layout
-
-\begin_layout Standard
-Sequence logos can be generate with 
-\series bold
-plot_seqlogo
-\series default
-.
- The sequnce type is determined automagically and an entropy scale of 2
- bits and 4 bits is used for nucleotide and peptide sequences, respectively
-\begin_inset Foot
-status collapsed
-
-\begin_layout Standard
-\begin_inset LatexCommand htmlurl
-target "http://www.ccrnp.ncifcrf.gov/~toms/paper/hawaii/latex/node5.html"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_seqlogo --no_stream --result_out=seqlogo.svg
-\end_layout
-
-\begin_layout Standard
-An example of a sequence logo can be seen in Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Sequence-logo"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename seqlogo.png
-       lyxscale 50
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Sequence-logo"
-
-\end_inset
-
-Sequence logo
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-How to plot a karyogram?
-\begin_inset LatexCommand label
-name "sub:How-to-plot-karyogram"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-To plot search hits on genomes use 
-\series bold
-plot_karyogram
-\series default
-, which will output a nice karyogram in SVG graphics:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | plot_karyogram --result_out=karyogram.svg
-\end_layout
-
-\begin_layout Standard
-The banding data is taken from the UCSC genome browser database and currently
- only Human and Mouse is supported.
- Fig.\InsetSpace ~
-
-\begin_inset LatexCommand ref
-reference "fig:Karyogram"
-
-\end_inset
-
- shows the distribution of piRNA like RNAs matched to the Human genome.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-       filename karyogram.png
-       lyxscale 35
-       width 12cm
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Caption
-
-\begin_layout Standard
-\begin_inset LatexCommand label
-name "fig:Karyogram"
-
-\end_inset
-
-Karyogram
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-Hits from a search of piRNA like RNAs in the Human genome is displayed as
- short horizontal bars.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Uploading Results
-\end_layout
-
-\begin_layout Subsection
-How do I display my results in the UCSC Genome Browser?
-\end_layout
-
-\begin_layout Standard
-Results from the list of biotools below can be uploaded directly to a local
- mirror of the UCSC Genome Browser using the biotool 
-\series bold
-upload_to_ucsc
-\series default
-:
-\end_layout
-
-\begin_layout Itemize
-patscan_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-patscan"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blat_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAT"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-blast_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-BLAST"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-vmatch_seq 
-\begin_inset LatexCommand eqref
-reference "sub:How-to-use-Vmatch"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The syntax for uploading data the most simple way requires two mandatory
- switches: 
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-database, which is the UCSC database name (such as hg18, mm9, etc.) and
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-table which should be the users initials followed by an underscore and a
- short description of the data:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | upload_to_ucsc --database=hg18 --table=mah_snoRNAs
-\end_layout
-
-\begin_layout Standard
-The 
-\series bold
-upload_to_ucsc
-\series default
- biotool modifies the users ~/ucsc/my_tracks.ra file automagically (a backup
- is created with the name ~/ucsc/my_tracks.ra~) with default values that
- can be overridden using the following switches:
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-short_label - Short label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-long_label - Long label for track - Default=database->table
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-group - Track group name - Default=<user name as defined in env>
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-priority - Track display priority - Default=1
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-color - Track color - Default=147,73,42
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-chunk_size - Chunks for loading - Default=10000000
-\end_layout
-
-\begin_layout Itemize
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-visibility - Track visibility - Default=pack
-\end_layout
-
-\begin_layout Standard
-Also, data in BED or PSL format can be uploaded with 
-\series bold
-upload_to_ucsc
-\series default
- as long as these reference to genomes and chromosomes existing in the UCSC
- Genome Browser:
-\end_layout
-
-\begin_layout LyX-Code
-read_bed --data_in=<bed file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-read_psl --data_in=<psl file> | upload_to_ucsc ...
-\end_layout
-
-\begin_layout Section
-Power Scripting
-\end_layout
-
-\begin_layout Standard
-It is possible to do commandline scripting of biotool records using Perl.
- Because a biotool record essentially is a hash structure, you can pass
- records to 
-\series bold
-bioscript
-\series default
- command, which is a wrapper around the Perl executable that allows direct
- manipulations of the records using the power of Perl.
-\end_layout
-
-\begin_layout Standard
-In the below example we replace in all records the value to the CHR key
- with a forthrunning number:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{CHR}=$i++; put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-Something more useful would probably be to create custom FASTA headers.
- E.g.
- if we read in a BED file, lookup the genomic sequence, create a custom
- FASTA header with 
-\series bold
-bioscript
-\series default
- and output FASTA entries:
-\end_layout
-
-\begin_layout LyX-Code
-...
- | bioscript 'while($r=get_record(
-\backslash
-*STDIN)){$r->{SEQ_NAME}= //
-\end_layout
-
-\begin_layout LyX-Code
-join("_",$r->{CHR},$r->{CHR_BEG},$r->{CHR_END}); put_record($r)}'
-\end_layout
-
-\begin_layout Standard
-And the output:
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_21567527_21567550 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_693380_693403 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_13859534_13859557 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_9005090_9005113 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_2106825_2106848 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc 
-\end_layout
-
-\begin_layout LyX-Code
->chr2L_14649031_14649054 
-\end_layout
-
-\begin_layout LyX-Code
-taccaaacggatgcctcagacatc
-\end_layout
-
-\begin_layout Section
-Trouble shooting
-\end_layout
-
-\begin_layout Standard
-Shoot the messenger!
-\end_layout
-
-\begin_layout Section
-\start_of_appendix
-Keys
-\begin_inset LatexCommand label
-name "sec:Keys"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-HIT
-\end_layout
-
-\begin_layout Standard
-HIT_BEG
-\end_layout
-
-\begin_layout Standard
-HIT_END
-\end_layout
-
-\begin_layout Standard
-HIT_LEN
-\end_layout
-
-\begin_layout Standard
-HIT_NAME
-\end_layout
-
-\begin_layout Standard
-PATTERN
-\end_layout
-
-\begin_layout Section
-Switches
-\begin_inset LatexCommand label
-name "sec:Switches"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-stream_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-no_stream
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-data_in
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-result_out
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
--
-\backslash
-/-
-\end_layout
-
-\end_inset
-
-num
-\end_layout
-
-\begin_layout Section
-scan_for_matches README
-\begin_inset LatexCommand label
-name "sec:scan_for_matches-README"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout LyX-Code
-                          scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    A Program to Scan Nucleotide or Protein Sequences for Matching Patterns
-\end_layout
-
-\begin_layout LyX-Code
-                        Ross Overbeek
-\end_layout
-
-\begin_layout LyX-Code
-                        MCS
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne National Laboratory
-\end_layout
-
-\begin_layout LyX-Code
-                        Argonne, IL 60439
-\end_layout
-
-\begin_layout LyX-Code
-                        USA
-\end_layout
-
-\begin_layout LyX-Code
-Scan_for_matches is a utility that we have written to search for
-\end_layout
-
-\begin_layout LyX-Code
-patterns in DNA and protein sequences.
-  I wrote most of the code,
-\end_layout
-
-\begin_layout LyX-Code
-although David Joerg and Morgan Price wrote sections of an
-\end_layout
-
-\begin_layout LyX-Code
-earlier version.
-  The whole notion of pattern matching has a rich
-\end_layout
-
-\begin_layout LyX-Code
-history, and we borrowed liberally from many sources.
-  However, it is
-\end_layout
-
-\begin_layout LyX-Code
-worth noting that we were strongly influenced by the elegant tools
-\end_layout
-
-\begin_layout LyX-Code
-developed and distributed by David Searls.
-  My intent is to make the
-\end_layout
-
-\begin_layout LyX-Code
-existing tool available to anyone in the research community that might
-\end_layout
-
-\begin_layout LyX-Code
-find it useful.
-  I will continue to try to fix bugs and make suggested
-\end_layout
-
-\begin_layout LyX-Code
-enhancements, at least until I feel that a superior tool exists.
-\end_layout
-
-\begin_layout LyX-Code
-Hence, I would appreciate it if all bug reports and suggestions are
-\end_layout
-
-\begin_layout LyX-Code
-directed to me at Overbeek@mcs.anl.gov.
-  
-\end_layout
-
-\begin_layout LyX-Code
-I will try to log all bug fixes and report them to users that send me
-\end_layout
-
-\begin_layout LyX-Code
-their email addresses.
-  I do not require that you give me your name
-\end_layout
-
-\begin_layout LyX-Code
-and address.
-  However, if you do give it to me, I will try to notify
-\end_layout
-
-\begin_layout LyX-Code
-you of serious problems as they are discovered.
-\end_layout
-
-\begin_layout LyX-Code
-Getting Started:
-\end_layout
-
-\begin_layout LyX-Code
-    The distribution should contain at least the following programs:
-\end_layout
-
-\begin_layout LyX-Code
-                README                  -     This document
-\end_layout
-
-\begin_layout LyX-Code
-                ggpunit.c               -     One of the two source files
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches.c      -     The second source file
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                run_tests               -     A perl script to test things
-\end_layout
-
-\begin_layout LyX-Code
-                show_hits               -     A handy perl script
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_input          -     Test sequences for DNA
-\end_layout
-
-\begin_layout LyX-Code
-                test_dna_patterns       -     Test patterns for DNA scan
-\end_layout
-
-\begin_layout LyX-Code
-                test_output             -     Desired output from test
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_input         -     Test protein sequences
-\end_layout
-
-\begin_layout LyX-Code
-                test_prot_patterns      -     Test patterns for proteins
-\end_layout
-
-\begin_layout LyX-Code
-                testit                  -     a perl script used for test
-\end_layout
-
-\begin_layout LyX-Code
-    Only the first three files are required.
-  The others are useful,
-\end_layout
-
-\begin_layout LyX-Code
-    but only if you have Perl installed on your system.
-  If you do
-\end_layout
-
-\begin_layout LyX-Code
-    have Perl, I suggest that you type
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                which perl
-\end_layout
-
-\begin_layout LyX-Code
-    to find out where it installed.
-  On my system, I get the following
-\end_layout
-
-\begin_layout LyX-Code
-    response:
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-                clone% which perl
-\end_layout
-
-\begin_layout LyX-Code
-                /usr/local/bin/perl
-\end_layout
-
-\begin_layout LyX-Code
-    indicating that Perl is installed in /usr/local/bin.
-  Anyway, once
-\end_layout
-
-\begin_layout LyX-Code
-    you know where it is installed, edit the first line of files 
-\end_layout
-
-\begin_layout LyX-Code
-        testit
-\end_layout
-
-\begin_layout LyX-Code
-        show_hits
-\end_layout
-
-\begin_layout LyX-Code
-    replacing /usr/local/bin/perl with the appropriate location.
-  I
-\end_layout
-
-\begin_layout LyX-Code
-    will assume that you can do this, although it is not critical (it
-\end_layout
-
-\begin_layout LyX-Code
-    is needed only to test the installation and to use the "show_hits"
-\end_layout
-
-\begin_layout LyX-Code
-    utility).
-  Perl is not required to actually install and run
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches.
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not have Perl, I suggest you get it and install it (it
-\end_layout
-
-\begin_layout LyX-Code
-    is a wonderful utility).
-  Information about Perl and how to get it
-\end_layout
-
-\begin_layout LyX-Code
-    can be found in the book "Programming Perl" by Larry Wall and
-\end_layout
-
-\begin_layout LyX-Code
-    Randall L.
- Schwartz, published by O'Reilly & Associates, Inc.
-\end_layout
-
-\begin_layout LyX-Code
-    To get started, you will need to compile the program.
-   I do this
-\end_layout
-
-\begin_layout LyX-Code
-    using 
-\end_layout
-
-\begin_layout LyX-Code
-        gcc -O -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    If you do not use GNU C, use 
-\end_layout
-
-\begin_layout LyX-Code
-        cc -O -DCC -o scan_for_matches  ggpunit.c scan_for_matches.c
-\end_layout
-
-\begin_layout LyX-Code
-    which works on my Sun.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    Once you have compiled scan_for_matches, you can verify that it
-\end_layout
-
-\begin_layout LyX-Code
-    works with
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    You may get a few strange lines of the sort
-\end_layout
-
-\begin_layout LyX-Code
-        clone% run_tests tmp
-\end_layout
-
-\begin_layout LyX-Code
-        rm: tmp: No such file or directory
-\end_layout
-
-\begin_layout LyX-Code
-        clone% diff tmp test_output
-\end_layout
-
-\begin_layout LyX-Code
-    These should cause no concern.
-  However, if the "diff" shows that
-\end_layout
-
-\begin_layout LyX-Code
-    tmp and test_output are different, contact me (you have a
-\end_layout
-
-\begin_layout LyX-Code
-    problem).
-\end_layout
-
-\begin_layout LyX-Code
-    You should now be able to use scan_for_matches by following the
-\end_layout
-
-\begin_layout LyX-Code
-    instructions given below (which is all the normal user should have
-\end_layout
-
-\begin_layout LyX-Code
-    to understand, once things are installed properly).
-\end_layout
-
-\begin_layout LyX-Code
- ==============================================================
-\end_layout
-
-\begin_layout LyX-Code
-How to run scan_for_matches:
-\end_layout
-
-\begin_layout LyX-Code
-    To run the program, you type need to create two files
-\end_layout
-
-\begin_layout LyX-Code
-    1.
-  the first file contains the pattern you wish to scan for; I'll
-\end_layout
-
-\begin_layout LyX-Code
-        call this file pat_file in what follows (but any name is ok)
-\end_layout
-
-\begin_layout LyX-Code
-    2.
-  the second file contains a set of sequences to scan.
-  These
-\end_layout
-
-\begin_layout LyX-Code
-        should be in "fasta format".
-  Just look at the contents of
-\end_layout
-
-\begin_layout LyX-Code
-        test_dna_input to see examples of this format.
-  Basically,
-\end_layout
-
-\begin_layout LyX-Code
-        each sequence begins with a line of the form
-\end_layout
-
-\begin_layout LyX-Code
-           >sequence_id
-\end_layout
-
-\begin_layout LyX-Code
-        and is followed by one or more lines containing the sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    Once these files have been created, you just use
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file < input_file
-\end_layout
-
-\begin_layout LyX-Code
-    to scan all of the input sequences for the given pattern.
-  As an
-\end_layout
-
-\begin_layout LyX-Code
-    example, suppose that pat_file contains a single line of the form
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    Then,
-\end_layout
-
-\begin_layout LyX-Code
-                scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    should produce two "hits".
-  When I run this on my machine, I get
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        CGUAACC GGTTAACC GGUUACG 
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-Simple Patterns Built by Matching Ranges and Reverse Complements
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first explain this simple pattern:
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7 3...8 ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    The pattern consists of three "pattern units" separated by spaces.
-\end_layout
-
-\begin_layout LyX-Code
-    The first pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                p1=4...7
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match 4 to 7 characters and call them p1".
-  The
-\end_layout
-
-\begin_layout LyX-Code
-    second pattern unit is
-\end_layout
-
-\begin_layout LyX-Code
-                3...8
-\end_layout
-
-\begin_layout LyX-Code
-    which means "then match 3 to 8 characters".
-  The last pattern unit
-\end_layout
-
-\begin_layout LyX-Code
-    is 
-\end_layout
-
-\begin_layout LyX-Code
-                ~p1
-\end_layout
-
-\begin_layout LyX-Code
-    which means "match the reverse complement of p1".
-  The first
-\end_layout
-
-\begin_layout LyX-Code
-    reported hit is shown as
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[6,27]
-\end_layout
-
-\begin_layout LyX-Code
-        cguaacc ggttaacc gguuacg 
-\end_layout
-
-\begin_layout LyX-Code
-    which states that characters 6 through 27 of sequence tst1 were
-\end_layout
-
-\begin_layout LyX-Code
-    matched.
-  "cguaac" matched the first pattern unit, "ggttaacc" the
-\end_layout
-
-\begin_layout LyX-Code
-    second, and "gguuacg" the third.
-  This is an example of a common
-\end_layout
-
-\begin_layout LyX-Code
-    type of pattern used to search for sections of DNA or RNA that
-\end_layout
-
-\begin_layout LyX-Code
-    would fold into a hairpin loop.
-\end_layout
-
-\begin_layout LyX-Code
-Searching Both Strands
-\end_layout
-
-\begin_layout LyX-Code
-    Now for a short aside: scan_for_matches only searched the
-\end_layout
-
-\begin_layout LyX-Code
-    sequences in the input file; it did not search the opposite
-\end_layout
-
-\begin_layout LyX-Code
-    strand.
-  With a pattern of the sort we just used, there is not
-\end_layout
-
-\begin_layout LyX-Code
-    need o search the opposite strand.
-  However, it is normally the
-\end_layout
-
-\begin_layout LyX-Code
-    case that you will wish to search both the sequence and the
-\end_layout
-
-\begin_layout LyX-Code
-    opposite strand (i.e., the reverse complement of the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    To do that, you would just use the "-c" command line.
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    Hits on the opposite strand will show a beginning location greater
-\end_layout
-
-\begin_layout LyX-Code
-    than te end location of the match.
-\end_layout
-
-\begin_layout LyX-Code
-Defining Pairing Rules and Allowing Mismatches, Insertions, and Deletions
-\end_layout
-
-\begin_layout LyX-Code
-    Let us stop now and ask "What additional features would one need to
-\end_layout
-
-\begin_layout LyX-Code
-    really find the kinds of loop structures that characterize tRNAs,
-\end_layout
-
-\begin_layout LyX-Code
-    rRNAs, and so forth?"  I can immediately think of two:
-\end_layout
-
-\begin_layout LyX-Code
-        a) you will need to be able to allow non-standard pairings
-\end_layout
-
-\begin_layout LyX-Code
-           (those other than G-C and A-U), and
-\end_layout
-
-\begin_layout LyX-Code
-        b) you will need to be able to tolerate some number of
-\end_layout
-
-\begin_layout LyX-Code
-           mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-    Let me first show you how to handle non-standard "rules for
-\end_layout
-
-\begin_layout LyX-Code
-    pairing in reverse complements".
-  Consider the following pattern,
-\end_layout
-
-\begin_layout LyX-Code
-    which I show as two line (you may use as many lines as you like in
-\end_layout
-
-\begin_layout LyX-Code
-    forming a pattern, although you can only break a pattern at points
-\end_layout
-
-\begin_layout LyX-Code
-    where space would be legal):
-\end_layout
-
-\begin_layout LyX-Code
-            r1={au,ua,gc,cg,gu,ug,ga,ag} 
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3 0...4 p2=2...5 1...5 r1~p2 0...4 ~p1        
-\end_layout
-
-\begin_layout LyX-Code
-    The first "pattern unit" does not actually match anything; rather,
-\end_layout
-
-\begin_layout LyX-Code
-    it defines a "pairing rule" in which standard pairings are
-\end_layout
-
-\begin_layout LyX-Code
-    allowed, as well as G-A and A-G (in case you wondered, Us and Ts
-\end_layout
-
-\begin_layout LyX-Code
-    and upper and lower case can be used interchangably; for example
-\end_layout
-
-\begin_layout LyX-Code
-    r1={AT,UA,gc,cg} could be used to define the "standard rule" for
-\end_layout
-
-\begin_layout LyX-Code
-    pairings).
-  The second line consists of six pattern units which
-\end_layout
-
-\begin_layout LyX-Code
-    may be interpreted as follows:
-\end_layout
-
-\begin_layout LyX-Code
-            p1=2...3     match 2 or 3 characters (call it p1)
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters
-\end_layout
-
-\begin_layout LyX-Code
-            p2=2...5     match 2 to 5 characters (call it p2)
-\end_layout
-
-\begin_layout LyX-Code
-            1...5        match 1 to 5 characters
-\end_layout
-
-\begin_layout LyX-Code
-            r1~p2        match the reverse complement of p2,
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing G-A and A-G pairs
-\end_layout
-
-\begin_layout LyX-Code
-            0...4        match 0 to 4 characters        
-\end_layout
-
-\begin_layout LyX-Code
-            ~p1          match the reverse complement of p1
-\end_layout
-
-\begin_layout LyX-Code
-                            allowing only G-C, C-G, A-T, and T-A pairs
-\end_layout
-
-\begin_layout LyX-Code
-    Thus, r1~p2 means "match the reverse complement of p2 using rule r1".
-\end_layout
-
-\begin_layout LyX-Code
-    Now let us consider the issue of tolerating mismatches and bulges.
-\end_layout
-
-\begin_layout LyX-Code
-    You may add a "qualifier" to the pattern unit that gives the
-\end_layout
-
-\begin_layout LyX-Code
-    tolerable number of "mismatches, deletions, and insertions".
-\end_layout
-
-\begin_layout LyX-Code
-    Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                p1=10...10 3...8 ~p1[1,2,1]
-\end_layout
-
-\begin_layout LyX-Code
-    means that the third pattern unit must match 10 characters,
-\end_layout
-
-\begin_layout LyX-Code
-    allowing one "mismatch" (a pairing other than G-C, C-G, A-T, or
-\end_layout
-
-\begin_layout LyX-Code
-    T-A), two deletions (a deletion is a character that occurs in p1,
-\end_layout
-
-\begin_layout LyX-Code
-    but has been "deleted" from the string matched by ~p1), and one
-\end_layout
-
-\begin_layout LyX-Code
-    insertion (an "insertion" is a character that occurs in the string
-\end_layout
-
-\begin_layout LyX-Code
-    matched by ~p1, but not for which no corresponding character
-\end_layout
-
-\begin_layout LyX-Code
-    occurs in p1).
-  In this case, the pattern would match
-\end_layout
-
-\begin_layout LyX-Code
-              ACGTACGTAC GGGGGGGG GCGTTACCT
-\end_layout
-
-\begin_layout LyX-Code
-    which is, you must admit, a fairly weak loop.
-  It is common to
-\end_layout
-
-\begin_layout LyX-Code
-    allow mismatches, but you will find yourself using insertions and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions much more rarely.
-  In any event, you should note that
-\end_layout
-
-\begin_layout LyX-Code
-    allowing mismatches, insertions, and deletions does force the
-\end_layout
-
-\begin_layout LyX-Code
-    program to try many additional possible pairings, so it does slow
-\end_layout
-
-\begin_layout LyX-Code
-    things down a bit.
-\end_layout
-
-\begin_layout LyX-Code
-How Patterns Are Matched
-\end_layout
-
-\begin_layout LyX-Code
-    Now is as good a time as any to discuss the basic flow of control
-\end_layout
-
-\begin_layout LyX-Code
-    when matching patterns.
-  Recall that a "pattern" is a sequence of
-\end_layout
-
-\begin_layout LyX-Code
-    "pattern units".
-  Suppose that the pattern units were
-\end_layout
-
-\begin_layout LyX-Code
-        u1 u2 u3 u4 ...
- un
-\end_layout
-
-\begin_layout LyX-Code
-    The scan of a sequence S begins by setting the current position
-\end_layout
-
-\begin_layout LyX-Code
-    to 1.
-  Then, an attempt is made to match u1 starting at the
-\end_layout
-
-\begin_layout LyX-Code
-    current position.
-  Each attempt to match a pattern unit can
-\end_layout
-
-\begin_layout LyX-Code
-    succeed or fail.
-  If it succeeds, then an attempt is made to match
-\end_layout
-
-\begin_layout LyX-Code
-    the next unit.
-  If it fails, then an attempt is made to find an
-\end_layout
-
-\begin_layout LyX-Code
-    alternative match for the immediately preceding pattern unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    this succeeds, then we proceed forward again to the next unit.
-  If
-\end_layout
-
-\begin_layout LyX-Code
-    it fails we go back to the preceding unit.
-  This process is called
-\end_layout
-
-\begin_layout LyX-Code
-    "backtracking".
-  If there are no previous units, then the current
-\end_layout
-
-\begin_layout LyX-Code
-    position is incremented by one, and everything starts again.
-  This
-\end_layout
-
-\begin_layout LyX-Code
-    proceeds until either the current position goes past the end of
-\end_layout
-
-\begin_layout LyX-Code
-    the sequence or all of the pattern units succeed.
-  On success,
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches reports the "hit", the current position is set
-\end_layout
-
-\begin_layout LyX-Code
-    just past the hit, and an attempt is made to find another hit.
-\end_layout
-
-\begin_layout LyX-Code
-    If you wish to limit the scan to simply finding a maximum of, say,
-\end_layout
-
-\begin_layout LyX-Code
-    10 hits, you can use the -n option (-n 10 would set the limit to
-\end_layout
-
-\begin_layout LyX-Code
-    10 reported hits).
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c -n 1 pat_file < test_dna_input
-\end_layout
-
-\begin_layout LyX-Code
-    would search for just the first hit (and would stop searching the
-\end_layout
-
-\begin_layout LyX-Code
-    current sequences or any that follow in the input file).
-\end_layout
-
-\begin_layout LyX-Code
-Searching for repeats:
-\end_layout
-
-\begin_layout LyX-Code
-    In the last section, I discussed almost all of the details
-\end_layout
-
-\begin_layout LyX-Code
-    required to allow you to look for repeats.
-  Consider the following
-\end_layout
-
-\begin_layout LyX-Code
-    set of patterns:
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3...8 p1   (find exact 6 character repeat separated
-\end_layout
-
-\begin_layout LyX-Code
-                             by to 8 characters)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...6 3..8 p1[1,0,0]   (allow one mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        p1=3...3 p1[1,0,0] p1[1,0,0] p1[1,0,0]  
-\end_layout
-
-\begin_layout LyX-Code
-                            (match 12 characters that are the remains
-\end_layout
-
-\begin_layout LyX-Code
-                             of a 3-character sequence occurring 4 times)
-\end_layout
-
-\begin_layout LyX-Code
-                
-\end_layout
-
-\begin_layout LyX-Code
-        p1=4...8 0...3 p2=6...8 p1 0...3 p2
-\end_layout
-
-\begin_layout LyX-Code
-                            (This would match things like
-\end_layout
-
-\begin_layout LyX-Code
-                                ATCT G TCTTT ATCT TG TCTTT
-\end_layout
-
-\begin_layout LyX-Code
-                            )
-\end_layout
-
-\begin_layout LyX-Code
-Searching for particular sequences:
-\end_layout
-
-\begin_layout LyX-Code
-    Occasionally, one wishes to match a specific, known sequence.
-\end_layout
-
-\begin_layout LyX-Code
-    In such a case, you can just give the sequence (along with an
-\end_layout
-
-\begin_layout LyX-Code
-    optional statement of the allowable mismatches, insertions, and
-\end_layout
-
-\begin_layout LyX-Code
-    deletions).
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=6...8 GAGA ~p1    (match a hairpin with GAGA as the loop)
-\end_layout
-
-\begin_layout LyX-Code
-        RRRRYYYY             (match 4 purines followed by 4 pyrimidines)
-\end_layout
-
-\begin_layout LyX-Code
-        TATAA[1,0,0]         (match TATAA, allowing 1 mismatch)
-\end_layout
-
-\begin_layout LyX-Code
-        
-\end_layout
-
-\begin_layout LyX-Code
-Matches against a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-    I will conclude my examples of the types of pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    available for matching against nucleotide sequences by discussing a
-\end_layout
-
-\begin_layout LyX-Code
-    crude implemetation of matching using a "weight matrix".
-  While I
-\end_layout
-
-\begin_layout LyX-Code
-    am less than overwhelmed with the syntax that I chose, I think that
-\end_layout
-
-\begin_layout LyX-Code
-    the reader should be aware that I was thinking of generating
-\end_layout
-
-\begin_layout LyX-Code
-    patterns containing such pattern units automatically from
-\end_layout
-
-\begin_layout LyX-Code
-    alignments (and did not really plan on typing such things in by
-\end_layout
-
-\begin_layout LyX-Code
-    hand very often).
-  Anyway, suppose that you wanted to match a
-\end_layout
-
-\begin_layout LyX-Code
-    sequence of eight characters.
-  The "consensus" of these eight
-\end_layout
-
-\begin_layout LyX-Code
-    characters is GRCACCGS, but the actual "frequencies of occurrence"
-\end_layout
-
-\begin_layout LyX-Code
-    are given in the matrix below.
-  Thus, the first character is an A
-\end_layout
-
-\begin_layout LyX-Code
-    16% the time and a G 84% of the time.
-  The second is an A 57% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time, a C 10% of the time, a G 29% of the time, and a T 4% of
-\end_layout
-
-\begin_layout LyX-Code
-    the time.
-  
-\end_layout
-
-\begin_layout LyX-Code
-             C1     C2    C3    C4   C5    C6    C7    C8
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-       A     16     57     0    95    0    18     0     0
-\end_layout
-
-\begin_layout LyX-Code
-       C      0     10    80     0  100    60     0    50
-\end_layout
-
-\begin_layout LyX-Code
-       G     84     29     0     0    0    20   100    50
-\end_layout
-
-\begin_layout LyX-Code
-       T      0      4    20     5    0     2     0     0   
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-    One could use the following pattern unit to search for inexact
-\end_layout
-
-\begin_layout LyX-Code
-    matches related to such a "weight matrix":
-\end_layout
-
-\begin_layout LyX-Code
-        {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    This pattern unit will attempt to match exactly eight characters.
-\end_layout
-
-\begin_layout LyX-Code
-    For each character in the sequence, the entry in the corresponding
-\end_layout
-
-\begin_layout LyX-Code
-    tuple is added to an accumulated sum.
-  If the sum is greater than
-\end_layout
-
-\begin_layout LyX-Code
-    450, the match succeeds; else it fails.
-\end_layout
-
-\begin_layout LyX-Code
-    Recently, this feature was upgraded to allow ranges.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-  600 >  {(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-\end_layout
-
-\begin_layout LyX-Code
-         (0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)} > 450
-\end_layout
-
-\begin_layout LyX-Code
-    will work, as well.
-\end_layout
-
-\begin_layout LyX-Code
-Allowing Alternatives:
-\end_layout
-
-\begin_layout LyX-Code
-    Very occasionally, you may wish to allow alternative pattern units
-\end_layout
-
-\begin_layout LyX-Code
-    (i.e., "match either A or B").
-  You can do this using something
-\end_layout
-
-\begin_layout LyX-Code
-    like
-\end_layout
-
-\begin_layout LyX-Code
-                ( GAGA | GCGCA)
-\end_layout
-
-\begin_layout LyX-Code
-    which says "match either GAGA or GCGCA".
-  You may take
-\end_layout
-
-\begin_layout LyX-Code
-    alternatives of a list of pattern units, for example
-\end_layout
-
-\begin_layout LyX-Code
-        (p1=3...3 3...8 ~p1 | p1=5...5 4...4 ~p1 GGG)
-\end_layout
-
-\begin_layout LyX-Code
-    would match one of two sequences of pattern units.
-  There is one
-\end_layout
-
-\begin_layout LyX-Code
-    clumsy aspect of the syntax: to match a list of alternatives, you
-\end_layout
-
-\begin_layout LyX-Code
-    need to fully the request.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-        (GAGA | (GCGCA | TTCGA))
-\end_layout
-
-\begin_layout LyX-Code
-    would be needed to try the three alternatives.
-\end_layout
-
-\begin_layout LyX-Code
-One Minor Extension
-\end_layout
-
-\begin_layout LyX-Code
-    Sometimes a pattern will contain a sequence of distinct ranges,
-\end_layout
-
-\begin_layout LyX-Code
-    and you might wish to limit the sum of the lengths of the matched
-\end_layout
-
-\begin_layout LyX-Code
-    subsequences.
-   For example, suppose that you basically wanted to
-\end_layout
-
-\begin_layout LyX-Code
-    match something like
-\end_layout
-
-\begin_layout LyX-Code
-    ARRYYTT p1=0...5 GCA[1,0,0] p2=1...6 ~p1 4...8 ~p2 p3=4...10 CCT
-\end_layout
-
-\begin_layout LyX-Code
-    but that the sum of the lengths of p1, p2, and p3 must not exceed
-\end_layout
-
-\begin_layout LyX-Code
-    eight characters.
-  To do this, you could add 
-\end_layout
-
-\begin_layout LyX-Code
-        length(p1+p2+p3) < 9
-\end_layout
-
-\begin_layout LyX-Code
-    as the last pattern unit.
-  It will just succeed or fail (but does
-\end_layout
-
-\begin_layout LyX-Code
-    not actually match any characters in the sequence).
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-Matching Protein Sequences
-\end_layout
-
-\begin_layout LyX-Code
-    Suppose that the input file contains protein sequences.
-  In this
-\end_layout
-
-\begin_layout LyX-Code
-    case, you must invoke scan_for_matches with the "-p" option.
-  You
-\end_layout
-
-\begin_layout LyX-Code
-    cannot use aspects of the language that relate directly to
-\end_layout
-
-\begin_layout LyX-Code
-    nucleotide sequences (e.g., the -c command line option or pattern
-\end_layout
-
-\begin_layout LyX-Code
-    constructs referring to the reverse complement of a previously
-\end_layout
-
-\begin_layout LyX-Code
-    matched unit).
-  
-\end_layout
-
-\begin_layout LyX-Code
-    You also have two additional constructs that allow you to match
-\end_layout
-
-\begin_layout LyX-Code
-    either "one of a set of amino acids" or "any amino acid other than
-\end_layout
-
-\begin_layout LyX-Code
-    those a given set".
-  For example,
-\end_layout
-
-\begin_layout LyX-Code
-        p1=0...4 any(HQD) 1...3 notany(HK) p1
-\end_layout
-
-\begin_layout LyX-Code
-    would successfully match a string like
-\end_layout
-
-\begin_layout LyX-Code
-           YWV D AA C YWV
-\end_layout
-
-\begin_layout LyX-Code
-Using the show_hits Utility
-\end_layout
-
-\begin_layout LyX-Code
-    When viewing a large set of complex matches, you might find it
-\end_layout
-
-\begin_layout LyX-Code
-    convenient to post-process the scan_for_matches output to get a
-\end_layout
-
-\begin_layout LyX-Code
-    more readable version.
-  We provide a simple post-processor called
-\end_layout
-
-\begin_layout LyX-Code
-    "show_hits".
-  To see its effect, just pipe the output of a
-\end_layout
-
-\begin_layout LyX-Code
-    scan_for_matches into show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-     Normal Output:
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[1,28]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc  ggttaac cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst1:[28,1]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc  ggttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[2,31]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGUAAC C GGTTAACC GGUUACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst2:[31,2]
-\end_layout
-
-\begin_layout LyX-Code
-        CGTACGTAAC C GGTTAACC GGTTACGTACG 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[3,32]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacguaacc g gttaactt cgguuacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-        >tst3:[32,3]
-\end_layout
-
-\begin_layout LyX-Code
-        gtacgtaacc g aagttaac cggttacgtac 
-\end_layout
-
-\begin_layout LyX-Code
-     Piped Through show_hits:
-\end_layout
-
-\begin_layout LyX-Code
-    
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    Optionally, you can specify which of the "fields" in the matches
-\end_layout
-
-\begin_layout LyX-Code
-    you wish to sort on, and show_hits will sort them.
-  The field
-\end_layout
-
-\begin_layout LyX-Code
-    numbers start with 0.
-  So, you might get something like
-\end_layout
-
-\begin_layout LyX-Code
-        clone% scan_for_matches -c pat_file < tmp | show_hits 2 1
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[2,31]:  CGTACGUAAC C GGTTAACC GGUUACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst2:[31,2]:  CGTACGTAAC C GGTTAACC GGTTACGTACG
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[32,3]:  gtacgtaacc g aagttaac cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[1,28]:  gtacguaacc   ggttaac  cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst1:[28,1]:  gtacgtaacc   ggttaac  cggttacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        tst3:[3,32]:  gtacguaacc g gttaactt cgguuacgtac
-\end_layout
-
-\begin_layout LyX-Code
-        clone% 
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the hits have been sorted on fields 2 and 1 (that is,
-\end_layout
-
-\begin_layout LyX-Code
-    the third and second matched subfields).
-\end_layout
-
-\begin_layout LyX-Code
-    show_hits is just one possible little post-processor, and you
-\end_layout
-
-\begin_layout LyX-Code
-    might well wish to write a customized one for yourself.
-\end_layout
-
-\begin_layout LyX-Code
-Reducing the Cost of a Search
-\end_layout
-
-\begin_layout LyX-Code
-    The scan_for_matches utility uses a fairly simple search, and may
-\end_layout
-
-\begin_layout LyX-Code
-    consume large amounts of CPU time for complex patterns.
-  Someday,
-\end_layout
-
-\begin_layout LyX-Code
-    I may decide to optimize the code.
-  However, until then, let me
-\end_layout
-
-\begin_layout LyX-Code
-    mention one useful technique.
-  
-\end_layout
-
-\begin_layout LyX-Code
-    When you have a complex pattern that includes a number of varying
-\end_layout
-
-\begin_layout LyX-Code
-    ranges, imprecise matches, and so forth, it is useful to
-\end_layout
-
-\begin_layout LyX-Code
-    "pipeline" matches.
-  That is, form a simpler pattern that can be
-\end_layout
-
-\begin_layout LyX-Code
-    used to scan through a large database extracting sections that
-\end_layout
-
-\begin_layout LyX-Code
-    might be matched by the more complex pattern.
-  Let me illustrate
-\end_layout
-
-\begin_layout LyX-Code
-    with a short example.
-  Suppose that you really wished to match the
-\end_layout
-
-\begin_layout LyX-Code
-    pattern 
-\end_layout
-
-\begin_layout LyX-Code
-    p1=3...5 0...8 ~p1[1,1,0] p2=6...7 3...6 AGC 3...5 RYGC ~p2[1,0,0]
-\end_layout
-
-\begin_layout LyX-Code
-    In this case, the pattern units AGC 3...5 RYGC can be used to rapidly
-\end_layout
-
-\begin_layout LyX-Code
-    constrain the overall search.
-  You can preprocess the overall
-\end_layout
-
-\begin_layout LyX-Code
-    database using the pattern:
-\end_layout
-
-\begin_layout LyX-Code
-          31...31 AGC 3...5 RYGC 7...7
-\end_layout
-
-\begin_layout LyX-Code
-    Put the complex pattern in pat_file1 and the simpler pattern in
-\end_layout
-
-\begin_layout LyX-Code
-    pat_file2.
-  Then use,
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches -c pat_file2 < nucleotide_database |
-\end_layout
-
-\begin_layout LyX-Code
-        scan_for_matches pat_file1
-\end_layout
-
-\begin_layout LyX-Code
-    The output will show things like
-\end_layout
-
-\begin_layout LyX-Code
-    >seqid:[232,280][2,47]
-\end_layout
-
-\begin_layout LyX-Code
-    matches pieces
-\end_layout
-
-\begin_layout LyX-Code
-    Then, the actual section of the sequence that was matched can be
-\end_layout
-
-\begin_layout LyX-Code
-    easily computed as [233,278] (remember, the positions start from
-\end_layout
-
-\begin_layout LyX-Code
-    1, not 0).
-\end_layout
-
-\begin_layout LyX-Code
-    Let me finally add, you should do a few short experiments to see
-\end_layout
-
-\begin_layout LyX-Code
-    whether or not such pipelining actually improves performance -- it
-\end_layout
-
-\begin_layout LyX-Code
-    is not always obvious where the time is going, and I have
-\end_layout
-
-\begin_layout LyX-Code
-    sometimes found that the added complexity of pipelining actually
-\end_layout
-
-\begin_layout LyX-Code
-    slowed things up.
-  It gets its best improvements when there are
-\end_layout
-
-\begin_layout LyX-Code
-    exact matches of more than just a few characters that can be
-\end_layout
-
-\begin_layout LyX-Code
-    rapidly used to eliminate large sections of the database.
-\end_layout
-
-\begin_layout LyX-Code
-=============
-\end_layout
-
-\begin_layout LyX-Code
-Additions:
-\end_layout
-
-\begin_layout LyX-Code
-Feb 9, 1995:   the pattern units ^ and $ now work as in normal regular
-\end_layout
-
-\begin_layout LyX-Code
-               expressions.
-  That is
-\end_layout
-
-\begin_layout LyX-Code
-                        TTF $
-\end_layout
-
-\begin_layout LyX-Code
-               matches only TTF at the end of the string and 
-\end_layout
-
-\begin_layout LyX-Code
-                        ^ TTF 
-\end_layout
-
-\begin_layout LyX-Code
-               matches only an initial TTF
-\end_layout
-
-\begin_layout LyX-Code
-               The pattern unit 
-\end_layout
-
-\begin_layout LyX-Code
-                        <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches the reverse of the string named p1.
-  That is,
-\end_layout
-
-\begin_layout LyX-Code
-               if p1 matched GCAT, then <p1 would match TACG.
-  Thus,
-\end_layout
-
-\begin_layout LyX-Code
-                   p1=6...6 <p1
-\end_layout
-
-\begin_layout LyX-Code
-               matches a real palindrome (not the biologically common
-\end_layout
-
-\begin_layout LyX-Code
-               meaning of "reverse complement")
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\end_body
-\end_document
diff --git a/bp_doc/biotools_cookbook.pdf b/bp_doc/biotools_cookbook.pdf
deleted file mode 100644 (file)
index e6bfecf..0000000
Binary files a/bp_doc/biotools_cookbook.pdf and /dev/null differ
diff --git a/bp_doc/biotools_cookbook.tex b/bp_doc/biotools_cookbook.tex
deleted file mode 100644 (file)
index b84da88..0000000
+++ /dev/null
@@ -1,2320 +0,0 @@
-%% LyX 1.5.1 created this file.  For more info, see http://www.lyx.org/.
-%% Do not edit unless you really know what you are doing.
-\documentclass[english]{scrartcl}
-\usepackage[T1]{fontenc}
-\usepackage[latin9]{inputenc}
-\setlength{\parskip}{\medskipamount}
-\setlength{\parindent}{0pt}
-\usepackage{amsmath}
-\usepackage{graphicx}
-\IfFileExists{url.sty}{\usepackage{url}}
-                      {\newcommand{\url}{\texttt}}
-
-\makeatletter
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
-%% Because html converters don't know tabularnewline
-\providecommand{\tabularnewline}{\\}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
-\newenvironment{lyxcode}
-{\begin{list}{}{
-\setlength{\rightmargin}{\leftmargin}
-\setlength{\listparindent}{0pt}% needed for AMS classes
-\raggedright
-\setlength{\itemsep}{0pt}
-\setlength{\parsep}{0pt}
-\normalfont\ttfamily}%
- \item[]}
-{\end{list}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
-\usepackage[colorlinks=true, urlcolor=blue, linkcolor=black]{hyperref}
-
-\usepackage{babel}
-\makeatother
-
-\begin{document}
-
-\title{Biotools Cookbook}
-
-
-\author{Martin Asser Hansen}
-
-
-\publishers{John Mattick Group\\
-Institute for Molecular Bioscience\\
-University of Queensland\\
-Australia\\
-E-mail: mail@maasha.dk}
-
-\maketitle
-\thispagestyle{empty}
-
-\newpage{}
-
-\tableofcontents{}
-
-\listoffigures
-
-
-\newpage{}
-
-
-\section{Introduction}
-
-Biotools is a selection of simple tools that can be linked together
-(piped as we shall call it) in a very flexible manner to perform both
-simple and complex tasks. The fundamental idea is that biotools work
-on a data stream that will only terminate at the end of an analysis
-and that this data stream can be passed through several different
-biotools, each performing one specific task. The advantage of this
-approach is that a user can perform simple and complex tasks without
-having to write advanced code. Moreover, since the data format used
-to pass data between biotools is text based, biotools can be written
-by different developers in their favorite programming language ---
-and still the biotools will be able to work together.
-
-In the most simple form bioools can be piped together on the command
-line like this (using the pipe character '|'):
-
-\begin{lyxcode}
-read\_data~|~calculate\_something~|~write\_result
-\end{lyxcode}
-However, a more comprehensive analysis could be composed:
-
-\begin{lyxcode}
-read\_data~|~select\_entries~|~convert\_entries~|~search\_database~~
-
-evaluate\_results~|~plot\_diagram~|~plot\_another\_diagram~|
-
-load\_to\_database
-\end{lyxcode}
-The data stream that is piped through the biotools consists of records
-of key/value pairs in the same way a hash does in order to keep as
-simple a structure as possible. An example record can be seen below:
-
-\begin{lyxcode}
-
-
-REC\_TYPE:~PATSCAN
-
-MATCH:~AGATCAAGTG
-
-S\_BEG:~7
-
-S\_END:~16
-
-ALIGN\_LEN:~9
-
-S\_ID:~piR-t6
-
-STRAND:~+
-
-PATTERN:~AGATCAAGTG
-
--{}-{}-
-\end{lyxcode}
-The '-\/-\/-' denotes the delimiter of the records, and each key
-is a word followed by a ':' and a white-space and then the value.
-By convention the biotools only uses upper case keys (a list of used
-keys can be seen in Appendix~\ref{sec:Keys}). Since the records
-basically are hash structures this mean that the order of the keys
-in the stream is unordered, and in the above example it is pure coincidence
-that HIT\_BEG is displayed before HIT\_END, however, when the order
-of the keys is importent, the biotools will automagically see to that.
-
-All of the biotools are able to read and write a data stream to and
-from file as long as the records are in the biotools format. This
-means that if you are undertaking a lengthy analysis where one of
-the steps is time consuming, you may save the stream after this step,
-and subsequently start one or more analysis from that last step%
-\footnote{It is a goal that the biotools at some point will be able to dump
-the data stream to file in case one of the tools fail critically.%
-}. If you are running a lengthy analysis it is highly recommended that
-you create a small test sample of the data and run that through the
-pipeline --- and once you are satisfied with the result proceed with
-the full data set (see~\ref{sub:How-to-select-a-few-records}).
-
-
-\section{The Data Stream}
-
-
-\subsection{How to read the data stream from file?\label{sub:How-to-read-stream}}
-
-You want to read a data stream that you previously have saved to file
-in biotools format. This can be done implicetly or explicitly. The
-implicit way uses the 'stdout' stream of the Unix terminal:
-
-\begin{lyxcode}
-cat~|~<biotool>
-\end{lyxcode}
-cat is the Unix command that reads a file and output the result to
-'stdout' --- which in this case is piped to any biotool represented
-by the <biotool>. It is also possible to read the data stream using
-'<' to direct the 'stdout' stream into the biotool like this:
-
-\begin{lyxcode}
-<biotool>~<~<file>
-\end{lyxcode}
-However, that will not work if you pipe more biotools together. Then
-it is much safer to read the stream from a file explicitly like this:
-
-\begin{lyxcode}
-<biotool>~-{}-stream\_in=<file>
-\end{lyxcode}
-Here the filename <file> is explicetly given to the biotool <biotool>
-with the switch -\/-stream\_in. This switch works with all biotools.
-It is also possible to read in data from multiple sources by repeating
-the explicit read step:
-
-\begin{lyxcode}
-<biotool>~-{}-stream\_in=<file1>~|~<biotool>~-{}-stream\_in=<file2>
-\end{lyxcode}
-
-\subsection{How to write the data stream to file?\label{sub:How-to-write-stream}}
-
-In order to save the output stream from a biotool to file, so you
-can read in the stream again at a later time, you can do one of two
-things:
-
-\begin{lyxcode}
-<biotool>~>~<file>
-\end{lyxcode}
-All, the biotools write the data stream to 'stdout' by default which
-can be written to a file by redirecting 'stdout' to file using '>'
-, however, if one of the biotools for writing other formats is used
-then the both the biotools records as well as the result output will
-go to 'stdout' in a mixture causing havock! To avoid this you must
-use the switch -\/-stream\_out that explictly tells the biotool to
-write the output stream to file:
-
-\begin{lyxcode}
-<biotool>~-{}-stream\_out=<file>
-\end{lyxcode}
-The -\/-stream\_out switch works with all biotools.
-
-
-\subsection{How to terminate the data stream?}
-
-The data stream is never stops unless the user want to save the stream
-or by supplying the -\/-no\_stream switch that will terminate the
-stream:
-
-\begin{lyxcode}
-<biotool>~-{}-no\_stream
-\end{lyxcode}
-The -\/-no\_stream switch only works with those biotools where it
-makes sense that the user might want to terminale the data stream,
-\emph{i.e}. after an analysis step where the user wants to output
-the result, but not the data stream.
-
-
-\subsection{How to write my results to file?\label{sub:How-to-write-result}}
-
-Saving the result of an analysis to file can be done implicitly or
-explicitly. The implicit way:
-
-\begin{lyxcode}
-<biotool>~-{}-no\_stream~>~<file>
-\end{lyxcode}
-If you use '>' to redirect 'stdout' to file then it is important to
-use the -\/-no\_stream switch to avoid writing a mix of biotools
-records and result to the same file causing havock. The safe way is
-to use the -\/-result\_out switch which explicetly tells the biotool
-to write the result to a given file:
-
-\begin{lyxcode}
-<biotool>~-{}-result\_out=<file>
-\end{lyxcode}
-Using the above method will not terminate the stream, so it is possible
-to pipe that into another biotool generating different results:
-
-\begin{lyxcode}
-<biotool1>~-{}-result\_out=<file1>~|~<biotool2>~-{}-result\_out=<file2>
-\end{lyxcode}
-And still the data stream will continue unless terminated with -\/-no\_stream:
-
-\begin{lyxcode}
-<biotool>~-{}-result\_out=<file>~-{}-no\_stream
-\end{lyxcode}
-Or written to file using implicitly or explicity \eqref{sub:How-to-write-result}.
-The explicit way:
-
-\begin{lyxcode}
-<biotool>~-{}-result\_out=<file1>~-{}-stream\_out=<file2>
-\end{lyxcode}
-
-\subsection{How to read data from multiple sources?}
-
-To read multiple data sources, with the same type or different type
-of data do:
-
-\begin{lyxcode}
-<biotool1>~-{}-data\_in=<file1>~|~<biotool2>~-{}-data\_in=<file2>
-\end{lyxcode}
-where type is the data type a specific biotool reads.
-
-
-\section{Reading input}
-
-
-\subsection{How to read biotools input?}
-
-See \eqref{sub:How-to-read-stream}.
-
-
-\subsection{How to read in data?}
-
-Data in different formats can be read with the appropriate biotool
-for that format. The biotools are typicalled named 'read\_<data type>'
-such as \textbf{read\_fasta}, \textbf{read\_bed}, \textbf{read\_tab},
-etc., and all behave in a similar manner. Data can be read by supplying
-the -\/-data\_in switch and a file name to the file containing the
-data:
-
-\begin{lyxcode}
-<biotool>~-{}-data\_in=<file>
-\end{lyxcode}
-It is also possible to read in a saved biotools stream (see \ref{sub:How-to-read-stream})
-as well as reading data in one go:
-
-\begin{lyxcode}
-<biotool>~-{}-stream\_in=<file1>~-{}-data\_in=<file2>
-\end{lyxcode}
-If you want to read data from several files you can do this:
-
-\begin{lyxcode}
-<biotool>~-{}-data\_in=<file1>~|~<biotool>~-{}-data\_in=<file2>
-\end{lyxcode}
-If you have several data files you can read in all explicitly with
-a comma separated list:
-
-\begin{lyxcode}
-<biotool>~-{}-data\_in=file1,file2,file3
-\end{lyxcode}
-And it is also possible to use file globbing:
-
-\begin{lyxcode}
-<biotool>~-{}-data\_in={*}.fna
-\end{lyxcode}
-Or in a combination:
-
-\begin{lyxcode}
-<biotool>~-{}-data\_in=file1,/dir/{*}.fna
-\end{lyxcode}
-Finally, it is possible to read in data in different formats using
-the appropriate biotool for each format:
-
-\begin{lyxcode}
-<biotool1>~-{}-data\_in=<file1>~|~<biotool2>~-{}-data\_in=<file2>~...
-\end{lyxcode}
-
-\subsection{How to read FASTA input?}
-
-Sequences in FASTA format can be read explicitly using \textbf{read\_fasta}:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>
-\end{lyxcode}
-
-\subsection{How to read alignment input?}
-
-If your alignment if FASTA formatted then you can \textbf{read\_align}.
-It is also possible to use \textbf{read\_fasta} since the data is
-FASTA formatted, however, with \textbf{read\_fasta} the key ALIGN
-will be omitted. The ALIGN key is used to determine which sequences
-belong to what alignment which is required for \textbf{write\_align}.
-
-\begin{lyxcode}
-read\_align~-{}-data\_in=<file>
-\end{lyxcode}
-
-\subsection{How to read tabular input?\label{sub:How-to-read-table}}
-
-Tabular input can be read with \textbf{read\_tab} which will read
-in all rows and chosen columns (separated by a given delimter) from
-a table in text format.
-
-The table below:
-
-\noindent \begin{center}
-\begin{tabular}{lll}
-Human & ATACGTCAG & 23524\tabularnewline
-Dog & AGCATGAC & 2442\tabularnewline
-Mouse & GACTG & 234\tabularnewline
-Cat & AAATGCA & 2342\tabularnewline
-\end{tabular}
-\par\end{center}
-
-Can be read using the command:
-
-\begin{lyxcode}
-read\_tab~-{}-data\_in=<file>
-\end{lyxcode}
-Which will result in four records, one for each row, where the keys
-V0, V1, V2 are the default keys for the organism, sequence, and count,
-respectively. It is possible to select a subset of colums to read
-by using the -\/-cols switch which takes a comma separated list of
-columns numbers (first column is designated 0) as argument. So to
-read in only the sequence and the count so that the count comes before
-the sequence do:
-
-\begin{lyxcode}
-read\_tab~-{}-data\_in=<file>~-{}-cols=2,1
-\end{lyxcode}
-It is also possible to name the columns with the -\/-keys switch:
-
-\begin{lyxcode}
-read\_tab~-{}-data\_in=<file>~-{}-cols=2,1~-{}-keys=COUNT,SEQ
-\end{lyxcode}
-
-\subsection{How to read BED input?}
-
-The BED (Browser Extensible Data%
-\footnote{\url{http://genome.ucsc.edu/FAQ/FAQformat}%
-}) format is a tabular format for data pertaining to one of the Eukaryotic
-genomes in the UCSC genome brower%
-\footnote{\url{http://genome.ucsc.edu/}%
-}. The BED format consists of up to 12 columns, where the first three
-are mandatory CHR, CHR\_BEG, and CHR\_END. The mandatory columns and
-any of the optional columns can all be read in easily with the \textbf{read\_bed}
-biotool.
-
-\begin{lyxcode}
-read\_bed~-{}-data\_in=<file>
-\end{lyxcode}
-It is also possible to read the BED file with \textbf{read\_tab} (see~\ref{sub:How-to-read-table}),
-however, that will be more cumbersome because you need to specify
-the keys:
-
-\begin{lyxcode}
-read\_tab~-{}-data\_in=<file>~-{}-keys=CHR,CHR\_BEG,CHR\_END~...
-\end{lyxcode}
-
-\subsection{How to read PSL input?}
-
-The PSL format is the output from BLAT and contains 21 mandatory fields
-that can be read with \textbf{read\_psl}:
-
-\begin{lyxcode}
-read\_psl~-{}-data\_in=<file>
-\end{lyxcode}
-
-\section{Writing output}
-
-All result output can be written explicitly to file using the -\/-result\_out
-switch which all result generating biotools have. It is also possible
-to write the result to file implicetly by directing 'stdout' to file
-using '>', however, that requires the -\/-no\_stream swich to prevent
-a mixture of data stream and results in the file. The explicit (and
-safe) way:
-
-\begin{lyxcode}
-...~|~<biotool>~-{}-result\_out=<file>
-\end{lyxcode}
-The implicit way:
-
-\begin{lyxcode}
-...~|~<biotool>~-{}-no\_stream~>~<file>
-\end{lyxcode}
-
-\subsection{How to write biotools output?}
-
-See \eqref{sub:How-to-write-stream}.
-
-
-\subsection{How to write FASTA output?\label{sub:How-to-write-fasta}}
-
-FASTA output can be written with \textbf{write\_fasta}.
-
-\begin{lyxcode}
-...~|~write\_fasta~-{}-result\_out=<file>
-\end{lyxcode}
-It is also possible to wrap the sequences to a given width using the
--\/-wrap switch allthough wrapping of sequence is generally an evil
-thing:
-
-\begin{lyxcode}
-...~|~write\_fasta~-{}-no\_stream~-{}-wrap=80
-\end{lyxcode}
-
-\subsection{How to write alignment output?\label{sub:How-to-write-alignment}}
-
-Pretty alignments with ruler%
-\footnote{'.' for every 10 residues, ':' for every 50, and '|' for every 100%
-} and consensus sequence can be created with \textbf{write\_align},
-what also have the optional -\/-wrap switch to break the alignment
-into blocks of a given width: 
-
-\begin{lyxcode}
-...~|~write\_align~-{}-result\_out=<file>~-{}-wrap=80
-\end{lyxcode}
-If the number of sequnces in the alignment is 2 then a pairwise alignment
-will be output otherwise a multiple alignment. And if the sequence
-type, determined automagically, is protein, then residues and symbols
-(+,~:,~.) will be used to show consensus according to the Blosum62
-matrix.
-
-
-\subsection{How to write tabular output?\label{sub:How-to-write-tab}}
-
-Outputting the data stream as a table can be done with \textbf{write\_tab},
-which will write generate one row per record with the values as columns.
-If you supply the optional -\/-comment switch, when the first row
-in the table will be a 'comment' line prefixed with a '\#':
-
-\begin{lyxcode}
-...~|~write\_tab~-{}-result\_out=<file>~-{}-comment
-\end{lyxcode}
-You can also change the delimiter from the default (tab) to \emph{e.g.}
-',':
-
-\begin{lyxcode}
-...~|~write\_tab~-{}-result\_out=<file>~-{}-delimit=','
-\end{lyxcode}
-If you want the values output in a specific order you have to supply
-a comma separated list using the -\/-keys switch that will print
-only those keys in that order:
-
-\begin{lyxcode}
-...~|~write\_tab~-{}-result\_out=<file>~-{}-keys=SEQ\_NAME,COUNT
-\end{lyxcode}
-Alternatively, if you have some keys that you don't want in the tabular
-output, use the -\/-no\_keys switch. So to print all keys except
-SEQ and SEQ\_TYPE do:
-
-\begin{lyxcode}
-...~|~write\_tab~-{}-result\_out=<file>~-{}-no\_keys=SEQ,SEQ\_TYPE
-\end{lyxcode}
-Finally, if you have a stream containing a mix of different records
-types, \emph{e.g.} records with sequences and records with matches,
-then you can use \textbf{write\_tab} to output all the records in
-tabluar format, however, the -\/-comment, -\/-keys, and -\/-no\_keys
-switches will only respond to records of the first type encountered.
-The reason is that outputting mixed records is probably not what you
-want anyway, and you should remove all the unwanted records from the
-stream before outputting the table: \textbf{grab} is your friend (see~\ref{sub:How-to-grab}).
-
-
-\subsection{How to write a BED output?\label{sub:How-to-write-BED}}
-
-Data in BED format can be output if the records contain the mandatory
-keys CHR, CHR\_BEG, and CHR\_END using \textbf{write\_bed}. If the
-optional keys are also present, they will be output as well:
-
-\begin{lyxcode}
-write\_bed~-{}-result\_out=<file>
-\end{lyxcode}
-
-\subsection{How to write PSL output?\label{sub:How-to-write-PSL}}
-
-Data in PSL format can be output using \textbf{write\_psl:}
-
-\begin{lyxcode}
-write\_psl~-{}-result\_out=<file>
-\end{lyxcode}
-
-\section{Manipulating Records}
-
-
-\subsection{How to select a few records?\label{sub:How-to-select-a-few-records}}
-
-To quickly get an overview of your data you can limit the data stream
-to show a few records. This also very useful to test the pipeline
-with a few records if you are setting up a complex analysis using
-several biotools. That way you can inspect that all goes well before
-analyzing and waiting for the full data set. All of the read\_<type>
-biotools have the -\/-num switch which will take a number as argument
-and only that number of records will be read. So to read in the first
-10 FASTA entries from a file:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=test.fna~-{}-num=10
-\end{lyxcode}
-Another way of doing this is to use \textbf{head\_records} will limit
-the stream to show the first 10 records (default):
-
-\begin{lyxcode}
-...~|~head\_records
-\end{lyxcode}
-Using \textbf{head\_records} directly after one of the read\_<type>
-biotools will be a lot slower than using the -\/-num switch with
-the read\_<type> biotools, however, \textbf{head\_records} can also
-be used to limit the output from all the other biotools. It is also
-possible to give \textbf{head\_records} a number of records to show
-using the -\/-num switch. So to display the first 100 records do:
-
-\begin{lyxcode}
-...~|~head\_records~-{}-num=100
-\end{lyxcode}
-
-\subsection{How to count all records in the data stream?}
-
-To count all the records in the data stream use \textbf{count\_records},
-which adds one record (which is not included in the count) to the
-data stream. So to count the number of sequences in a FASTA file you
-can do this:
-
-\begin{lyxcode}
-cat~test.fna~|~read\_fasta~|~count\_records~-{}-no\_stream
-\end{lyxcode}
-Which will write the last record containing the count to 'stdout':
-
-\begin{lyxcode}
--{}-{}-
-
-count\_records:~630
-\end{lyxcode}
-It is also possible to write the count to file using the -\/-result\_out
-switch.
-
-
-\subsection{How to grab specific records?\label{sub:How-to-grab}}
-
-The biotool \textbf{grab} is related to the Unix grep and locates
-records based on matching keys and/or values using either a pattern,
-a Perl regex, or a numerical evaluation. To easily \textbf{grab} all
-records in the stream that has any mentioning of the pattern 'human'
-just pipe the data stream through \textbf{grab} like this:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern=human
-\end{lyxcode}
-This will search for the pattern 'human' in all keys and all values.
-The -\/-pattern switch takes a comma separated list of patterns,
-so in order to match multiple patterns do:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern=human,mouse
-\end{lyxcode}
-It is also possible to use the -\/-pattern\_in switch instead of
--\/-pattern. -\/-pattern\_in is used to read a file with one pattern
-per line:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern\_in=patterns.txt
-\end{lyxcode}
-If you want the opposite result --- to find all records that does
-not match the patterns, add the -\/-invert switch, which not only
-works with the -\/-pattern switch, but also with -\/-regex and -\/-eval:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern=human~-{}-invert
-\end{lyxcode}
-If you want to search the record keys only, \emph{e.g.} to find all
-records containing the key SEQ you can add the -\/-keys\_only switch.
-This will prevent matching of SEQ in any record value, and in fact
-SEQ is a not uncommon peptide sequence you could get an unwanted record.
-Also, this will give an increase in speed since only the keys are
-searched:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern=SEQ~-{}-keys\_only
-\end{lyxcode}
-However, if you are interested in finding the peptide sequence SEQ
-and not the SEQ key, just add the -\/-vals\_only switch instead:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern=SEQ~-{}-vals\_only
-\end{lyxcode}
-Also, if you want to grab for certain key/value pairs you can supply
-a comma separated list of keys whos values will then be searched using
-the -\/-keys switch. This is handy if your records contain large
-genomic sequences and you dont want to search the entire sequence
-for \emph{e.g.} the organism name --- it is much faster to tell \textbf{grab}
-which keys to search the value for:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern=human~-{}-keys=SEQ\_NAME
-
-
-\end{lyxcode}
-It is also possible to invoke flexible matching using regex (regular
-expressions) instead of simple pattern matching. In \textbf{grab}
-the regex engine is Perl based and allows use of different type of
-wild cards, alternatives, \emph{etc}%
-\footnote{\url{http://perldoc.perl.org/perlreref.html}%
-}. If you want to \textbf{grab} records withs the sequence ATCG or
-GCTA you can do this:
-
-\begin{lyxcode}
-...~|~grab~-{}-regex='ATCG|GCTA'
-\end{lyxcode}
-Or if you want to find sequences beginning with ATCG:
-
-\begin{lyxcode}
-...~|~grab~-{}-regex='\textasciicircum{}ATCG'
-\end{lyxcode}
-You can also use \textbf{grab} to locate records that fulfill a numerical
-property using the -\/-eval switch witch takes an expression in three
-parts. The first part is the key that holds the number we want to
-evaluate, the second part holds one the six operators:
-
-\begin{enumerate}
-\item Greater than: >
-\item Greater than or equal to: >=
-\item Less than: <
-\item Less than or equal to: <=
-\item Equal to: =
-\item Not equal to: !=
-\end{enumerate}
-And finally comes the number used in the evaluation. So to \textbf{grab}
-all records with a sequence length greater than 30:
-
-\begin{lyxcode}
-...~length\_seq~|~grab~-{}-eval='SEQ\_LEN~>~30'
-\end{lyxcode}
-If you want to locate all records containing the pattern 'human' and
-where the sequence length is greater that 30, you do this by running
-the stream through \textbf{grab} twice:
-
-\begin{lyxcode}
-...~|~grab~-{}-pattern='human'~|~length\_seq~|~grab~-{}-eval='SEQ\_LEN~>~30'
-\end{lyxcode}
-To get the best speed performance, use the most restrictive \textbf{grab}
-first.
-
-
-\subsection{How to remove keys from records?}
-
-To remove one or more specific keys from all records in the data stream
-use \textbf{remove\_keys} like this:
-
-\begin{lyxcode}
-...~|~remove\_keys~-{}-keys=SEQ,SEQ\_NAME
-\end{lyxcode}
-In the above example SEQ and SEQ\_NAME will be removed from all records
-if they exists in these. If all keys are removed from a record, then
-the record will be removed.
-
-
-\subsection{How to rename keys in records?}
-
-Sometimes you want to rename a record key, \emph{e.g.} if you have
-read in a two column table with sequence name and sequence in each
-column (see \ref{sub:How-to-read-table}) without specifying the key
-names, then the sequence name will be called V0 and the sequence V1
-as default in the \textbf{read\_tab} biotool. To rename the V0 and
-V1 keys we need to run the stream through \textbf{rename\_keys} twice
-(one for each key to rename):
-
-\begin{lyxcode}
-...~|~rename\_keys~-{}-keys=V0,SEQ\_NAME~|~rename\_keys~-{}-keys=V1,SEQ
-\end{lyxcode}
-The first instance of \textbf{rename\_keys} replaces all the V0 keys
-with SEQ\_NAME, and the second instance of \textbf{rename\_keys} replaces
-all the V1 keys with SEQ. \emph{Et viola} the data can now be used
-in the biotools that requires these keys.
-
-
-\section{Manipulating Sequences}
-
-
-\subsection{How to get sequence lengths?}
-
-The length for sequences in records can be determined with \textbf{length\_seq},
-which adds the key SEQ\_LEN to each record with the sequence length
-as the value. It also generates an extra record that is emitted last
-with the key TOTAL\_SEQ\_LEN showing the total length of all the sequences.
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>~|~length\_seq
-\end{lyxcode}
-It is also possible to determine the sequence length using the generic
-tool \textbf{length\_vals} (see \#\#\#), which determines the length
-of the values for a given list of keys:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>~|~length\_vals~-{}-keys=SEQ
-\end{lyxcode}
-To obtain the total length of all sequences use \textbf{sum\_vals}
-like this:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>~|~length\_vals~-{}-keys=SEQ
-
-|~sum\_vals~-{}-keys=SEQ\_LEN
-\end{lyxcode}
-The biotool \textbf{analyze\_seq} will also determine the length of
-each sequence (see~\ref{sub:How-to-analyze}).
-
-
-\subsection{How to analyze sequence composition?\label{sub:How-to-analyze}}
-
-If you want to find out the sequence type, composition, length, as
-well as GC content, indel content and proportions of soft and hard
-masked sequence, then use \textbf{analyze\_seq}. This handy biotool
-will determine all these things per sequence from which it is easy
-to get an overview using the \textbf{write\_tab} biotool to output
-a table (see~\ref{sub:How-to-write-tab}). So in order to determine
-the sequence composition of a FASTA file with just one entry containing
-the sequence 'ATCG' we just read the data with \textbf{read\_fasta}
-and run the output through \textbf{analyze\_seq} which will add the
-analysis to the record like this:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=test.fna~|~analyze\_seq~...
-
-
-
--{}-{}-
-
-GC\%:~50.00
-
-HARD\_MASK\%:~0.00
-
-RES:-:~0
-
-RES:.:~0
-
-RES:A:~1
-
-RES:B:~0
-
-RES:C:~1
-
-RES:D:~0
-
-RES:G:~1
-
-RES:H:~0
-
-RES:K:~0
-
-RES:M:~0
-
-RES:N:~0
-
-RES:R:~0
-
-RES:S:~0
-
-RES:T:~1
-
-RES:U:~0
-
-RES:V:~0
-
-RES:W:~0
-
-RES:Y:~0
-
-RES:\textasciitilde{}:~0
-
-SEQ:~ATCG
-
-SEQ\_LEN:~4
-
-SEQ\_NAME:~test
-
-SEQ\_TYPE:~DNA
-
-SOFT\_MASK\%:~0.00
-\end{lyxcode}
-Now to make a table of how may As, Ts, Cs, and Gs you can add the
-following:
-
-\begin{lyxcode}
-...~|~analyze\_seq~|~write\_tab~-{}-keys=RES:A,RES:T,RES:C,RES:G
-\end{lyxcode}
-Or if you want to see the proportions of hard and soft masked sequence:
-
-\begin{lyxcode}
-...~|~analyse\_seq~|~write\_tab~-{}-keys=HARD\_MASK\%,SOFT\_MASK\%
-\end{lyxcode}
-If you have a stack of sequences in one file and you want to determine
-the mean GC content you can do it using the \textbf{mean\_vals} biotool:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=test.fna~|~analyze\_seq~|~mean\_vals~-{}-keys=GC\%
-\end{lyxcode}
-Or if you want the total count of Ns you can use \textbf{sum\_vals}
-like this:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=test.fna~|~analyze\_seq~|~sum\_vals~-{}-keys=RES:N
-\end{lyxcode}
-
-\subsection{How to extract subsequences?\label{sub:How-to-extract}}
-
-In order to extract a subsequence from a longer sequence use the biotool
-extract\_seq, which will replace the sequence in the record with the
-subsequence (this behaviour should probably be modified to be dependant
-of a -\/-replace or a -\/-no\_replace switch). So to extract the
-first 20 residues from all sequences do (first residue is designated
-1): 
-
-\begin{lyxcode}
-...~|~extract\_seq~-{}-beg=1~-{}-len=20
-\end{lyxcode}
-You can also specify a begin and end coordinate set:
-
-\begin{lyxcode}
-...~|~extract\_seq~-{}-beg=20~-{}-end=40
-\end{lyxcode}
-If you want the subsequences from position 20 to the sequence end
-do:
-
-\begin{lyxcode}
-...~|~extract\_seq~-{}-beg=20
-\end{lyxcode}
-If you want to extract subsequences a given distance from the sequence
-end you can do this by reversing the sequence with the biotool \textbf{reverse\_seq}
-\eqref{sub:How-to-reverse-seq}, followed by \textbf{extract\_seq}
-to get the subsequence, and then \textbf{reverse\_seq} again to get
-the subsequence back in the original orientation:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=test.fna~|~reverse\_seq
-
-|~extract\_seq~-{}-beg=10~-{}-len=10~|~reverse\_seq
-\end{lyxcode}
-
-\subsection{How to get genomic sequence?\label{sub:How-to-get-genomic-sequence}}
-
-The biotool \textbf{get\_genomic\_seq} can extract subsequences for
-a given genome specified with the -\/-genome switch explicitly using
-the -\/-beg and -\/-end/-\/-len switches:
-
-\begin{lyxcode}
-get\_genome\_seq~-{}-genome=<genome>~-{}-beg=1~-{}-len=100
-\end{lyxcode}
-Alternatively, \textbf{get\_genome\_seq} can be used to append the
-corresponding sequence to BED, PSL, and BLAST records:
-
-\begin{lyxcode}
-read\_bed~-{}-data\_in=<BED~file>~|~get\_genome\_seq~-{}-genome=<genome>
-\end{lyxcode}
-
-\subsection{How to upper-case sequences?}
-
-Sequences can be shifted from lower case to upper case using \textbf{uppercase\_seq}:
-
-\begin{lyxcode}
-...~|~uppercase\_seq
-\end{lyxcode}
-
-\subsection{How to reverse sequences?\label{sub:How-to-reverse-seq}}
-
-The order of residues in a sequence can be reversed using reverse\_seq:
-
-\begin{lyxcode}
-...~|~reverse\_seq
-\end{lyxcode}
-Note that in order to reverse/complement a sequence you also need
-the \textbf{complement\_seq} biotool (see~\ref{sub:How-to-complement}).
-
-
-\subsection{How to complement sequences?\label{sub:How-to-complement}}
-
-DNA and RNA sequences can be complemented with \textbf{complement\_seq},
-which automagically determines the sequence type:
-
-\begin{lyxcode}
-...~|~complement\_seq
-\end{lyxcode}
-Note that in order to reverse/complement a sequence you also need
-the \textbf{reverse\_seq} biotool (see~\ref{sub:How-to-reverse-seq}).
-
-
-\subsection{How to remove indels from sequnces?}
-
-Indels can be removed from sequences with the \textbf{remove\_indels}
-biotool. This is useful if you have aligned some sequences (see~\ref{sub:How-to-align})
-and extracted (see~\ref{sub:How-to-extract}) a block of subsequences
-from the alignment and you want to use these sequence in a search
-where you need to remove the indels first. '-', '\textasciitilde{}',
-and '.' are considered indels:
-
-\begin{lyxcode}
-...~|~remove\_indels
-\end{lyxcode}
-
-\subsection{How to split sequences into overlapping subsequences?}
-
-Sequences can be slit into overlapping subsequences with the \textbf{split\_seq}
-biotool.
-
-\begin{lyxcode}
-...~|~split\_seq~-{}-word\_size=20~-{}-uniq
-\end{lyxcode}
-
-\subsection{How to determine the oligo frequency?}
-
-In order to determine if any oligo usage is over represented in one
-or more sequences you can determine the frequency of oligos of a given
-size with \textbf{oligo\_freq}:
-
-\begin{lyxcode}
-...~|~oligo\_freq~-{}-word\_size=4
-\end{lyxcode}
-And if you have more than one sequence and want to accumulate the
-frequences you need the -\/-all switch:
-
-\begin{lyxcode}
-...~|~oligo\_freq~-{}-word\_size=4~-{}-all
-\end{lyxcode}
-To get a meaningful result you need to write the resulting frequencies
-as a table with \textbf{write\_tab} (see~\ref{sub:How-to-write-tab}),
-but first it is important to \textbf{grab} (see~\ref{sub:How-to-grab})
-the records with the frequencies to avoid full length sequences in
-the table:
-
-\begin{lyxcode}
-...~|~oligo\_freq~-{}-word\_size=4~-{}-all~|~grab~-{}-pattern=OLIGO~-{}-keys\_only
-
-|~write\_tab~-{}-no\_stream
-\end{lyxcode}
-And the resulting frequency table can be sorted with Unix sort (man
-sort).
-
-
-\subsection{How to search for sequences in genomes?}
-
-See the following biotool:
-
-\begin{itemize}
-\item \textbf{patscan\_seq} \eqref{sub:How-to-use-patscan}
-\item \textbf{blat\_seq} \eqref{sub:How-to-use-BLAT}
-\item \textbf{blast\_seq} \eqref{sub:How-to-use-BLAST}
-\item \textbf{vmatch\_seq} \eqref{sub:How-to-use-Vmatch}
-\end{itemize}
-
-\subsection{How to search sequences for a pattern?\label{sub:How-to-use-patscan}}
-
-It is possible to search sequences in the data stream for patterns
-using the \textbf{patscan\_seq} biotool which utilizes the powerful
-scan\_for\_matches engine. Consult the documentation for scan\_for\_matches
-in order to learn how to define patterns (the documentation is included
-in Appendix~\ref{sec:scan_for_matches-README}).
-
-To search all sequences for a simple pattern consisting of the sequence
-ATCGATCG allowing for 3 mismatches, 2 insertions and 1 deletion:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>~|~patscan\_seq~-{}-pattern='ATCGATCG{[}3,2,1]'
-\end{lyxcode}
-The -\/-pattern switch takes a comma seperated list of patterns,
-so if you want to search for more that one pattern do:
-
-\begin{lyxcode}
-...~|~patscan\_seq~-{}-pattern='ATCGATCG{[}3,2,1],GCTAGCTA{[}3,2,1]'
-\end{lyxcode}
-It is also possible to have a list of different patterns to search
-for in a file with one pattern per line. In order to get \textbf{patscan\_seq}
-to read these patterns use the -\/-pattern\_in switch:
-
-\begin{lyxcode}
-...~|~patscan\_seq~-{}-pattern\_in=<file>
-\end{lyxcode}
-To also scan the complementary strand in nucleotide sequences (\textbf{patscan\_seq}
-automagically determines the sequence type) you need to add the -\/-comp
-switch:
-
-\begin{lyxcode}
-...~|~patscan\_seq~-{}-pattern=<pattern>~-{}-comp
-\end{lyxcode}
-It is also possible to use \textbf{patscan\_seq} to output those records
-that does not contain a certain pattern by using the -\/-invert switch:
-
-\begin{lyxcode}
-...~|~patscan\_seq~-{}-pattern=<pattern>~-{}-invert
-\end{lyxcode}
-Finally, \textbf{patscan\_seq} can also scan for patterns in a given
-genome sequence, instead of sequences in the stream, using the -\/-genome
-switch:
-
-\begin{lyxcode}
-patscan~-{}-pattern=<pattern>~-{}-genome=<genome>
-\end{lyxcode}
-
-\subsection{How to use BLAT for sequence search?\label{sub:How-to-use-BLAT}}
-
-Sequences in the data stream can be matched against supported genomes
-using \textbf{blat\_seq} which is a biotool using BLAT as the name
-might suggest. Currently only Mouse and Human genomes are available
-and it is not possible to use OOC files since there is still a need
-for a local repository for genome files. Otherwise it is just:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>~|~blat\_seq~-{}-genome=<genome>
-\end{lyxcode}
-The search results can then be written to file with \textbf{write\_psl}
-(see~\ref{sub:How-to-write-PSL}) or \textbf{write\_bed} (see~\ref{sub:How-to-write-BED})
-allthough with \textbf{write\_bed} some information will be lost).
-It is also possible to plot chromosome distribution of the search
-results using \textbf{plot\_chrdist} (see~\ref{sub:How-to-plot-chrdist})
-or the distribution of the match lengths using \textbf{plot\_lendist}
-(see~\ref{sub:How-to-plot-lendist}) or a karyogram with the hits
-using \textbf{plot\_karyogram} (see~\ref{sub:How-to-plot-karyogram}).
-
-
-\subsection{How to use BLAST for sequence search?\label{sub:How-to-use-BLAST}}
-
-Two biotools exist for blasting sequences: \textbf{create\_blast\_db}
-is used to create the BLAST database required for BLAST which is queried
-using the biotool \textbf{blast\_seq}. So in order to create a BLAST
-database from sequences in the data stream you simple run:
-
-\begin{lyxcode}
-...~|~create\_blast\_db~-{}-database=my\_database~-{}-no\_stream
-\end{lyxcode}
-The type of sequence to use for the database is automagically determined
-by \textbf{create\_blast\_db}, but don't have a mixture of peptide
-and nucleic acids sequences in the stream. The -\/-database switch
-takes a path as argument, but will default to 'blastdb\_<time\_stamp>
-if not set.
-
-The resulting database can now be queried with sequences in another
-data stream using \textbf{blast\_seq}:
-
-\begin{lyxcode}
-...~|~blast\_seq~-{}-database=my\_database
-\end{lyxcode}
-Again, the sequence type is determined automagically and the appropriate
-BLAST program is guessed (see below table), however, the program name
-can be overruled with the -\/-program switch.
-
-\noindent \begin{center}
-\begin{tabular}{ccc}
-Subject sequence & Query sequence & Program guess\tabularnewline
-\hline
-Nucleotide & Nucleotide & blastn\tabularnewline
-Protein & Protein & blastp\tabularnewline
-Protein & Nucleotide & blastx\tabularnewline
-Nucleotide & Protein & tblastn\tabularnewline
-\end{tabular}
-\par\end{center}
-
-Finally, it is also possible to use \textbf{blast\_seq} for blasting
-sequences agains a preformatted genome using the -\/-genome switch
-instead of the -\/-database switch:
-
-\begin{lyxcode}
-...~|~blast\_seq~-{}-genome=<genome>
-\end{lyxcode}
-
-\subsection{How to use Vmatch for sequence search?\label{sub:How-to-use-Vmatch}}
-
-The powerful suffix array software package Vmatch%
-\footnote{\url{http://www.vmatch.de/}%
-} can be used for exact mapping of sequences against indexed genomes
-using the biotool \textbf{vmatch\_seq}, which will e.g. map 700000
-ESTs to the human genome locating all 160 mio hits in less than an
-hour.
-
-\begin{lyxcode}
-...~|~vmatch\_seq~-{}-genome=<genome>
-\end{lyxcode}
-Only nucleotide sequences and sequences longer than 11 nucleotides
-will be mapped. The resulting SCORE key will hold the number of genome
-matches of a given sequence (multi-mappers).
-
-
-\subsection{How to find all matches between sequences?\label{sub:How-to-find-matches}}
-
-All matches between two sequences can be determined with the biotool
-\textbf{match\_seq}. The match finding engine underneath the hood
-of \textbf{match\_seq} is the super fast suffix tree program MUMmer%
-\footnote{\url{http://mummer.sourceforge.net/}%
-}, which will locate all forward and reverse matches between huge sequences
-in a matter of minutes (if the repeat count is not too high and if
-the word size used is appropriate). Matching two \emph{Helicobacter
-pylori} genomes (1.7Mbp) takes around 10 seconds:
-
-\begin{lyxcode}
-...~|~match\_seq~-{}-word\_size=20~-{}-direction=both
-\end{lyxcode}
-The output from \textbf{match\_seq} can be used to generate a dot
-plot with \textbf{plot\_matches} (see~\ref{sub:How-to-generate-dotplot}).
-
-
-\subsection{How to align sequences?\label{sub:How-to-align}}
-
-Sequences in the stream can be aligned with the \textbf{align\_seq}
-biotool that uses Muscle%
-\footnote{\url{http://www.drive5.com/muscle/muscle.html}%
-} as aligment engine. Currently you cannot change any of the Muscle
-alignment parameters and \textbf{align\_seq} will create an alignment
-based on the defaults (which are really good!):
-
-\begin{lyxcode}
-...~|~align\_seq
-\end{lyxcode}
-The aligned output can be written to file in FASTA format using \textbf{write\_fasta}
-(see~\ref{sub:How-to-write-fasta}) or in pretty text using \textbf{write\_align}
-(see~\ref{sub:How-to-write-alignment}).
-
-
-\subsection{How to create a weight matrix?}
-
-If you want a weight matrix to show the sequence composition of a
-stack of sequences you can use the biotool create\_weight\_matrix:
-
-\begin{lyxcode}
-...~|~create\_weight\_matrix
-\end{lyxcode}
-The result can be output in percent using the -\/-percent switch:
-
-\begin{lyxcode}
-...~|~create\_weight\_matrix~-{}-percent
-\end{lyxcode}
-The weight matrix can be written as tabular output with \textbf{write\_tab}
-(see~\ref{sub:How-to-write-tab}) after removeing the records containing
-SEQ with \textbf{grab} (see~\ref{sub:How-to-grab}):
-
-\begin{lyxcode}
-...~|~create\_weight\_matrix~|~grab~-{}-invert~-{}-keys=SEQ~-{}-keys\_only
-
-|~write\_tab~-{}-no\_stream
-\end{lyxcode}
-The V0 column will hold the residue, while the rest of the columns
-will hold the frequencies for each sequence position.
-
-
-\section{Plotting}
-
-There exists several biotools for plotting. Some of these are based
-on GNUplot%
-\footnote{\url{http://www.gnuplot.info/}%
-}, which is an extremely powerful platform to generate all sorts of
-plots and even though GNUplot has quite a steep learning curve, the
-biotools utilizing GNUplot are simple to use. GNUplot is able to output
-a lot of different formats (called terminals in GNUplot), but the
-biotools focusses on three formats only:
-
-\begin{enumerate}
-\item The 'dumb' terminal is default to the GNUplot based biotools and will
-output a plot in crude ASCII text (Fig.~\ref{fig:Dumb-terminal}).
-This is quite nice for a quick and dirty plot to get an overview of
-your data .
-\item The 'post' or 'postscript' terminal output postscript code which is
-publication grade graphics that can be viewed with applications such
-as Ghostview, Photoshop, and Preview.
-\item The 'svg' terminal output's scalable vector graphics (SVG) which is
-a vector based format. SVG is great because you can edit the resulting
-plot using Photoshop or Inkscape%
-\footnote{Inkscape is a really handy drawing program that is free and open source.
-Availble at \url{http://www.inkscape.org}%
-} if you want to add additional labels, captions, arrows, and so on
-and then save the result in different formats, such as postscript
-without loosing resolution.
-\end{enumerate}
-The biotools for plotting that are not based on GNUplot only output
-SVG (that may change in the future).
-
-%
-\begin{figure}
-\noindent \begin{centering}
-\includegraphics[width=12cm]{lendist_ascii}
-\par\end{centering}
-
-\caption{\label{fig:Dumb-terminal}Dumb terminal}
-
-
-\begin{quote}
-The output of a length distribution plot in the default 'dumb terminal'
-to the terminal window. 
-\end{quote}
-
-\end{figure}
-
-
-
-\subsection{How to plot a histogram?\label{How-to-plot-histogram}}
-
-A generic histogram for a given value can be plotted with the biotool
-\textbf{plot\_histogram} (Fig.~\ref{fig:Histogram}):
-
-\begin{lyxcode}
-...~|~plot\_histogram~-{}-key=TISSUE~-{}-no\_stream
-\end{lyxcode}
-(Figure missing)
-
-\noindent \begin{flushleft}
-%
-\begin{figure}
-\noindent \begin{centering}
-\includegraphics[width=12cm]{histogram}
-\par\end{centering}
-
-\caption{\label{fig:Histogram}Histogram}
-
-\end{figure}
-
-\par\end{flushleft}
-
-
-\subsection{How to plot a length distribution?\label{sub:How-to-plot-lendist}}
-
-Plotting of length distributions, weather sequence lengths, patterns
-lengths, hit lengths, \emph{etc.} is a really handy thing and can
-be done with the the biotool \textbf{plot\_lendist}. If you have a
-file with FASTA entries and want to plot the length distribution you
-do it like this:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>~|~length\_seq
-
-|~plot\_lendist~-{}-key=SEQ\_LEN~-{}-no\_stream
-\end{lyxcode}
-The result will be written to the default dumb terminal and will look
-like Fig.~\ref{fig:Dumb-terminal}.
-
-If you instead want the result in postscript format you can do:
-
-\begin{lyxcode}
-...~|~plot\_lendist~-{}-key=SEQ\_LEN~-{}-terminal=post~-{}-result\_out=file.ps
-\end{lyxcode}
-That will generate the plot and save it to file, but not interrupt
-the data stream which can then be used in further analysis. You can
-also save the plot implicetly using '>', however, it is then important
-to terminate the stream with the -\/-no\_stream switch:
-
-\begin{lyxcode}
-...~|~plot\_lendist~-{}-key=SEQ\_LEN~-{}-terminal=post~-{}-no\_stream~>~file.ps
-\end{lyxcode}
-The resulting plot can be seen in Fig.~\ref{fig:Length-distribution}.
-
-%
-\begin{figure}
-
-
-\noindent \begin{centering}
-\includegraphics[width=12cm]{lendist}
-\par\end{centering}
-
-\caption{\label{fig:Length-distribution}Length distribution}
-
-
-\begin{quote}
-Length distribution of 630 piRNA like RNAs.
-\end{quote}
-
-\end{figure}
-
-
-
-\subsection{How to plot a chromosome distribution?\label{sub:How-to-plot-chrdist}}
-
-If you have the result of a sequence search against a multi chromosome
-genome, it is very practical to be able to plot the distribution of
-search hits on the different chromosomes. This can be done with \textbf{plot\_chrdist}:
-
-\begin{lyxcode}
-read\_fasta~-{}-data\_in=<file>~|~blat\_genome~|~plot\_chrdist~-{}-no\_stream
-\end{lyxcode}
-The above example will result in a crude plot using the 'dumb' terminal,
-and if you want to mess around with the results from the BLAT search
-you probably want to save the result to file first (see~\ref{sub:How-to-write-PSL}).
-To plot the chromosome distribution from the saved search result you
-can do:
-
-\begin{lyxcode}
-read\_bed~-{}-data\_in=file.bed~|~plot\_chrdist~-{}-terminal=post~-{}-result\_out=plot.ps
-\end{lyxcode}
-That will result in the output show in Fig.~\ref{fig:Chromosome-distribution}.
-
-%
-\begin{figure}
-
-
-\noindent \begin{centering}
-\includegraphics[angle=90,width=12cm]{chrdist}
-\par\end{centering}
-
-\caption{\label{fig:Chromosome-distribution}Chromosome distribution}
-
-\end{figure}
-
-
-
-\subsection{How to generate a dotplot?\label{sub:How-to-generate-dotplot}}
-
-A dotplot is a powerful way to get an overview of the size and location
-of sequence insertions, deletions, and duplications between two sequences.
-Generating a dotplot with biotools is a two step process where you
-initially find all matches between two sequences using the tool \textbf{match\_seq}
-(see~\ref{sub:How-to-find-matches}) and plot the resulting matches
-with \textbf{plot\_matches}. Matching and plotting two \emph{Helicobacter
-pylori} genomes (1.7Mbp) takes around 10 seconds:
-
-\begin{lyxcode}
-...~|~match\_seq~|~plot\_matches~-{}-terminal=post~-{}-result\_out=plot.ps
-\end{lyxcode}
-The resulting dotplot is in Fig.~\ref{fig:Dotplot}.
-
-%
-\begin{figure}
-\noindent \begin{centering}
-\includegraphics[width=12cm]{dotplot}
-\par\end{centering}
-
-\caption{\label{fig:Dotplot}Dotplot}
-
-
-\begin{quote}
-Forward matches are displayed in green while reverse matches are displayed
-in red.
-\end{quote}
-
-\end{figure}
-
-
-
-\subsection{How to plot a sequence logo?}
-
-Sequence logos can be generate with \textbf{plot\_seqlogo}. The sequnce
-type is determined automagically and an entropy scale of 2 bits and
-4 bits is used for nucleotide and peptide sequences, respectively%
-\footnote{\url{http://www.ccrnp.ncifcrf.gov/~toms/paper/hawaii/latex/node5.html}%
-}.
-
-\begin{lyxcode}
-...~|~plot\_seqlogo~-{}-no\_stream~-{}-result\_out=seqlogo.svg
-\end{lyxcode}
-An example of a sequence logo can be seen in Fig.~\ref{fig:Sequence-logo}.
-
-%
-\begin{figure}
-\noindent \begin{centering}
-\includegraphics[width=12cm]{seqlogo}
-\par\end{centering}
-
-\caption{\label{fig:Sequence-logo}Sequence logo}
-
-\end{figure}
-
-
-
-\subsection{How to plot a karyogram?\label{sub:How-to-plot-karyogram}}
-
-To plot search hits on genomes use \textbf{plot\_karyogram}, which
-will output a nice karyogram in SVG graphics:
-
-\begin{lyxcode}
-...~|~plot\_karyogram~-{}-result\_out=karyogram.svg
-\end{lyxcode}
-The banding data is taken from the UCSC genome browser database and
-currently only Human and Mouse is supported. Fig.~\ref{fig:Karyogram}
-shows the distribution of piRNA like RNAs matched to the Human genome.
-
-%
-\begin{figure}
-\noindent \begin{centering}
-\includegraphics[width=12cm]{karyogram}
-\par\end{centering}
-
-\caption{\label{fig:Karyogram}Karyogram}
-
-
-\begin{quote}
-Hits from a search of piRNA like RNAs in the Human genome is displayed
-as short horizontal bars.
-\end{quote}
-
-\end{figure}
-
-
-
-\section{Uploading Results}
-
-
-\subsection{How do I display my results in the UCSC Genome Browser?}
-
-Results from the list of biotools below can be uploaded directly to
-a local mirror of the UCSC Genome Browser using the biotool \textbf{upload\_to\_ucsc}:
-
-\begin{itemize}
-\item patscan\_seq \eqref{sub:How-to-use-patscan}
-\item blat\_seq \eqref{sub:How-to-use-BLAT}
-\item blast\_seq \eqref{sub:How-to-use-BLAST}
-\item vmatch\_seq \eqref{sub:How-to-use-Vmatch}
-\end{itemize}
-The syntax for uploading data the most simple way requires two mandatory
-switches: -\/-database, which is the UCSC database name (such as
-hg18, mm9, etc.) and-\/-table which should be the users initials
-followed by an underscore and a short description of the data:
-
-\begin{lyxcode}
-...~|~upload\_to\_ucsc~-{}-database=hg18~-{}-table=mah\_snoRNAs
-\end{lyxcode}
-The \textbf{upload\_to\_ucsc} biotool modifies the users \textasciitilde{}/ucsc/my\_tracks.ra
-file automagically (a backup is created with the name \textasciitilde{}/ucsc/my\_tracks.ra\textasciitilde{})
-with default values that can be overridden using the following switches:
-
-\begin{itemize}
-\item -\/-short\_label - Short label for track - Default=database->table
-\item -\/-long\_label - Long label for track - Default=database->table
-\item -\/-group - Track group name - Default=<user name as defined in env>
-\item -\/-priority - Track display priority - Default=1
-\item -\/-color - Track color - Default=147,73,42
-\item -\/-chunk\_size - Chunks for loading - Default=10000000
-\item -\/-visibility - Track visibility - Default=pack
-\end{itemize}
-Also, data in BED or PSL format can be uploaded with \textbf{upload\_to\_ucsc}
-as long as these reference to genomes and chromosomes existing in
-the UCSC Genome Browser:
-
-\begin{lyxcode}
-read\_bed~-{}-data\_in=<bed~file>~|~upload\_to\_ucsc~...
-
-
-
-read\_psl~-{}-data\_in=<psl~file>~|~upload\_to\_ucsc~...
-\end{lyxcode}
-
-\section{Trouble shooting}
-
-Shoot the messenger!
-
-\appendix
-
-\section{Keys\label{sec:Keys}}
-
-HIT
-
-HIT\_BEG
-
-HIT\_END
-
-HIT\_LEN
-
-HIT\_NAME
-
-PATTERN
-
-
-\section{Switches\label{sec:Switches}}
-
--\/-stream\_in
-
--\/-stream\_out
-
--\/-no\_stream
-
--\/-data\_in
-
--\/-result\_out
-
--\/-num
-
-
-\section{scan\_for\_matches README\label{sec:scan_for_matches-README}}
-
-\begin{lyxcode}
-~~~~~~~~~~~~~~~~~~~~~~~~~~scan\_for\_matches:
-
-~~~~A~Program~to~Scan~Nucleotide~or~Protein~Sequences~for~Matching~Patterns
-
-~~~~~~~~~~~~~~~~~~~~~~~~Ross~Overbeek
-
-~~~~~~~~~~~~~~~~~~~~~~~~MCS
-
-~~~~~~~~~~~~~~~~~~~~~~~~Argonne~National~Laboratory
-
-~~~~~~~~~~~~~~~~~~~~~~~~Argonne,~IL~60439
-
-~~~~~~~~~~~~~~~~~~~~~~~~USA
-
-Scan\_for\_matches~is~a~utility~that~we~have~written~to~search~for
-
-patterns~in~DNA~and~protein~sequences.~~I~wrote~most~of~the~code,
-
-although~David~Joerg~and~Morgan~Price~wrote~sections~of~an
-
-earlier~version.~~The~whole~notion~of~pattern~matching~has~a~rich
-
-history,~and~we~borrowed~liberally~from~many~sources.~~However,~it~is
-
-worth~noting~that~we~were~strongly~influenced~by~the~elegant~tools
-
-developed~and~distributed~by~David~Searls.~~My~intent~is~to~make~the
-
-existing~tool~available~to~anyone~in~the~research~community~that~might
-
-find~it~useful.~~I~will~continue~to~try~to~fix~bugs~and~make~suggested
-
-enhancements,~at~least~until~I~feel~that~a~superior~tool~exists.
-
-Hence,~I~would~appreciate~it~if~all~bug~reports~and~suggestions~are
-
-directed~to~me~at~Overbeek@mcs.anl.gov.~~
-
-I~will~try~to~log~all~bug~fixes~and~report~them~to~users~that~send~me
-
-their~email~addresses.~~I~do~not~require~that~you~give~me~your~name
-
-and~address.~~However,~if~you~do~give~it~to~me,~I~will~try~to~notify
-
-you~of~serious~problems~as~they~are~discovered.
-
-Getting~Started:
-
-~~~~The~distribution~should~contain~at~least~the~following~programs:
-
-~~~~~~~~~~~~~~~~README~~~~~~~~~~~~~~~~~~-~~~~~This~document
-
-~~~~~~~~~~~~~~~~ggpunit.c~~~~~~~~~~~~~~~-~~~~~One~of~the~two~source~files
-
-~~~~~~~~~~~~~~~~scan\_for\_matches.c~~~~~~-~~~~~The~second~source~file
-
-~~~~~~~~~~~~~~~~
-
-~~~~~~~~~~~~~~~~run\_tests~~~~~~~~~~~~~~~-~~~~~A~perl~script~to~test~things
-
-~~~~~~~~~~~~~~~~show\_hits~~~~~~~~~~~~~~~-~~~~~A~handy~perl~script
-
-~~~~~~~~~~~~~~~~test\_dna\_input~~~~~~~~~~-~~~~~Test~sequences~for~DNA
-
-~~~~~~~~~~~~~~~~test\_dna\_patterns~~~~~~~-~~~~~Test~patterns~for~DNA~scan
-
-~~~~~~~~~~~~~~~~test\_output~~~~~~~~~~~~~-~~~~~Desired~output~from~test
-
-~~~~~~~~~~~~~~~~test\_prot\_input~~~~~~~~~-~~~~~Test~protein~sequences
-
-~~~~~~~~~~~~~~~~test\_prot\_patterns~~~~~~-~~~~~Test~patterns~for~proteins
-
-~~~~~~~~~~~~~~~~testit~~~~~~~~~~~~~~~~~~-~~~~~a~perl~script~used~for~test
-
-~~~~Only~the~first~three~files~are~required.~~The~others~are~useful,
-
-~~~~but~only~if~you~have~Perl~installed~on~your~system.~~If~you~do
-
-~~~~have~Perl,~I~suggest~that~you~type
-
-~~~~~~~~
-
-~~~~~~~~~~~~~~~~which~perl
-
-~~~~to~find~out~where~it~installed.~~On~my~system,~I~get~the~following
-
-~~~~response:
-
-~~~~~~~~
-
-~~~~~~~~~~~~~~~~clone\%~which~perl
-
-~~~~~~~~~~~~~~~~/usr/local/bin/perl
-
-~~~~indicating~that~Perl~is~installed~in~/usr/local/bin.~~Anyway,~once
-
-~~~~you~know~where~it~is~installed,~edit~the~first~line~of~files~
-
-~~~~~~~~testit
-
-~~~~~~~~show\_hits
-
-~~~~replacing~/usr/local/bin/perl~with~the~appropriate~location.~~I
-
-~~~~will~assume~that~you~can~do~this,~although~it~is~not~critical~(it
-
-~~~~is~needed~only~to~test~the~installation~and~to~use~the~\char`\"{}show\_hits\char`\"{}
-
-~~~~utility).~~Perl~is~not~required~to~actually~install~and~run
-
-~~~~scan\_for\_matches.~
-
-~~~~If~you~do~not~have~Perl,~I~suggest~you~get~it~and~install~it~(it
-
-~~~~is~a~wonderful~utility).~~Information~about~Perl~and~how~to~get~it
-
-~~~~can~be~found~in~the~book~\char`\"{}Programming~Perl\char`\"{}~by~Larry~Wall~and
-
-~~~~Randall~L.~Schwartz,~published~by~O'Reilly~\&~Associates,~Inc.
-
-~~~~To~get~started,~you~will~need~to~compile~the~program.~~~I~do~this
-
-~~~~using~
-
-~~~~~~~~gcc~-O~-o~scan\_for\_matches~~ggpunit.c~scan\_for\_matches.c
-
-~~~~If~you~do~not~use~GNU~C,~use~
-
-~~~~~~~~cc~-O~-DCC~-o~scan\_for\_matches~~ggpunit.c~scan\_for\_matches.c
-
-~~~~which~works~on~my~Sun.~~
-
-~~~~Once~you~have~compiled~scan\_for\_matches,~you~can~verify~that~it
-
-~~~~works~with
-
-~~~~~~~~clone\%~run\_tests~tmp
-
-~~~~~~~~clone\%~diff~tmp~test\_output
-
-~~~~You~may~get~a~few~strange~lines~of~the~sort
-
-~~~~~~~~clone\%~run\_tests~tmp
-
-~~~~~~~~rm:~tmp:~No~such~file~or~directory
-
-~~~~~~~~clone\%~diff~tmp~test\_output
-
-~~~~These~should~cause~no~concern.~~However,~if~the~\char`\"{}diff\char`\"{}~shows~that
-
-~~~~tmp~and~test\_output~are~different,~contact~me~(you~have~a
-
-~~~~problem).~
-
-~~~~You~should~now~be~able~to~use~scan\_for\_matches~by~following~the
-
-~~~~instructions~given~below~(which~is~all~the~normal~user~should~have
-
-~~~~to~understand,~once~things~are~installed~properly).
-
-~==============================================================
-
-How~to~run~scan\_for\_matches:
-
-~~~~To~run~the~program,~you~type~need~to~create~two~files
-
-~~~~1.~~the~first~file~contains~the~pattern~you~wish~to~scan~for;~I'll
-
-~~~~~~~~call~this~file~pat\_file~in~what~follows~(but~any~name~is~ok)
-
-~~~~2.~~the~second~file~contains~a~set~of~sequences~to~scan.~~These
-
-~~~~~~~~should~be~in~\char`\"{}fasta~format\char`\"{}.~~Just~look~at~the~contents~of
-
-~~~~~~~~test\_dna\_input~to~see~examples~of~this~format.~~Basically,
-
-~~~~~~~~each~sequence~begins~with~a~line~of~the~form
-
-~~~~~~~~~~~>sequence\_id
-
-~~~~~~~~and~is~followed~by~one~or~more~lines~containing~the~sequence.
-
-~~~~Once~these~files~have~been~created,~you~just~use
-
-~~~~~~~~scan\_for\_matches~pat\_file~<~input\_file
-
-~~~~to~scan~all~of~the~input~sequences~for~the~given~pattern.~~As~an
-
-~~~~example,~suppose~that~pat\_file~contains~a~single~line~of~the~form
-
-~~~~~~~~~~~~~~~~p1=4...7~3...8~\textasciitilde{}p1
-
-~~~~Then,
-
-~~~~~~~~~~~~~~~~scan\_for\_matches~pat\_file~<~test\_dna\_input
-
-~~~~should~produce~two~\char`\"{}hits\char`\"{}.~~When~I~run~this~on~my~machine,~I~get
-
-~~~~~~~~clone\%~scan\_for\_matches~pat\_file~<~test\_dna\_input
-
-~~~~~~~~>tst1:{[}6,27]
-
-~~~~~~~~cguaacc~ggttaacc~gguuacg~
-
-~~~~~~~~>tst2:{[}6,27]
-
-~~~~~~~~CGUAACC~GGTTAACC~GGUUACG~
-
-~~~~~~~~clone\%~
-
-Simple~Patterns~Built~by~Matching~Ranges~and~Reverse~Complements
-
-~~~~Let~me~first~explain~this~simple~pattern:
-
-~~~~~~~~~~~~~~~~
-
-~~~~~~~~~~~~~~~~p1=4...7~3...8~\textasciitilde{}p1
-
-~~~~The~pattern~consists~of~three~\char`\"{}pattern~units\char`\"{}~separated~by~spaces.
-
-~~~~The~first~pattern~unit~is
-
-~~~~~~~~~~~~~~~~p1=4...7
-
-~~~~which~means~\char`\"{}match~4~to~7~characters~and~call~them~p1\char`\"{}.~~The
-
-~~~~second~pattern~unit~is
-
-~~~~~~~~~~~~~~~~3...8
-
-~~~~which~means~\char`\"{}then~match~3~to~8~characters\char`\"{}.~~The~last~pattern~unit
-
-~~~~is~
-
-~~~~~~~~~~~~~~~~\textasciitilde{}p1
-
-~~~~which~means~\char`\"{}match~the~reverse~complement~of~p1\char`\"{}.~~The~first
-
-~~~~reported~hit~is~shown~as
-
-~~~~~~~~>tst1:{[}6,27]
-
-~~~~~~~~cguaacc~ggttaacc~gguuacg~
-
-~~~~which~states~that~characters~6~through~27~of~sequence~tst1~were
-
-~~~~matched.~~\char`\"{}cguaac\char`\"{}~matched~the~first~pattern~unit,~\char`\"{}ggttaacc\char`\"{}~the
-
-~~~~second,~and~\char`\"{}gguuacg\char`\"{}~the~third.~~This~is~an~example~of~a~common
-
-~~~~type~of~pattern~used~to~search~for~sections~of~DNA~or~RNA~that
-
-~~~~would~fold~into~a~hairpin~loop.
-
-Searching~Both~Strands
-
-~~~~Now~for~a~short~aside:~scan\_for\_matches~only~searched~the
-
-~~~~sequences~in~the~input~file;~it~did~not~search~the~opposite
-
-~~~~strand.~~With~a~pattern~of~the~sort~we~just~used,~there~is~not
-
-~~~~need~o~search~the~opposite~strand.~~However,~it~is~normally~the
-
-~~~~case~that~you~will~wish~to~search~both~the~sequence~and~the
-
-~~~~opposite~strand~(i.e.,~the~reverse~complement~of~the~sequence).
-
-~~~~To~do~that,~you~would~just~use~the~\char`\"{}-c\char`\"{}~command~line.~~For~example,
-
-~~~~~~~~scan\_for\_matches~-c~pat\_file~<~test\_dna\_input
-
-~~~~Hits~on~the~opposite~strand~will~show~a~beginning~location~greater
-
-~~~~than~te~end~location~of~the~match.
-
-Defining~Pairing~Rules~and~Allowing~Mismatches,~Insertions,~and~Deletions
-
-~~~~Let~us~stop~now~and~ask~\char`\"{}What~additional~features~would~one~need~to
-
-~~~~really~find~the~kinds~of~loop~structures~that~characterize~tRNAs,
-
-~~~~rRNAs,~and~so~forth?\char`\"{}~~I~can~immediately~think~of~two:
-
-~~~~~~~~a)~you~will~need~to~be~able~to~allow~non-standard~pairings
-
-~~~~~~~~~~~(those~other~than~G-C~and~A-U),~and
-
-~~~~~~~~b)~you~will~need~to~be~able~to~tolerate~some~number~of
-
-~~~~~~~~~~~mismatches~and~bulges.
-
-~~~~~~~~
-
-~~~~Let~me~first~show~you~how~to~handle~non-standard~\char`\"{}rules~for
-
-~~~~pairing~in~reverse~complements\char`\"{}.~~Consider~the~following~pattern,
-
-~~~~which~I~show~as~two~line~(you~may~use~as~many~lines~as~you~like~in
-
-~~~~forming~a~pattern,~although~you~can~only~break~a~pattern~at~points
-
-~~~~where~space~would~be~legal):
-
-~~~~~~~~~~~~r1=\{au,ua,gc,cg,gu,ug,ga,ag\}~
-
-~~~~~~~~~~~~p1=2...3~0...4~p2=2...5~1...5~r1\textasciitilde{}p2~0...4~\textasciitilde{}p1~~~~~~~~
-
-~~~~The~first~\char`\"{}pattern~unit\char`\"{}~does~not~actually~match~anything;~rather,
-
-~~~~it~defines~a~\char`\"{}pairing~rule\char`\"{}~in~which~standard~pairings~are
-
-~~~~allowed,~as~well~as~G-A~and~A-G~(in~case~you~wondered,~Us~and~Ts
-
-~~~~and~upper~and~lower~case~can~be~used~interchangably;~for~example
-
-~~~~r1=\{AT,UA,gc,cg\}~could~be~used~to~define~the~\char`\"{}standard~rule\char`\"{}~for
-
-~~~~pairings).~~The~second~line~consists~of~six~pattern~units~which
-
-~~~~may~be~interpreted~as~follows:
-
-~~~~~~~~~~~~p1=2...3~~~~~match~2~or~3~characters~(call~it~p1)
-
-~~~~~~~~~~~~0...4~~~~~~~~match~0~to~4~characters
-
-~~~~~~~~~~~~p2=2...5~~~~~match~2~to~5~characters~(call~it~p2)
-
-~~~~~~~~~~~~1...5~~~~~~~~match~1~to~5~characters
-
-~~~~~~~~~~~~r1\textasciitilde{}p2~~~~~~~~match~the~reverse~complement~of~p2,
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~allowing~G-A~and~A-G~pairs
-
-~~~~~~~~~~~~0...4~~~~~~~~match~0~to~4~characters~~~~~~~~
-
-~~~~~~~~~~~~\textasciitilde{}p1~~~~~~~~~~match~the~reverse~complement~of~p1
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~allowing~only~G-C,~C-G,~A-T,~and~T-A~pairs
-
-~~~~Thus,~r1\textasciitilde{}p2~means~\char`\"{}match~the~reverse~complement~of~p2~using~rule~r1\char`\"{}.
-
-~~~~Now~let~us~consider~the~issue~of~tolerating~mismatches~and~bulges.
-
-~~~~You~may~add~a~\char`\"{}qualifier\char`\"{}~to~the~pattern~unit~that~gives~the
-
-~~~~tolerable~number~of~\char`\"{}mismatches,~deletions,~and~insertions\char`\"{}.
-
-~~~~Thus,
-
-~~~~~~~~~~~~~~~~p1=10...10~3...8~\textasciitilde{}p1{[}1,2,1]
-
-~~~~means~that~the~third~pattern~unit~must~match~10~characters,
-
-~~~~allowing~one~\char`\"{}mismatch\char`\"{}~(a~pairing~other~than~G-C,~C-G,~A-T,~or
-
-~~~~T-A),~two~deletions~(a~deletion~is~a~character~that~occurs~in~p1,
-
-~~~~but~has~been~\char`\"{}deleted\char`\"{}~from~the~string~matched~by~\textasciitilde{}p1),~and~one
-
-~~~~insertion~(an~\char`\"{}insertion\char`\"{}~is~a~character~that~occurs~in~the~string
-
-~~~~matched~by~\textasciitilde{}p1,~but~not~for~which~no~corresponding~character
-
-~~~~occurs~in~p1).~~In~this~case,~the~pattern~would~match
-
-~~~~~~~~~~~~~~ACGTACGTAC~GGGGGGGG~GCGTTACCT
-
-~~~~which~is,~you~must~admit,~a~fairly~weak~loop.~~It~is~common~to
-
-~~~~allow~mismatches,~but~you~will~find~yourself~using~insertions~and
-
-~~~~deletions~much~more~rarely.~~In~any~event,~you~should~note~that
-
-~~~~allowing~mismatches,~insertions,~and~deletions~does~force~the
-
-~~~~program~to~try~many~additional~possible~pairings,~so~it~does~slow
-
-~~~~things~down~a~bit.
-
-How~Patterns~Are~Matched
-
-~~~~Now~is~as~good~a~time~as~any~to~discuss~the~basic~flow~of~control
-
-~~~~when~matching~patterns.~~Recall~that~a~\char`\"{}pattern\char`\"{}~is~a~sequence~of
-
-~~~~\char`\"{}pattern~units\char`\"{}.~~Suppose~that~the~pattern~units~were
-
-~~~~~~~~u1~u2~u3~u4~...~un
-
-~~~~The~scan~of~a~sequence~S~begins~by~setting~the~current~position
-
-~~~~to~1.~~Then,~an~attempt~is~made~to~match~u1~starting~at~the
-
-~~~~current~position.~~Each~attempt~to~match~a~pattern~unit~can
-
-~~~~succeed~or~fail.~~If~it~succeeds,~then~an~attempt~is~made~to~match
-
-~~~~the~next~unit.~~If~it~fails,~then~an~attempt~is~made~to~find~an
-
-~~~~alternative~match~for~the~immediately~preceding~pattern~unit.~~If
-
-~~~~this~succeeds,~then~we~proceed~forward~again~to~the~next~unit.~~If
-
-~~~~it~fails~we~go~back~to~the~preceding~unit.~~This~process~is~called
-
-~~~~\char`\"{}backtracking\char`\"{}.~~If~there~are~no~previous~units,~then~the~current
-
-~~~~position~is~incremented~by~one,~and~everything~starts~again.~~This
-
-~~~~proceeds~until~either~the~current~position~goes~past~the~end~of
-
-~~~~the~sequence~or~all~of~the~pattern~units~succeed.~~On~success,
-
-~~~~scan\_for\_matches~reports~the~\char`\"{}hit\char`\"{},~the~current~position~is~set
-
-~~~~just~past~the~hit,~and~an~attempt~is~made~to~find~another~hit.
-
-~~~~If~you~wish~to~limit~the~scan~to~simply~finding~a~maximum~of,~say,
-
-~~~~10~hits,~you~can~use~the~-n~option~(-n~10~would~set~the~limit~to
-
-~~~~10~reported~hits).~~For~example,
-
-~~~~~~~~scan\_for\_matches~-c~-n~1~pat\_file~<~test\_dna\_input
-
-~~~~would~search~for~just~the~first~hit~(and~would~stop~searching~the
-
-~~~~current~sequences~or~any~that~follow~in~the~input~file).
-
-Searching~for~repeats:
-
-~~~~In~the~last~section,~I~discussed~almost~all~of~the~details
-
-~~~~required~to~allow~you~to~look~for~repeats.~~Consider~the~following
-
-~~~~set~of~patterns:
-
-~~~~~~~~p1=6...6~3...8~p1~~~(find~exact~6~character~repeat~separated
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~by~to~8~characters)
-
-~~~~~~~~p1=6...6~3..8~p1{[}1,0,0]~~~(allow~one~mismatch)
-
-~~~~~~~~p1=3...3~p1{[}1,0,0]~p1{[}1,0,0]~p1{[}1,0,0]~~
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~(match~12~characters~that~are~the~remains
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~of~a~3-character~sequence~occurring~4~times)
-
-~~~~~~~~~~~~~~~~
-
-~~~~~~~~p1=4...8~0...3~p2=6...8~p1~0...3~p2
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~(This~would~match~things~like
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ATCT~G~TCTTT~ATCT~TG~TCTTT
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~)
-
-Searching~for~particular~sequences:
-
-~~~~Occasionally,~one~wishes~to~match~a~specific,~known~sequence.
-
-~~~~In~such~a~case,~you~can~just~give~the~sequence~(along~with~an
-
-~~~~optional~statement~of~the~allowable~mismatches,~insertions,~and
-
-~~~~deletions).~~Thus,
-
-~~~~~~~~p1=6...8~GAGA~\textasciitilde{}p1~~~~(match~a~hairpin~with~GAGA~as~the~loop)
-
-~~~~~~~~RRRRYYYY~~~~~~~~~~~~~(match~4~purines~followed~by~4~pyrimidines)
-
-~~~~~~~~TATAA{[}1,0,0]~~~~~~~~~(match~TATAA,~allowing~1~mismatch)
-
-~~~~~~~~
-
-Matches~against~a~\char`\"{}weight~matrix\char`\"{}:
-
-~~~~I~will~conclude~my~examples~of~the~types~of~pattern~units
-
-~~~~available~for~matching~against~nucleotide~sequences~by~discussing~a
-
-~~~~crude~implemetation~of~matching~using~a~\char`\"{}weight~matrix\char`\"{}.~~While~I
-
-~~~~am~less~than~overwhelmed~with~the~syntax~that~I~chose,~I~think~that
-
-~~~~the~reader~should~be~aware~that~I~was~thinking~of~generating
-
-~~~~patterns~containing~such~pattern~units~automatically~from
-
-~~~~alignments~(and~did~not~really~plan~on~typing~such~things~in~by
-
-~~~~hand~very~often).~~Anyway,~suppose~that~you~wanted~to~match~a
-
-~~~~sequence~of~eight~characters.~~The~\char`\"{}consensus\char`\"{}~of~these~eight
-
-~~~~characters~is~GRCACCGS,~but~the~actual~\char`\"{}frequencies~of~occurrence\char`\"{}
-
-~~~~are~given~in~the~matrix~below.~~Thus,~the~first~character~is~an~A
-
-~~~~16\%~the~time~and~a~G~84\%~of~the~time.~~The~second~is~an~A~57\%~of
-
-~~~~the~time,~a~C~10\%~of~the~time,~a~G~29\%~of~the~time,~and~a~T~4\%~of
-
-~~~~the~time.~~
-
-~~~~~~~~~~~~~C1~~~~~C2~~~~C3~~~~C4~~~C5~~~~C6~~~~C7~~~~C8
-
-~~~~
-
-~~~~~~~A~~~~~16~~~~~57~~~~~0~~~~95~~~~0~~~~18~~~~~0~~~~~0
-
-~~~~~~~C~~~~~~0~~~~~10~~~~80~~~~~0~~100~~~~60~~~~~0~~~~50
-
-~~~~~~~G~~~~~84~~~~~29~~~~~0~~~~~0~~~~0~~~~20~~~100~~~~50
-
-~~~~~~~T~~~~~~0~~~~~~4~~~~20~~~~~5~~~~0~~~~~2~~~~~0~~~~~0~~~
-
-~~~~
-
-~~~~One~could~use~the~following~pattern~unit~to~search~for~inexact
-
-~~~~matches~related~to~such~a~\char`\"{}weight~matrix\char`\"{}:
-
-~~~~~~~~\{(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-
-~~~~~~~~~(0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)\}~>~450
-
-~~~~This~pattern~unit~will~attempt~to~match~exactly~eight~characters.
-
-~~~~For~each~character~in~the~sequence,~the~entry~in~the~corresponding
-
-~~~~tuple~is~added~to~an~accumulated~sum.~~If~the~sum~is~greater~than
-
-~~~~450,~the~match~succeeds;~else~it~fails.
-
-~~~~Recently,~this~feature~was~upgraded~to~allow~ranges.~~Thus,
-
-~~600~>~~\{(16,0,84,0),(57,10,29,4),(0,80,0,20),(95,0,0,5),
-
-~~~~~~~~~(0,100,0,0),(18,60,20,2),(0,0,100,0),(0,50,50,0)\}~>~450
-
-~~~~will~work,~as~well.
-
-Allowing~Alternatives:
-
-~~~~Very~occasionally,~you~may~wish~to~allow~alternative~pattern~units
-
-~~~~(i.e.,~\char`\"{}match~either~A~or~B\char`\"{}).~~You~can~do~this~using~something
-
-~~~~like
-
-~~~~~~~~~~~~~~~~(~GAGA~|~GCGCA)
-
-~~~~which~says~\char`\"{}match~either~GAGA~or~GCGCA\char`\"{}.~~You~may~take
-
-~~~~alternatives~of~a~list~of~pattern~units,~for~example
-
-~~~~~~~~(p1=3...3~3...8~\textasciitilde{}p1~|~p1=5...5~4...4~\textasciitilde{}p1~GGG)
-
-~~~~would~match~one~of~two~sequences~of~pattern~units.~~There~is~one
-
-~~~~clumsy~aspect~of~the~syntax:~to~match~a~list~of~alternatives,~you
-
-~~~~need~to~fully~the~request.~~Thus,
-
-~~~~~~~~(GAGA~|~(GCGCA~|~TTCGA))
-
-~~~~would~be~needed~to~try~the~three~alternatives.
-
-One~Minor~Extension
-
-~~~~Sometimes~a~pattern~will~contain~a~sequence~of~distinct~ranges,
-
-~~~~and~you~might~wish~to~limit~the~sum~of~the~lengths~of~the~matched
-
-~~~~subsequences.~~~For~example,~suppose~that~you~basically~wanted~to
-
-~~~~match~something~like
-
-~~~~ARRYYTT~p1=0...5~GCA{[}1,0,0]~p2=1...6~\textasciitilde{}p1~4...8~\textasciitilde{}p2~p3=4...10~CCT
-
-~~~~but~that~the~sum~of~the~lengths~of~p1,~p2,~and~p3~must~not~exceed
-
-~~~~eight~characters.~~To~do~this,~you~could~add~
-
-~~~~~~~~length(p1+p2+p3)~<~9
-
-~~~~as~the~last~pattern~unit.~~It~will~just~succeed~or~fail~(but~does
-
-~~~~not~actually~match~any~characters~in~the~sequence).
-
-~~~~
-
-Matching~Protein~Sequences
-
-~~~~Suppose~that~the~input~file~contains~protein~sequences.~~In~this
-
-~~~~case,~you~must~invoke~scan\_for\_matches~with~the~\char`\"{}-p\char`\"{}~option.~~You
-
-~~~~cannot~use~aspects~of~the~language~that~relate~directly~to
-
-~~~~nucleotide~sequences~(e.g.,~the~-c~command~line~option~or~pattern
-
-~~~~constructs~referring~to~the~reverse~complement~of~a~previously
-
-~~~~matched~unit).~~
-
-~~~~You~also~have~two~additional~constructs~that~allow~you~to~match
-
-~~~~either~\char`\"{}one~of~a~set~of~amino~acids\char`\"{}~or~\char`\"{}any~amino~acid~other~than
-
-~~~~those~a~given~set\char`\"{}.~~For~example,
-
-~~~~~~~~p1=0...4~any(HQD)~1...3~notany(HK)~p1
-
-~~~~would~successfully~match~a~string~like
-
-~~~~~~~~~~~YWV~D~AA~C~YWV
-
-Using~the~show\_hits~Utility
-
-~~~~When~viewing~a~large~set~of~complex~matches,~you~might~find~it
-
-~~~~convenient~to~post-process~the~scan\_for\_matches~output~to~get~a
-
-~~~~more~readable~version.~~We~provide~a~simple~post-processor~called
-
-~~~~\char`\"{}show\_hits\char`\"{}.~~To~see~its~effect,~just~pipe~the~output~of~a
-
-~~~~scan\_for\_matches~into~show\_hits:
-
-~~~~~Normal~Output:
-
-~~~~~~~~clone\%~scan\_for\_matches~-c~pat\_file~<~tmp
-
-~~~~~~~~>tst1:{[}1,28]
-
-~~~~~~~~gtacguaacc~~ggttaac~cgguuacgtac~
-
-~~~~~~~~>tst1:{[}28,1]
-
-~~~~~~~~gtacgtaacc~~ggttaac~cggttacgtac~
-
-~~~~~~~~>tst2:{[}2,31]
-
-~~~~~~~~CGTACGUAAC~C~GGTTAACC~GGUUACGTACG~
-
-~~~~~~~~>tst2:{[}31,2]
-
-~~~~~~~~CGTACGTAAC~C~GGTTAACC~GGTTACGTACG~
-
-~~~~~~~~>tst3:{[}3,32]
-
-~~~~~~~~gtacguaacc~g~gttaactt~cgguuacgtac~
-
-~~~~~~~~>tst3:{[}32,3]
-
-~~~~~~~~gtacgtaacc~g~aagttaac~cggttacgtac~
-
-~~~~~Piped~Through~show\_hits:
-
-~~~~
-
-~~~~~~~~clone\%~scan\_for\_matches~-c~pat\_file~<~tmp~|~show\_hits
-
-~~~~~~~~tst1:{[}1,28]:~~gtacguaacc~~~ggttaac~~cgguuacgtac
-
-~~~~~~~~tst1:{[}28,1]:~~gtacgtaacc~~~ggttaac~~cggttacgtac
-
-~~~~~~~~tst2:{[}2,31]:~~CGTACGUAAC~C~GGTTAACC~GGUUACGTACG
-
-~~~~~~~~tst2:{[}31,2]:~~CGTACGTAAC~C~GGTTAACC~GGTTACGTACG
-
-~~~~~~~~tst3:{[}3,32]:~~gtacguaacc~g~gttaactt~cgguuacgtac
-
-~~~~~~~~tst3:{[}32,3]:~~gtacgtaacc~g~aagttaac~cggttacgtac
-
-~~~~~~~~clone\%~
-
-~~~~Optionally,~you~can~specify~which~of~the~\char`\"{}fields\char`\"{}~in~the~matches
-
-~~~~you~wish~to~sort~on,~and~show\_hits~will~sort~them.~~The~field
-
-~~~~numbers~start~with~0.~~So,~you~might~get~something~like
-
-~~~~~~~~clone\%~scan\_for\_matches~-c~pat\_file~<~tmp~|~show\_hits~2~1
-
-~~~~~~~~tst2:{[}2,31]:~~CGTACGUAAC~C~GGTTAACC~GGUUACGTACG
-
-~~~~~~~~tst2:{[}31,2]:~~CGTACGTAAC~C~GGTTAACC~GGTTACGTACG
-
-~~~~~~~~tst3:{[}32,3]:~~gtacgtaacc~g~aagttaac~cggttacgtac
-
-~~~~~~~~tst1:{[}1,28]:~~gtacguaacc~~~ggttaac~~cgguuacgtac
-
-~~~~~~~~tst1:{[}28,1]:~~gtacgtaacc~~~ggttaac~~cggttacgtac
-
-~~~~~~~~tst3:{[}3,32]:~~gtacguaacc~g~gttaactt~cgguuacgtac
-
-~~~~~~~~clone\%~
-
-~~~~In~this~case,~the~hits~have~been~sorted~on~fields~2~and~1~(that~is,
-
-~~~~the~third~and~second~matched~subfields).
-
-~~~~show\_hits~is~just~one~possible~little~post-processor,~and~you
-
-~~~~might~well~wish~to~write~a~customized~one~for~yourself.
-
-Reducing~the~Cost~of~a~Search
-
-~~~~The~scan\_for\_matches~utility~uses~a~fairly~simple~search,~and~may
-
-~~~~consume~large~amounts~of~CPU~time~for~complex~patterns.~~Someday,
-
-~~~~I~may~decide~to~optimize~the~code.~~However,~until~then,~let~me
-
-~~~~mention~one~useful~technique.~~
-
-~~~~When~you~have~a~complex~pattern~that~includes~a~number~of~varying
-
-~~~~ranges,~imprecise~matches,~and~so~forth,~it~is~useful~to
-
-~~~~\char`\"{}pipeline\char`\"{}~matches.~~That~is,~form~a~simpler~pattern~that~can~be
-
-~~~~used~to~scan~through~a~large~database~extracting~sections~that
-
-~~~~might~be~matched~by~the~more~complex~pattern.~~Let~me~illustrate
-
-~~~~with~a~short~example.~~Suppose~that~you~really~wished~to~match~the
-
-~~~~pattern~
-
-~~~~p1=3...5~0...8~\textasciitilde{}p1{[}1,1,0]~p2=6...7~3...6~AGC~3...5~RYGC~\textasciitilde{}p2{[}1,0,0]
-
-~~~~In~this~case,~the~pattern~units~AGC~3...5~RYGC~can~be~used~to~rapidly
-
-~~~~constrain~the~overall~search.~~You~can~preprocess~the~overall
-
-~~~~database~using~the~pattern:
-
-~~~~~~~~~~31...31~AGC~3...5~RYGC~7...7
-
-~~~~Put~the~complex~pattern~in~pat\_file1~and~the~simpler~pattern~in
-
-~~~~pat\_file2.~~Then~use,
-
-~~~~~~~~scan\_for\_matches~-c~pat\_file2~<~nucleotide\_database~|
-
-~~~~~~~~scan\_for\_matches~pat\_file1
-
-~~~~The~output~will~show~things~like
-
-~~~~>seqid:{[}232,280]{[}2,47]
-
-~~~~matches~pieces
-
-~~~~Then,~the~actual~section~of~the~sequence~that~was~matched~can~be
-
-~~~~easily~computed~as~{[}233,278]~(remember,~the~positions~start~from
-
-~~~~1,~not~0).
-
-~~~~Let~me~finally~add,~you~should~do~a~few~short~experiments~to~see
-
-~~~~whether~or~not~such~pipelining~actually~improves~performance~-{}-~it
-
-~~~~is~not~always~obvious~where~the~time~is~going,~and~I~have
-
-~~~~sometimes~found~that~the~added~complexity~of~pipelining~actually
-
-~~~~slowed~things~up.~~It~gets~its~best~improvements~when~there~are
-
-~~~~exact~matches~of~more~than~just~a~few~characters~that~can~be
-
-~~~~rapidly~used~to~eliminate~large~sections~of~the~database.
-
-=============
-
-Additions:
-
-Feb~9,~1995:~~~the~pattern~units~\textasciicircum{}~and~\$~now~work~as~in~normal~regular
-
-~~~~~~~~~~~~~~~expressions.~~That~is
-
-~~~~~~~~~~~~~~~~~~~~~~~~TTF~\$
-
-~~~~~~~~~~~~~~~matches~only~TTF~at~the~end~of~the~string~and~
-
-~~~~~~~~~~~~~~~~~~~~~~~~\textasciicircum{}~TTF~
-
-~~~~~~~~~~~~~~~matches~only~an~initial~TTF
-
-~~~~~~~~~~~~~~~The~pattern~unit~
-
-~~~~~~~~~~~~~~~~~~~~~~~~<p1
-
-~~~~~~~~~~~~~~~matches~the~reverse~of~the~string~named~p1.~~That~is,
-
-~~~~~~~~~~~~~~~if~p1~matched~GCAT,~then~<p1~would~match~TACG.~~Thus,
-
-~~~~~~~~~~~~~~~~~~~p1=6...6~<p1
-
-~~~~~~~~~~~~~~~matches~a~real~palindrome~(not~the~biologically~common
-
-~~~~~~~~~~~~~~~meaning~of~\char`\"{}reverse~complement\char`\"{})
-
-
-\end{lyxcode}
-
-\end{document}
diff --git a/bp_doc/biotools_presentation.odp b/bp_doc/biotools_presentation.odp
deleted file mode 100644 (file)
index da8e031..0000000
Binary files a/bp_doc/biotools_presentation.odp and /dev/null differ
diff --git a/bp_doc/chrdist.pdf b/bp_doc/chrdist.pdf
deleted file mode 100644 (file)
index 7570964..0000000
Binary files a/bp_doc/chrdist.pdf and /dev/null differ
diff --git a/bp_doc/chrdist.png b/bp_doc/chrdist.png
deleted file mode 100644 (file)
index 76b8c11..0000000
Binary files a/bp_doc/chrdist.png and /dev/null differ
diff --git a/bp_doc/chrdist.ps b/bp_doc/chrdist.ps
deleted file mode 100644 (file)
index 92cc3ff..0000000
+++ /dev/null
@@ -1,843 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: gnuplot 4.2 patchlevel 0
-%%CreationDate: Mon Sep  3 10:26:25 2007
-%%DocumentFonts: (atend)
-%%BoundingBox: 50 50 554 770
-%%Orientation: Landscape
-%%Pages: (atend)
-%%EndComments
-%%BeginProlog
-/gnudict 256 dict def
-gnudict begin
-%
-% The following 6 true/false flags may be edited by hand if required
-% The unit line width may also be changed
-%
-/Color false def
-/Blacktext false def
-/Solid false def
-/Dashlength 1 def
-/Landscape true def
-/Level1 false def
-/Rounded false def
-/TransparentPatterns false def
-/gnulinewidth 5.000 def
-/userlinewidth gnulinewidth def
-%
-/vshift -33 def
-/dl1 {
-  10.0 Dashlength mul mul
-  Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
-} def
-/dl2 {
-  10.0 Dashlength mul mul
-  Rounded { currentlinewidth 0.75 mul add } if
-} def
-/hpt_ 31.5 def
-/vpt_ 31.5 def
-/hpt hpt_ def
-/vpt vpt_ def
-Level1 {} {
-/SDict 10 dict def
-systemdict /pdfmark known not {
-  userdict /pdfmark systemdict /cleartomark get put
-} if
-SDict begin [
-  /Title ()
-  /Subject (gnuplot plot)
-  /Creator (gnuplot 4.2 patchlevel 0)
-  /Author (Martin Hansen)
-%  /Producer (gnuplot)
-%  /Keywords ()
-  /CreationDate (Mon Sep  3 10:26:25 2007)
-  /DOCINFO pdfmark
-end
-} ifelse
-%
-% Gnuplot Prolog Version 4.2 (August 2006)
-%
-/M {moveto} bind def
-/L {lineto} bind def
-/R {rmoveto} bind def
-/V {rlineto} bind def
-/N {newpath moveto} bind def
-/Z {closepath} bind def
-/C {setrgbcolor} bind def
-/f {rlineto fill} bind def
-/vpt2 vpt 2 mul def
-/hpt2 hpt 2 mul def
-/Lshow {currentpoint stroke M 0 vshift R 
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
-  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
-/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
- {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
-/BL {stroke userlinewidth 2 mul setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-/AL {stroke userlinewidth 2 div setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-/UL {dup gnulinewidth mul /userlinewidth exch def
-       dup 1 lt {pop 1} if 10 mul /udl exch def} def
-/PL {stroke userlinewidth setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-% Default Line colors
-/LCw {1 1 1} def
-/LCb {0 0 0} def
-/LCa {0 0 0} def
-/LC0 {1 0 0} def
-/LC1 {0 1 0} def
-/LC2 {0 0 1} def
-/LC3 {1 0 1} def
-/LC4 {0 1 1} def
-/LC5 {1 1 0} def
-/LC6 {0 0 0} def
-/LC7 {1 0.3 0} def
-/LC8 {0.5 0.5 0.5} def
-% Default Line Types
-/LTw {PL [] 1 setgray} def
-/LTb {BL [] LCb DL} def
-/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
-/LT0 {PL [] LC0 DL} def
-/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
-/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
-/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
-/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
-/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
-/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
-/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
-/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
-/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
-/Dia {stroke [] 0 setdash 2 copy vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke
-  Pnt} def
-/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
-  currentpoint stroke M
-  hpt neg vpt neg R hpt2 0 V stroke
- } def
-/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke
-  Pnt} def
-/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
-  hpt2 vpt2 neg V currentpoint stroke M
-  hpt2 neg 0 R hpt2 vpt2 V stroke} def
-/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke
-  Pnt} def
-/Star {2 copy Pls Crs} def
-/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath fill} def
-/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath fill} def
-/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke
-  Pnt} def
-/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath fill} def
-/DiaF {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath fill} def
-/Pent {stroke [] 0 setdash 2 copy gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore Pnt} def
-/PentF {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath fill grestore} def
-/Circle {stroke [] 0 setdash 2 copy
-  hpt 0 360 arc stroke Pnt} def
-/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
-/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
-/C1 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C2 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C3 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C4 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 180 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C5 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc
-       2 copy moveto
-       2 copy vpt 180 270 arc closepath fill
-       vpt 0 360 arc} bind def
-/C6 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C7 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C8 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 270 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C9 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 270 450 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
-       2 copy moveto
-       2 copy vpt 90 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C11 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 180 arc closepath fill
-       2 copy moveto
-       2 copy vpt 270 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C12 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 180 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C13 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc closepath fill
-       2 copy moveto
-       2 copy vpt 180 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C14 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 360 arc closepath fill
-       vpt 0 360 arc} bind def
-/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
-       neg 0 rlineto closepath} bind def
-/Square {dup Rec} bind def
-/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
-/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
-/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
-/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
-/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
-/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
-/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
-       exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
-/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
-/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
-       2 copy vpt Square fill Bsquare} bind def
-/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
-/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
-/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
-       Bsquare} bind def
-/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
-       Bsquare} bind def
-/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
-/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy vpt Square fill Bsquare} bind def
-/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
-/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
-/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
-/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
-/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
-/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
-/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
-/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
-/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
-/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
-/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
-/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
-/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
-/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
-/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
-/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
-/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
-/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
-/DiaE {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke} def
-/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke} def
-/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke} def
-/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke} def
-/PentE {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore} def
-/CircE {stroke [] 0 setdash 
-  hpt 0 360 arc stroke} def
-/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
-/DiaW {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V Opaque stroke} def
-/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V Opaque stroke} def
-/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V Opaque stroke} def
-/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V Opaque stroke} def
-/PentW {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  Opaque stroke grestore} def
-/CircW {stroke [] 0 setdash 
-  hpt 0 360 arc Opaque stroke} def
-/BoxFill {gsave Rec 1 setgray fill grestore} def
-/Density {
-  /Fillden exch def
-  currentrgbcolor
-  /ColB exch def /ColG exch def /ColR exch def
-  /ColR ColR Fillden mul Fillden sub 1 add def
-  /ColG ColG Fillden mul Fillden sub 1 add def
-  /ColB ColB Fillden mul Fillden sub 1 add def
-  ColR ColG ColB setrgbcolor} def
-/BoxColFill {gsave Rec PolyFill} def
-/PolyFill {gsave Density fill grestore grestore} def
-/h {rlineto rlineto rlineto gsave fill grestore} bind def
-%
-% PostScript Level 1 Pattern Fill routine for rectangles
-% Usage: x y w h s a XX PatternFill
-%      x,y = lower left corner of box to be filled
-%      w,h = width and height of box
-%        a = angle in degrees between lines and x-axis
-%       XX = 0/1 for no/yes cross-hatch
-%
-/PatternFill {gsave /PFa [ 9 2 roll ] def
-  PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
-  PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
-  gsave 1 setgray fill grestore clip
-  currentlinewidth 0.5 mul setlinewidth
-  /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
-  0 0 M PFa 5 get rotate PFs -2 div dup translate
-  0 1 PFs PFa 4 get div 1 add floor cvi
-       {PFa 4 get mul 0 M 0 PFs V} for
-  0 PFa 6 get ne {
-       0 1 PFs PFa 4 get div 1 add floor cvi
-       {PFa 4 get mul 0 2 1 roll M PFs 0 V} for
- } if
-  stroke grestore} def
-%
-/languagelevel where
- {pop languagelevel} {1} ifelse
- 2 lt
-       {/InterpretLevel1 true def}
-       {/InterpretLevel1 Level1 def}
- ifelse
-%
-% PostScript level 2 pattern fill definitions
-%
-/Level2PatternFill {
-/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
-       bind def
-/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 
->> matrix makepattern
-/Pat1 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
-       0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
->> matrix makepattern
-/Pat2 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
-       8 8 L 8 0 L 0 0 L fill}
->> matrix makepattern
-/Pat3 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
-       0 12 M 12 0 L stroke}
->> matrix makepattern
-/Pat4 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
-       0 -4 M 12 8 L stroke}
->> matrix makepattern
-/Pat5 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
-       0 12 M 8 -4 L 4 12 M 10 0 L stroke}
->> matrix makepattern
-/Pat6 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
-       0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
->> matrix makepattern
-/Pat7 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
-       12 0 M -4 8 L 12 4 M 0 10 L stroke}
->> matrix makepattern
-/Pat8 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
-       -4 0 M 12 8 L -4 4 M 8 10 L stroke}
->> matrix makepattern
-/Pat9 exch def
-/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
-/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
-/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
-/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
-/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
-/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
-/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
-} def
-%
-%
-%End of PostScript Level 2 code
-%
-/PatternBgnd {
-  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
-} def
-%
-% Substitute for Level 2 pattern fill codes with
-% grayscale if Level 2 support is not selected.
-%
-/Level1PatternFill {
-/Pattern1 {0.250 Density} bind def
-/Pattern2 {0.500 Density} bind def
-/Pattern3 {0.750 Density} bind def
-/Pattern4 {0.125 Density} bind def
-/Pattern5 {0.375 Density} bind def
-/Pattern6 {0.625 Density} bind def
-/Pattern7 {0.875 Density} bind def
-} def
-%
-% Now test for support of Level 2 code
-%
-Level1 {Level1PatternFill} {Level2PatternFill} ifelse
-%
-/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
-dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
-currentdict end definefont pop
-end
-%%EndProlog
-%%Page: 1 1
-gnudict begin
-gsave
-50 50 translate
-0.100 0.100 scale
-90 rotate
-0 -5040 translate
-0 setgray
-newpath
-(Helvetica) findfont 100 scalefont setfont
-1.000 UL
-LTb
-410 660 M
-63 0 V
-6557 0 R
--63 0 V
-350 660 M
-( 0) Rshow
-1.000 UL
-LTb
-410 1243 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 20) Rshow
-1.000 UL
-LTb
-410 1826 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 40) Rshow
-1.000 UL
-LTb
-410 2409 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 60) Rshow
-1.000 UL
-LTb
-410 2991 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 80) Rshow
-1.000 UL
-LTb
-410 3574 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 100) Rshow
-1.000 UL
-LTb
-410 4157 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 120) Rshow
-1.000 UL
-LTb
-410 4740 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 140) Rshow
-1.000 UL
-LTb
-698 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr1) Rshow
-grestore
-1.000 UL
-LTb
-986 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr2) Rshow
-grestore
-1.000 UL
-LTb
-1273 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr3) Rshow
-grestore
-1.000 UL
-LTb
-1561 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr4) Rshow
-grestore
-1.000 UL
-LTb
-1849 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr5) Rshow
-grestore
-1.000 UL
-LTb
-2137 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr6) Rshow
-grestore
-1.000 UL
-LTb
-2425 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr7) Rshow
-grestore
-1.000 UL
-LTb
-2713 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr8) Rshow
-grestore
-1.000 UL
-LTb
-3000 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr9) Rshow
-grestore
-1.000 UL
-LTb
-3288 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr10) Rshow
-grestore
-1.000 UL
-LTb
-3576 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr11) Rshow
-grestore
-1.000 UL
-LTb
-3864 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr12) Rshow
-grestore
-1.000 UL
-LTb
-4152 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr13) Rshow
-grestore
-1.000 UL
-LTb
-4440 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr14) Rshow
-grestore
-1.000 UL
-LTb
-4727 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr15) Rshow
-grestore
-1.000 UL
-LTb
-5015 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr16) Rshow
-grestore
-1.000 UL
-LTb
-5303 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr17) Rshow
-grestore
-1.000 UL
-LTb
-5591 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr18) Rshow
-grestore
-1.000 UL
-LTb
-5879 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr19) Rshow
-grestore
-1.000 UL
-LTb
-6167 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chrX) Rshow
-grestore
-1.000 UL
-LTb
-6454 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chr5_random) Rshow
-grestore
-1.000 UL
-LTb
-6742 660 M
-0 -60 R
-currentpoint gsave translate 90 rotate 0 0 M
-(chrY_random) Rshow
-grestore
-1.000 UL
-LTb
-1.000 UL
-LTb
-410 4740 N
-410 660 L
-6620 0 V
-0 4080 V
--6620 0 V
-Z stroke
-3720 4890 M
-(Chromosome Distribution) Cshow
-1.000 UP
-1.000 UL
-LTb
-1.000 UL
-LT0
-/Helvetica findfont 100 scalefont setfont
-1.000 698 660 97 2012 BoxColFill
-698 660 N
-0 2011 V
-96 0 V
-794 660 L
--96 0 V
-Z stroke
-1.000 986 660 97 4023 BoxColFill
-986 660 N
-0 4022 V
-96 0 V
-0 -4022 V
--96 0 V
-Z stroke
-1.000 1273 660 97 1196 BoxColFill
-1273 660 N
-0 1195 V
-96 0 V
-0 -1195 V
--96 0 V
-Z stroke
-1.000 1561 660 97 2332 BoxColFill
-1561 660 N
-0 2331 V
-96 0 V
-0 -2331 V
--96 0 V
-Z stroke
-1.000 1849 660 97 2857 BoxColFill
-1849 660 N
-0 2856 V
-96 0 V
-0 -2856 V
--96 0 V
-Z stroke
-1.000 2137 660 97 2187 BoxColFill
-2137 660 N
-0 2186 V
-96 0 V
-0 -2186 V
--96 0 V
-Z stroke
-1.000 2425 660 97 3148 BoxColFill
-2425 660 N
-0 3147 V
-96 0 V
-0 -3147 V
--96 0 V
-Z stroke
-1.000 2713 660 97 1021 BoxColFill
-2713 660 N
-0 1020 V
-96 0 V
-0 -1020 V
--96 0 V
-Z stroke
-1.000 3000 660 97 3178 BoxColFill
-3000 660 N
-0 3177 V
-96 0 V
-0 -3177 V
--96 0 V
-Z stroke
-1.000 3288 660 97 2274 BoxColFill
-3288 660 N
-0 2273 V
-96 0 V
-0 -2273 V
--96 0 V
-Z stroke
-1.000 3576 660 97 1371 BoxColFill
-3576 660 N
-0 1370 V
-96 0 V
-0 -1370 V
--96 0 V
-Z stroke
-1.000 3864 660 97 1954 BoxColFill
-3864 660 N
-0 1953 V
-96 0 V
-0 -1953 V
--96 0 V
-Z stroke
-1.000 4152 660 97 1458 BoxColFill
-4152 660 N
-0 1457 V
-96 0 V
-0 -1457 V
--96 0 V
-Z stroke
-1.000 4440 660 97 1400 BoxColFill
-4440 660 N
-0 1399 V
-96 0 V
-0 -1399 V
--96 0 V
-Z stroke
-1.000 4727 660 97 2041 BoxColFill
-4727 660 N
-0 2040 V
-96 0 V
-0 -2040 V
--96 0 V
-Z stroke
-1.000 5015 660 97 817 BoxColFill
-5015 660 N
-0 816 V
-96 0 V
-0 -816 V
--96 0 V
-Z stroke
-1.000 5303 660 97 2566 BoxColFill
-5303 660 N
-0 2565 V
-96 0 V
-0 -2565 V
--96 0 V
-Z stroke
-1.000 5591 660 97 1400 BoxColFill
-5591 660 N
-0 1399 V
-96 0 V
-0 -1399 V
--96 0 V
-Z stroke
-1.000 5879 660 97 730 BoxColFill
-5879 660 N
-0 729 V
-96 0 V
-0 -729 V
--96 0 V
-Z stroke
-1.000 6167 660 96 1138 BoxColFill
-6167 660 N
-0 1137 V
-95 0 V
-0 -1137 V
--95 0 V
-Z stroke
-1.000 6454 660 97 59 BoxColFill
-6454 660 N
-0 58 V
-96 0 V
-0 -58 V
--96 0 V
-Z stroke
-1.000 6742 660 97 817 BoxColFill
-6742 660 N
-0 816 V
-96 0 V
-0 -816 V
--96 0 V
-Z stroke
-1.000 UL
-LTb
-410 4740 N
-410 660 L
-6620 0 V
-0 4080 V
--6620 0 V
-Z stroke
-1.000 UP
-1.000 UL
-LTb
-stroke
-grestore
-end
-showpage
-%%Trailer
-%%DocumentFonts: Helvetica
-%%Pages: 1
diff --git a/bp_doc/chrdist_ascii.png b/bp_doc/chrdist_ascii.png
deleted file mode 100644 (file)
index 32b367f..0000000
Binary files a/bp_doc/chrdist_ascii.png and /dev/null differ
diff --git a/bp_doc/dotplot.pdf b/bp_doc/dotplot.pdf
deleted file mode 100644 (file)
index ba921d5..0000000
Binary files a/bp_doc/dotplot.pdf and /dev/null differ
diff --git a/bp_doc/dotplot.png b/bp_doc/dotplot.png
deleted file mode 100644 (file)
index c4fc4d1..0000000
Binary files a/bp_doc/dotplot.png and /dev/null differ
diff --git a/bp_doc/dotplot.ps b/bp_doc/dotplot.ps
deleted file mode 100644 (file)
index c77b14c..0000000
+++ /dev/null
@@ -1,13881 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: gnuplot 4.2 patchlevel 0
-%%CreationDate: Thu Nov 13 17:03:30 2008
-%%DocumentFonts: (atend)
-%%BoundingBox: 50 50 554 770
-%%Orientation: Landscape
-%%Pages: (atend)
-%%EndComments
-%%BeginProlog
-/gnudict 256 dict def
-gnudict begin
-%
-% The following 6 true/false flags may be edited by hand if required
-% The unit line width may also be changed
-%
-/Color false def
-/Blacktext false def
-/Solid false def
-/Dashlength 1 def
-/Landscape true def
-/Level1 false def
-/Rounded false def
-/TransparentPatterns false def
-/gnulinewidth 5.000 def
-/userlinewidth gnulinewidth def
-%
-/vshift -46 def
-/dl1 {
-  10.0 Dashlength mul mul
-  Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
-} def
-/dl2 {
-  10.0 Dashlength mul mul
-  Rounded { currentlinewidth 0.75 mul add } if
-} def
-/hpt_ 31.5 def
-/vpt_ 31.5 def
-/hpt hpt_ def
-/vpt vpt_ def
-Level1 {} {
-/SDict 10 dict def
-systemdict /pdfmark known not {
-  userdict /pdfmark systemdict /cleartomark get put
-} if
-SDict begin [
-  /Title ()
-  /Subject (gnuplot plot)
-  /Creator (gnuplot 4.2 patchlevel 0)
-  /Author (Martin Hansen)
-%  /Producer (gnuplot)
-%  /Keywords ()
-  /CreationDate (Thu Nov 13 17:03:30 2008)
-  /DOCINFO pdfmark
-end
-} ifelse
-%
-% Gnuplot Prolog Version 4.2 (August 2006)
-%
-/M {moveto} bind def
-/L {lineto} bind def
-/R {rmoveto} bind def
-/V {rlineto} bind def
-/N {newpath moveto} bind def
-/Z {closepath} bind def
-/C {setrgbcolor} bind def
-/f {rlineto fill} bind def
-/vpt2 vpt 2 mul def
-/hpt2 hpt 2 mul def
-/Lshow {currentpoint stroke M 0 vshift R 
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
-  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
-/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
- {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
-/BL {stroke userlinewidth 2 mul setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-/AL {stroke userlinewidth 2 div setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-/UL {dup gnulinewidth mul /userlinewidth exch def
-       dup 1 lt {pop 1} if 10 mul /udl exch def} def
-/PL {stroke userlinewidth setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-% Default Line colors
-/LCw {1 1 1} def
-/LCb {0 0 0} def
-/LCa {0 0 0} def
-/LC0 {1 0 0} def
-/LC1 {0 1 0} def
-/LC2 {0 0 1} def
-/LC3 {1 0 1} def
-/LC4 {0 1 1} def
-/LC5 {1 1 0} def
-/LC6 {0 0 0} def
-/LC7 {1 0.3 0} def
-/LC8 {0.5 0.5 0.5} def
-% Default Line Types
-/LTw {PL [] 1 setgray} def
-/LTb {BL [] LCb DL} def
-/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
-/LT0 {PL [] LC0 DL} def
-/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
-/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
-/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
-/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
-/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
-/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
-/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
-/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
-/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
-/Dia {stroke [] 0 setdash 2 copy vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke
-  Pnt} def
-/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
-  currentpoint stroke M
-  hpt neg vpt neg R hpt2 0 V stroke
- } def
-/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke
-  Pnt} def
-/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
-  hpt2 vpt2 neg V currentpoint stroke M
-  hpt2 neg 0 R hpt2 vpt2 V stroke} def
-/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke
-  Pnt} def
-/Star {2 copy Pls Crs} def
-/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath fill} def
-/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath fill} def
-/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke
-  Pnt} def
-/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath fill} def
-/DiaF {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath fill} def
-/Pent {stroke [] 0 setdash 2 copy gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore Pnt} def
-/PentF {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath fill grestore} def
-/Circle {stroke [] 0 setdash 2 copy
-  hpt 0 360 arc stroke Pnt} def
-/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
-/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
-/C1 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C2 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C3 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C4 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 180 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C5 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc
-       2 copy moveto
-       2 copy vpt 180 270 arc closepath fill
-       vpt 0 360 arc} bind def
-/C6 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C7 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C8 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 270 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C9 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 270 450 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
-       2 copy moveto
-       2 copy vpt 90 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C11 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 180 arc closepath fill
-       2 copy moveto
-       2 copy vpt 270 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C12 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 180 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C13 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc closepath fill
-       2 copy moveto
-       2 copy vpt 180 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C14 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 360 arc closepath fill
-       vpt 0 360 arc} bind def
-/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
-       neg 0 rlineto closepath} bind def
-/Square {dup Rec} bind def
-/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
-/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
-/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
-/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
-/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
-/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
-/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
-       exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
-/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
-/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
-       2 copy vpt Square fill Bsquare} bind def
-/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
-/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
-/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
-       Bsquare} bind def
-/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
-       Bsquare} bind def
-/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
-/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy vpt Square fill Bsquare} bind def
-/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
-/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
-/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
-/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
-/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
-/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
-/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
-/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
-/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
-/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
-/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
-/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
-/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
-/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
-/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
-/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
-/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
-/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
-/DiaE {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke} def
-/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke} def
-/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke} def
-/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke} def
-/PentE {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore} def
-/CircE {stroke [] 0 setdash 
-  hpt 0 360 arc stroke} def
-/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
-/DiaW {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V Opaque stroke} def
-/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V Opaque stroke} def
-/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V Opaque stroke} def
-/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V Opaque stroke} def
-/PentW {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  Opaque stroke grestore} def
-/CircW {stroke [] 0 setdash 
-  hpt 0 360 arc Opaque stroke} def
-/BoxFill {gsave Rec 1 setgray fill grestore} def
-/Density {
-  /Fillden exch def
-  currentrgbcolor
-  /ColB exch def /ColG exch def /ColR exch def
-  /ColR ColR Fillden mul Fillden sub 1 add def
-  /ColG ColG Fillden mul Fillden sub 1 add def
-  /ColB ColB Fillden mul Fillden sub 1 add def
-  ColR ColG ColB setrgbcolor} def
-/BoxColFill {gsave Rec PolyFill} def
-/PolyFill {gsave Density fill grestore grestore} def
-/h {rlineto rlineto rlineto gsave fill grestore} bind def
-%
-% PostScript Level 1 Pattern Fill routine for rectangles
-% Usage: x y w h s a XX PatternFill
-%      x,y = lower left corner of box to be filled
-%      w,h = width and height of box
-%        a = angle in degrees between lines and x-axis
-%       XX = 0/1 for no/yes cross-hatch
-%
-/PatternFill {gsave /PFa [ 9 2 roll ] def
-  PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
-  PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
-  gsave 1 setgray fill grestore clip
-  currentlinewidth 0.5 mul setlinewidth
-  /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
-  0 0 M PFa 5 get rotate PFs -2 div dup translate
-  0 1 PFs PFa 4 get div 1 add floor cvi
-       {PFa 4 get mul 0 M 0 PFs V} for
-  0 PFa 6 get ne {
-       0 1 PFs PFa 4 get div 1 add floor cvi
-       {PFa 4 get mul 0 2 1 roll M PFs 0 V} for
- } if
-  stroke grestore} def
-%
-/languagelevel where
- {pop languagelevel} {1} ifelse
- 2 lt
-       {/InterpretLevel1 true def}
-       {/InterpretLevel1 Level1 def}
- ifelse
-%
-% PostScript level 2 pattern fill definitions
-%
-/Level2PatternFill {
-/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
-       bind def
-/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 
->> matrix makepattern
-/Pat1 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
-       0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
->> matrix makepattern
-/Pat2 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
-       8 8 L 8 0 L 0 0 L fill}
->> matrix makepattern
-/Pat3 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
-       0 12 M 12 0 L stroke}
->> matrix makepattern
-/Pat4 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
-       0 -4 M 12 8 L stroke}
->> matrix makepattern
-/Pat5 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
-       0 12 M 8 -4 L 4 12 M 10 0 L stroke}
->> matrix makepattern
-/Pat6 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
-       0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
->> matrix makepattern
-/Pat7 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
-       12 0 M -4 8 L 12 4 M 0 10 L stroke}
->> matrix makepattern
-/Pat8 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
-       -4 0 M 12 8 L -4 4 M 8 10 L stroke}
->> matrix makepattern
-/Pat9 exch def
-/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
-/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
-/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
-/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
-/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
-/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
-/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
-} def
-%
-%
-%End of PostScript Level 2 code
-%
-/PatternBgnd {
-  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
-} def
-%
-% Substitute for Level 2 pattern fill codes with
-% grayscale if Level 2 support is not selected.
-%
-/Level1PatternFill {
-/Pattern1 {0.250 Density} bind def
-/Pattern2 {0.500 Density} bind def
-/Pattern3 {0.750 Density} bind def
-/Pattern4 {0.125 Density} bind def
-/Pattern5 {0.375 Density} bind def
-/Pattern6 {0.625 Density} bind def
-/Pattern7 {0.875 Density} bind def
-} def
-%
-% Now test for support of Level 2 code
-%
-Level1 {Level1PatternFill} {Level2PatternFill} ifelse
-%
-/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
-dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
-currentdict end definefont pop
-end
-%%EndProlog
-%%Page: 1 1
-gnudict begin
-gsave
-50 50 translate
-0.100 0.100 scale
-90 rotate
-0 -5040 translate
-0 setgray
-newpath
-(Helvetica) findfont 140 scalefont setfont
-gsave % colour palette begin
-/maxcolors 0 def
-/HSV2RGB {  exch dup 0.0 eq {pop exch pop dup dup} % achromatic gray
-  { /HSVs exch def /HSVv exch def 6.0 mul dup floor dup 3 1 roll sub
-     /HSVf exch def /HSVi exch cvi def /HSVp HSVv 1.0 HSVs sub mul def
-        /HSVq HSVv 1.0 HSVs HSVf mul sub mul def 
-        /HSVt HSVv 1.0 HSVs 1.0 HSVf sub mul sub mul def
-        /HSVi HSVi 6 mod def 0 HSVi eq {HSVv HSVt HSVp}
-        {1 HSVi eq {HSVq HSVv HSVp}{2 HSVi eq {HSVp HSVv HSVt}
-        {3 HSVi eq {HSVp HSVq HSVv}{4 HSVi eq {HSVt HSVp HSVv}
-        {HSVv HSVp HSVq} ifelse} ifelse} ifelse} ifelse} ifelse
-  } ifelse} def
-/Constrain {
-  dup 0 lt {0 exch pop}{dup 1 gt {1 exch pop} if} ifelse} def
-/YIQ2RGB {
-  3 copy -1.702 mul exch -1.105 mul add add Constrain 4 1 roll
-  3 copy -0.647 mul exch -0.272 mul add add Constrain 5 1 roll
-  0.621 mul exch -0.956 mul add add Constrain 3 1 roll } def
-/CMY2RGB {  1 exch sub exch 1 exch sub 3 2 roll 1 exch sub 3 1 roll exch } def
-/XYZ2RGB {  3 copy -0.9017 mul exch -0.1187 mul add exch 0.0585 mul exch add
-  Constrain 4 1 roll 3 copy -0.0279 mul exch 1.999 mul add exch
-  -0.9844 mul add Constrain 5 1 roll -0.2891 mul exch -0.5338 mul add
-  exch 1.91 mul exch add Constrain 3 1 roll} def
-/SelectSpace {ColorSpace (HSV) eq {HSV2RGB}{ColorSpace (XYZ) eq {
-  XYZ2RGB}{ColorSpace (CMY) eq {CMY2RGB}{ColorSpace (YIQ) eq {YIQ2RGB}
-  if} ifelse} ifelse} ifelse} def
-/InterpolatedColor false def
-/cF7 {sqrt} bind def   % sqrt(x)
-/cF5 {dup dup mul mul} bind def        % x^3
-/cF15 {360 mul sin} bind def   % sin(360x)
-/pm3dround {maxcolors 0 gt {dup 1 ge
-       {pop 1} {maxcolors mul floor maxcolors 1 sub div} ifelse} if} def
-/pm3dGamma 1.0 1.5 div def
-/ColorSpace (RGB) def
-Color true and { % COLOUR vs. GRAY map
-  InterpolatedColor { %% Interpolation vs. RGB-Formula
-    /g {stroke pm3dround /grayv exch def interpolate
-        SelectSpace setrgbcolor} bind def
-  }{
-  /g {stroke pm3dround dup cF7 Constrain exch dup cF5 Constrain exch cF15 Constrain 
-       SelectSpace setrgbcolor} bind def
-  } ifelse
-}{
-  /g {stroke pm3dround pm3dGamma exp setgray} bind def
-} ifelse
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 483 M
-5849 0 V
-stroke
-LTb
-1113 483 M
--63 0 V
-5912 0 R
-63 0 V
-966 483 M
-( 0) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 979 M
-5849 0 V
-stroke
-LTb
-1113 979 M
--63 0 V
-5912 0 R
-63 0 V
-966 979 M
-( 200000) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 1475 M
-5849 0 V
-stroke
-LTb
-1113 1475 M
--63 0 V
-5912 0 R
-63 0 V
--6059 0 R
-( 400000) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 1971 M
-5849 0 V
-stroke
-LTb
-1113 1971 M
--63 0 V
-5912 0 R
-63 0 V
--6059 0 R
-( 600000) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 2467 M
-5849 0 V
-stroke
-LTb
-1113 2467 M
--63 0 V
-5912 0 R
-63 0 V
--6059 0 R
-( 800000) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 2963 M
-5849 0 V
-stroke
-LTb
-1113 2963 M
--63 0 V
-5912 0 R
-63 0 V
--6059 0 R
-( 1e+06) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 3460 M
-5849 0 V
-stroke
-LTb
-1113 3460 M
--63 0 V
-5912 0 R
-63 0 V
--6059 0 R
-( 1.2e+06) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 3956 M
-5849 0 V
-stroke
-LTb
-1113 3956 M
--63 0 V
-5912 0 R
-63 0 V
--6059 0 R
-( 1.4e+06) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 4452 M
-5849 0 V
-stroke
-LTb
-1113 4452 M
--63 0 V
-5912 0 R
-63 0 V
--6059 0 R
-( 1.6e+06) Rshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1113 483 M
-0 4137 V
-stroke
-LTb
-1113 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 0) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-1825 483 M
-0 4137 V
-stroke
-LTb
-1825 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 200000) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-2537 483 M
-0 4137 V
-stroke
-LTb
-2537 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 400000) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-3249 483 M
-0 4137 V
-stroke
-LTb
-3249 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 600000) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-3961 483 M
-0 4137 V
-stroke
-LTb
-3961 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 800000) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-4673 483 M
-0 4137 V
-stroke
-LTb
-4673 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 1e+06) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-5385 483 M
-0 4137 V
-stroke
-LTb
-5385 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 1.2e+06) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-6096 483 M
-0 4137 V
-stroke
-LTb
-6096 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 1.4e+06) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTa
-6808 483 M
-0 4137 V
-stroke
-LTb
-6808 483 M
-0 -63 V
-0 4200 R
-0 63 V
-0 -4403 R
-( 1.6e+06) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTb
-1113 4620 N
-0 -4137 V
-5849 0 V
-0 4137 V
--5849 0 V
-Z stroke
-LCb setrgbcolor
-140 2551 M
-currentpoint gsave translate 90 rotate 0 0 M
-(Helicobacter_pylori_26695) Cshow
-grestore
-LTb
-LCb setrgbcolor
-4037 70 M
-(Helicobacter_pylori_J99  ) Cshow
-LTb
-4037 4830 M
-(plot_matches) Cshow
-1.000 UP
-1.000 UL
-LTb
-2.000 UL
-LT0
-0.00 1.00 0.00 C /Helvetica findfont 140 scalefont setfont
-1113 483 M
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
--1 1661 R
-1 -1660 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-0 1 R
-0 -1 R
-0 3169 R
-0 -3169 R
-1 0 V
-0 3170 R
-0 -3170 R
-0 1 V
-0 -1 R
-0 1 R
-1 0 V
-0 3255 R
-0 -3254 R
-1 0 V
-0 3254 R
-0 1 R
-0 -919 R
-0 -1527 R
-1 1 R
-0 2445 R
-0 -918 R
-0 -2337 R
-0 2337 R
-0 -1527 R
-0 2446 R
-0 -919 R
-0 -2337 R
-1 0 V
-0 45 R
-0 534 R
-0 -9 R
-0 -525 R
-0 2293 R
-0 -1768 R
-0 1350 R
-0 -1920 R
-0 1 V
-0 2337 R
-0 918 R
-0 -2445 R
-0 -810 R
-1 0 R
-0 570 R
-0 -570 R
-0 2338 R
-0 918 R
-0 -2446 R
-0 1109 R
-0 -1919 R
-0 3256 R
-0 -918 R
-0 -1528 R
-0 1 V
-0 -811 R
-1 1 V
-1 0 V
-0 1 V
-0 3543 R
-0 -3543 R
-0 810 R
-1 0 V
--1 -810 R
-1 0 V
-0 1 R
-1 0 V
-0 3256 R
-0 -3256 R
-1 0 V
--1 45 R
-1 -45 R
-0 1 R
-0 3071 R
-0 -734 R
-0 -2292 R
-0 765 R
-0 2446 R
-0 -3211 R
-0 1874 R
-0 -1919 R
-1 0 V
--1 2338 R
-1 -2338 R
-0 2338 R
-0 -2338 R
-1140 502 L
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-0 1146 R
-0 -1146 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-0 617 R
-0 -617 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-0 3671 R
-0 272 R
-0 -3943 R
-1 3943 R
-0 -3943 R
-0 1 V
-1 765 R
-0 2445 R
-0 -918 R
-0 -2337 R
-0 3256 R
-0 -2446 R
-0 -765 R
-0 3027 R
-0 -735 R
-1197 2834 L
-0 -2338 R
-0 579 R
-0 -9 R
-0 -525 R
-0 525 R
-0 -525 R
-0 2293 R
-1 0 V
--1 918 R
-1 0 V
--1 -2445 R
-1 0 V
--1 -232 R
-1 1 V
--1 -580 R
-1 1 V
-0 44 R
-0 1 V
-0 3026 R
-0 -3026 R
-0 2292 R
-0 919 R
-0 -2446 R
-0 1109 R
-0 -1874 R
-1 0 V
--1 534 R
-1 0 V
--1 2677 R
-1 0 V
--1 -918 R
-1 0 V
--1 -1528 R
-1 0 V
-0 -765 R
-0 1 V
-1 0 R
-0 765 R
-0 1528 R
-0 -2293 R
-1 0 V
-0 1 V
-1 1 R
-0 2292 R
-1 1769 R
-0 -4061 R
-0 2293 R
-0 918 R
-0 -2445 R
-0 -766 R
-0 -45 R
-0 3257 R
-0 -3212 R
-0 1 V
-1 0 R
-0 2292 R
-0 -2337 R
-0 45 R
-0 1874 R
-0 -1874 R
-0 -45 R
-0 45 R
-1 0 V
-0 1 V
-0 1873 R
-0 1688 R
-0 -3561 R
-1 0 R
-0 3717 R
-0 -664 R
-0 -2694 R
-0 735 R
-1 -1093 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-3 1018 R
-1 -1015 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 1 R
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1235 567 L
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-0 3260 R
-0 -3260 R
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-0 2200 R
-0 -2200 R
-1 0 R
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 4 R
-0 1 V
-1 0 V
-8 0 R
-1 9 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1307 625 L
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-0 2314 R
-0 -2314 R
-0 1181 R
-0 -1181 R
-1 0 V
-0 1 V
-1 0 V
-1 3 R
-0 -2 R
-0 2 R
-0 -2 R
-1 2 R
-0 -2 R
-1 1 R
-1 0 R
-0 1 R
-2 1 R
-1 1 R
-1 0 V
-0 2749 R
-0 -2749 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1373 670 L
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 R
-0 2684 R
-0 1 V
-1 -2685 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 3 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 1 V
-0 55 R
-0 1303 R
-0 -1358 R
-1 0 V
-0 1 V
-1 0 V
-0 3879 R
-0 -3879 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-0 2721 R
-0 -703 R
-0 -2018 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-1436 718 L
-1 0 V
-0 2478 R
-0 1 V
-0 -2479 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-0 666 R
-0 -666 R
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 3069 R
-0 -3069 R
-1 1 V
-0 1537 R
-0 -1537 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1303 R
-0 -1358 R
-0 55 R
-0 1 V
-0 -56 R
-0 1358 R
-0 -1302 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1495 758 L
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-0 2857 R
-0 -2857 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1580 R
-0 -1580 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-0 3264 R
-1 -3264 R
-1 0 V
-0 1 R
-1 0 V
-0 2800 R
-0 4 R
-0 -2800 R
-0 4 R
-0 2792 R
-0 4 R
-0 -2800 R
-0 4 R
-0 -8 R
-1554 801 L
-0 2799 R
-1 1 V
--1 3 R
-1 0 V
-1554 804 M
-1 0 V
--1 4 R
-1 0 V
--1 -7 R
-1 0 V
-0 2803 R
-0 -3 R
-0 -2797 R
-0 4 R
-0 1 V
-0 2795 R
-0 -2803 R
-0 3 R
-0 1 V
-0 4 R
-0 2795 R
-0 -3 R
-0 -2800 R
-0 4 R
-0 4 R
-0 2792 R
-0 -2800 R
-0 4 R
-0 4 R
-0 2795 R
-0 1 V
-0 -4 R
-1 0 V
-1555 805 M
-0 4 R
-0 -8 R
-1 0 V
--1 2804 R
-0 -2800 R
-0 4 R
-0 -4 R
-1 0 V
--1 4 R
-1 0 V
--1 2796 R
-1 0 V
-0 -2803 R
-0 2800 R
-0 -2797 R
-0 2800 R
-0 -2796 R
-0 1 V
-1 0 V
--1 2792 R
-0 -2797 R
-0 1 R
-1 2799 R
-0 -2795 R
-0 -4 R
-0 2799 R
-0 -3 R
-0 -2792 R
-0 2795 R
-0 -2795 R
-0 2792 R
-0 -2800 R
-0 2800 R
-0 -2800 R
-0 8 R
-1 0 V
--1 2795 R
-0 1 V
-1 0 V
--1 -4 R
-1 1 V
-1557 802 M
-1 1 V
-0 2803 R
-0 -2796 R
-0 1 V
-0 2792 R
-0 -2800 R
-0 2803 R
-0 -3 R
-0 -2800 R
-0 8 R
-0 2795 R
-0 -2795 R
-0 2795 R
-1 0 V
--1 -3 R
-1 0 V
-1558 803 M
-1 0 V
--1 8 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1566 816 L
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-0 1121 R
-1 0 V
-0 -860 R
-0 -261 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 2 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-1 0 R
-0 1 R
-0 639 R
-1 -639 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-0 4 R
-0 -4 R
-0 4 R
-0 -4 R
-1 0 V
-0 4 R
-0 -4 R
-0 1 V
-1 4 R
-0 -4 R
-1 0 R
-0 1 V
-0 4 R
-0 -4 R
-1628 859 L
-0 1 R
-1 0 V
--1 4 R
-1 -4 R
-1 1 V
-0 -4 R
-0 4 R
-1 0 V
-0 -4 R
-0 4 R
-0 -4 R
-0 4 R
-0 1 V
-0 -5 R
-0 1 V
-0 4 R
-1 0 V
-0 -4 R
-0 4 R
-1 1 V
-0 -4 R
-0 4 R
-1 0 V
-0 1 V
-0 -5 R
-0 5 R
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-3 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1686 898 L
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-0 -1 R
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 1951 R
-1 -1950 R
-0 1982 R
-1 -1981 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 2068 R
-1 -2068 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 831 R
-0 -831 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-1 1 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-11 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1760 943 L
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1056 R
-0 -1056 R
-0 3350 R
-0 -1931 R
-0 -1419 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1824 988 L
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-2 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 3305 R
-0 -3305 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1389 R
-0 -1389 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1679 R
-0 -1679 R
-0 1 V
-0 2255 R
-0 -2255 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-0 2332 R
-0 -2332 R
-1 0 V
-0 2333 R
-0 -2333 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-1884 1029 L
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1628 R
-0 -1628 R
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-0 1188 R
-0 -1188 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-0 1792 R
-0 572 R
-0 -702 R
-0 -1662 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1515 R
-0 -1514 R
-0 -525 R
-0 -45 R
-0 3072 R
-0 -1153 R
-0 1337 R
-0 -2446 R
-0 1527 R
-0 1 V
-0 -1759 R
-0 2493 R
-1939 3568 L
-0 -2502 R
-0 1 V
-0 2501 R
-0 -2501 R
-0 1767 R
-0 919 R
-0 -2446 R
-0 -240 R
-1 0 V
--1 2502 R
-1 0 V
--1 -735 R
-1 0 V
-0 -1767 R
-0 -570 R
-0 3072 R
-0 -3072 R
-0 3256 R
-0 -918 R
-0 -1528 R
-0 -765 R
-0 534 R
-0 -9 R
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-0 2501 R
-0 -734 R
-0 -2337 R
-0 570 R
-1 0 R
-0 -525 R
-0 525 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 -9 R
-0 9 R
-0 1341 R
-0 -1341 R
-0 1 V
-1 0 V
-0 -9 R
-0 9 R
-0 -534 R
-0 3211 R
-0 -918 R
-0 -1528 R
-0 -231 R
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 233 R
-0 2446 R
-0 -2679 R
-0 -577 R
-0 577 R
-0 1 V
-0 1341 R
-0 418 R
-1 -1759 R
-0 1341 R
-0 1152 R
-0 -2493 R
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-0 251 R
-0 -251 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 3355 R
-0 -2043 R
-0 1220 R
-0 -2531 R
-0 1703 R
-0 -1703 R
-1973 1090 L
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 419 R
-0 -419 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1296 R
-0 -1294 R
-0 1 V
-0 -3 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-0 -3 R
-0 1 V
-0 2 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-2034 1132 L
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
--1 1929 R
-1 0 V
-0 -1929 R
-0 1 V
-0 1928 R
-0 -1928 R
-0 1928 R
-0 -1928 R
-0 1928 R
-0 1 V
-0 -1929 R
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-0 1925 R
-0 -1925 R
-0 1925 R
-0 -1925 R
-0 1925 R
-0 -1925 R
-1 0 V
-0 1 V
-1 0 V
--1 -617 R
-1 617 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 -595 R
-0 595 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-2089 1171 L
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 -338 R
-0 338 R
-0 1 R
-1 0 V
-0 1577 R
-0 -1577 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-0 2173 R
-0 -2173 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 3369 R
-0 -3368 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-2152 1214 L
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-2 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 -124 R
-0 124 R
-0 1 V
-1 0 V
-1 1 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-2218 1260 L
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 810 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-2287 2117 L
-0 -805 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1584 R
-1 -173 R
-0 173 R
-0 -1583 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-3 1 R
-1 0 V
-0 1 R
-0 2352 R
-0 -2563 R
-0 211 R
-1 0 R
-0 1 V
-1 0 V
-1 9 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-2355 1367 L
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 -300 R
-1 301 R
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-38 2926 R
-72 144 R
-13 -838 R
-38 -2238 R
-0 1 V
-17 1754 R
-0 -2456 R
-22 1310 R
-7 1398 R
-2617 580 M
-42 2455 R
-29 -1362 R
-1 0 V
-0 1 V
-1 0 V
-2 1 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
--1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-2 1 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-0 2436 R
-1 -2436 R
-0 1 V
-1 0 R
-2710 1687 L
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-0 1727 R
-0 1 V
-0 -1934 R
-0 206 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-0 1210 R
-1 -1210 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-0 1211 R
-1 -1210 R
-0 1210 R
-0 -1210 R
-0 1210 R
-1 -1210 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-0 1 V
-0 1210 R
-0 -1210 R
-0 1210 R
-1 -1210 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-2761 1724 L
-0 1210 R
-0 -1210 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 4 R
-0 -3 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-2 2 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 R
-1 -5 R
-1 0 V
-0 1 R
-1 5 R
-1 1 R
-1 2 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 2284 R
-0 -2284 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-2827 1771 L
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 1 V
-1 0 V
-1 0 V
-0 1 R
-0 1073 R
-0 -1073 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-0 2768 R
-0 -2768 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-0 -1 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-2892 1815 L
-0 1 V
-2 1 R
-0 -1181 R
-1 1434 R
-1 1357 R
-0 324 R
-0 -3045 R
-1 1112 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 -615 R
-0 2065 R
-0 -1450 R
-1 0 V
-1 1 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-1 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-2963 1862 L
-0 3 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-0 -2 R
-0 1 R
-0 1 R
-0 3 R
-0 -1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-1 3 R
-0 -1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-0 3 R
-0 -1 R
-0 -1 R
-0 1 R
-0 -3 R
-0 2 R
-0 -1 R
-0 2 R
-0 1 R
-0 -5 R
-0 1 R
-0 1 R
-0 3 R
-0 -2 R
-0 1 V
-0 -1 R
-0 -2 R
-0 -1 R
-0 2 R
-0 -2 R
-0 1 R
-0 -1 R
-0 1 R
-0 4 R
-0 -2 R
-0 -1 R
-0 2 R
-0 1 R
-0 -2 R
-0 1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-1 -1 R
-0 1 V
-0 3 R
-0 -1 R
-0 -2 R
-0 1 V
-0 2 R
-0 -1 R
-0 1 V
-0 -2 R
-0 2 R
-0 -3 R
-0 1 R
-0 2 R
-0 1 R
-0 -2 R
-0 1 R
-0 -5 R
-0 1 R
-0 1 R
-0 1 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-0 3 R
-0 -1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-0 1 R
-1 0 V
--1 -1 R
-1 0 V
--1 2 R
-1 0 V
--1 1 R
-1 0 V
--1 -3 R
-1 0 V
--1 -2 R
-1 0 V
--1 1 R
-1 0 V
--1 1 R
-1 0 V
--1 3 R
-1 0 V
-0 -1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-0 1 R
-0 -1 R
-0 2 R
-0 -3 R
-0 2 R
-0 2 R
-0 -3 R
-2966 1865 L
-0 -3 R
-0 5 R
-0 -1 R
-0 -3 R
-0 1 V
-0 1 R
-0 1 R
-0 1 V
-0 -2 R
-0 2 R
-0 -3 R
-0 1 R
-0 2 R
-0 1 R
-0 -2 R
-1 -1 R
-0 -1 R
-0 -2 R
-0 1 R
-0 2 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-0 3 R
-0 -1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-0 1 R
-0 -1 R
-0 2 R
-0 -3 R
-0 2 R
-0 2 R
-0 -2 R
-0 1 V
-0 -1 R
-0 -2 R
-0 -1 R
-0 2 R
-0 3 R
-0 -5 R
-0 1 R
-0 1 R
-0 1 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-0 3 R
-1 0 V
--1 -1 R
-1 0 V
--1 -3 R
-1 0 V
--1 -1 R
-1 0 V
--1 1 R
-1 0 V
--1 1 R
-1 0 V
--1 0 R
-1 0 V
-0 1 R
-0 -1 R
-0 2 R
-0 -3 R
-0 2 R
-0 2 R
-0 -2 R
-0 1 V
-0 -1 R
-0 -2 R
-0 -1 R
-0 2 R
-0 3 R
-0 -5 R
-0 1 R
-0 1 R
-0 1 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-0 3 R
-0 -1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-1 1 R
-0 -1 R
-0 2 R
-0 -3 R
-0 2 R
-0 2 R
-0 -3 R
-0 1 V
-0 -3 R
-0 5 R
-0 -1 R
-0 -3 R
-0 2 R
-0 2 R
-0 1 R
-0 -2 R
-0 -2 R
-0 1 R
-0 -1 R
-0 -2 R
-0 1 R
-0 2 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-1 3 R
-0 -2 R
-2970 1866 L
-0 -1 R
-0 1 R
-0 1 R
-0 -1 R
-0 -1 R
-0 1 R
-0 -3 R
-0 2 R
-0 -1 R
-0 2 R
-0 1 R
-0 -5 R
-0 1 R
-0 1 R
-0 3 R
-0 -2 R
-0 1 V
-0 -1 R
-0 -2 R
-0 -1 R
-0 1 R
-0 1 R
-0 1 R
-0 -1 R
-0 2 R
-0 -4 R
-0 1 R
-0 2 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-0 2 R
-0 -1 R
-0 1 R
-0 -3 R
-0 2 R
-0 -1 R
-0 2 R
-0 -2 R
-0 3 R
-1 0 V
-0 -5 R
-0 5 R
-0 1 R
-0 -2 R
-0 -2 R
-0 1 R
-0 -1 R
-0 -2 R
-0 1 R
-0 2 R
-0 -1 R
-0 2 R
-0 1 R
-0 -3 R
-0 3 R
-0 -1 R
-0 -3 R
-0 -1 R
-0 1 R
-0 1 R
-0 3 R
-0 1 V
-0 -1 R
-1 0 V
--1 1 R
-1 0 V
--1 0 R
-1 0 V
--1 -2 R
-1 0 V
--1 -2 R
-1 0 V
--1 1 R
-1 0 V
-0 3 R
-0 -1 R
-0 1 R
-0 -2 R
-0 -2 R
-0 1 R
-0 3 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-0 2 R
-1 0 V
--1 -1 R
-1 0 V
--1 -1 R
-1 0 V
-0 2 R
-0 -1 R
-0 -1 R
-0 2 R
-0 -1 R
-0 -1 R
-0 2 R
-0 -1 R
-0 -1 R
-0 1 R
-0 -1 R
-0 1 R
-0 -1 R
-1 1 R
-0 -1 R
-0 1 R
-0 -1 R
-2976 1871 L
-0 1 V
-0 -1 R
-0 1 R
-0 -1 R
-0 -1 R
-0 2 R
-0 -1 R
-0 -1 R
-0 2 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-0 2373 R
-0 -2373 R
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-3037 1914 L
-1 0 R
-0 1 V
-1 0 V
-2 1 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-0 1583 R
-0 -1583 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-0 2 R
-1 0 V
--1 -2 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-0 -1 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 26 R
-0 1178 R
-0 -1596 R
-0 1 V
-0 417 R
-0 1178 R
-0 -1595 R
-0 393 R
-1 0 V
-1 1 V
-0 -93 R
-1 93 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-3096 1956 L
-1 1 V
-0 1057 R
-0 -1057 R
-0 1057 R
-0 1 V
-0 -1058 R
-2 1 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-2 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1039 R
-0 -1039 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-3163 2002 L
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-7 13 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 -1358 R
-0 55 R
-0 -55 R
-0 1358 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-3235 2060 L
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1086 R
-0 -1086 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 7 R
-0 -7 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-3300 2104 L
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-0 819 R
-0 -819 R
-0 819 R
-0 -819 R
-1 0 V
-0 1 V
-0 819 R
-0 -819 R
-1 0 V
-0 1 V
-1 0 V
--1 819 R
-1 -819 R
-0 1 R
-1 0 V
-1 2 R
-1 1 R
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 1 R
-1 1 R
-1 0 V
-0 -3 R
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-0 2169 R
-0 -2169 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-3358 2145 L
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 -1661 R
-0 1661 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-0 625 R
-0 -437 R
-0 -188 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-0 285 R
-0 -1452 R
-0 1167 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-0 -836 R
-1 836 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-3420 2187 L
-1 0 R
-0 1 V
-0 -245 R
-0 245 R
-1 0 R
-0 1994 R
-0 -1993 R
-1 0 V
-3 65 R
-1 -65 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 2063 R
-0 -2063 R
-0 1 R
-3479 2225 L
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-0 -1188 R
-0 1188 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-0 1374 R
-1 -1374 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 333 R
-0 -333 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 4 R
-1 0 V
-0 1 V
-3544 2273 L
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-3 5 R
-1 0 R
-0 1 R
-1 0 V
-0 -1537 R
-0 1537 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 313 R
-1 -313 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-45 27 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-3657 2349 L
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
--1 990 R
-1 0 V
-0 -990 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
--1 948 R
-1 0 V
-3677 945 M
-1 0 V
-0 1419 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 -1580 R
-0 1580 R
-2 1 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-0 -3 R
-1 0 V
-0 3 R
-1 1 V
-0 1880 R
-0 -1880 R
-0 1880 R
-0 -1880 R
-1 0 V
-0 1 V
-0 -950 R
-0 950 R
-1 0 R
-1 1 V
-0 1881 R
-0 -1881 R
-0 -949 R
-1 949 R
-0 1 V
-0 572 R
-0 -1522 R
-0 1522 R
-0 -572 R
-0 1880 R
-0 1 V
-0 -1881 R
-1 0 V
--1 572 R
-1 0 V
-0 -572 R
-0 -949 R
-0 2830 R
-0 -1881 R
-3705 2383 L
-0 -950 R
-0 2830 R
-0 -1880 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1888 R
-1 0 V
-0 -1888 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 -1186 R
-0 1187 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-0 -1389 R
-0 1389 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1555 R
-0 -1555 R
-0 1 V
-0 1554 R
-0 -1554 R
-1 0 V
-1 1 R
-0 1554 R
-9 -2897 R
-0 2502 R
-0 -1153 R
-0 -1874 R
-0 2292 R
-0 1 V
-0 734 R
-1 0 V
-0 -1152 R
-0 -1874 R
-1 0 V
--1 1874 R
-1 0 V
-0 -1919 R
-0 1919 R
-0 1153 R
-0 -2502 R
-0 -570 R
-0 1919 R
-0 -1349 R
-0 1349 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-0 -1342 R
-0 1 V
-0 -578 R
-0 1919 R
-0 -1874 R
-0 -45 R
-0 2338 R
-0 1334 R
-0 -3672 R
-0 2338 R
-0 -419 R
-0 -1341 R
-0 2493 R
-0 1 R
-0 -1153 R
-3760 2420 L
--1 -1049 R
-1 0 V
--1 2737 R
-1 0 V
--1 -1688 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-0 -1296 R
-0 1296 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-2 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-0 -1843 R
-1 0 V
--1 1843 R
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-0 -48 R
-0 48 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-3822 2465 L
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-0 1689 R
-0 -3644 R
-0 2124 R
-0 1 V
-0 -170 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 656 R
-0 -656 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 R
-0 -1596 R
-0 1596 R
-3884 2507 L
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-1 0 R
-0 1 V
-1 1 R
-1 0 R
-3 2 R
-1 1 R
-1 0 R
-1 1 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 -179 R
-0 180 R
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 R
-3954 2555 L
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 983 R
-0 -983 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 R
-1 -1313 R
-0 1313 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-0 135 R
-1 0 V
--1 -133 R
-1 0 V
--1 135 R
-1 0 V
--1 -136 R
-1 0 V
-1 137 R
-0 -136 R
-0 135 R
-1 0 V
--1 -135 R
-1 0 V
-0 135 R
-0 -135 R
-0 135 R
-0 -135 R
-0 135 R
-0 -135 R
-0 135 R
-0 -135 R
-2 136 R
-0 -136 R
-0 134 R
-0 -132 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-4007 2592 L
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-0 -1145 R
-0 1145 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-4070 2637 L
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-5 -1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 -169 R
-0 -1955 R
-0 2124 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-4141 2680 L
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-0 -1149 R
-1 1149 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-0 -756 R
-0 1 V
-0 755 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 -135 R
-0 135 R
-0 -135 R
-0 144 R
-0 174 R
-0 -174 R
-0 1 V
-0 -145 R
-1 0 R
-0 135 R
-0 -134 R
-0 134 R
-0 -133 R
-0 135 R
-0 -136 R
-0 134 R
-0 1 V
-1 0 V
-0 -134 R
-0 136 R
-1 0 V
--1 -135 R
-4194 2583 L
--1 -1 R
-1 0 V
-0 136 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-0 882 R
-0 -882 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 7 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-2 1 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-4255 2769 L
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-0 -626 R
-0 626 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
--1 1630 R
-1 -1630 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-0 613 R
-1 0 V
-1 5 R
-2 -1050 R
-0 990 R
-0 -990 R
-3 436 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 -373 R
-0 373 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-4321 2814 L
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-4 -1805 R
-1 1805 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 -1525 R
-0 1526 R
-0 1 R
-0 1 V
-1 302 R
-0 1 V
-0 -1596 R
-0 418 R
-1 0 R
-0 1178 R
-0 -1596 R
-0 1 V
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-1 0 V
--1 -1595 R
-1 0 V
-0 1595 R
-0 -1595 R
-0 1595 R
-0 1 V
-0 -1596 R
-0 1 V
-0 1595 R
-0 -1595 R
-1 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1596 R
-0 -1596 R
-0 1596 R
-1 0 V
--1 -1596 R
-1 1 V
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-1 1596 R
-0 -1596 R
-0 1 V
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1596 R
-1 0 V
--1 -1596 R
-1 1 V
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-0 1595 R
-0 -1595 R
-2 -239 R
-2 0 R
-0 1527 R
-0 -1527 R
-0 1527 R
-0 -1 R
-0 -1 R
-0 -1526 R
-0 1527 R
-1 -1 R
-4360 2830 L
-0 172 R
-0 -172 R
-0 2 R
-0 -1527 R
-0 1527 R
-0 -1527 R
-0 1527 R
-1 0 V
--1 -1527 R
-1 0 V
--1 1525 R
-1 0 V
-1 922 R
-0 -3256 R
-0 2337 R
-0 919 R
-0 -2446 R
-0 1109 R
-0 1337 R
-0 -2446 R
-0 1528 R
-0 918 R
-1 0 V
--1 -2446 R
-1 0 V
--1 1528 R
-1 0 V
--1 -1759 R
-1 0 V
-0 1759 R
-0 -1768 R
-0 1768 R
-0 918 R
-0 -2445 R
-0 -811 R
-0 1 V
-0 2337 R
-0 918 R
-0 -2445 R
-0 -232 R
-0 1 V
-0 1758 R
-0 918 R
-0 -2445 R
-0 1527 R
-0 -2293 R
-0 1 V
-0 3026 R
-0 185 R
-0 -2446 R
-0 1527 R
-0 -2337 R
-0 45 R
-0 2292 R
-1 0 V
-0 919 R
-0 -2446 R
-0 1527 R
-0 1 V
-0 918 R
-0 -2446 R
-0 -810 R
-0 579 R
-0 3310 R
-0 -1551 R
-0 918 R
-0 -918 R
-0 918 R
-0 -2445 R
-0 1527 R
-0 918 R
-0 -2445 R
-0 1527 R
-0 918 R
-0 -2445 R
-0 1527 R
-1 918 R
-0 1 V
-0 -2446 R
-0 1527 R
-0 919 R
-0 -2446 R
-0 1527 R
-0 -2337 R
-0 3256 R
-0 -2446 R
-0 1527 R
-0 919 R
-0 -2446 R
-0 1527 R
-0 1 V
-0 918 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 -2445 R
-0 1527 R
-0 -1527 R
-0 -766 R
-0 -45 R
-0 3257 R
-0 -2446 R
-0 1527 R
-0 -1527 R
-0 2446 R
-1 -2446 R
-4370 1312 L
-0 2445 R
-0 -919 R
-0 -2337 R
-0 570 R
-0 1767 R
-0 1 V
-0 -1527 R
-0 2445 R
-0 -918 R
-0 -1768 R
-0 241 R
-0 2445 R
-0 -2445 R
-1 0 V
--1 2446 R
-1 0 V
-0 725 R
-0 -1903 R
-0 259 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 -1543 R
-0 453 R
-0 1090 R
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 -659 R
-0 659 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1748 R
-0 -1748 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-4422 2874 L
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 266 R
-0 -266 R
-0 -2190 R
-0 2190 R
-1 0 V
-0 266 R
-0 -266 R
-0 266 R
-1 -2456 R
-0 2190 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-0 73 R
-0 -73 R
-1 0 V
-1 1 V
-1 0 V
--1 4 R
-1 -4 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 -4 R
-0 4 R
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-0 -1885 R
-0 1885 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1217 R
-0 -1217 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 -1574 R
-0 1574 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-4479 2912 L
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-0 -1 R
-0 1 R
-0 -1 R
-1 1 R
-1 0 V
-0 1 R
-0 1 R
-0 -1 R
-1 0 V
--1 1 R
-1 0 V
-0 -1 R
-0 2 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-0 -1 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 -819 R
-0 819 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 -819 R
-0 819 R
-1 1 V
-1 0 V
-0 1 R
-0 -819 R
-0 819 R
-1 0 V
-0 -1210 R
-0 1211 R
-0 -1211 R
-1 0 V
--1 1211 R
-1 0 V
-0 -1211 R
-0 1211 R
-0 -1210 R
-0 1210 R
-0 -1210 R
-1 0 V
--1 1210 R
-1 0 V
-0 -1210 R
-0 1211 R
-0 -1211 R
-1 0 V
--1 1211 R
-1 0 V
-0 -1211 R
-0 1 V
-0 1210 R
-0 -1210 R
-0 1210 R
-0 -1210 R
-0 1211 R
-0 -1211 R
-0 1211 R
-1 -1211 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-0 1211 R
-0 -1211 R
-0 1 V
-0 1210 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-4517 2939 L
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 -1 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-0 -73 R
-0 73 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-0 -576 R
-0 -3 R
-1 0 V
-0 3 R
-1 1 V
-0 1880 R
-0 -1880 R
-0 -950 R
-0 950 R
-1 0 V
-0 -949 R
-0 950 R
-1 0 R
-0 1 V
-1 0 R
-0 1881 R
-0 -1881 R
-1 0 V
--1 -949 R
-1 0 V
-0 949 R
-0 1 V
-0 572 R
-0 -1522 R
-0 1522 R
-1 0 V
--1 -572 R
-1 0 V
--1 1880 R
-0 1 V
-1 -1881 R
-0 572 R
-0 -572 R
-0 -949 R
-0 2830 R
-0 -1881 R
-0 1 V
-0 -950 R
-0 2830 R
-0 -1880 R
-1 0 V
-0 572 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-4562 2963 L
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 R
-0 1206 R
-0 -1206 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 -1894 R
-0 1894 R
-1 0 V
-0 1 R
-1 0 V
-0 350 R
-0 -349 R
-1 420 R
-0 -420 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-4624 3007 L
-1 1 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 1 V
-1 -290 R
-0 -1944 R
-0 1800 R
-2 435 R
-1 1 R
-0 14 R
-0 -14 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-0 -654 R
-0 1246 R
-0 -591 R
-1 0 V
-0 -14 R
-0 14 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 -775 R
-0 775 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-4689 3054 L
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1155 R
-0 1 V
-0 -1156 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-5 -2510 R
-10 2558 R
-4 -543 R
-54 542 R
-1 0 V
-28 -23 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-4 3 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 -18 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-14 -1394 R
-15 2815 R
-4 -3489 R
-1 3109 R
-1 0 V
-0 1 R
-1 0 V
-2 -1028 R
-1 1 R
-1 1033 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-2 1 V
-1 1 V
-1 0 R
-1 1 V
-2 1 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 1 R
-1 0 V
-7 -413 R
-1 425 R
-1 0 V
-0 1 R
-24 419 R
-68 -172 R
-21 -2146 R
-5014 2264 L
-12 2164 R
-15 -3250 R
-11 1261 R
-19 -228 R
-1 0 V
-0 1 R
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 V
-0 -1 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-5097 497 M
-19 34 R
-39 2826 R
-0 -471 R
-1 471 R
-0 -2332 R
-0 2332 R
-0 1 V
-1 0 V
-0 -2333 R
-0 2333 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 -2173 R
-0 2173 R
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-2 1 R
-0 1 R
-1 0 R
-1 1 V
-1 -3 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-5203 3387 L
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 -1447 R
-0 1447 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-5 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-0 -614 R
-0 1 V
-1 0 V
--1 613 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 -615 R
-0 616 R
-0 -616 R
-0 616 R
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-3 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-5276 3432 L
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 24 R
-0 -24 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 R
-1 0 R
-2 1 R
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-5342 3479 L
-0 752 R
-0 -752 R
-1 0 V
--1 752 R
-1 1 V
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-1 0 V
--1 -753 R
-1 1 V
-0 753 R
-1 0 V
--1 -753 R
-1 0 V
-0 753 R
-2 2 V
--2 -755 R
-0 1 V
-2 1 V
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-1 0 V
--1 753 R
-1 0 V
-0 -753 R
-0 753 R
-0 -752 R
-0 752 R
-0 1 V
-0 -753 R
-1 0 V
--1 753 R
-1 0 V
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-0 -752 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-0 -2288 R
-0 -294 R
-0 2185 R
-0 -1480 R
-0 1275 R
-0 1 V
-0 -2052 R
-0 2053 R
-0 -2053 R
-0 71 R
-1 0 V
-0 -70 R
-0 2050 R
-0 1 V
-0 601 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 687 R
-0 -687 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-5376 3502 L
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-5426 882 M
-1 0 V
-0 2655 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-2 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 R
-5446 3550 L
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-0 -1153 R
-0 1153 R
-0 -3027 R
-0 1875 R
-0 -1350 R
-0 2502 R
-0 -734 R
-1 0 V
--1 918 R
-1 0 V
--1 -2445 R
-1 0 V
--1 -232 R
-1 1 V
--1 -580 R
-1 1 V
-0 3071 R
-0 -3071 R
-0 569 R
-0 1 V
-0 2501 R
-0 1 V
-0 -735 R
-0 1 V
-0 918 R
-0 -2446 R
-0 1109 R
-1 0 V
-0 1 V
-0 1152 R
-1 -733 R
-0 -1527 R
-0 2261 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-0 -734 R
-0 -2337 R
-0 577 R
-0 1 V
-0 2493 R
-1 0 V
-0 -2493 R
-0 1341 R
-0 1152 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-0 -2429 R
-0 2429 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-5490 3580 L
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-0 82 R
-1 -82 R
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 4 R
-0 -2800 R
-0 4 R
-0 2792 R
-0 4 R
-0 -2800 R
-0 4 R
-0 -8 R
-0 2800 R
-0 1 V
-0 3 R
-0 -2800 R
-0 4 R
-0 -7 R
-0 2800 R
-0 3 R
-0 -2800 R
-0 4 R
-0 -7 R
-0 3 R
-0 4 R
-0 2793 R
-1 0 V
-5519 804 M
-0 4 R
-0 1 V
-0 -8 R
-0 2803 R
-0 -2803 R
-1 0 V
--1 3 R
-1 0 V
--1 5 R
-1 0 V
--1 2795 R
-1 0 V
-0 -2803 R
-0 3 R
-0 1 V
-0 4 R
-0 2792 R
-0 -2800 R
-0 4 R
-0 4 R
-0 2795 R
-0 1 V
-0 -2800 R
-0 4 R
-0 -8 R
-0 2804 R
-0 -2800 R
-0 4 R
-0 -8 R
-0 2800 R
-0 -2796 R
-0 4 R
-0 2796 R
-0 -2804 R
-0 2800 R
-0 -2796 R
-0 4 R
-0 2796 R
-0 -2800 R
-5521 805 L
--1 4 R
-1 0 V
-0 -7 R
-0 2800 R
-0 3 R
-0 -2800 R
-0 1 R
-0 2799 R
-0 -2799 R
-0 -4 R
-0 2800 R
-0 -2797 R
-0 1 V
-0 2796 R
-0 -2800 R
-0 4 R
-0 2796 R
-0 -2800 R
-0 3 R
-0 1 R
-0 2796 R
-0 -2800 R
-0 2800 R
-0 -2792 R
-0 -4 R
-0 2796 R
-0 -2800 R
-0 3 R
-0 1 R
-0 2796 R
-0 -2800 R
-0 2800 R
-0 -2792 R
-0 -4 R
-0 2796 R
-0 -2800 R
-0 3 R
-0 1 R
-0 2796 R
-0 -2800 R
-0 2800 R
-0 -2792 R
-0 -4 R
-0 2796 R
-0 -2800 R
-0 3 R
-0 1 R
-0 2796 R
-0 -2800 R
-0 2800 R
-0 -2792 R
-0 -4 R
-0 2796 R
-0 -2800 R
-0 3 R
-0 1 R
-0 2796 R
-0 -2800 R
-0 2800 R
-0 -2792 R
-1 2795 R
-0 -2795 R
-0 -4 R
-0 1 V
-1 0 V
-0 2796 R
-0 3 R
-0 1 V
-0 -2804 R
-0 5 R
-0 2799 R
-0 -4 R
-0 -2800 R
-0 1 V
-0 4 R
-0 2869 R
-0 -70 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 -882 R
-0 882 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 108 R
-1 -104 R
-0 1 R
-1 0 R
-5542 3623 L
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 -151 R
-0 151 R
-1 1 V
-1 0 V
-0 36 R
-0 -36 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 -2857 R
-0 2857 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-0 -865 R
-0 865 R
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-0 -36 R
-0 36 R
-1 0 V
-0 1 V
-1 0 V
-0 -3169 R
-0 3169 R
-5600 3664 L
-1 0 V
--1 -82 R
-1 0 V
-0 -3088 R
-0 3170 R
-1 1 R
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 -773 R
-2 775 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-0 -1 R
-0 1 V
-1 0 V
--1 -1 R
-1 1 R
-1 1 V
-1 0 V
-0 1 V
-0 -2180 R
-0 2180 R
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 -1305 R
-0 1305 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-5663 3707 L
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 -1031 R
-0 1031 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-3 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 -3254 R
-0 3254 R
-0 1 V
-0 -919 R
-0 -1527 R
-1 -335 R
-0 -474 R
-0 2337 R
-0 -1527 R
-0 2446 R
-0 -1 R
-0 -2445 R
-0 2445 R
-0 -2445 R
-1 2445 R
-0 -2445 R
-1 -810 R
-0 2337 R
-0 919 R
-0 -2446 R
-0 1109 R
-0 1337 R
-0 -2446 R
-0 1528 R
-0 918 R
-0 -2446 R
-0 1528 R
-0 -1759 R
-0 1759 R
-0 -1768 R
-0 1768 R
-0 918 R
-0 -2445 R
-0 -811 R
-5730 497 L
-0 2337 R
-0 918 R
-0 -2445 R
-0 -232 R
-0 1 V
-0 1758 R
-0 918 R
-0 -2445 R
-0 1527 R
-0 -2293 R
-1 1 V
--1 3026 R
-1 185 R
-0 -2446 R
-0 1527 R
-0 -2337 R
-0 45 R
-0 2292 R
-0 919 R
-0 -2446 R
-0 1527 R
-0 1 V
-0 918 R
-0 -2446 R
-0 -810 R
-0 579 R
-0 3310 R
-0 -1551 R
-0 918 R
-0 -918 R
-1 918 R
-0 -2445 R
-0 1527 R
-0 918 R
-0 -2445 R
-0 1527 R
-0 918 R
-0 -2445 R
-0 1527 R
-0 918 R
-0 1 V
-0 -2446 R
-0 1527 R
-0 919 R
-0 -2446 R
-0 1527 R
-0 -2337 R
-0 3256 R
-0 -2446 R
-0 1527 R
-0 919 R
-1 0 V
--1 -2446 R
-1 0 V
--1 1527 R
-1 1 V
-0 -2338 R
-0 810 R
-0 1528 R
-1 0 R
-0 1 R
-0 -2293 R
-1 2293 R
-0 1 V
-1 0 V
-0 -2293 R
-0 2293 R
-1 0 R
-0 -2337 R
-0 45 R
-0 765 R
-0 2446 R
-0 -2446 R
-0 1 V
-0 2445 R
-0 -919 R
-0 1 V
-0 1334 R
-0 -3672 R
-0 2338 R
-0 1334 R
-0 -415 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-5753 3768 L
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-0 -2278 R
-0 2278 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-5821 3815 L
-0 1 V
-0 -3070 R
-0 3070 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-2 0 R
-0 1 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 -3260 R
-0 3260 R
-0 -3260 R
-0 3260 R
-1 5 R
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-5885 3864 L
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-2 1 V
-1 1 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-2 1 R
-0 -1019 R
-0 -1392 R
-1 2412 R
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-2 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-1 1 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-0 -1 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-5961 3917 L
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-0 -2132 R
-0 2132 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 555 R
-0 -555 R
-0 1 V
-1 0 V
-0 2 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 -451 R
-0 451 R
-1 0 R
-0 1 V
-0 -1554 R
-1 0 V
-0 1554 R
-6025 3964 L
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-0 5 R
-0 -5 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 -5 R
-0 5 R
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-6092 4010 L
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 8 R
-0 -8 R
-0 8 R
-0 -8 R
-0 9 R
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-2 2 R
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-0 -1089 R
-0 1089 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
--1 482 R
-1 -481 R
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-0 -2284 R
-0 2284 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-6154 4063 L
-1 0 V
-6154 798 M
-1 0 V
-0 3265 R
-1 1 V
-0 -880 R
-0 880 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-4 383 R
-8 -1431 R
-6 1109 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 1 R
-0 1 V
-1 0 R
-1 1 V
-1 1 V
-2 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-2 2 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 -3028 R
-0 3028 R
-6238 4169 L
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 -1334 R
-0 -2338 R
-0 2338 R
-0 1334 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-0 -687 R
-0 687 R
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 0 R
-0 1 R
-1 3 R
-1 0 V
-0 1 V
-2 0 R
-18 15 R
-1 -1 R
-0 272 R
-0 -3943 R
-0 3943 R
-0 -3943 R
-0 3672 R
-0 271 R
-1 -272 R
-0 272 R
-0 -3943 R
-0 3671 R
-0 272 R
-0 -272 R
-0 1 V
-0 271 R
-0 -271 R
-0 271 R
-1 -271 R
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-6312 4223 L
-0 1 R
-1 0 R
-0 -1148 R
-0 1148 R
-0 -2627 R
-0 2627 R
-1 1 R
-0 1 R
-1 0 V
-1 0 V
-1 3 R
-1 0 V
-0 1 V
-1 0 R
-2 -752 R
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-0 1 V
-0 752 R
-0 -752 R
-1 0 V
--1 752 R
-1 1 V
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-1 0 V
--1 -753 R
-1 1 V
-0 753 R
-1 0 V
--1 -753 R
-1 0 V
-0 753 R
-2 2 V
--2 -755 R
-0 1 V
-2 1 V
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-0 -753 R
-1 0 V
--1 753 R
-1 0 V
-0 -753 R
-0 753 R
-0 -752 R
-0 752 R
-0 1 V
-0 -753 R
-1 0 V
--1 753 R
-1 0 V
-0 -753 R
-0 753 R
-0 -753 R
-0 753 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-0 -3593 R
-1 0 V
-0 3593 R
-0 1 R
-0 -2577 R
-0 2577 R
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 -2796 R
-0 2796 R
-6350 4251 L
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-0 -2830 R
-0 950 R
-1 1880 R
-0 1 V
-1 0 V
-0 -1880 R
-0 -950 R
-0 2830 R
-1 1 V
-0 -2830 R
-0 2830 R
-1 1 V
-1 0 V
-0 -1880 R
-0 -950 R
-0 2830 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-0 -2831 R
-0 2831 R
-0 -2830 R
-0 949 R
-0 1881 R
-1 0 V
--1 -2830 R
-1 0 V
-0 2830 R
-0 1 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-0 -2063 R
-0 2063 R
-1 281 R
-1 -280 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-6405 4291 L
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-0 -3350 R
-0 3350 R
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
--1 -2169 R
-1 2169 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-0 1 R
-0 -1 R
-1 0 R
-0 1 V
-1 0 R
-0 -1 R
-0 1 R
-0 -1 R
-2 2 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 R
-6467 4333 L
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-1 1 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-0 -1410 R
-0 1410 R
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-6533 4379 L
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 -623 R
-0 623 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
--1 -2936 R
-1 0 V
-0 2936 R
-0 1 V
-1 0 V
-1 0 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-0 -1631 R
-1 1631 R
-1 0 V
-0 1 R
-1 0 V
-0 1 R
-1 0 R
-1 0 V
-0 1 V
-6596 4423 L
-0 1 V
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 V
-1 -3404 R
-0 3109 R
-1 0 R
-2 296 R
-1 0 R
-1 0 V
-1 0 V
-0 2 R
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-2 1 R
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-2 2 R
-0 1 V
-1 0 R
-0 6 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-2 1 R
-1 1 V
-1 0 V
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-0 -3398 R
-0 3398 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-0 -33 R
-0 33 R
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-6664 4475 L
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-0 -272 R
-1 0 V
--1 272 R
-1 0 V
-0 1 R
-6 -2448 R
-20 901 R
-5 -631 R
-0 1 V
-5 316 R
-3 -219 R
-0 379 R
-0 -626 R
-14 1219 R
-7 -1667 R
-1 1 V
-1 2594 R
-5 -3565 R
-85 1092 R
-29 2714 R
-1 0 R
-0 1 R
-1 0 R
-1 1 R
-1 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 R
-1 0 R
-0 1 V
-1 0 R
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 3 R
-0 -3 R
-0 3 R
-1 -3 R
-0 1 V
-0 2 R
-0 1 V
-0 -3 R
-0 3 R
-0 -3 R
-0 3 R
-0 -3 R
-1 0 V
-0 3 R
-0 -3 R
-0 3 R
-0 -2 R
-1 0 V
-0 3 R
-0 -3 R
-0 3 R
-0 -3 R
-1 1 V
-0 -3 R
-0 3 R
-0 -3 R
-1 0 V
--1 3 R
-1 0 V
-0 -3 R
-0 3 R
-0 -3 R
-0 3 R
-0 -3 R
-0 1 V
-0 2 R
-0 1 V
-0 -3 R
-0 3 R
-0 -3 R
-6882 4559 L
--1 3 R
-1 0 R
-0 -3 R
-0 3 R
-0 -3 R
-0 3 R
-0 -3 R
-0 3 R
-0 1 V
-1 0 R
-0 -3 R
-0 3 R
-0 -3 R
-0 3 R
-1 0 R
-0 1 V
-0 -4 R
-0 4 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 R
-1 0 R
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-0 -3879 R
-1 3879 R
-0 1 V
-1 0 V
-0 1 R
-1 0 R
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 V
-0 1 R
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-0 -2417 R
-0 595 R
-1 1825 R
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 R
-0 1 R
-1 0 V
-0 1 R
-1 0 V
-1 0 V
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-6939 4604 L
-0 1 V
-1 0 V
-1 1 R
-1 -3993 R
-1 3993 R
-0 1 V
-1 0 V
-0 1 V
-1 0 V
-1 0 V
-0 1 R
-4 0 R
-0 1 V
-1 0 R
-0 1 V
-1 0 V
-1 1 V
-1 0 R
-0 1 V
-1 0 V
-0 6 R
-0 -6 R
-0 1 V
-0 3 R
-0 2 R
-0 -5 R
-1 0 V
-0 5 R
-0 1 V
-0 -6 R
-0 6 R
-0 -4137 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
-0 4131 R
-1 1 R
-1 0 R
-0 1 V
-0 2 R
-0 -2 R
-1 0 R
-1 1 V
--1 2 R
-1 0 V
--1 -6 R
-1 0 V
-0 4 R
-1 0 V
-0 1 V
-stroke
-LT0
-1.00 0.00 0.00 C /Helvetica findfont 140 scalefont setfont
-6941 3743 M
--39 84 R
--12 657 R
--28 -817 R
--12 824 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 -488 R
-0 488 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 3 R
-0 -2 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-6823 4510 L
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 1 R
-0 -1 V
-0 1 R
--1 -482 R
-1 0 V
--1 482 R
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
-6793 4531 L
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 -522 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-0 8 R
-0 -8 R
-0 8 R
-0 -8 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 45 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-6765 4074 L
--1 0 R
--1 1 R
-1 0 V
--2 0 R
-0 1 R
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--3 5 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 1 R
--1 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
--6 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-6720 4104 L
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-0 1 R
-0 -1688 R
-0 1688 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
-1 0 V
--2 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
-0 -2436 R
-0 2436 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
-0 -3427 R
-0 3427 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-6691 4125 L
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--2 -59 R
-0 1 R
-0 -1 V
-0 1 R
-0 58 R
--2 -59 R
-0 1 R
-0 58 R
--2 -59 R
--29 -796 R
-6638 1343 M
--2 695 R
--2 1 R
--1 1 R
--15 1783 R
--29 -930 R
--6 3 R
-6553 1296 M
--11 1518 R
--17 -512 R
--40 1765 R
-6464 2871 M
--10 1592 R
--7 -3294 R
--19 2846 R
--3 -2877 R
--1 2957 R
--6 -1190 R
-6411 522 M
-0 2125 R
-0 -1 V
-0 -169 R
--10 950 R
-0 -703 R
--82 1 R
-0 173 R
-6313 595 M
--20 3602 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-6283 4204 L
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 0 R
-6243 1015 M
--13 555 R
--3 2 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-2 -1 V
--3 2 R
-1 -1 V
--2 2 R
-1 -1 V
--2 1 R
--1 1 R
-1 -1 V
--1 1 R
--1 2 R
-3 -2 V
--6 3 R
-6196 1594 L
--1 2944 R
--1 -2943 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-1 -1 V
--1 1481 R
-1 -1 V
--16 758 R
--5 203 R
-0 -1 V
--2 2 R
--2 -2755 R
--4 3273 R
--7 -943 R
-6079 2373 M
--42 538 R
-1 0 V
-6025 496 M
-0 570 R
-0 2502 R
-0 -1153 R
-0 1337 R
-0 -2446 R
--1 1528 R
-1 -1 V
--1 -1758 R
-0 2493 R
-0 -2502 R
-0 1 R
-0 -1 V
--1 2502 R
-1 0 V
--1 -2501 R
-1 0 V
--1 1767 R
-0 919 R
-0 -2446 R
-0 -240 R
-0 2502 R
-0 -735 R
-0 -1767 R
-0 -570 R
-0 3072 R
-0 -3072 R
-0 3256 R
-0 -918 R
-0 -1528 R
-0 -765 R
-0 534 R
--1 -9 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 2501 R
-0 -734 R
-0 -2337 R
--1 570 R
-1 0 V
--1 0 R
-0 -525 R
-0 2237 R
-0 94 R
--26 -427 R
--28 -242 R
--19 784 R
--44 629 R
--7 -1323 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 1566 R
--14 625 R
-5847 680 M
--15 3756 R
-5821 2751 M
--12 1803 R
-5783 1711 M
--24 2330 R
-5737 2441 M
-0 724 R
-0 -2150 R
-0 1389 R
-0 -1389 R
--7 2948 R
-0 -1554 R
--15 2197 R
-5716 4606 L
-5651 2055 M
--1 455 R
-5622 1460 M
--2 1519 R
-1 0 V
--1 0 R
--6 101 R
--69 186 R
--6 -2203 R
-0 -283 R
--2 2836 R
-5479 2404 M
--5 3 R
-0 477 R
-0 -476 R
-0 -1 V
--1 1555 R
--1 1 R
-1 0 V
--1 -1555 R
-0 1 R
--38 908 R
--16 178 R
--8 -318 R
--32 250 R
--10 103 R
--10 -41 R
--3 -1849 R
-0 1 R
-0 2623 R
-0 -3358 R
-0 734 R
-0 -734 R
-0 734 R
-0 2625 R
-0 -3359 R
-0 734 R
--1 1 R
-0 -1 V
-0 2624 R
-0 -664 R
-0 -2694 R
-0 735 R
-0 2848 R
-0 -1371 R
-0 239 R
-0 908 R
-5246 1755 M
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-0 1 R
-0 338 R
-0 -338 R
--1 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--6 1 R
-0 1 R
-0 -1 V
--1 1 R
--1 1 R
--8 1987 R
--3 -324 R
-0 -703 R
-5159 1355 M
-0 -1 V
--4 40 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--2 1 R
-0 3 R
-0 -3 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--3 1 R
-1 -1 V
--1 1 R
--1 0 R
-5144 1401 L
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--2 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 1666 R
-0 -1666 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-5115 1421 L
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 2830 R
-0 -2830 R
--1 1 R
-0 2830 R
-0 -2830 R
--1 2831 R
-0 -2830 R
--1 0 R
--1 2831 R
-0 -2830 R
-0 950 R
-0 -950 R
-0 2830 R
--1 -2830 R
-0 2831 R
-0 -2831 R
-0 2831 R
-0 -2831 R
-0 1 R
-0 949 R
-0 -949 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 950 R
-0 -950 R
--1 1 R
-1 -1 V
--1 2831 R
-1 0 V
--1 -1881 R
-0 -949 R
-0 2830 R
-0 -2830 R
-0 2830 R
-0 -2830 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-5088 1439 L
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
--1 2261 R
-0 -2261 R
-0 1 R
--1 0 R
-0 1966 R
-0 -2721 R
--1 755 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-5051 1464 L
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 196 R
-0 -196 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-1 -1 V
--2 1 R
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
-1 0 V
--1 0 R
--1 6 R
-0 -6 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-5025 1482 L
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-4998 1501 L
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-4967 1523 L
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-0 -365 R
-0 366 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1149 R
-0 -1 V
-0 -1147 R
--1 2483 R
--1 -2478 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-4934 1550 L
-0 1 R
--1 -719 R
-1 0 V
--1 719 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
-1 0 V
--2 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-0 1620 R
-0 -1620 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--5 2 R
--1 0 R
-1 0 V
--5 1881 R
--4 -1868 R
--1 0 R
--1 1 R
--1 1 R
--1 0 R
-4889 1587 L
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
-1 0 V
--2 0 R
-1 0 V
--1 1 R
-1 -1 V
--3 2 R
-1 -1 V
--1 2 R
-1 -1 V
--3 1 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
--1 1 R
-0 2 R
-3 -2 V
--6 3 R
-1 -1 V
--1 2944 R
--1 -2943 R
--1 0 R
-0 1 R
-0 -1 V
-0 1481 R
-0 -1 V
-4862 1508 M
--15 1598 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--2 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
--1 2 R
-3 -2 V
--5 2 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--5 -1454 R
--1 1 R
-1 -1 V
--1 1 R
--2 1106 R
-4794 1108 M
--4 514 R
--47 -8 R
--6 6 R
--3 2 R
--6 1489 R
--4 -31 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
-4708 1823 M
--45 1340 R
--8 1298 R
-0 -1606 R
-0 -1392 R
-0 -683 R
-0 1944 R
-0 -144 R
-0 144 R
-0 1759 R
-0 -3702 R
-0 -1 V
-0 2118 R
--3 1273 R
--4 -1489 R
--14 -307 R
-4624 1245 M
--20 -90 R
--2 2750 R
--9 -2143 R
--10 1916 R
-0 -1 R
-4507 1617 M
--30 481 R
--8 2201 R
-4449 2783 M
-4443 906 M
--1 3359 R
--9 -512 R
-0 -918 R
-0 -1528 R
-0 -765 R
--5 3416 R
--1 -2285 R
-4428 1673 L
--1 0 R
--1 0 R
--3 2095 R
-1 0 V
--6 563 R
-4408 1798 M
--16 2808 R
-0 -1 V
--22 -647 R
--7 5 R
--1 -1554 R
--1 1879 R
-4354 697 M
-1 0 V
--6 1143 R
-1 0 V
-4348 698 M
-1 -1 V
--42 2610 R
--2 1270 R
--7 -2497 R
--6 -323 R
--1 5 R
--1 0 R
-1 0 V
--15 2346 R
-0 -2737 R
-0 2587 R
-4234 1810 M
--1 0 R
-1 0 V
--1 0 R
--12 88 R
-1 0 V
--2 -92 R
--5 -344 R
--9 -566 R
-0 317 R
--38 3247 R
--7 -1712 R
--12 679 R
--8 -1110 R
-0 -96 R
--2 20 R
-1 0 V
--25 375 R
-4091 945 M
-0 3350 R
-4083 740 M
--27 2384 R
--6 985 R
-4040 2662 M
-0 1 R
--13 673 R
-4015 1666 M
--4 2259 R
-0 -1 V
-3943 720 M
--25 3781 R
-3914 893 M
--27 1500 R
-1 0 V
-3858 544 M
-0 2293 R
-3840 945 M
-0 3350 R
-3830 1362 M
--26 1143 R
--44 -101 R
--1 0 R
-0 -1389 R
-0 1389 R
--2 1 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1555 R
-0 -1554 R
-0 -1 V
-0 1555 R
-0 -1554 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 1554 R
-0 -1554 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-3750 2410 L
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 -1349 R
-0 2502 R
-0 -1153 R
-0 -1874 R
-0 2293 R
-0 -1 V
--1 735 R
-0 -1152 R
-3741 542 M
-1 0 V
--1 1874 R
-1 0 V
-3741 497 M
-0 1919 R
-0 1153 R
-0 -2502 R
-0 -570 R
-0 1919 R
-0 -1349 R
-0 1350 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
--2 2 R
-0 -1919 R
-0 1919 R
-0 -1341 R
-0 -1 V
-0 -577 R
-0 1919 R
-0 -1874 R
-0 -45 R
-0 1919 R
-0 -1919 R
-0 2338 R
-0 1334 R
-0 -3672 R
-0 2338 R
-0 -419 R
-0 -1341 R
--1 1342 R
--5 2069 R
--8 -1110 R
--2 -870 R
-3693 781 M
-3679 502 M
-1 0 V
--8 961 R
--13 2948 R
--7 -2091 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-3644 2325 L
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-0 1012 R
-0 -1012 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 145 R
--1 -145 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--12 336 R
--5 -293 R
-3598 2387 L
--3 1722 R
--13 485 R
--3 -727 R
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-3547 2275 M
--28 -772 R
--45 1177 R
-3464 1448 M
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
--4 2468 R
-0 -1 V
-3431 496 M
-0 2228 R
--1 1150 R
--15 -649 R
--3 -386 R
-0 1334 R
-0 -3672 R
-0 2338 R
--35 1269 R
--44 -747 R
--5 -1742 R
--16 2915 R
-3246 788 M
-1 0 V
--15 -42 R
--49 3613 R
--12 -184 R
--3 83 R
-3156 1285 M
--37 2065 R
-3080 1561 M
--14 2759 R
-3062 817 M
--129 864 R
--3 1453 R
-0 -1595 R
--1 1595 R
-1 0 V
--1 -1595 R
-1 0 V
--1 1596 R
-0 -1596 R
--14 2313 R
--6 -949 R
-2896 834 M
--1 2053 R
-0 -1982 R
--10 1848 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--5 -9 R
--5 507 R
-2865 784 M
--18 1326 R
--13 604 R
-2833 650 M
--9 3591 R
--6 -2377 R
-1 0 V
--1 1541 R
--1 1 R
--1 5 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 -5 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-0 -613 R
-0 613 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--2 -615 R
--1 0 R
-1 0 V
--1 617 R
--1 0 R
--17 -451 R
--18 700 R
-0 -36 R
-2759 1617 M
--69 1524 R
-0 1 R
-2690 3141 L
--1 1 R
-0 -266 R
-0 266 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 -656 R
-1 0 V
--1 656 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 -1086 R
-0 1086 R
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-2662 3161 L
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-2634 3180 L
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 880 R
-0 -1 V
--1 -878 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 -1620 R
-0 1621 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-1 0 V
--2 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-2605 3200 L
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--2 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 -2348 R
-0 2349 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-0 -2516 R
-0 2455 R
-0 64 R
--1 -1552 R
-0 1550 R
-2572 3222 L
--1 1 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
-0 5 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-2546 3246 L
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 -8 R
-0 8 R
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-2514 3268 L
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-0 -2256 R
-0 156 R
--1 2100 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 -2065 R
-0 615 R
-0 1450 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
-2486 3287 L
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--2 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-2453 3310 L
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-1 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
--1 0 R
--1 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
-2421 3332 L
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
--1 1 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-1 -1 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 83 R
-0 -1662 R
-0 1579 R
-0 1 R
-0 -1 V
--1 1 R
-1 0 V
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-1 0 V
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
-0 1 R
-0 -1 V
--1 1 R
--1 -989 R
-0 990 R
--10 275 R
-1 0 V
--1 -387 R
--23 -835 R
--14 66 R
--8 254 R
--16 -696 R
--20 1928 R
--23 578 R
--4 -1033 R
--6 892 R
-2256 1997 M
--15 -869 R
--1 1 R
-0 -1 V
--2 1306 R
-1 0 V
--25 993 R
-2215 3427 L
--1 -703 R
-1 0 V
--1 1150 R
--18 -866 R
--38 -264 R
-0 -1 V
--4 -1527 R
-0 -1 V
--3 1512 R
-2131 1063 M
-0 47 R
-0 2317 R
-0 -847 R
-0 -1800 R
-0 221 R
-0 -220 R
-0 -1 V
-0 2118 R
-0 1586 R
-0 -1586 R
-0 -173 R
--21 -213 R
--30 1878 R
--38 -86 R
-0 -3762 R
--50 1861 R
-1976 902 M
--4 1953 R
--1 1695 R
-1958 641 M
--1 1763 R
--1 0 R
--3 1107 R
-0 451 R
--1 -1554 R
-0 1555 R
--6 -5 R
--1 0 R
--1 1 R
-1 0 V
--1 0 R
--1 1 R
--1 0 R
-1 0 V
--1 0 R
-0 1 R
-0 -1 V
-0 1 R
--1 0 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 -450 R
-0 451 R
--1 0 R
-1 0 V
--1 1 R
-0 -1 V
-0 1 R
--1 -1554 R
-0 1554 R
-0 -2838 R
--4 2496 R
-0 -1336 R
-1900 519 M
-0 -1 V
--36 2321 R
-0 1334 R
-0 -3672 R
-0 2338 R
-0 1334 R
-1762 2477 M
-0 -1955 R
-0 2125 R
-0 -1 V
--4 1397 R
--24 74 R
--1 -711 R
-1711 1463 M
-0 2411 R
-0 -3168 R
-0 2192 R
-0 -1435 R
-0 1964 R
-0 324 R
-1696 906 M
-0 734 R
-0 2625 R
-0 -3359 R
--1 2715 R
-0 -2531 R
--3 2 R
--9 1635 R
--13 180 R
-1636 1143 M
--26 2344 R
-0 -2288 R
-0 2764 R
-1609 780 M
-0 -74 R
-0 295 R
--9 2440 R
-1585 1463 M
--1 -682 R
--17 1151 R
--30 135 R
-1489 746 M
-1489 745 L
-0 1 R
--13 -48 R
-1 0 V
--1 1 R
-1 0 V
--1 1358 R
-0 -1303 R
-0 1 R
--18 2273 R
--12 -784 R
--12 617 R
-1409 746 M
-0 -1 V
-0 1 R
--2 1210 R
-0 1182 R
-0 -1595 R
--18 897 R
--2 1394 R
--23 707 R
-1330 3475 M
--35 128 R
-0 -2799 R
-0 4 R
-0 2799 R
-1274 1597 M
-0 1479 R
-0 1148 R
-1253 3192 M
--28 966 R
-1206 834 M
-1 0 V
--1 2052 R
-0 -1 V
--1 -481 R
--1 0 R
--5 -1266 R
-0 2373 R
--1 -1103 R
--1 1555 R
-1183 1420 M
--18 -381 R
--1 590 R
-0 -1 V
--25 776 R
-1 0 V
--1 0 R
--5 4 R
-0 -1 V
-0 1555 R
--1 -2529 R
-1 0 V
--1 975 R
-0 1555 R
-1122 935 M
-stroke
-1.000 UL
-LTb
-1113 4620 N
-0 -4137 V
-5849 0 V
-0 4137 V
--5849 0 V
-Z stroke
-1.000 UP
-1.000 UL
-LTb
-stroke
-grestore
-end
-showpage
-%%Trailer
-%%DocumentFonts: Helvetica
-%%Pages: 1
diff --git a/bp_doc/dotplot.svg b/bp_doc/dotplot.svg
deleted file mode 100644 (file)
index 682a4fe..0000000
+++ /dev/null
@@ -1,1359 +0,0 @@
-<?xml version="1.0" encoding="utf-8"  standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg width="600" height="480" viewBox="0 0 600 480"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink">
-<desc>Produced by GNUPLOT 4.2 patchlevel 0 </desc>
-
-<defs>
-
-
-       <circle id='gpDot' r='1'/>
-       <path id='gpPt0' style='stroke-width:0.222' d='M-1,0 h2 M0,-1 v2'/>
-       <path id='gpPt1' style='stroke-width:0.222' d='M-1,-1 L1,1 M1,-1 L-1,1'/>
-       <path id='gpPt2' style='stroke-width:0.222' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/>
-       <rect id='gpPt3' style='stroke-width:0.222' x='-1' y='-1' width='2' height='2'/>
-       <use xlink:href='#gpPt3' id='gpPt4' style='fill:currentColor; stroke:none'/>
-       <circle id='gpPt5' style='stroke-width:0.222' cx='0' cy='0' r='1'/>
-       <use xlink:href='#gpPt5' id='gpPt6' style='fill:currentColor; stroke:none'/>
-       <path id='gpPt7' style='stroke-width:0.222' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/>
-       <use xlink:href='#gpPt7' id='gpPt8' style='fill:currentColor; stroke:none'/>
-       <use xlink:href='#gpPt7' id='gpPt9' transform='rotate(180)'/>
-       <use xlink:href='#gpPt9' id='gpPt10' style='fill:currentColor; stroke:none'/>
-       <use xlink:href='#gpPt3' id='gpPt11' transform='rotate(45)'/>
-       <use xlink:href='#gpPt11' id='gpPt12' style='fill:currentColor; stroke:none'/>
-</defs>
-<g style="fill:none; color:white; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,417.0 L574.4,417.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,417.0 L110.0,417.0 M574.4,417.0 L583.4,417.0 '></path>
-       <g transform="translate(101.7,421.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 0</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,373.5 L574.4,373.5 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,373.5 L110.0,373.5 M574.4,373.5 L583.4,373.5 '></path>
-       <g transform="translate(101.7,378.0)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 200000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,329.9 L574.4,329.9 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,329.9 L110.0,329.9 M574.4,329.9 L583.4,329.9 '></path>
-       <g transform="translate(101.7,334.4)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 400000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,286.4 L574.4,286.4 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,286.4 L110.0,286.4 M574.4,286.4 L583.4,286.4 '></path>
-       <g transform="translate(101.7,290.9)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 600000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,242.9 L574.4,242.9 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,242.9 L110.0,242.9 M574.4,242.9 L583.4,242.9 '></path>
-       <g transform="translate(101.7,247.4)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 800000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,199.4 L574.4,199.4 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,199.4 L110.0,199.4 M574.4,199.4 L583.4,199.4 '></path>
-       <g transform="translate(101.7,203.9)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 1e+06</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,155.8 L574.4,155.8 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,155.8 L110.0,155.8 M574.4,155.8 L583.4,155.8 '></path>
-       <g transform="translate(101.7,160.3)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 1.2e+06</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,112.3 L574.4,112.3 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,112.3 L110.0,112.3 M574.4,112.3 L583.4,112.3 '></path>
-       <g transform="translate(101.7,116.8)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 1.4e+06</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,68.8 L574.4,68.8 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,68.8 L110.0,68.8 M574.4,68.8 L583.4,68.8 '></path>
-       <g transform="translate(101.7,73.3)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:end">
-               <text> 1.6e+06</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,417.0 L119.0,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,417.0 L119.0,426.0 M119.0,54.0 L119.0,45.0 '></path>
-       <g transform="translate(119.0,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 0</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M174.4,417.0 L174.4,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M174.4,417.0 L174.4,426.0 M174.4,54.0 L174.4,45.0 '></path>
-       <g transform="translate(174.4,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 200000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M229.9,417.0 L229.9,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M229.9,417.0 L229.9,426.0 M229.9,54.0 L229.9,45.0 '></path>
-       <g transform="translate(229.9,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 400000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M285.3,417.0 L285.3,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M285.3,417.0 L285.3,426.0 M285.3,54.0 L285.3,45.0 '></path>
-       <g transform="translate(285.3,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 600000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M340.7,417.0 L340.7,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M340.7,417.0 L340.7,426.0 M340.7,54.0 L340.7,45.0 '></path>
-       <g transform="translate(340.7,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 800000</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M396.1,417.0 L396.1,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M396.1,417.0 L396.1,426.0 M396.1,54.0 L396.1,45.0 '></path>
-       <g transform="translate(396.1,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 1e+06</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M451.6,417.0 L451.6,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M451.6,417.0 L451.6,426.0 M451.6,54.0 L451.6,45.0 '></path>
-       <g transform="translate(451.6,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 1.2e+06</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M507.0,417.0 L507.0,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M507.0,417.0 L507.0,426.0 M507.0,54.0 L507.0,45.0 '></path>
-       <g transform="translate(507.0,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 1.4e+06</text>
-       </g>
-</g>
-<g style="fill:none; color:gray; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M562.4,417.0 L562.4,54.0 '></path>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M562.4,417.0 L562.4,426.0 M562.4,54.0 L562.4,45.0 '></path>
-       <g transform="translate(562.4,448.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text> 1.6e+06</text>
-       </g>
-       <path d='M119.0,54.0 L119.0,417.0 L574.4,417.0 L574.4,54.0 L119.0,54.0 Z '></path>
-       <g transform="translate(22.5,235.5) rotate(-90)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text>Helicobacter_pylori_26695</text>
-       </g>
-       <g transform="translate(346.7,475.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text>Helicobacter_pylori_J99  </text>
-       </g>
-       <g transform="translate(346.7,31.5)" style="stroke:none; fill:black; font-family:Arial; font-size:12.00; text-anchor:middle">
-               <text>plot_matches</text>
-       </g>
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:2.00; stroke-linecap:butt; stroke-linejoin:miter">
-</g>
-<g style="fill:none; color:red; stroke:currentColor; stroke-width:2.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path style='stroke:rgb(  0, 255,   0)' d='M119.0,417.0 M119.0,416.9 L119.1,416.9 L119.1,416.8 L119.2,416.8 L119.3,416.7 L119.4,416.7 L119.4,416.6 L119.5,416.6 M119.5,416.5 
-               L119.6,416.5 L119.7,416.4 M119.8,416.4 L119.8,416.3 L119.9,416.3 M119.9,270.5 M119.9,416.2 M120.0,416.2 L120.0,416.1 L120.1,416.1 
-               L120.2,416.1 M120.1,416.0 M120.2,416.0 M120.2,138.0 L120.2,137.9 M120.2,416.0 M120.2,137.9 M120.2,416.0 L120.3,416.0 M120.2,416.1 
-               M120.3,416.0 M120.4,130.3 M120.4,415.9 M120.4,130.3 M120.4,210.9 M120.4,344.9 M120.5,344.8 M120.5,130.2 M120.5,210.8 M120.5,415.9 
-               M120.5,210.8 M120.5,344.8 M120.5,130.2 M120.5,210.8 M120.5,415.9 L120.5,415.8 M120.5,411.9 M120.5,365.0 M120.5,365.8 M120.5,411.9 
-               M120.5,210.7 M120.6,365.8 M120.6,247.4 M120.6,415.8 M120.6,210.7 M120.6,130.1 M120.6,344.7 M120.6,415.8 M120.6,365.8 M120.6,415.8 
-               M120.6,210.7 M120.6,130.1 M120.6,344.7 M120.6,247.4 M120.6,415.8 M120.6,130.1 L120.7,130.1 M120.6,210.7 L120.7,210.6 M120.6,344.7 
-               L120.7,344.7 M120.7,415.7 L120.8,415.7 M120.8,415.6 M120.8,104.7 M120.8,415.6 M120.8,344.5 M120.8,415.6 M120.9,415.6 L120.9,415.5 
-               M120.9,129.8 M120.9,415.5 M121.0,415.5 M121.0,411.5 M121.0,415.5 L121.1,415.4 M121.0,146.0 M121.0,210.3 M121.0,411.5 M121.0,344.3 
-               M121.0,129.7 M121.0,411.5 M121.0,247.0 M121.1,247.0 M121.1,415.4 M121.1,210.3 M121.1,415.4 M121.1,210.3 M121.1,415.4 L121.1,415.3 
-               M121.2,415.3 L121.3,415.3 L121.3,415.2 L121.4,415.2 L121.4,415.1 M121.5,415.1 L121.5,415.0 L121.6,415.0 L121.7,414.9 L121.8,414.9 
-               M121.8,414.8 L121.9,414.8 M121.9,414.7 L122.0,414.7 L122.0,414.6 M122.1,414.6 M122.2,414.6 M122.2,414.5 L122.3,414.5 L122.3,414.4 
-               L122.4,414.4 L122.4,414.3 L122.5,414.3 L122.5,414.2 M122.6,414.2 L122.7,414.2 L122.7,414.1 L122.8,414.1 M122.8,414.0 L122.9,414.0 
-               L122.9,413.9 L123.0,413.9 M123.0,313.3 M123.0,413.9 L123.1,413.9 M123.1,413.8 L123.2,413.8 L123.2,413.7 M123.3,413.7 L123.3,413.6 
-               M123.4,413.6 M123.4,413.5 L123.5,413.5 L123.6,413.5 L123.6,413.4 M123.7,413.4 M123.7,413.3 L123.8,413.3 L123.8,413.2 L123.9,413.2 
-               L123.9,413.1 L124.0,413.1 L124.1,413.0 M124.2,413.0 M124.2,412.9 L124.3,412.9 L124.3,412.8 L124.4,412.8 L124.5,412.7 L124.6,412.7 
-               L124.6,412.6 L124.7,412.6 M124.7,358.4 M124.7,412.5 M124.8,412.5 L124.9,412.4 L125.0,412.4 L125.0,412.3 L125.1,412.3 M125.1,412.2 
-               L125.2,412.2 L125.3,412.1 M125.4,412.1 L125.4,412.0 M125.4,89.9 M125.4,66.0 M125.4,412.0 M125.4,66.0 M125.4,412.0 L125.5,412.0 
-               L125.5,411.9 M125.5,344.8 M125.5,130.2 M125.5,210.8 M125.5,415.9 M125.5,130.2 M125.5,344.8 M125.5,411.9 M125.5,146.3 M125.5,210.8 
-               M125.5,415.8 M125.5,365.0 M125.5,365.8 L125.6,365.8 M125.5,411.9 L125.6,411.9 M125.6,365.8 M125.6,411.9 M125.6,210.7 M125.6,130.1 
-               M125.6,344.7 M125.6,365.0 M125.6,415.8 M125.6,411.9 M125.6,146.3 M125.6,411.9 L125.6,411.8 M125.6,210.7 M125.6,130.1 M125.6,344.7 
-               M125.6,247.4 M125.6,411.8 M125.7,411.8 M125.7,365.0 L125.7,364.9 M125.7,130.1 M125.7,210.7 M125.7,344.7 M125.7,411.8 L125.7,411.7 
-               M125.8,411.7 M125.8,344.6 M125.8,210.6 M125.8,411.7 L125.9,411.7 M125.9,411.6 M125.9,210.4 M126.0,55.2 M126.0,411.5 M126.0,210.4 
-               M126.0,129.8 M126.0,344.4 M126.0,411.5 M126.0,415.5 M126.0,129.8 M126.0,411.5 M126.1,411.5 M126.1,210.3 M126.1,415.4 M126.1,411.5 
-               M126.1,247.0 M126.1,411.5 M126.1,415.4 M126.1,411.5 L126.1,411.4 M126.1,247.0 M126.1,99.0 M126.1,411.4 L126.2,411.4 M126.3,85.2 
-               M126.3,143.5 M126.3,379.9 M126.3,315.4 M126.3,411.3 L126.4,411.3 L126.4,411.2 M126.5,411.2 L126.5,411.1 L126.6,411.1 M126.7,411.0 
-               L126.8,411.0 M126.8,410.9 L126.9,410.9 L126.9,410.8 L127.0,410.8 L127.0,410.7 M127.1,410.7 L127.2,410.6 M127.3,410.6 L127.3,410.5 
-               L127.4,410.5 L127.4,410.4 M127.5,410.4 M127.7,321.1 M127.8,410.1 M127.9,410.1 M127.9,410.0 L128.0,410.0 M128.1,409.9 M128.2,409.8 
-               M128.3,409.8 M128.3,409.7 L128.4,409.7 M128.4,409.6 L128.5,409.6 L128.5,409.5 L128.6,409.5 L128.7,409.4 L128.8,409.4 L128.8,409.3 
-               L128.9,409.3 L128.9,409.2 M129.0,409.2 L129.0,409.1 L129.1,409.1 L129.2,409.1 L129.2,409.0 L129.3,409.0 M129.3,408.9 L129.4,408.9 
-               M129.4,408.8 L129.5,408.8 M129.6,408.7 L129.7,408.7 M129.7,408.6 L129.8,408.6 M129.8,408.5 L129.9,408.5 L129.9,408.4 L130.0,408.4 
-               M130.1,408.3 L130.2,408.3 L130.2,408.2 L130.3,408.2 M130.3,408.1 L130.4,408.1 L130.4,408.0 L130.5,408.0 M130.6,408.0 L130.6,407.9 
-               L130.7,407.9 M130.7,407.8 M130.8,407.8 L130.8,407.7 M130.9,407.7 L131.0,407.6 M131.1,407.6 L131.1,407.5 M131.2,407.5 L131.2,407.4 
-               L131.3,407.4 M131.3,121.3 M131.3,407.3 M131.4,407.3 M131.5,407.2 M131.5,214.1 M131.5,407.2 L131.6,407.2 M131.6,407.1 M131.7,407.1 
-               L131.7,407.0 L131.8,407.0 M131.8,406.9 L131.9,406.9 M132.0,406.9 L132.0,406.8 M132.1,406.8 L132.1,406.7 M132.2,406.7 M132.2,406.6 
-               L132.3,406.6 M132.3,406.5 L132.4,406.5 L132.5,406.5 L132.5,406.4 L132.6,406.4 L132.6,406.3 L132.7,406.3 M132.7,406.2 M132.8,406.2 
-               L132.9,406.1 L133.0,406.1 M133.0,405.7 M133.0,405.6 M133.1,405.6 M133.7,405.6 M133.8,404.8 M133.8,404.7 L133.9,404.7 L134.0,404.6 
-               L134.1,404.6 L134.1,404.5 M134.2,404.5 L134.2,404.4 L134.3,404.4 L134.3,404.3 L134.4,404.3 L134.5,404.2 L134.6,404.2 L134.6,404.1 
-               L134.7,404.1 L134.7,404.0 L134.8,404.0 L134.8,403.9 L134.9,403.9 L135.0,403.9 L135.0,403.8 L135.1,403.8 M135.1,403.7 L135.2,403.7 
-               L135.2,403.6 L135.3,403.6 M135.3,200.6 L135.3,200.5 M135.3,403.6 M135.3,300.0 L135.3,299.9 M135.3,403.6 L135.3,403.5 L135.4,403.5 
-               L135.5,403.5 M135.5,403.2 M135.5,403.4 M135.5,403.2 M135.5,403.4 M135.6,403.2 M135.6,403.4 M135.7,403.3 M135.8,403.3 M135.9,403.2 
-               L135.9,403.1 M136.0,403.1 M136.0,161.8 M136.1,403.1 L136.1,403.0 M136.2,403.0 M136.2,402.9 L136.3,402.9 L136.3,402.8 M136.4,402.8 
-               M136.5,402.7 L136.6,402.7 M136.6,402.6 L136.7,402.6 L136.7,402.5 L136.8,402.5 M136.8,402.4 L136.9,402.4 L137.0,402.3 L137.1,402.3 
-               M137.1,402.2 L137.2,402.2 M137.2,402.1 M137.3,402.1 L137.3,402.0 L137.4,402.0 L137.5,402.0 M137.5,401.9 L137.6,401.9 L137.6,401.8 
-               L137.7,401.8 L137.7,401.7 M137.8,401.7 L137.8,401.6 L137.9,401.6 L138.0,401.6 L138.0,401.5 M138.1,401.5 M138.1,401.4 L138.2,401.4 
-               M138.2,401.3 M138.3,401.3 L138.4,401.2 L138.5,401.1 M138.6,401.1 L138.7,401.0 L138.7,400.9 L138.8,400.9 M138.9,400.9 M138.9,400.8 
-               L139.0,400.8 L139.0,400.7 L139.1,400.7 L139.1,400.6 L139.2,400.6 M139.3,400.6 L139.3,400.5 L139.4,400.4 M139.5,400.4 L139.5,400.3 
-               L139.6,400.3 L139.6,400.2 L139.7,400.2 L139.8,400.2 L139.8,400.1 L139.9,400.1 L139.9,400.0 L140.0,400.0 M140.0,164.4 M140.0,400.0 
-               L140.0,399.9 L140.1,399.9 M140.2,399.9 L140.2,399.8 L140.3,399.8 L140.3,399.7 L140.4,399.7 L140.4,399.6 M140.5,399.6 L140.6,399.5 
-               L140.7,399.5 L140.7,399.4 L140.8,399.4 L140.8,399.3 M140.9,399.3 L140.9,399.2 M141.0,399.2 L141.0,399.1 L141.1,399.1 M141.1,398.8 
-               M141.2,398.8 L141.2,398.7 L141.3,398.7 L141.3,398.6 L141.4,398.6 L141.5,398.5 L141.6,398.5 L141.6,398.4 L141.7,398.4 L141.7,398.3 
-               L141.8,398.3 M141.8,398.2 L141.9,398.2 M142.0,398.1 M142.0,393.2 M142.0,278.9 M142.0,398.1 L142.1,398.0 M142.2,398.0 L142.2,397.9 
-               M142.2,57.6 M142.2,397.9 M142.3,397.9 M142.3,397.8 L142.4,397.8 M142.4,397.7 L142.5,397.7 L142.6,397.6 L142.7,397.6 L142.7,397.5 
-               L142.8,397.5 M142.8,158.7 M142.8,220.3 M142.8,397.4 M142.9,397.4 L143.0,397.4 L143.0,397.3 L143.1,397.3 L143.1,397.2 L143.2,397.2 
-               L143.2,397.1 L143.3,397.1 M143.4,397.0 M143.5,397.0 L143.5,396.9 M143.6,396.9 M143.6,396.8 L143.7,396.8 L143.7,396.7 L143.8,396.7 
-               M143.9,396.7 L143.9,396.6 L144.0,396.6 M144.0,396.5 L144.1,396.5 L144.1,396.4 L144.2,396.4 M144.2,178.9 M144.3,396.3 M144.4,396.3 
-               L144.4,396.2 L144.5,396.2 L144.5,396.1 L144.6,396.1 L144.6,396.0 L144.7,396.0 L144.8,396.0 L144.8,395.9 L144.9,395.9 L144.9,395.8 
-               M145.0,395.8 L145.0,395.7 M145.1,395.7 L145.1,395.6 L145.2,395.6 L145.3,395.6 M145.3,395.5 M145.4,395.5 L145.4,395.4 L145.5,395.4 
-               M145.5,395.3 L145.6,395.3 L145.7,395.2 L145.8,395.2 L145.8,395.1 M145.9,395.1 L145.9,395.0 L146.0,395.0 L146.0,394.9 L146.1,394.9 
-               M146.1,336.4 M146.1,394.9 M146.1,394.8 L146.2,394.8 L146.3,394.8 M146.3,394.7 L146.4,394.7 L146.4,394.6 L146.5,394.6 L146.5,394.5 
-               L146.6,394.5 L146.7,394.4 L146.8,394.4 L146.8,394.3 M146.9,394.3 L146.9,394.2 L147.0,394.2 L147.0,394.1 M147.1,394.1 L147.2,394.0 
-               L147.3,394.0 L147.3,393.9 M147.3,124.6 M147.3,393.9 L147.4,393.9 L147.4,393.8 M147.4,259.0 M147.4,393.8 L147.5,393.8 L147.6,393.7 
-               M147.7,393.7 L147.7,393.6 M147.8,393.6 M147.8,393.5 M147.9,393.5 L147.9,393.4 L148.0,393.4 L148.1,393.3 L148.2,393.3 L148.2,393.2 
-               L148.3,393.2 M148.3,278.9 M148.3,398.1 M148.3,393.2 M148.3,398.1 M148.3,278.9 M148.3,393.2 M148.3,393.1 L148.4,393.1 L148.4,393.0 
-               M148.5,393.0 L148.6,393.0 M148.6,392.9 M148.7,392.9 L148.7,392.8 M148.8,392.8 M148.8,392.7 M148.9,392.7 L149.0,392.6 L149.1,392.6 
-               L149.1,392.5 L149.2,392.5 M149.2,392.4 L149.3,392.4 L149.3,392.3 M149.4,392.3 M149.5,392.2 L149.6,392.2 L149.6,392.1 L149.7,392.1 
-               L149.7,392.0 L149.8,392.0 M149.8,391.9 L149.9,391.9 M150.0,391.9 L150.0,391.8 L150.1,391.8 M150.1,391.7 M150.2,391.7 L150.2,391.6 
-               L150.3,391.6 L150.3,391.5 L150.4,391.5 L150.5,391.5 L150.5,391.4 L150.6,391.4 L150.6,391.3 L150.7,391.3 M150.7,140.6 M150.7,391.3 
-               L150.7,391.2 L150.8,391.2 M150.9,391.1 M151.0,391.1 L151.0,391.0 L151.1,391.0 L151.1,390.9 L151.2,390.9 M151.2,390.8 M151.3,390.8 
-               L151.3,390.7 L151.4,390.7 L151.4,390.6 L151.5,390.6 L151.6,390.6 M151.6,390.5 L151.7,390.5 L151.7,390.4 M151.8,390.4 L151.8,390.3 
-               L151.9,390.3 M152.0,390.2 L152.1,390.2 L152.1,390.1 M152.2,390.1 M152.2,390.0 M152.3,390.0 L152.3,389.9 L152.4,389.9 L152.5,389.9 
-               M152.5,389.8 M152.6,389.8 M152.6,389.7 M152.6,251.0 M152.6,389.7 L152.7,389.7 L152.7,389.6 L152.8,389.6 L152.8,389.5 L152.9,389.5 
-               M152.9,389.4 M152.9,389.5 L153.0,389.5 L153.0,389.4 M153.0,389.5 M153.0,389.4 M153.1,389.4 M153.1,389.3 M153.1,102.9 M153.1,389.3 
-               L153.2,389.3 L153.2,389.2 M153.3,389.2 L153.4,389.1 M153.3,143.5 L153.4,143.5 M153.3,143.2 L153.4,143.2 M153.3,388.8 L153.4,388.8 
-               M153.3,388.5 L153.4,388.5 M153.4,143.5 M153.4,143.2 L153.4,143.1 M153.4,388.8 M153.4,388.5 M153.4,389.1 M153.4,143.5 L153.4,143.4 
-               M153.4,143.1 M153.4,388.8 M153.4,388.5 L153.4,388.4 M153.4,389.1 M153.4,143.1 M153.4,143.4 M153.4,388.8 M153.4,388.4 M153.4,143.1 
-               M153.4,389.1 M153.4,388.8 M153.4,388.4 M153.4,143.1 M153.4,143.4 M153.4,389.1 M153.4,388.8 M153.4,388.4 M153.4,143.4 M153.4,389.1 
-               M153.4,388.8 M153.4,388.4 M153.4,143.1 M153.4,143.4 L153.5,143.4 M153.4,388.8 M153.4,388.4 M153.4,389.1 L153.5,389.1 M153.4,143.1 
-               M153.4,388.8 M153.4,388.4 M153.4,388.8 L153.5,388.7 M153.4,388.4 L153.5,388.4 M153.5,143.1 M153.5,389.0 M153.5,143.4 M153.5,388.7 
-               M153.5,143.1 M153.5,388.4 L153.5,388.3 M153.5,143.3 M153.5,388.7 M153.5,388.6 M153.5,388.7 L153.5,388.6 M153.5,388.7 M153.5,388.6 
-               M153.5,388.7 M153.5,388.6 M153.5,388.7 M153.5,143.0 M153.5,388.3 M153.5,388.6 M153.5,143.0 L153.6,143.0 M153.6,143.3 M153.6,388.3 
-               M153.6,143.0 M153.6,388.3 M153.6,143.3 M153.6,389.0 M153.6,143.3 M153.6,389.0 M153.6,388.3 M153.6,143.0 M153.6,143.3 M153.6,389.0 
-               M153.6,143.0 M153.6,388.3 M153.6,143.3 M153.6,388.9 M153.6,143.0 M153.6,143.3 L153.7,143.3 M153.6,388.9 L153.7,388.9 M153.6,388.3 
-               L153.6,388.2 M153.7,143.0 M153.7,388.2 M153.7,143.0 L153.7,142.9 M153.7,143.2 M153.7,388.9 M153.7,388.2 L153.8,388.1 M153.9,388.1 
-               L153.9,388.0 L154.0,388.0 L154.0,387.9 M154.1,387.9 L154.2,387.8 L154.3,387.8 L154.3,387.7 L154.4,387.7 L154.4,387.6 L154.5,387.6 
-               L154.5,387.5 L154.6,387.5 L154.7,387.5 L154.7,387.4 L154.8,387.4 L154.8,387.3 L154.9,387.3 L154.9,387.2 L155.0,387.2 L155.1,387.1 
-               L155.2,387.0 L155.3,387.0 L155.3,386.9 L155.4,386.9 L155.5,386.8 L155.6,386.7 L155.7,386.7 M155.7,288.3 M155.7,363.8 M155.8,386.6 
-               L155.9,386.5 L156.0,386.5 M156.0,386.4 L156.1,386.4 L156.1,386.3 L156.2,386.3 L156.2,386.2 L156.3,386.2 M156.4,386.0 M156.5,386.0 
-               L156.5,385.9 L156.6,385.9 M156.7,385.9 L156.7,385.8 L156.8,385.8 L156.8,385.7 L156.9,385.7 L156.9,385.6 L157.0,385.6 L157.0,385.5 
-               L157.1,385.5 L157.2,385.5 L157.2,385.4 M157.3,385.4 L157.3,385.3 L157.4,385.3 L157.4,385.2 L157.5,385.2 M157.6,385.1 L157.7,385.1 
-               M157.7,329.0 M157.7,385.0 M157.8,385.0 L157.9,384.9 M158.0,384.9 L158.0,384.8 M158.1,384.8 L158.1,384.7 M158.2,384.7 L158.2,384.6 
-               L158.3,384.6 L158.4,384.6 L158.4,384.5 M158.5,384.5 L158.5,384.4 L158.6,384.4 L158.6,384.3 L158.7,384.3 L158.8,384.2 M158.8,383.8 
-               M158.8,384.2 M158.8,383.8 M158.8,384.2 L158.9,384.2 M158.8,383.8 L158.9,383.8 M158.9,384.2 L158.9,384.1 M158.9,383.8 L158.9,383.7 
-               M158.9,384.1 L159.0,384.1 L159.0,384.0 M159.0,383.7 M159.0,384.0 L159.1,384.0 L159.1,383.9 M159.1,383.6 M159.1,383.9 L159.2,383.9 
-               L159.3,383.9 L159.3,383.8 M159.3,384.2 M159.3,383.8 M159.3,384.2 M159.3,383.8 M159.3,384.2 M159.3,383.8 L159.4,383.8 M159.4,384.1 
-               M159.4,383.8 L159.4,383.7 M159.4,384.1 M159.4,383.7 L159.5,383.7 L159.5,383.6 M159.5,384.0 M159.5,383.6 L159.6,383.6 M159.6,384.0 
-               M159.6,383.6 L159.6,383.5 L159.7,383.5 M159.8,383.5 L159.8,383.4 L159.9,383.4 L159.9,383.3 L160.0,383.3 L160.0,383.2 M160.1,383.2 
-               M160.1,383.1 L160.2,383.1 L160.3,383.1 M160.3,383.0 L160.4,383.0 M160.4,382.9 L160.5,382.9 L160.5,382.8 L160.6,382.8 M160.7,382.7 
-               L160.8,382.7 L160.8,382.6 L160.9,382.6 L160.9,382.5 L161.0,382.5 L161.1,382.4 L161.2,382.4 M161.2,382.3 L161.3,382.3 L161.3,382.2 
-               M161.4,382.2 L161.4,382.1 L161.5,382.1 M161.6,382.1 L161.6,382.0 M161.7,382.0 L161.7,381.9 M161.9,381.9 L162.0,381.9 L162.0,381.8 
-               L162.1,381.8 L162.1,381.7 L162.2,381.7 L162.2,381.6 L162.3,381.6 L162.3,381.5 L162.4,381.5 M162.5,381.5 L162.5,381.4 L162.6,381.4 
-               L162.6,381.3 L162.7,381.3 L162.7,381.2 L162.8,381.2 M162.8,381.1 L162.9,381.1 L163.0,381.1 L163.0,381.0 L163.1,381.0 L163.1,380.9 
-               M163.2,380.9 L163.2,380.8 L163.3,380.8 L163.4,380.7 L163.5,380.7 L163.5,380.6 M163.6,380.6 M163.6,380.5 L163.7,380.5 L163.7,380.4 
-               L163.8,380.4 L163.9,380.4 L163.9,380.3 M164.0,380.3 L164.0,380.2 L164.1,380.2 M164.1,380.1 M164.2,380.1 L164.3,380.0 M164.3,208.9 
-               M164.4,380.0 M164.4,206.1 M164.4,379.8 L164.5,379.8 L164.6,379.8 L164.6,379.7 L164.7,379.7 L164.7,379.6 L164.8,379.6 M164.8,379.5 
-               L164.9,379.5 L165.0,379.4 L165.1,379.4 L165.1,379.3 M165.2,379.3 L165.2,379.2 L165.3,379.2 L165.3,379.1 L165.4,379.1 L165.5,379.1 
-               M165.5,379.0 M165.6,197.6 M165.6,379.0 L165.6,378.9 L165.7,378.9 L165.8,378.9 L165.8,378.8 M165.9,378.8 L165.9,378.7 L166.0,378.7 
-               L166.0,378.6 L166.1,378.6 M166.1,378.5 L166.2,378.5 M166.3,378.5 L166.3,378.4 M166.4,378.4 L166.4,378.3 L166.5,378.3 L166.5,378.2 
-               L166.6,378.2 M166.6,378.1 L166.7,378.1 L166.8,378.1 L166.8,378.0 L166.9,378.0 L166.9,377.9 L167.0,377.9 L167.0,377.8 L167.1,377.8 
-               M167.2,377.8 L167.2,377.7 L167.3,377.7 M167.3,304.8 M167.3,377.7 L167.3,377.6 L167.4,377.6 M167.4,377.5 L167.5,377.5 M167.5,377.4 
-               L167.6,377.4 M167.7,377.4 L167.7,377.3 L167.8,377.2 L167.9,377.2 M167.9,377.1 L168.0,377.1 L168.0,377.0 L168.1,377.0 M168.2,377.0 
-               L168.2,376.9 M168.3,376.9 L168.3,376.8 M169.1,376.8 L169.2,376.8 M169.2,376.7 L169.3,376.7 L169.3,376.6 L169.4,376.6 M169.4,376.5 
-               L169.5,376.5 M169.5,283.8 M169.5,376.5 M169.5,376.4 L169.6,376.4 M169.5,82.6 L169.6,82.6 M169.6,252.0 M169.6,376.4 M169.7,376.4 
-               L169.7,376.3 L169.8,376.3 M169.8,376.2 L169.9,376.2 L169.9,376.1 L170.0,376.1 L170.1,376.0 M170.2,376.0 L170.2,375.9 L170.3,375.9 
-               L170.3,375.8 L170.4,375.8 L170.4,375.7 L170.5,375.7 M170.6,375.7 L170.6,375.6 M170.7,375.6 L170.7,375.5 L170.8,375.5 M170.8,375.4 
-               L170.9,375.4 L171.0,375.3 L171.1,375.3 L171.1,375.2 M171.2,375.2 M171.2,375.1 M171.3,375.1 L171.3,375.0 M171.4,375.0 M171.5,374.9 
-               M171.6,374.9 L171.6,374.8 L171.7,374.8 L171.7,374.7 L171.8,374.7 L171.8,374.6 M171.9,374.6 L172.0,374.5 M172.1,374.5 L172.1,374.4 
-               M172.2,374.4 L172.2,374.3 L172.3,374.3 L172.4,374.2 L172.5,374.2 L172.5,374.1 L172.6,374.1 L172.6,374.0 L172.7,374.0 L172.7,373.9 
-               L172.8,373.9 L172.9,373.9 L172.9,373.8 L173.0,373.8 L173.0,373.7 L173.1,373.7 M173.1,373.6 M173.2,373.6 L173.3,373.5 L173.4,373.5 
-               L173.4,373.4 M173.5,373.4 L173.5,373.3 L173.6,373.3 M173.6,373.2 L173.7,373.2 L173.8,373.1 M173.9,373.1 M173.9,373.0 L174.0,373.0 
-               L174.0,372.9 L174.1,372.9 L174.1,372.8 M174.2,372.8 L174.3,372.8 L174.3,372.7 L174.4,372.7 L174.4,372.6 L174.5,372.6 L174.5,372.5 
-               L174.6,372.5 L174.6,372.4 M174.7,372.4 M174.8,372.4 L174.8,372.3 L174.9,372.3 L174.9,372.2 M175.0,372.2 L175.0,372.1 L175.1,372.1 
-               L175.2,372.0 M175.3,372.0 L175.3,371.9 L175.4,371.9 M175.4,371.8 L175.5,371.8 M175.5,371.7 L175.6,371.7 M175.7,371.7 L175.7,371.6 
-               M175.8,371.6 M175.8,371.5 L175.9,371.5 L175.9,371.4 M176.0,371.4 L176.1,371.4 M176.1,371.3 L176.2,371.3 L176.2,371.2 L176.3,371.2 
-               M176.4,371.2 M176.4,371.1 M176.5,371.1 M176.5,371.0 M176.5,81.0 M176.5,371.0 L176.6,371.0 M176.6,370.9 L176.7,370.9 L176.8,370.8 
-               L176.9,370.8 L176.9,370.7 L177.0,370.7 M177.0,370.6 L177.1,370.6 M177.2,370.5 L177.3,370.5 M177.3,370.4 L177.4,370.4 L177.4,370.3 
-               M177.4,248.5 L177.4,248.4 M177.4,370.3 M177.5,370.3 M177.5,370.2 L177.6,370.2 L177.6,370.1 M177.7,370.1 M177.8,370.1 M177.8,370.0 
-               L177.9,370.0 L177.9,369.9 M178.0,369.9 M178.0,369.8 L178.1,369.8 M178.2,369.8 L178.2,369.7 L178.3,369.7 M178.3,222.4 M178.3,369.7 
-               M178.3,171.7 M178.3,369.7 L178.3,369.6 L178.4,369.6 L178.4,369.5 L178.5,369.5 M178.5,164.8 M178.5,369.5 M178.5,164.8 M178.5,369.4 
-               L178.6,369.4 L178.7,369.4 L178.7,369.3 M178.8,369.3 L178.9,369.3 L178.9,369.2 L179.0,369.2 L179.0,369.1 L179.1,369.1 L179.2,369.0 
-               L179.3,369.0 L179.3,368.9 L179.4,368.9 L179.4,368.8 L179.5,368.8 M179.5,368.7 L179.6,368.7 L179.7,368.7 M179.7,225.8 M179.7,368.6 
-               L179.8,368.6 M179.8,368.5 L179.9,368.5 L179.9,368.4 M180.0,368.4 L180.1,368.3 L180.2,368.3 L180.2,368.2 L180.3,368.2 L180.3,368.1 
-               M180.4,368.1 L180.4,368.0 L180.5,368.0 M180.6,368.0 L180.6,367.9 L180.7,367.9 L180.7,367.8 M180.7,263.7 L180.7,263.6 M180.7,367.8 
-               L180.8,367.8 L180.8,367.7 L180.9,367.7 M180.9,367.6 L181.0,367.6 L181.1,367.6 L181.1,367.5 L181.2,367.5 M181.2,367.4 M181.3,367.4 
-               L181.3,367.3 M181.4,367.3 L181.5,367.3 L181.5,367.2 L181.6,367.2 L181.6,367.1 L181.7,367.1 L181.7,367.0 L181.8,367.0 L181.8,366.9 
-               L181.9,366.9 L182.0,366.9 L182.0,366.8 L182.1,366.8 M182.1,366.7 M182.2,366.7 L182.2,366.6 M182.3,366.6 L182.4,366.5 L182.5,366.5 
-               L182.5,366.4 M182.6,366.4 L182.6,366.3 L182.7,366.3 L182.7,366.2 L182.8,366.2 M182.9,366.1 M182.9,208.9 M182.9,158.7 M182.9,220.3 
-               M183.0,366.1 M183.0,366.0 L183.1,366.0 L183.1,365.9 L183.2,365.9 M183.2,233.0 M183.2,365.9 M183.2,411.9 M183.2,415.9 M183.2,146.3 
-               L183.3,146.3 M183.2,247.5 L183.3,247.4 M183.2,130.2 L183.3,130.2 M183.2,344.8 L183.3,344.8 M183.3,210.8 L183.3,210.7 M183.3,365.0 
-               M183.3,146.3 M183.3,365.8 M183.3,146.3 M183.3,365.8 M183.3,210.7 M183.3,130.1 M183.3,344.7 M183.3,365.8 L183.4,365.8 M183.3,146.3 
-               L183.4,146.3 M183.3,210.7 L183.4,210.7 M183.4,365.8 M183.4,415.8 M183.4,146.2 M183.4,415.8 M183.4,130.1 M183.4,210.7 M183.4,344.7 
-               M183.4,411.8 M183.4,364.9 M183.4,365.7 L183.5,365.7 L183.5,365.6 M183.6,365.6 M183.7,365.5 M183.8,365.4 M183.8,145.9 M183.8,210.3 
-               M183.8,415.4 M183.8,365.4 M183.8,411.5 M183.8,365.4 L183.9,365.4 M183.9,365.3 L184.0,365.3 M184.0,365.2 L184.1,365.2 L184.2,365.1 
-               L184.3,365.1 M184.3,365.0 M184.3,365.8 M184.3,365.0 M184.3,247.4 M184.3,365.0 M184.4,365.0 M184.4,365.8 M184.4,365.0 L184.4,364.9 
-               M184.4,411.8 M184.4,130.1 M184.4,210.7 M184.4,344.7 M184.4,364.9 M184.5,364.9 L184.5,364.8 M184.6,364.8 M184.6,344.3 M184.6,129.7 
-               M184.6,364.8 L184.7,364.8 M184.6,415.4 L184.7,415.4 M184.7,364.8 L184.7,364.7 M184.7,247.0 M184.7,210.3 M184.7,364.7 M184.7,247.0 
-               M184.7,145.9 M184.7,364.7 L184.8,364.7 M184.8,364.6 M184.9,364.6 L184.9,364.5 L185.0,364.5 M185.0,364.4 L185.1,364.4 L185.2,364.3 
-               L185.3,364.3 M185.3,364.2 M185.3,342.2 M185.3,364.2 L185.4,364.2 L185.4,364.1 L185.5,364.1 M185.5,364.0 L185.6,364.0 L185.7,364.0 
-               L185.7,363.9 L185.8,363.9 L185.8,363.8 L185.9,363.8 M185.9,69.4 M185.9,248.7 M185.9,141.7 M185.9,363.8 M185.9,214.3 M185.9,363.8 
-               L186.0,363.7 L186.1,363.7 M186.1,363.6 M186.2,363.6 M186.2,363.5 L186.3,363.5 L186.3,363.4 M186.4,363.4 L186.5,363.4 L186.5,363.3 
-               M186.6,363.3 L186.6,363.2 L186.7,363.2 M186.7,326.4 M186.7,363.1 M186.8,363.1 L186.8,363.0 L186.9,363.0 L187.0,363.0 M187.0,362.9 
-               L187.1,362.9 L187.1,362.8 L187.2,362.8 M187.2,362.7 L187.3,362.7 L187.4,362.7 M187.4,362.6 L187.5,362.6 L187.5,362.5 M187.6,362.5 
-               L187.6,362.4 L187.7,362.4 M187.7,362.3 M187.8,362.3 M187.9,362.3 L187.9,362.2 L188.0,362.2 L188.0,362.1 L188.1,362.1 L188.1,362.0 
-               L188.2,362.0 L188.3,361.9 L188.4,361.8 L188.5,361.8 M188.5,361.7 L188.6,361.7 M188.6,361.6 L188.7,361.6 M188.8,361.5 L188.9,361.5 
-               L188.9,361.4 L189.0,361.4 M189.0,361.3 M189.1,361.3 L189.1,361.2 L189.2,361.2 L189.3,361.2 L189.3,361.1 L189.4,361.1 L189.4,361.0 
-               L189.5,361.0 M189.5,360.9 L189.6,360.9 L189.6,360.8 M189.7,360.8 L189.8,360.8 M189.8,360.7 L189.9,360.7 M189.9,360.6 L190.0,360.6 
-               L190.0,360.5 M190.0,246.9 M190.0,360.4 M190.0,360.5 M190.1,360.5 L190.2,360.5 L190.2,360.4 M190.3,360.4 M190.3,360.5 M190.3,360.4 
-               L190.3,360.3 M190.4,360.3 L190.4,360.2 L190.5,360.2 M190.5,360.1 L190.6,360.1 L190.7,360.1 M190.7,360.0 M190.8,360.0 L190.8,359.9 
-               M190.9,359.9 L190.9,359.8 L191.0,359.8 L191.0,359.7 L191.1,359.7 L191.2,359.7 L191.2,359.6 M191.3,359.6 L191.3,359.5 L191.4,359.5 
-               M191.4,359.4 L191.5,359.4 L191.6,359.3 L191.7,359.3 M191.7,359.2 L191.8,359.2 L191.8,359.1 L191.9,359.1 L191.9,359.0 L192.0,359.0 
-               L192.1,358.9 L192.2,358.9 M192.1,189.7 L192.2,189.7 M192.2,189.6 M192.2,358.9 M192.2,189.6 M192.2,358.9 M192.2,189.6 M192.2,358.9 
-               M192.2,189.6 M192.2,358.8 M192.3,358.8 M192.3,358.7 L192.4,358.7 L192.5,358.6 L192.6,358.5 M192.6,189.6 M192.6,358.5 L192.7,358.5 
-               M192.6,189.6 L192.7,189.6 M192.7,358.5 M192.7,189.6 L192.7,189.5 M192.7,358.5 L192.7,358.4 M192.8,358.4 M192.8,412.6 M192.8,358.4 
-               M192.8,358.3 L192.9,358.3 L193.0,358.2 L193.1,358.2 L193.1,358.1 M193.2,358.1 M193.2,358.0 M193.3,358.0 L193.3,357.9 L193.4,357.9 
-               M193.5,357.9 L193.5,357.8 L193.6,357.8 L193.6,357.7 L193.7,357.7 L193.7,357.6 L193.8,357.6 L193.8,357.5 L193.9,357.5 M193.9,409.7 
-               M193.9,357.5 L194.0,357.5 L194.0,357.4 L194.1,357.4 M194.1,357.3 L194.2,357.3 L194.2,357.2 M194.3,357.2 L194.3,357.1 L194.4,357.1 
-               L194.5,357.1 L194.5,357.0 M194.6,357.0 L194.6,356.9 M194.7,356.9 L194.7,356.8 M194.8,356.8 L194.9,356.7 L195.0,356.7 L195.0,356.6 
-               L195.1,356.6 M195.1,356.5 L195.2,356.5 L195.2,356.4 L195.3,356.4 M195.3,386.1 M195.3,356.4 L195.4,356.4 M195.4,218.0 M195.4,356.4 
-               L195.4,356.3 M195.5,356.3 L195.6,356.2 L195.7,356.2 M195.7,356.1 M195.8,356.1 M195.8,356.0 L195.9,356.0 L195.9,355.9 L196.0,355.9 
-               L196.1,355.8 L196.2,355.8 L196.2,355.7 L196.3,355.7 L196.3,355.6 L196.4,355.6 L196.4,355.5 L196.5,355.5 L196.6,355.5 L196.6,355.4 
-               M196.7,355.4 L196.7,355.3 M196.8,355.3 L196.8,355.2 L196.9,355.2 L197.0,355.1 L197.1,355.1 L197.1,355.0 M197.2,355.0 L197.2,354.9 
-               L197.3,354.9 L197.3,354.8 M197.4,354.8 L197.5,354.7 L197.6,354.7 M197.6,354.6 L197.7,354.6 M197.7,354.5 L197.8,354.5 M197.8,163.8 
-               M197.8,354.5 L197.8,354.4 L197.9,354.4 L198.0,354.4 M198.0,354.3 L198.1,354.3 L198.1,354.2 M198.2,354.2 M198.2,58.6 M198.3,354.1 
-               L198.4,354.0 L198.5,354.0 L198.5,353.9 M198.6,353.9 L198.6,353.8 M198.7,353.8 L198.8,353.7 M198.9,353.7 M198.9,353.6 M199.0,353.6 
-               L199.0,353.5 M199.1,353.5 L199.2,353.4 L199.3,353.4 L199.3,353.3 L199.4,353.3 L199.4,353.2 L199.5,353.2 L199.5,353.1 L199.6,353.1 
-               L199.7,353.1 M199.7,353.0 L199.8,353.0 L199.8,352.9 L199.9,352.9 L199.9,352.8 L200.0,352.8 L200.0,352.7 L200.1,352.7 L200.2,352.6 
-               L200.3,352.6 L200.3,352.5 M200.4,352.5 L200.4,352.4 L200.5,352.4 L200.5,352.3 L200.6,352.3 L200.7,352.3 L200.7,352.2 L200.8,352.2 
-               L200.8,352.1 L200.9,352.1 M201.0,352.0 L201.1,352.0 M201.1,351.9 M201.2,351.9 L201.2,351.8 L201.3,351.8 L201.3,351.7 L201.4,351.7 
-               L201.5,351.6 L201.6,351.6 L201.6,351.5 L201.7,351.5 L201.7,351.4 M201.8,351.4 L201.8,351.3 L201.9,351.3 L202.0,351.2 M202.1,351.2 
-               L202.1,351.1 M202.2,351.1 M202.2,351.0 M202.3,351.0 L202.3,350.9 L202.4,350.9 L202.5,350.9 L202.5,350.8 M202.5,361.7 M202.5,350.8 
-               M202.6,350.8 L202.6,350.7 M202.7,350.7 L202.7,350.6 L202.8,350.6 M202.8,350.5 M202.9,350.5 L203.0,350.5 L203.0,350.4 L203.1,350.4 
-               L203.1,350.3 L203.2,350.3 L203.2,350.2 L203.3,350.2 L203.4,350.2 L203.4,350.1 L203.5,350.1 M203.5,350.0 L203.6,350.0 M203.6,349.9 
-               L203.7,349.9 L203.8,349.8 L203.9,349.7 L204.0,349.7 L204.0,349.6 L204.1,349.6 L204.1,349.5 L204.2,349.5 L204.3,349.4 M204.4,349.4 
-               M204.4,349.3 L204.5,349.3 M204.5,349.2 L204.6,349.2 L204.6,349.1 L204.7,349.1 M204.8,349.1 L204.8,349.0 L204.9,349.0 M204.9,348.9 
-               L205.0,348.9 M205.1,348.9 L205.1,348.8 L205.2,348.8 L205.2,348.7 L205.3,348.7 M205.3,348.6 L205.4,348.6 L205.5,348.5 L205.6,348.5 
-               L205.6,348.4 L205.7,348.4 L205.7,348.3 M205.8,348.3 M205.8,348.2 L205.9,348.2 L206.0,348.1 M206.1,348.1 M206.1,348.0 M206.2,348.0 
-               L206.2,347.9 M206.3,347.9 L206.3,347.8 M206.4,347.8 L206.5,347.8 L206.5,347.7 M206.6,347.7 L206.6,347.6 M206.7,347.6 L206.7,347.5 
-               L206.8,347.5 M206.8,347.4 L206.9,347.4 M207.0,347.4 L207.0,347.3 L207.1,347.3 L207.1,347.2 M207.2,347.2 L207.2,347.1 M207.3,347.1 
-               L207.4,347.0 M207.5,347.0 M207.6,346.9 L207.7,346.8 L207.8,346.8 M207.8,346.7 L207.9,346.7 L207.9,346.6 L208.0,346.6 L208.1,346.5 
-               L208.2,346.5 L208.2,346.4 M208.3,346.4 L208.3,346.3 L208.4,346.3 L208.4,346.2 L208.5,346.2 M208.5,346.1 L208.6,346.1 M208.7,346.1 
-               L208.7,346.0 L208.8,346.0 M208.8,345.9 L208.9,345.9 L208.9,345.8 L209.0,345.8 M209.1,345.8 L209.1,345.7 M209.2,345.7 M209.2,345.6 
-               M209.3,345.6 M209.3,345.5 L209.4,345.5 L209.4,345.4 M209.5,345.4 L209.6,345.4 L209.6,345.3 L209.7,345.3 M209.7,345.2 L209.8,345.2 
-               M209.8,345.1 M209.9,274.0 L210.0,274.0 L210.0,273.9 L210.1,273.9 L210.1,273.8 L210.2,273.8 L210.3,273.7 L210.4,273.7 M210.4,273.6 
-               M210.4,344.2 L210.5,344.2 L210.5,344.1 L210.6,344.1 M210.7,205.1 M210.7,220.3 M210.7,205.1 M210.7,344.0 L210.8,344.0 L210.8,343.9 
-               M210.9,343.9 L211.0,343.9 M211.0,343.8 L211.1,343.8 L211.1,343.7 L211.2,343.7 L211.3,343.6 L211.4,343.5 M211.5,343.5 M211.5,343.4 
-               M211.6,343.3 M211.7,343.3 M211.7,343.2 L211.8,343.2 L211.9,343.1 L212.0,343.1 L212.0,343.0 L212.1,343.0 L212.1,342.9 L212.2,342.9 
-               L212.2,342.8 L212.3,342.8 L212.4,342.8 M212.4,342.7 L212.5,342.7 M212.5,342.6 M212.6,342.6 L212.6,342.5 M212.7,342.5 L212.8,342.4 
-               M212.9,342.4 L212.9,342.3 L213.0,342.3 L213.0,342.2 L213.1,342.2 M213.1,342.1 L213.2,342.1 L213.3,342.1 L213.3,342.0 L213.4,342.0 
-               L213.4,341.9 L213.5,341.9 L213.5,341.8 L213.6,341.8 M213.7,341.7 L213.8,341.7 L213.8,341.6 L213.9,341.6 L213.9,341.5 L214.0,341.5 
-               L214.0,341.4 L214.1,341.4 L214.2,341.3 L214.3,341.3 L214.3,341.2 M214.4,341.2 M214.4,341.1 M214.5,341.1 M214.5,341.0 M214.8,340.9 
-               L214.9,340.9 M214.8,134.5 L214.9,134.5 M214.9,359.3 M214.9,340.8 L215.0,340.8 M215.0,340.7 M215.1,340.0 L215.1,339.9 L215.2,339.9 
-               L215.2,339.8 M215.3,339.8 L215.4,339.7 M215.5,339.7 L215.5,339.6 L215.6,339.6 M215.6,339.5 L215.7,339.5 L215.8,339.5 L215.8,339.4 
-               L215.9,339.4 L215.9,339.3 L216.0,339.3 L216.0,339.2 L216.1,339.2 L216.2,339.1 L216.3,339.1 M216.3,339.0 M216.3,365.4 M216.3,339.0 
-               L216.4,339.0 L216.4,338.9 M216.5,338.9 L216.5,338.8 L216.6,338.8 L216.7,338.7 L216.8,338.7 M216.8,338.6 L216.9,338.6 L216.9,338.5 
-               M217.0,338.5 L217.0,338.4 L217.1,338.4 L217.2,338.3 L217.3,338.3 L217.3,338.2 L217.4,338.2 L217.4,338.1 L217.5,338.1 L217.5,338.0 
-               L217.6,338.0 L217.7,338.0 M217.7,337.9 L217.8,337.9 L217.8,337.8 L217.9,337.8 M217.9,337.7 L218.0,337.7 L218.0,337.6 M218.1,337.6 
-               L218.2,337.6 L218.2,337.5 L218.3,337.5 M218.3,337.4 L218.4,337.4 L218.5,337.3 L218.6,337.3 M218.6,337.2 L218.7,337.2 L218.7,337.1 
-               M221.7,80.4 M227.3,67.8 L227.3,67.7 M228.3,141.3 M231.3,337.6 M232.6,183.7 M232.6,399.2 M234.3,284.2 M234.9,161.5 M236.1,408.5 
-               M239.4,193.1 L239.4,193.0 M241.6,312.6 M241.7,312.6 L241.7,312.5 M241.8,312.5 M241.9,312.4 M242.0,312.4 L242.0,312.3 L242.1,312.3 
-               L242.1,312.2 M242.2,312.2 L242.3,312.1 M242.4,312.1 L242.4,312.0 L242.5,312.0 L242.5,311.9 M242.6,311.9 M242.7,311.8 L242.8,311.8 
-               M242.8,311.7 L242.9,311.7 L242.9,311.6 M243.0,311.6 L243.0,311.5 L243.1,311.5 L243.1,311.4 M243.1,97.7 M243.1,311.4 L243.2,311.4 
-               L243.3,311.4 M243.3,311.3 L243.4,311.3 M243.4,311.2 L243.5,311.2 L243.5,311.1 L243.6,311.1 L243.6,311.0 M243.7,311.0 L243.8,311.0 
-               L243.8,310.9 L243.9,310.9 M243.9,310.8 M244.0,310.8 L244.0,310.7 L244.1,310.7 L244.2,310.6 L244.3,310.6 L244.3,310.5 L244.4,310.5 
-               L244.4,310.4 M244.5,310.4 M244.5,310.3 L244.6,310.3 M244.7,310.3 L244.7,310.2 M244.8,310.2 L244.8,310.1 L244.9,310.1 L244.9,310.0 
-               L245.0,310.0 L245.0,309.9 L245.1,309.9 M245.1,158.3 M245.1,328.0 M245.1,309.9 L245.2,309.9 M245.2,309.8 L245.3,309.8 L245.3,309.7 
-               L245.4,309.7 L245.4,309.6 L245.5,309.6 M245.6,309.6 L245.6,309.5 L245.7,309.5 L245.7,309.4 L245.8,309.4 L245.9,309.3 M245.9,309.2 
-               L246.0,309.2 L246.1,309.2 M246.1,309.1 L246.2,309.1 L246.2,309.0 M246.3,309.0 L246.3,308.9 M246.4,308.9 L246.5,308.8 L246.6,308.8 
-               L246.6,308.7 L246.7,308.7 L246.7,308.6 L246.8,308.6 L246.8,308.5 M246.9,308.5 L247.0,308.5 L247.0,308.4 M247.0,202.2 M247.0,308.4 
-               L247.1,308.4 M247.0,202.2 L247.1,202.1 M247.1,308.4 M247.1,202.1 M247.1,308.3 M247.1,202.1 M247.1,308.3 M247.1,202.1 M247.1,308.3 
-               L247.2,308.3 M247.1,202.1 L247.2,202.1 M247.2,308.3 M247.2,202.0 M247.2,308.2 M247.2,202.0 M247.2,308.2 M247.2,202.0 M247.3,308.2 
-               M247.3,202.0 M247.3,308.2 M247.3,202.0 M247.3,308.2 M247.3,202.0 M247.3,308.2 M247.3,202.0 M247.3,308.2 M247.3,201.9 M247.3,308.2 
-               M247.3,201.9 M247.3,308.2 M247.3,201.9 M247.3,308.1 M247.4,308.1 M247.5,308.1 L247.5,308.0 M247.6,308.0 M247.6,307.9 L247.7,307.9 
-               L247.7,307.8 L247.8,307.8 L247.9,307.7 L248.0,307.7 L248.0,307.6 L248.1,307.6 L248.1,307.5 L248.2,307.5 L248.2,307.4 L248.3,307.4 
-               L248.4,307.3 L248.5,307.3 L248.5,307.2 M248.6,307.2 L248.6,307.1 L248.7,307.1 M248.7,307.0 L248.8,307.0 M248.9,307.0 M248.9,306.9 
-               L249.0,306.9 M249.0,306.8 M249.1,306.8 M249.1,306.4 M249.1,306.7 L249.2,306.7 L249.3,306.6 M249.4,306.6 L249.4,306.5 L249.5,306.5 
-               M249.5,306.4 M249.6,306.4 M249.6,306.3 L249.7,306.3 L249.8,306.2 M249.9,306.2 L249.9,306.1 L250.0,306.1 M250.0,306.0 L250.1,306.0 
-               M250.1,305.9 L250.2,305.9 L250.3,305.9 L250.3,305.8 L250.4,305.8 L250.4,305.7 L250.5,305.7 L250.5,305.6 L250.6,305.6 L250.7,305.5 
-               M250.8,305.5 M250.8,305.4 M250.9,305.4 M251.1,305.2 M251.1,305.1 M251.2,305.1 M251.3,305.0 L251.4,305.0 L251.4,304.9 M251.5,304.9 
-               M251.5,305.3 M251.6,305.3 L251.6,305.2 M251.7,304.7 M251.8,304.7 M251.9,304.5 M251.9,304.4 L252.0,304.4 L252.0,304.3 L252.1,304.3 
-               M252.0,104.0 L252.1,104.0 M252.1,304.3 L252.2,304.3 L252.2,304.2 L252.3,304.2 M252.3,304.1 L252.4,304.1 L252.4,304.0 M252.5,304.0 
-               M252.6,303.9 L252.7,303.9 M252.7,303.8 L252.8,303.8 L252.8,303.7 L252.9,303.7 L252.9,303.6 M253.0,303.6 L253.1,303.6 L253.1,303.5 
-               L253.2,303.5 L253.2,303.4 M253.3,303.4 L253.3,303.3 L253.4,303.3 L253.5,303.2 L253.6,303.2 M253.6,303.1 L253.7,303.1 L253.7,303.0 
-               L253.8,303.0 M253.8,302.9 L253.9,302.9 L254.0,302.9 M254.0,302.8 L254.1,302.8 L254.1,302.7 M254.2,302.7 L254.3,302.6 M254.4,302.5 
-               M254.4,208.4 L254.4,208.3 M254.4,302.5 M254.5,302.5 L254.5,302.4 L254.6,302.4 M254.6,302.3 M254.7,302.3 M254.7,302.2 L254.8,302.2 
-               L254.9,302.2 L254.9,302.1 L255.0,302.1 M255.0,302.0 L255.1,302.0 M255.1,301.9 M255.2,301.9 L255.3,301.8 M255.4,301.8 L255.4,301.7 
-               M255.4,58.9 L255.4,58.8 M255.4,301.7 L255.5,301.7 M255.5,301.6 L255.6,301.6 L255.6,301.5 L255.7,301.5 L255.8,301.4 L255.9,301.4 
-               L255.9,301.3 M256.0,301.3 M256.0,301.2 L256.1,301.2 L256.1,301.1 L256.2,301.1 L256.3,301.1 M256.3,301.0 L256.4,301.0 L256.4,300.9 
-               L256.5,300.9 M256.5,300.8 L256.6,300.8 L256.7,300.7 L256.8,300.7 M256.8,300.6 L256.9,300.6 M256.9,300.5 M256.9,300.6 M256.9,300.5 
-               L257.0,300.5 L257.0,300.4 M257.1,300.4 L257.2,300.3 L257.3,300.3 L257.3,300.2 L257.4,300.2 M257.4,300.1 L257.5,300.1 L257.5,300.0 
-               M257.7,300.0 L257.7,299.9 M257.7,403.6 M257.7,277.8 M257.8,158.7 M257.8,130.3 M257.9,397.4 M257.9,299.9 L257.9,299.8 L258.0,299.8 
-               L258.1,299.7 L258.2,299.7 L258.2,299.6 L258.3,299.6 M258.3,299.5 L258.4,299.5 M258.4,299.4 L258.5,299.4 L258.6,299.4 M258.6,299.3 
-               M258.7,299.3 M258.7,299.2 L258.8,299.2 L258.8,299.1 M258.9,299.1 L258.9,299.0 L259.0,299.0 L259.1,298.9 L259.2,298.9 L259.2,298.8 
-               L259.3,298.8 L259.3,298.7 M259.4,298.7 L259.4,298.6 M259.4,352.6 M259.4,171.4 M259.5,298.6 L259.6,298.5 L259.7,298.5 L259.7,298.4 
-               L259.8,298.4 L259.8,298.3 L259.9,298.3 L260.0,298.2 L260.1,298.2 L260.1,298.1 M260.2,298.1 M260.2,298.0 M260.3,298.0 L260.3,297.9 
-               M260.4,297.9 M260.5,297.9 L260.5,297.8 L260.6,297.8 L260.7,297.8 L260.7,297.7 M260.8,297.7 L260.9,297.7 M260.9,297.6 L261.0,297.6 
-               M261.0,297.5 L261.1,297.5 L261.1,297.4 L261.2,297.4 M261.2,297.3 L261.3,297.3 M261.4,297.3 L261.4,297.2 M261.5,297.2 L261.6,297.2 
-               L261.6,297.1 M261.7,297.1 L261.7,297.0 L261.8,297.0 L261.9,296.9 L262.0,296.9 L262.0,296.8 L262.1,296.8 L262.2,296.7 L262.3,296.6 
-               L262.4,296.6 L262.4,296.5 L262.5,296.5 L262.5,296.4 L262.6,296.4 L262.6,296.3 L262.7,296.3 L262.8,296.2 M262.9,296.2 L262.9,296.1 
-               L263.0,296.1 L263.0,296.0 M263.0,295.7 L263.1,295.7 M263.0,295.8 L263.1,295.8 M263.0,295.7 L263.1,295.7 M263.0,295.6 L263.1,295.6 
-               M263.0,295.8 L263.1,295.8 M263.0,296.0 L263.1,296.0 M263.0,295.9 L263.1,295.9 M263.0,295.9 L263.1,295.8 M263.0,295.5 L263.1,295.5 
-               M263.1,295.6 M263.1,295.9 M263.1,296.0 M263.1,295.9 M263.1,295.8 M263.1,295.5 M263.1,295.6 M263.1,295.9 M263.1,296.0 M263.1,295.9 
-               M263.1,295.8 M263.1,295.5 M263.1,295.6 M263.1,295.7 M263.1,295.6 M263.1,295.9 M263.1,295.7 M263.1,295.8 M263.1,295.7 M263.1,295.6 
-               M263.1,296.0 M263.1,295.9 L263.1,295.8 M263.1,295.6 M263.1,295.7 M263.1,295.9 M263.1,296.0 M263.1,295.8 M263.1,296.0 M263.1,295.9 
-               M263.1,296.0 L263.1,295.9 M263.1,295.5 M263.1,295.7 M263.1,295.8 M263.1,295.7 M263.1,295.6 M263.1,295.7 M263.1,295.6 L263.2,295.6 
-               M263.1,295.9 L263.2,295.9 M263.1,296.0 L263.2,296.0 M263.1,295.9 L263.2,295.9 M263.1,295.9 L263.2,295.8 M263.1,295.8 L263.2,295.8 
-               M263.2,295.9 M263.2,295.6 M263.2,295.7 M263.2,295.8 M263.2,295.6 M263.2,295.8 L263.2,295.7 M263.2,295.6 M263.2,295.9 M263.2,295.8 
-               M263.2,295.6 L263.2,295.5 M263.2,295.7 L263.2,295.6 M263.2,295.5 M263.2,296.0 M263.2,295.9 L263.2,295.8 M263.2,295.7 M263.2,295.8 
-               M263.2,295.7 M263.2,295.6 M263.2,295.8 M263.2,295.5 M263.2,295.6 M263.2,295.9 M263.2,296.0 M263.2,295.9 M263.2,295.8 M263.2,295.7 
-               M263.2,295.8 M263.2,295.7 M263.2,295.6 M263.2,295.8 M263.2,296.0 M263.2,295.9 L263.2,295.8 M263.2,295.5 M263.2,295.6 M263.2,295.9 
-               M263.2,296.0 M263.2,295.9 M263.2,295.8 M263.3,295.8 M263.3,295.7 M263.3,295.8 M263.3,295.7 M263.3,295.6 M263.3,295.9 M263.3,295.7 
-               M263.3,295.5 M263.3,295.8 M263.3,296.0 M263.3,295.6 M263.3,295.7 M263.3,295.9 M263.3,295.8 M263.3,295.6 M263.3,295.8 L263.3,295.7 
-               M263.3,295.6 M263.3,295.9 M263.3,295.8 M263.3,295.6 L263.3,295.5 M263.3,295.7 L263.3,295.6 M263.3,295.8 M263.3,295.9 L263.3,295.8 
-               M263.3,296.0 M263.3,295.9 M263.3,295.7 M263.3,295.8 M263.3,295.7 M263.3,295.6 M263.3,295.8 M263.3,295.5 M263.3,295.6 M263.3,295.9 
-               M263.3,296.0 M263.3,295.9 M263.3,295.8 M263.3,295.7 L263.4,295.7 M263.3,295.8 L263.4,295.8 M263.3,295.7 L263.4,295.7 M263.3,295.6 
-               L263.4,295.6 M263.3,295.6 L263.4,295.6 M263.3,295.9 L263.4,295.9 M263.4,295.7 M263.4,295.5 M263.4,295.6 M263.4,295.7 M263.4,295.9 
-               M263.4,296.0 M263.4,295.8 M263.4,295.5 M263.4,296.0 M263.4,295.9 L263.4,295.8 M263.4,295.7 M263.4,295.8 M263.4,295.7 M263.4,295.6 
-               M263.4,295.8 M263.4,295.5 M263.4,295.6 M263.4,295.9 M263.4,296.0 M263.4,295.9 M263.4,295.8 M263.4,295.7 M263.4,295.8 M263.4,295.7 
-               M263.4,295.6 M263.4,295.9 M263.4,295.7 M263.4,295.5 M263.4,295.6 M263.4,295.7 M263.4,295.9 M263.4,296.0 M263.4,295.8 M263.4,295.5 
-               M263.4,296.0 L263.5,296.0 M263.4,295.9 L263.5,295.9 M263.4,295.9 L263.5,295.8 M263.4,295.7 L263.5,295.7 M263.4,295.8 L263.5,295.8 
-               M263.4,295.7 L263.5,295.7 M263.4,295.6 L263.5,295.6 M263.4,295.8 L263.5,295.8 M263.4,295.5 L263.5,295.5 M263.5,295.6 M263.5,295.9 
-               M263.5,296.0 M263.5,295.9 M263.5,295.8 M263.5,295.7 M263.5,295.8 M263.5,295.7 M263.5,295.6 M263.5,295.9 M263.5,295.7 M263.5,295.5 
-               M263.5,295.8 M263.5,296.0 M263.5,295.6 M263.5,295.7 M263.5,295.9 M263.5,295.8 M263.5,295.6 L263.5,295.5 M263.5,295.7 L263.5,295.6 
-               M263.5,295.9 M263.5,295.8 M263.5,295.9 L263.5,295.8 M263.5,296.0 M263.5,295.9 M263.5,295.7 M263.5,295.8 M263.5,295.7 M263.5,295.6 
-               M263.5,295.8 M263.5,295.6 L263.6,295.6 M263.5,295.7 L263.6,295.7 M263.5,295.7 L263.6,295.7 M263.6,295.6 M263.6,295.5 M263.6,295.6 
-               M263.6,295.7 M263.6,295.6 M263.6,295.9 M263.6,295.7 M263.6,295.8 M263.6,295.7 M263.6,295.6 M263.6,296.0 M263.6,295.9 L263.6,295.8 
-               M263.6,295.6 M263.6,295.7 M263.6,295.9 M263.6,296.0 M263.6,295.9 M263.6,295.8 M263.6,295.9 L263.6,295.8 M263.6,295.6 M263.6,296.0 
-               M263.6,295.9 M263.6,295.7 M263.6,295.8 M263.6,295.7 M263.6,295.6 M263.6,295.8 M263.6,295.6 M263.6,295.7 M263.6,295.6 M263.6,295.9 
-               M263.6,295.7 M263.6,295.8 M263.6,295.7 M263.6,295.8 M263.6,295.6 M263.6,296.0 M263.6,295.6 L263.6,295.5 M263.6,295.7 L263.6,295.6 
-               M263.6,295.9 M263.6,295.8 M263.7,295.8 M263.7,295.9 L263.7,295.8 M263.7,296.0 M263.7,295.9 M263.7,295.7 M263.7,295.8 M263.7,295.7 
-               M263.7,295.6 M263.7,295.8 M263.7,295.5 M263.7,295.6 M263.7,295.9 M263.7,296.0 M263.7,295.9 M263.7,295.8 M263.7,295.5 M263.7,295.6 
-               L263.7,295.5 M263.7,295.7 L263.7,295.6 M263.7,295.9 M263.7,295.8 M263.7,295.5 L263.8,295.5 M263.8,295.6 L263.8,295.5 M263.8,295.7 
-               L263.8,295.6 M263.8,295.9 M263.8,295.8 M263.8,295.5 L263.8,295.4 L263.9,295.4 L263.9,295.3 M263.9,295.2 M263.9,295.3 M263.9,295.2 
-               L264.0,295.2 M263.9,295.2 L264.0,295.2 M263.9,295.3 L264.0,295.3 M264.0,295.1 M264.0,295.2 M264.0,295.3 M264.0,295.1 M264.0,295.2 
-               M264.0,295.3 M264.0,295.2 M264.0,295.3 M264.0,295.2 M264.0,295.3 M264.0,295.2 M264.0,295.3 M264.0,295.2 M264.0,295.3 M264.0,295.2 
-               M264.0,295.3 L264.0,295.2 M264.1,295.2 M264.1,295.3 M264.1,295.1 M264.1,295.2 M264.1,295.3 M264.1,295.1 L264.2,295.1 L264.2,295.0 
-               M264.3,295.0 L264.3,294.9 M264.4,294.9 L264.5,294.8 L264.6,294.8 L264.6,294.7 L264.7,294.7 L264.7,294.6 L264.8,294.6 L264.9,294.5 
-               L265.0,294.4 L265.1,294.4 L265.1,294.3 L265.2,294.3 L265.2,294.2 M265.3,294.2 M265.3,294.1 L265.4,294.1 L265.5,294.0 L265.6,293.9 
-               L265.7,293.9 L265.7,293.8 L265.8,293.8 L265.9,293.7 L266.0,293.7 L266.0,293.6 L266.1,293.6 L266.1,293.5 L266.2,293.5 L266.2,293.4 
-               L266.3,293.4 M266.3,85.2 L266.3,85.1 M266.3,293.4 M266.4,293.4 L266.4,293.3 M266.5,293.3 M266.6,293.2 L266.7,293.1 L266.8,293.1 
-               L266.8,293.0 L266.9,293.0 L266.9,292.9 M267.0,292.9 L267.1,292.8 L267.2,292.8 L267.2,292.7 L267.3,292.7 L267.3,292.6 L267.4,292.6 
-               L267.5,292.5 L267.6,292.4 M267.7,292.4 L267.7,292.3 L267.8,292.3 L267.8,292.2 L267.9,292.2 M267.9,292.1 L268.0,292.1 L268.1,292.1 
-               L268.1,292.0 L268.2,292.0 L268.2,291.9 L268.3,291.9 L268.3,291.8 L268.4,291.8 L268.5,291.7 L268.6,291.7 L268.6,291.6 L268.7,291.6 
-               L268.7,291.5 L268.8,291.5 M268.8,291.4 L268.9,291.4 L269.0,291.3 L269.1,291.2 L269.2,291.2 M269.2,291.1 L269.3,291.1 M269.2,152.2 
-               L269.3,152.2 M269.3,291.1 L269.3,291.0 L269.4,291.0 L269.5,291.0 L269.5,290.9 M269.6,290.9 M269.6,290.8 M269.7,290.8 L269.7,290.7 
-               L269.8,290.7 L269.8,290.6 M269.9,290.6 L270.0,290.5 L270.1,290.5 L270.1,290.4 L270.2,290.4 L270.2,290.3 L270.3,290.3 M270.2,290.3 
-               L270.3,290.3 M270.3,290.1 M270.3,290.3 L270.4,290.2 M270.4,290.1 M270.4,290.2 L270.5,290.1 M270.5,290.2 M270.5,290.1 M270.6,290.1 
-               L270.6,290.0 M270.7,287.8 M270.7,184.4 M270.7,324.4 M270.7,287.8 L270.7,287.7 M270.7,184.4 M270.7,324.4 M270.7,289.9 M270.7,289.8 
-               L270.8,289.8 L270.9,289.8 M270.9,297.9 M270.9,289.8 M270.9,289.7 L271.0,289.7 L271.0,289.6 M271.1,289.6 M271.1,289.5 L271.2,289.5 
-               L271.3,289.5 L271.3,289.4 L271.4,289.4 L271.4,289.3 M271.5,289.3 L271.5,289.2 L271.6,289.2 L271.6,289.1 L271.7,289.1 L271.8,289.1 
-               L271.8,289.0 L271.9,289.0 M271.9,288.9 L272.0,288.9 L272.0,288.8 L272.1,288.8 L272.2,288.8 L272.2,288.7 M272.3,288.7 M272.3,288.6 
-               M272.4,288.6 L272.4,288.5 L272.5,288.5 L272.6,288.4 L272.7,288.4 L272.7,288.3 L272.8,288.3 M272.8,288.2 L272.9,288.2 L272.9,288.1 
-               M273.0,288.1 M273.1,288.0 M273.2,288.0 L273.2,287.9 L273.3,287.9 L273.3,287.8 L273.4,287.8 M273.4,287.7 M273.4,194.9 M273.4,287.7 
-               L273.5,287.7 M273.5,194.9 M273.5,287.7 L273.6,287.6 L273.6,287.5 L273.7,287.5 L273.8,287.5 L273.8,287.4 L273.9,287.4 L273.9,287.3 
-               M274.0,287.3 L274.0,287.2 L274.1,287.2 L274.2,287.1 L274.3,287.1 L274.3,287.0 L274.4,287.0 L274.4,286.9 L274.5,286.9 L274.5,286.8 
-               M274.6,286.8 M274.7,286.7 L274.8,286.7 L274.8,286.6 M274.9,286.6 L274.9,286.5 L275.0,286.5 L275.0,286.4 M275.1,286.4 M275.3,286.4 
-               L275.3,286.3 M275.4,286.3 L275.4,286.2 M275.5,286.2 L275.6,286.2 L275.6,286.1 M275.7,286.1 L275.7,286.0 M275.8,286.0 L275.9,285.9 
-               L276.0,285.8 L276.1,285.8 L276.1,285.7 L276.2,285.7 L276.2,285.6 L276.3,285.6 L276.3,285.5 L276.4,285.5 L276.5,285.5 L276.5,285.4 
-               M276.6,285.4 M276.6,285.3 L276.7,285.3 L276.7,285.2 L276.8,285.2 M276.8,285.1 L276.9,285.1 M276.9,193.9 M276.9,285.1 L277.0,285.1 
-               L277.0,285.0 L277.1,285.0 M277.1,284.9 L277.2,284.9 M277.2,284.8 L277.3,284.8 L277.4,284.7 M277.5,284.7 L277.5,284.6 L277.6,284.6 
-               M277.6,284.5 L277.7,284.5 L277.7,284.4 M277.8,284.4 L277.9,284.4 L277.9,284.3 L278.0,284.3 L278.0,284.2 L278.1,284.2 L278.1,284.1 
-               L278.2,284.1 L278.2,284.0 L278.3,284.0 L278.4,284.0 L278.4,283.9 L278.5,283.9 L278.5,283.8 M278.6,283.8 L278.6,283.7 L278.7,283.7 
-               M278.8,283.7 L278.8,283.6 M278.9,283.6 L278.9,283.5 M279.0,283.5 M279.0,283.4 M279.1,283.4 L279.1,283.3 L279.2,283.3 L279.3,283.3 
-               L279.3,283.2 L279.4,283.2 L279.4,283.1 L279.5,283.1 L279.5,283.0 L279.6,283.0 L279.6,282.9 M279.7,282.9 M279.8,282.9 L279.8,282.8 
-               M279.9,282.8 L279.9,282.7 L280.0,282.7 M280.0,282.6 M280.1,282.6 M280.2,282.5 L280.3,282.5 L280.3,282.4 L280.4,282.4 M280.4,282.3 
-               L280.5,282.3 L280.5,282.2 L280.6,282.2 L280.7,282.1 M280.8,282.1 M280.8,282.0 L280.9,282.0 L280.9,281.9 L281.0,281.9 L281.0,281.8 
-               L281.1,281.8 M281.2,281.7 L281.3,281.7 L281.3,281.6 L281.4,281.6 M281.4,281.5 L281.5,281.5 L281.6,281.4 M282.2,280.3 M282.3,280.2 
-               L282.4,280.2 M282.4,280.1 L282.5,280.1 L282.5,280.0 M282.6,280.0 L282.6,279.9 L282.7,279.9 M282.8,279.8 L282.9,279.8 L282.9,279.7 
-               L283.0,279.7 L283.0,279.6 M283.1,279.6 L283.1,279.5 M283.2,279.5 L283.3,279.5 L283.3,279.4 L283.4,279.4 M283.4,279.3 L283.5,279.3 
-               M283.5,279.2 M283.6,279.2 L283.6,279.1 M283.7,279.1 L283.8,279.1 L283.8,279.0 L283.9,279.0 L283.9,278.9 L284.0,278.9 M284.0,398.1 
-               M284.0,393.2 M284.0,398.1 M284.0,278.9 L284.0,278.8 M284.1,278.8 L284.2,278.7 L284.3,278.7 M284.3,278.6 M284.4,278.6 L284.4,278.5 
-               L284.5,278.5 L284.5,278.4 M284.6,278.4 L284.7,278.3 L284.8,278.3 L284.8,278.2 L284.9,278.2 M284.9,278.1 L285.0,278.1 L285.0,278.0 
-               L285.1,278.0 L285.2,278.0 L285.2,277.9 L285.3,277.9 L285.3,277.8 M285.3,182.6 L285.3,182.5 M285.3,277.8 L285.4,277.8 M285.4,277.7 
-               M285.5,277.7 L285.6,277.6 L285.7,277.6 L285.7,277.5 L285.8,277.5 L285.8,277.4 L285.9,277.4 L285.9,277.3 L286.0,277.3 L286.1,277.3 
-               M286.1,277.2 L286.2,277.2 L286.2,277.1 L286.3,277.1 L286.3,277.0 M286.4,277.0 L286.4,276.9 L286.5,276.9 L286.6,276.9 L286.6,276.8 
-               L286.7,276.8 L286.7,276.7 L286.8,276.7 L286.8,276.6 L286.9,276.6 L287.0,276.5 L287.1,276.5 L287.1,276.4 L287.2,276.4 L287.2,276.3 
-               L287.3,276.3 L287.3,276.2 L287.4,276.2 M287.5,276.1 M287.6,276.1 L287.6,276.0 L287.7,276.0 M287.7,275.4 M287.7,276.0 L287.7,275.9 
-               L287.8,275.9 M287.8,275.8 L287.9,275.8 L288.0,275.8 L288.0,275.7 L288.1,275.7 L288.1,275.6 M288.2,275.6 L288.2,275.5 L288.3,275.5 
-               M288.4,275.5 M288.4,275.4 M288.5,275.4 L288.5,275.3 L288.6,275.3 L288.6,275.2 L288.7,275.2 L288.7,275.1 M288.8,275.1 M288.9,275.1 
-               M288.9,275.0 M289.0,275.0 L289.0,274.9 L289.1,274.9 M289.2,274.8 M289.2,274.7 L289.3,274.7 L289.4,274.7 L289.4,274.6 M289.5,274.6 
-               M289.5,274.5 M289.6,274.5 M289.6,274.4 L289.7,274.4 M289.8,274.4 M289.8,274.3 L289.9,274.3 M289.9,202.4 M289.9,274.3 L289.9,274.2 
-               M289.9,202.4 M289.9,274.2 M290.0,274.2 M290.0,202.3 M290.0,274.2 L290.0,274.1 L290.1,274.1 M290.1,202.2 M290.1,274.1 L290.2,274.0 
-               M290.2,273.9 M290.3,273.8 M290.3,273.7 M290.4,273.6 L290.5,273.6 L290.5,273.5 L290.6,273.5 M290.7,273.4 L290.8,273.4 L290.8,273.3 
-               L290.9,273.3 M290.9,273.2 M291.0,273.2 L291.0,273.1 M291.1,273.1 L291.2,273.1 L291.2,273.0 M291.3,273.0 L291.3,272.9 L291.4,272.9 
-               M291.4,272.8 L291.5,272.8 L291.5,272.7 M291.6,272.7 M291.7,272.7 L291.7,272.6 L291.8,272.6 M291.8,272.5 L291.9,272.5 L291.9,272.4 
-               L292.0,272.4 M292.1,272.3 M292.2,272.2 M292.3,272.1 M292.3,272.4 M292.3,272.3 L292.4,272.3 M292.5,272.2 M292.6,272.2 L292.6,272.1 
-               L292.7,272.1 L292.7,272.0 L292.8,272.0 M292.9,272.0 L292.9,271.9 L293.0,271.9 L293.0,271.8 L293.1,271.8 M293.1,271.7 M293.2,271.7 
-               L293.3,271.6 M293.3,81.3 M293.3,271.6 L293.4,271.6 M293.4,271.5 M293.5,271.5 L293.5,271.4 L293.6,271.4 L293.6,271.3 M293.7,271.3 
-               L293.8,271.2 L293.9,271.2 M293.9,271.1 L294.0,271.1 M294.0,271.0 M294.1,271.0 L294.1,270.9 M294.2,270.9 L294.3,270.9 M294.3,270.8 
-               L294.4,270.8 L294.4,270.7 M294.5,270.7 L294.5,270.6 L294.6,270.6 L294.7,270.6 L294.7,270.5 M294.7,416.3 M294.7,270.5 L294.8,270.5 
-               L294.8,270.4 M294.9,270.4 L294.9,270.3 L295.0,270.3 L295.0,270.2 M295.1,270.2 L295.2,270.2 M295.2,270.1 M295.3,270.1 M295.3,215.2 
-               M295.3,253.6 M295.3,270.1 M295.3,270.0 L295.4,270.0 L295.4,269.9 M295.5,269.9 L295.6,269.9 M295.6,269.8 L295.7,269.8 L295.7,269.7 
-               L295.8,269.7 M295.8,269.6 M295.9,269.6 L296.0,269.5 L296.1,269.5 L296.1,269.4 L296.2,269.4 L296.2,269.3 L296.3,269.3 L296.3,269.2 
-               L296.4,269.2 M296.5,269.2 L296.5,269.1 M296.6,269.1 L296.6,269.0 L296.7,269.0 L296.7,268.9 M296.8,268.9 L296.9,268.8 L297.0,268.8 
-               L297.0,268.7 L297.1,268.7 M297.1,268.6 L297.2,268.6 L297.2,268.5 L297.3,268.5 M297.4,268.4 L297.5,268.4 M297.5,268.3 M297.6,268.3 
-               L297.6,268.2 L297.7,268.2 M297.8,268.1 M297.9,268.1 L297.9,268.0 M298.0,268.0 M298.0,242.9 M298.0,370.3 M298.0,268.0 L298.0,267.9 
-               L298.1,267.9 L298.1,267.8 L298.2,267.8 M298.3,341.1 M298.3,267.8 L298.3,267.7 M298.4,267.7 L298.4,267.6 L298.5,267.6 M298.6,267.5 
-               M298.7,267.5 L298.7,267.4 M298.7,288.9 M298.7,267.4 L298.8,267.4 M298.8,92.5 M298.8,267.3 M298.9,267.3 M299.1,261.6 M299.2,267.3 
-               M299.3,267.3 L299.3,267.2 L299.4,267.2 L299.4,267.1 M299.5,267.1 L299.6,267.0 M299.7,267.0 M299.7,266.9 L299.8,266.9 L299.8,266.8 
-               L299.9,266.8 M300.0,266.7 M300.1,266.7 L300.1,266.6 M300.2,266.6 L300.2,266.5 L300.3,266.5 L300.3,266.4 L300.4,266.4 L300.5,266.3 
-               L300.6,266.3 L300.6,266.2 L300.7,266.2 M300.7,266.1 L300.8,266.1 L300.8,266.0 L300.9,266.0 M301.0,266.0 L301.0,265.9 L301.1,265.9 
-               L301.1,265.8 L301.2,265.8 L301.2,265.7 L301.3,265.7 L301.4,265.6 L301.5,265.6 L301.5,265.5 M301.6,265.5 M301.6,265.4 L301.7,265.4 
-               L301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 
-               M301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 M301.7,265.3 L301.8,265.3 
-               M301.9,265.2 L302.0,265.2 M302.0,265.1 M302.1,265.1 M302.1,265.0 M302.2,265.0 L302.2,264.9 L302.3,264.9 L302.3,264.8 L302.4,264.8 
-               L302.5,264.8 L302.5,264.7 L302.6,264.7 L302.6,264.6 L302.7,264.6 L302.7,264.5 L302.8,264.5 M302.8,264.4 L302.9,264.4 L303.0,264.4 
-               L303.0,264.3 L303.1,264.3 L303.1,264.2 M303.1,83.2 M303.1,264.2 L303.2,264.2 L303.2,264.1 L303.3,264.1 L303.4,264.0 L303.5,264.0 
-               M303.5,263.9 L303.6,263.9 L303.6,263.8 L303.7,263.8 M303.7,263.7 M303.8,263.7 M303.9,263.7 L303.9,263.6 M303.9,367.8 M303.9,263.6 
-               L304.0,263.6 L304.0,263.5 L304.1,263.5 L304.1,263.4 L304.2,263.4 L304.2,263.3 L304.3,263.3 L304.4,263.3 L304.4,263.2 L304.5,263.2 
-               M304.5,263.1 M304.6,263.1 L304.6,263.0 M304.7,263.0 L304.8,262.9 L304.9,262.9 L304.9,262.8 L305.0,262.8 L305.0,262.7 M305.0,142.2 
-               M305.1,262.7 L305.1,262.6 L305.2,262.6 L305.3,262.5 L305.4,262.5 M305.4,262.4 L305.5,262.4 M305.5,262.3 L305.6,262.3 L305.6,262.2 
-               M305.7,262.2 M305.7,233.0 M305.7,262.2 L305.8,262.2 M305.8,262.1 L305.9,262.1 L305.9,262.0 L306.0,262.0 L306.0,261.9 L306.1,261.9 
-               L306.2,261.8 L306.3,261.8 L306.3,261.7 L306.4,261.7 M306.4,261.6 L306.5,261.6 L306.5,261.5 L306.6,261.5 L306.7,261.5 L306.7,261.4 
-               L306.8,261.4 M306.8,261.3 L306.9,261.3 M306.9,261.2 L307.0,261.2 L307.1,261.1 M307.2,261.1 M307.2,261.0 M307.3,261.0 M307.3,260.9 
-               M307.4,260.9 M307.4,260.8 L307.5,260.8 L307.6,260.8 L307.6,260.7 M307.7,260.7 M307.8,260.6 L307.8,260.5 M307.9,260.5 M308.0,260.4 
-               M308.1,260.4 M308.1,260.3 M308.2,260.0 M308.3,260.0 L308.3,259.9 L308.4,259.9 L308.4,259.8 M308.5,259.8 M308.5,259.7 M308.6,259.7 
-               L308.6,259.6 L308.7,259.6 L308.8,259.6 L308.8,259.5 M309.1,259.1 M309.1,259.0 L309.2,259.0 M309.2,393.9 M309.2,259.0 L309.2,258.9 
-               L309.3,258.9 L309.4,258.9 M309.4,258.8 M309.5,258.8 L309.5,258.7 M309.6,258.7 L309.6,258.6 L309.7,258.6 L309.8,258.5 L309.9,258.5 
-               L309.9,258.4 L310.0,258.4 L310.0,258.3 L310.1,258.3 L310.1,258.2 L310.2,258.2 L310.3,258.1 M310.4,258.1 L310.4,258.0 L310.5,258.0 
-               M310.5,257.9 L310.6,257.9 L310.7,257.8 L310.8,257.8 M310.8,257.7 L310.9,257.7 L310.9,257.6 L311.0,257.6 M311.0,257.5 L311.1,257.5 
-               M311.2,257.5 L311.2,257.4 M311.3,257.4 M311.3,257.3 L311.4,257.3 L311.4,257.2 L311.5,257.2 M311.5,257.1 L311.6,257.1 L311.7,257.1 
-               L311.7,257.0 L311.8,257.0 L311.8,256.9 M311.8,229.5 M311.8,256.9 L311.9,256.9 M311.9,256.8 L312.0,256.8 M312.1,256.7 M312.2,256.7 
-               M312.2,256.6 L312.3,256.6 L312.3,256.5 M312.4,256.5 L312.4,256.4 L312.5,256.4 L312.6,256.3 L312.7,256.3 M312.7,256.2 L312.8,256.2 
-               L312.8,256.1 M312.9,256.1 L312.9,256.0 L313.0,256.0 L313.1,256.0 L313.1,255.9 L313.2,255.9 M316.7,253.5 M316.8,253.5 L316.8,253.4 
-               L316.9,253.4 L316.9,253.3 L317.0,253.3 M317.1,253.3 L317.1,253.2 M317.2,253.2 L317.2,253.1 L317.3,253.1 L317.3,253.0 L317.4,253.0 
-               M317.4,252.9 L317.5,252.9 L317.6,252.8 L317.7,252.8 L317.7,252.7 L317.8,252.7 M317.8,252.6 L317.9,252.6 M318.0,252.5 L318.1,252.5 
-               L318.1,252.4 L318.2,252.4 L318.2,252.3 L318.3,252.3 M318.3,165.4 M318.3,252.3 M318.3,252.2 L318.4,252.2 L318.5,252.1 L318.6,252.1 
-               L318.6,252.0 L318.7,252.0 M318.7,168.8 L318.7,168.7 M318.7,376.4 M318.7,252.0 L318.7,251.9 L318.8,251.9 L318.9,251.8 L319.0,251.8 
-               L319.0,251.7 L319.1,251.7 L319.1,251.6 M319.2,251.6 L319.2,251.5 L319.3,251.5 M319.4,251.4 L319.5,251.4 M319.5,251.3 L319.6,251.3 
-               M319.6,251.2 M319.7,251.2 M319.7,251.1 M319.8,251.1 L319.9,251.1 L319.9,251.0 M319.9,389.7 M319.9,251.0 M320.0,251.0 L320.1,250.9 
-               L320.2,250.9 M320.2,250.8 M320.3,250.8 L320.3,250.7 M320.3,251.0 M320.3,250.7 M320.4,250.7 M320.4,85.7 M320.4,250.7 L320.4,250.6 
-               M320.4,85.7 M320.4,250.6 L320.5,250.6 M320.5,333.9 M320.5,250.6 M320.6,250.5 L320.7,250.5 M320.7,85.5 L320.7,85.4 M320.7,250.5 
-               L320.7,250.4 M320.7,333.8 M320.7,250.4 L320.8,250.4 M320.7,200.2 M320.7,333.7 M320.7,200.2 L320.8,200.2 M320.8,250.4 M320.8,85.4 
-               M320.8,250.4 M320.8,200.2 L320.8,200.1 M320.8,250.4 M320.8,333.7 M320.8,85.3 M320.8,250.3 M320.8,333.7 M320.8,85.3 M320.8,250.3 
-               M320.9,250.3 L320.9,250.2 L321.0,250.2 L321.1,250.1 L321.2,250.1 L321.2,250.0 L321.3,250.0 L321.3,249.9 L321.4,249.9 L321.4,249.8 
-               L321.5,249.8 L321.6,249.8 M321.6,249.7 L321.7,249.7 L321.7,249.6 M321.7,84.0 M321.7,249.6 M321.8,249.6 L321.8,249.5 L321.9,249.5 
-               L322.0,249.4 L322.1,249.4 L322.1,249.3 M322.2,249.3 M322.2,249.2 L322.3,249.2 L322.3,249.1 M322.4,249.1 L322.5,249.0 L322.6,249.0 
-               L322.6,248.9 L322.7,248.9 M322.7,248.8 M322.7,352.9 M322.7,248.8 L322.8,248.8 M322.8,248.7 L322.9,248.7 L323.0,248.7 L323.0,248.6 
-               L323.1,248.6 L323.1,248.5 L323.2,248.5 L323.2,248.4 M323.2,370.3 M323.2,248.5 L323.2,248.4 L323.3,248.4 L323.4,248.3 M323.5,248.3 
-               M323.5,248.2 L323.6,248.2 L323.6,248.1 M323.6,111.8 M323.6,248.1 M323.6,111.7 M323.6,248.1 L323.7,248.1 M323.7,248.0 M323.7,111.6 
-               M324.5,365.9 M324.5,146.3 M324.5,247.5 L324.5,247.4 M324.5,411.9 M324.5,210.8 M324.5,146.3 M324.5,247.4 L324.6,247.4 M324.6,411.8 
-               M324.6,247.4 M324.6,415.8 M324.6,247.4 M324.6,146.2 M324.6,365.8 M324.6,415.8 M324.6,247.4 L324.6,247.3 M324.6,365.8 L324.6,365.7 
-               M324.6,247.3 M324.7,247.3 L324.7,247.2 M324.8,247.2 M324.9,247.2 L324.9,247.1 L325.0,247.0 M325.0,364.8 L325.0,364.7 M325.0,415.4 
-               M325.0,247.0 M325.0,411.5 M325.0,415.4 M325.0,210.3 M325.0,93.2 M325.0,415.4 M325.0,210.3 M325.0,247.0 L325.1,247.0 M325.0,364.7 
-               M325.0,145.9 L325.1,145.9 M325.1,247.0 M325.1,339.1 L325.1,339.0 M325.1,99.0 M325.1,247.0 M325.1,246.9 M325.2,246.9 M325.2,360.5 
-               M325.2,246.9 L325.3,246.8 L325.4,246.8 M325.4,246.7 L325.5,246.7 M325.5,246.6 L325.6,246.6 L325.7,246.5 L325.8,246.5 L325.8,246.4 
-               M325.9,246.4 L325.9,246.3 L326.0,246.3 M326.0,246.2 L326.1,246.2 L326.1,246.1 L326.2,246.1 M326.3,246.0 M326.4,246.0 L326.4,245.9 
-               M326.5,245.9 L326.5,245.8 M326.6,245.8 M326.7,245.8 L326.7,245.7 M326.8,245.7 M326.8,245.6 M326.9,245.6 M327.0,245.5 M327.0,245.4 
-               L327.1,245.4 L327.2,245.4 L327.2,245.3 L327.3,245.2 M327.4,245.2 L327.4,245.1 M327.4,406.9 M327.4,245.1 L327.5,245.1 L327.5,245.0 
-               M327.6,245.0 L327.6,244.9 M327.7,244.9 M327.7,249.1 L327.8,249.1 M327.8,244.9 L327.8,244.8 M327.9,244.8 M327.9,244.7 L328.0,244.7 
-               L328.0,244.6 L328.1,244.6 L328.2,244.5 L328.3,244.5 L328.3,244.4 L328.4,244.4 L328.4,244.3 L328.5,244.3 L328.5,244.2 L328.6,244.2 
-               L328.7,244.2 L328.7,244.1 M328.8,244.1 M328.8,244.0 L328.9,244.0 M328.9,243.9 L329.0,243.9 L329.0,243.8 M329.1,243.8 M329.2,243.8 
-               L329.2,243.7 L329.3,243.7 M329.3,243.6 L329.4,243.6 L329.4,243.5 L329.5,243.5 L329.6,243.4 L329.7,243.4 M329.7,243.3 M329.8,243.3 
-               M329.8,243.2 L329.9,243.2 M329.9,243.1 L330.0,243.1 L330.1,243.1 M330.1,243.0 M330.2,242.9 M330.3,242.9 M330.3,242.8 L330.4,242.8 
-               M330.4,242.7 M330.5,242.7 L330.6,242.7 L330.6,242.6 M330.7,242.6 L330.7,242.5 L330.8,242.5 M330.8,242.4 L330.9,242.4 L330.9,242.3 
-               L331.0,242.3 M331.1,242.3 L331.1,242.2 L331.2,242.2 M331.2,242.1 L331.3,242.1 L331.3,242.0 M331.3,93.8 M331.3,413.6 M331.3,227.2 
-               M331.3,242.0 L331.4,242.0 L331.5,241.9 L331.6,241.8 M331.7,241.8 L331.7,241.7 L331.8,241.7 M331.8,241.6 M331.9,241.6 L332.0,241.5 
-               L332.1,241.5 L332.1,241.4 L332.2,241.4 L332.2,241.3 L332.3,241.3 L332.3,241.2 M332.4,241.2 L332.5,241.2 L332.5,241.1 L332.6,241.1 
-               L332.6,241.0 L332.7,241.0 M332.7,183.4 M332.7,241.0 L332.7,240.9 L332.8,240.9 L332.9,240.8 M333.0,240.8 L333.0,240.7 L333.1,240.7 
-               M333.1,240.6 M333.2,240.6 L333.2,240.5 L333.3,240.5 M333.4,240.5 L333.4,240.4 L333.5,240.4 L333.5,240.3 L333.6,240.3 L333.6,240.2 
-               L333.7,240.2 L333.7,240.1 L333.8,240.1 M333.9,240.0 L334.0,240.0 M334.0,239.9 L334.1,239.9 L334.1,239.8 L334.2,239.8 L334.3,239.7 
-               L334.4,239.7 M334.4,239.6 M334.5,239.6 L334.5,239.5 M334.6,239.5 M334.6,239.4 L334.7,239.4 M334.6,379.4 M334.7,239.4 L334.8,239.4 
-               L334.8,239.3 L334.9,239.3 L334.9,239.2 M335.0,239.2 L335.0,239.1 L335.1,239.1 M335.1,239.0 L335.2,239.0 M335.3,239.0 M335.4,238.9 
-               M335.5,238.9 M335.7,238.7 M335.8,238.6 L335.9,238.6 M335.9,238.5 M336.0,238.5 M336.0,238.4 L336.1,238.4 L336.1,238.3 L336.2,238.3 
-               L336.2,238.2 L336.3,238.2 M336.3,238.1 L336.4,238.1 L336.5,238.1 M336.5,238.0 L336.6,238.0 L336.6,237.9 L336.7,237.9 M336.7,237.8 
-               L336.8,237.8 L336.9,237.7 M337.0,237.7 L337.0,237.6 L337.1,237.6 L337.1,237.5 L337.2,237.5 M337.3,237.5 L337.3,237.4 L337.4,237.4 
-               L337.4,237.3 L337.5,237.3 L337.5,237.2 M337.6,237.2 L337.7,237.1 L337.8,237.1 L337.8,237.0 L337.9,237.0 M337.9,236.9 L338.0,236.9 
-               L338.0,236.8 L338.1,236.8 M338.2,236.7 L338.3,236.7 L338.3,236.6 L338.4,236.6 M338.4,236.5 L338.5,236.5 L338.5,236.4 L338.6,236.4 
-               M338.7,236.4 L338.7,236.3 L338.8,236.3 M338.8,236.2 M338.9,236.2 L338.9,236.1 L339.0,236.1 M338.9,251.9 L339.0,251.9 M339.0,236.1 
-               L339.0,236.0 M339.1,236.0 L339.2,236.0 L339.2,235.9 M339.3,235.9 L339.3,235.8 L339.4,235.8 L339.4,235.7 M339.5,235.7 M339.6,235.6 
-               L339.7,235.6 M339.7,235.5 M339.8,235.5 L339.8,235.4 L339.9,235.4 M340.0,235.3 M340.1,235.2 L340.2,235.2 L340.2,235.1 L340.3,235.1 
-               L340.3,235.0 M340.4,235.0 M340.5,234.9 L340.6,234.9 L340.6,234.8 M340.6,148.6 M340.6,234.8 M340.7,234.8 L340.7,234.7 M340.8,234.7 
-               M340.8,234.6 L340.9,234.6 L341.0,234.6 M341.0,234.5 L341.1,234.5 L341.1,234.4 M341.2,234.4 M341.2,234.3 M341.3,349.5 M341.3,234.3 
-               L341.3,234.2 M341.4,234.2 L341.5,234.2 L341.5,234.1 M341.6,234.1 L341.6,234.0 L341.7,234.0 M341.7,233.9 L341.8,233.9 L341.9,233.8 
-               M342.0,233.8 M342.0,233.7 L342.1,233.7 L342.1,233.6 L342.2,233.6 L342.2,233.5 M342.3,233.5 L342.4,233.4 M342.5,233.4 L342.5,233.3 
-               L342.6,233.3 L342.6,233.2 L342.7,233.2 L342.7,233.1 L342.8,233.1 M342.9,233.1 M342.9,233.0 M342.9,221.1 M343.0,221.1 M343.0,232.8 
-               M343.0,221.0 M343.0,232.9 M343.1,220.9 M343.1,232.9 M343.1,232.8 M343.1,221.0 M343.1,232.8 M343.1,221.0 M343.1,232.8 M343.1,221.0 
-               M343.1,232.8 L343.2,232.8 M343.1,221.0 L343.2,221.0 M343.1,232.8 M343.1,221.0 M343.1,232.8 M343.3,220.9 M343.3,232.9 L343.3,232.8 
-               M343.3,221.0 M343.3,232.7 L343.4,232.6 L343.5,232.6 L343.5,232.5 L343.6,232.5 L343.6,232.4 L343.7,232.4 L343.7,232.3 M343.8,232.3 
-               L343.9,232.3 M343.9,232.2 L344.0,232.2 L344.0,232.1 L344.1,232.1 L344.1,232.0 L344.2,232.0 L344.2,231.9 L344.3,231.9 M344.4,231.9 
-               M344.4,231.8 L344.5,231.8 M344.5,231.7 L344.6,231.7 M344.6,231.6 L344.7,231.6 M344.8,231.6 L344.8,231.5 M344.8,332.0 M344.8,231.5 
-               L344.9,231.5 L344.9,231.4 L345.0,231.4 M345.0,231.3 L345.1,231.3 L345.1,231.2 M345.2,231.2 L345.3,231.2 L345.3,231.1 L345.4,231.1 
-               M345.4,231.0 L345.5,231.0 L345.5,230.9 L345.6,230.9 L345.6,230.8 L345.7,230.8 L345.8,230.8 L345.8,230.7 M345.9,230.7 L345.9,230.6 
-               L346.0,230.6 L346.0,230.5 M346.1,230.5 L346.1,230.4 L346.2,230.4 M346.3,230.4 L346.3,230.3 L346.4,230.3 L346.4,230.2 M346.5,230.2 
-               L346.5,230.1 L346.6,230.1 L346.7,230.1 L346.7,230.0 L346.8,230.0 M346.8,229.9 L346.9,229.9 M346.9,229.8 L347.0,229.8 L347.0,229.7 
-               M347.1,229.7 L347.1,229.6 L347.2,229.6 M347.3,229.6 M347.3,229.5 L347.4,229.5 L347.4,229.4 L347.5,229.4 L347.5,229.3 L347.6,229.3 
-               M347.7,229.2 L347.8,229.2 L347.8,229.1 L347.9,229.1 M347.9,229.0 L348.0,229.0 L348.0,228.9 M348.1,228.9 L348.2,228.9 L348.2,228.8 
-               L348.3,228.8 L348.3,228.7 L348.4,228.7 L348.4,228.6 L348.5,228.6 L348.5,228.5 M348.6,228.5 M348.7,228.5 L348.7,228.4 L348.8,228.4 
-               M348.8,228.3 M348.9,228.3 L348.9,228.2 M349.0,228.2 L349.1,228.1 L349.2,228.1 M349.2,228.0 L349.3,228.0 L349.3,227.9 L349.4,227.9 
-               M349.4,227.8 L349.5,227.8 L349.6,227.8 M349.6,227.7 L349.7,227.7 L349.7,227.6 M349.8,227.6 L349.8,227.5 M349.9,227.5 M350.3,227.6 
-               L350.4,227.6 L350.4,227.5 L350.5,227.5 L350.5,227.4 L350.6,227.4 L350.7,227.3 L350.8,227.3 M350.8,227.2 M350.9,227.2 M350.9,242.1 
-               L350.9,242.0 M350.9,413.6 M350.9,227.2 L350.9,227.1 L351.0,227.1 L351.0,227.0 L351.1,227.0 M351.2,227.0 L351.2,226.9 L351.3,226.9 
-               M351.3,226.8 M351.4,226.8 L351.4,226.7 M351.5,226.7 L351.5,226.6 L351.6,226.6 L351.7,226.5 M351.8,226.5 M351.8,226.4 L351.9,226.4 
-               L351.9,226.3 L352.0,226.3 M352.1,226.2 L352.2,226.2 L352.2,226.1 L352.3,226.1 L352.3,226.0 L352.4,226.0 L352.4,225.9 L352.5,225.9 
-               M352.6,225.8 L352.7,225.8 L352.8,225.7 M352.9,225.6 L353.0,225.6 L353.0,225.5 M353.1,225.5 L353.1,225.4 L353.2,225.4 L353.3,225.3 
-               L353.4,225.3 L353.4,225.2 L353.5,225.2 M353.5,225.1 L353.6,225.1 L353.6,225.0 L353.7,225.0 L353.8,224.9 L353.9,224.9 M353.9,224.8 
-               L354.0,224.8 M354.0,224.7 L354.1,224.7 M354.1,224.6 M354.2,224.6 L354.3,224.6 L354.3,224.5 L354.4,224.5 L354.4,224.4 L354.5,224.4 
-               L354.5,224.3 M354.6,224.3 M354.7,224.2 L354.8,224.2 L354.8,224.1 L354.9,224.1 M354.9,224.0 M355.0,224.0 L355.0,223.9 L355.1,223.9 
-               M355.2,223.8 L355.3,223.8 M355.3,223.7 M355.3,324.5 M355.3,223.7 L355.4,223.7 M355.4,223.6 M355.5,223.6 L355.6,223.6 M355.6,223.5 
-               M355.7,223.5 L355.7,223.4 L355.8,223.4 L355.8,223.3 M355.9,223.3 L355.9,223.2 M356.0,223.2 L356.1,223.2 L356.1,223.1 L356.2,223.1 
-               M356.2,223.0 L356.3,223.0 L356.3,222.9 L356.4,222.9 L356.5,222.8 L356.6,222.8 L356.6,222.7 L356.7,222.7 M356.7,222.6 M356.8,222.6 
-               M356.8,222.5 L356.9,222.5 M357.0,222.5 L357.0,222.4 L357.1,222.4 L357.1,222.3 M357.2,222.3 L357.2,222.2 M357.3,222.2 L357.4,222.2 
-               L357.4,222.1 L357.5,222.1 L357.5,222.0 M357.6,222.0 M357.6,288.2 M357.6,222.0 M357.6,221.9 M357.7,221.9 L357.8,221.8 M357.9,221.8 
-               L357.9,221.7 L358.0,221.7 L358.0,221.6 M358.1,221.6 L358.1,221.5 L358.2,221.5 L358.3,221.5 L358.3,221.4 L358.4,221.4 M358.4,221.3 
-               L358.5,221.3 L358.5,221.2 L358.6,221.2 M358.6,233.0 M358.6,221.2 M358.6,233.0 M358.7,233.0 M358.7,220.3 M358.7,205.1 M358.7,220.3 
-               M358.7,233.0 M358.7,221.1 M358.7,233.0 L358.7,232.9 M358.7,221.1 M358.7,232.8 M358.7,221.0 M358.7,232.9 M358.7,221.1 M358.8,221.1 
-               L358.8,221.0 M358.8,232.9 M358.8,220.9 L358.9,220.9 M358.8,232.7 L358.9,232.7 M358.8,232.9 L358.9,232.8 M358.9,220.9 M358.9,220.8 
-               L359.0,220.8 M359.0,220.7 M359.1,220.7 M359.1,220.6 L359.2,220.6 M359.3,220.6 L359.3,220.5 L359.4,220.5 L359.4,220.4 L359.5,220.4 
-               L359.5,220.3 M359.6,220.3 L359.6,220.2 L359.7,220.2 M359.8,220.1 L359.9,220.1 M359.9,220.0 M360.0,220.0 L360.0,219.9 L360.1,219.9 
-               L360.1,219.8 L360.2,219.8 M360.2,142.3 M360.2,219.8 L360.3,219.7 M360.4,219.7 L360.4,219.6 L360.5,219.6 L360.5,219.5 L360.6,219.5 
-               M360.6,218.9 M360.6,218.8 L360.7,218.8 L360.7,218.7 M360.8,218.7 M360.9,218.7 L360.9,218.6 L361.0,218.6 M361.0,218.5 L361.1,218.5 
-               L361.1,218.4 L361.2,218.4 L361.3,218.3 M361.4,218.3 L361.4,218.2 M361.5,218.2 L361.5,218.1 L361.6,218.1 L361.6,218.0 L361.7,218.0 
-               L361.8,218.0 L361.8,217.9 M361.9,217.9 M361.9,217.8 L362.0,217.8 L362.0,217.7 L362.1,217.7 L362.1,217.6 L362.2,217.6 L362.3,217.6 
-               L362.3,217.5 L362.4,217.5 L362.5,217.4 L362.6,217.3 L362.7,217.2 L362.8,217.2 L362.8,217.1 L362.9,217.1 L362.9,217.0 L363.0,217.0 
-               L363.1,216.9 L363.2,216.9 L363.2,216.8 L363.3,216.8 L363.3,216.7 M363.4,216.7 L363.4,216.6 L363.5,216.6 L363.6,216.5 L363.7,216.5 
-               M363.7,216.4 L363.8,216.4 L363.8,216.3 L363.9,216.3 L363.9,216.2 L364.0,216.2 L364.1,216.1 L364.2,216.1 L364.2,216.0 M364.3,216.0 
-               M364.3,215.9 L364.4,215.9 M364.4,215.8 L364.5,215.8 M364.6,215.7 L364.7,215.7 M364.7,215.6 L364.8,215.6 M364.8,215.5 L364.9,215.5 
-               L364.9,215.4 L365.0,215.4 M365.1,215.4 L365.1,215.3 L365.2,215.3 L365.2,215.2 M365.3,215.2 M365.3,270.1 M365.3,215.2 L365.3,215.1 
-               L365.4,215.1 L365.4,215.0 M365.5,215.0 M365.6,215.0 L365.6,214.9 M365.7,214.9 L365.7,214.8 L365.8,214.8 L365.8,214.7 M365.9,214.7 
-               M365.9,71.6 M365.9,214.7 M366.0,214.6 L366.1,214.6 L366.1,214.5 M366.2,214.5 M366.2,214.4 L366.3,214.4 L366.3,214.3 M366.4,160.5 
-               M366.5,160.1 M366.7,252.2 M366.7,165.4 M366.7,252.2 M366.9,214.0 M366.9,213.9 L367.0,213.9 M367.0,213.8 L367.1,213.8 M367.1,246.5 
-               M367.1,213.8 M367.2,213.8 L367.2,213.7 L367.3,213.7 L367.3,213.6 L367.4,213.6 L367.4,213.5 L367.5,213.5 L367.6,213.4 M367.7,213.4 
-               L367.7,213.3 M367.8,213.3 M367.8,213.2 L367.9,213.2 L367.9,213.1 L368.0,213.1 L368.1,213.0 M368.2,213.0 M368.2,212.9 L368.3,212.9 
-               L368.3,212.8 L368.4,212.8 M368.5,212.7 L368.6,212.7 L368.6,212.6 L368.7,212.6 M368.7,212.5 L368.8,212.5 L368.8,212.4 L368.9,212.4 
-               M369.0,212.4 L369.0,212.3 M369.1,212.3 L369.1,212.2 M369.2,212.2 L369.2,212.1 M369.3,212.1 L369.3,212.0 M369.4,212.0 M369.5,211.9 
-               M369.8,370.3 M369.9,211.9 L369.9,211.8 L370.0,211.8 L370.1,211.8 L370.1,211.7 L370.2,211.7 L370.2,211.6 M370.3,211.6 L370.3,211.5 
-               L370.4,211.5 L370.5,211.4 M370.6,211.4 L370.6,211.3 L370.7,211.3 L370.7,211.2 L370.8,211.2 M370.8,345.1 M370.8,211.2 M370.8,211.0 
-               M370.9,184.4 M370.9,324.4 M370.9,287.8 L370.9,287.7 M370.9,184.4 M370.9,324.4 M370.9,184.4 M370.9,324.4 M370.9,184.4 L371.0,184.4 
-               M370.9,324.4 L371.0,324.4 M371.0,184.4 M371.0,324.4 L371.0,324.3 M371.0,184.4 M371.0,324.3 M371.0,184.4 L371.0,184.3 M371.0,324.3 
-               M371.0,184.3 L371.1,184.3 M371.0,324.3 L371.1,324.3 M371.1,184.3 M371.1,324.3 M371.1,184.3 M371.1,324.3 M371.1,184.3 M371.1,324.3 
-               L371.1,324.2 M371.1,184.3 M371.1,324.2 M371.1,184.3 L371.1,184.2 M371.1,324.2 M371.1,184.2 L371.2,184.2 M371.1,324.2 L371.2,324.2 
-               M371.2,184.2 M371.2,324.2 M371.2,184.2 M371.2,324.2 M371.2,184.2 M371.2,324.2 M371.2,184.2 M371.2,324.2 M371.3,184.2 L371.3,184.1 
-               M371.3,324.1 M371.3,184.1 M371.3,324.1 M371.3,184.1 M371.3,324.1 M371.3,184.1 M371.3,324.0 M371.3,184.1 L371.3,184.0 M371.3,324.0 
-               M371.3,184.0 M371.3,324.0 M371.3,184.0 L371.4,184.0 M371.3,324.0 L371.4,324.0 M371.4,184.0 M371.4,324.0 M371.4,184.0 M371.4,324.0 
-               M371.5,345.0 M371.6,345.0 M371.6,211.0 L371.6,210.9 M371.6,345.0 M371.6,210.9 M371.7,211.1 M371.7,211.2 M371.7,345.1 M371.7,211.0 
-               M371.7,211.2 L371.7,211.1 L371.8,211.1 M371.8,196.0 M371.8,211.1 M371.8,210.9 M371.8,344.9 M371.8,210.9 M371.8,344.9 M371.8,210.9 
-               L371.9,210.9 M371.8,344.9 L371.9,344.9 M371.8,211.0 L371.9,211.0 M372.0,130.2 M372.0,415.9 M372.0,210.8 M372.0,130.2 M372.0,344.8 
-               M372.0,247.4 M372.0,130.2 M372.0,344.8 M372.0,210.8 M372.0,130.2 M372.0,344.8 L372.0,344.7 M372.0,210.7 M372.0,365.0 M372.0,210.7 
-               M372.0,365.8 M372.0,210.7 M372.0,130.1 M372.0,344.7 M372.0,415.8 M372.0,210.7 M372.0,130.1 M372.0,344.7 M372.0,365.0 M372.0,210.7 
-               M372.0,130.1 M372.0,344.7 M372.0,210.7 L372.1,210.7 M372.1,411.9 M372.1,146.3 M372.1,130.1 M372.1,344.7 M372.1,210.7 M372.1,415.8 
-               M372.1,411.9 L372.1,411.8 M372.1,210.7 M372.1,130.1 M372.1,344.7 M372.1,210.7 M372.1,130.1 M372.1,344.7 M372.1,415.8 M372.1,365.0 
-               M372.1,74.5 M372.1,210.7 M372.1,130.1 M372.1,210.7 L372.1,210.6 M372.1,130.1 M372.1,344.7 L372.1,344.6 M372.1,210.6 M372.1,130.1 
-               L372.2,130.0 M372.1,344.6 L372.2,344.6 M372.1,210.6 L372.2,210.6 M372.2,130.0 M372.2,344.6 M372.2,210.6 M372.2,130.0 M372.2,344.6 
-               M372.2,210.6 M372.2,130.0 M372.2,344.6 M372.2,210.6 M372.2,415.7 M372.2,130.0 M372.2,344.6 M372.2,210.6 M372.2,130.0 M372.2,344.6 
-               M372.2,210.6 M372.2,130.0 L372.3,130.0 M372.3,129.9 L372.4,129.9 L372.4,129.8 L372.5,129.8 M372.5,344.4 M372.5,210.4 M372.5,344.4 
-               M372.5,411.5 M372.5,415.5 M372.5,129.8 M372.5,344.4 L372.5,344.3 M372.5,210.4 L372.5,210.3 M372.5,344.3 M372.5,129.7 M372.6,344.3 
-               M372.6,129.7 M372.6,210.3 M372.6,415.4 M372.6,365.4 M372.6,210.3 M372.6,344.3 M372.6,129.7 M372.6,210.3 M372.6,365.4 M372.6,344.3 
-               M372.6,129.7 M372.6,344.3 M372.6,129.7 M372.7,66.0 M372.7,233.0 M372.7,210.3 L372.7,210.2 L372.8,210.2 M372.9,210.1 L373.0,210.1 
-               L373.0,210.0 L373.1,210.0 L373.1,209.9 M373.2,209.9 L373.3,209.9 M373.3,209.8 L373.4,209.8 L373.4,209.7 L373.5,209.7 M373.5,209.6 
-               L373.6,209.6 L373.7,209.6 L373.7,209.5 M373.8,209.5 L373.8,209.4 L373.9,209.4 L373.9,209.3 L374.0,209.3 L374.0,209.2 M374.1,209.2 
-               L374.1,209.1 M374.2,209.1 L374.3,209.1 M374.3,209.0 L374.4,209.0 L374.4,208.9 M374.5,208.9 M374.5,344.2 M374.5,304.5 M374.5,208.8 
-               M374.6,208.8 L374.6,208.7 M374.7,208.7 M374.8,208.7 L374.8,208.6 M374.9,208.6 L374.9,208.5 L375.0,208.5 M374.9,266.3 M375.0,208.5 
-               L375.0,208.4 L375.1,208.4 L375.2,208.3 M375.3,208.3 L375.3,208.2 M375.3,54.9 M375.3,208.2 M375.4,208.2 L375.4,208.1 L375.5,208.1 
-               M375.6,208.1 M375.6,208.0 M375.7,208.0 L375.7,207.9 M375.8,207.9 M375.8,207.8 L375.9,207.8 M376.0,207.7 L376.1,207.7 L376.1,207.6 
-               L376.2,207.6 L376.2,207.5 L376.3,207.5 L376.3,207.4 L376.4,207.4 L376.5,207.4 L376.5,207.3 L376.6,207.3 M376.6,207.2 L376.7,207.2 
-               L376.7,207.1 L376.8,207.1 L376.9,207.0 M376.9,183.7 L377.0,183.7 M376.9,207.0 L377.0,207.0 M377.0,399.2 M377.0,207.0 M377.0,183.7 
-               M377.0,207.0 M377.1,207.0 M377.1,183.7 M377.1,399.2 M377.1,207.0 L377.2,206.9 L377.3,206.9 L377.3,206.8 M377.4,206.8 M377.4,200.4 
-               M377.4,206.8 L377.4,206.7 L377.5,206.7 L377.6,206.6 M377.5,206.3 M377.6,206.6 L377.7,206.6 L377.7,206.5 L377.8,206.5 M377.8,206.4 
-               L377.9,206.4 L377.9,206.3 L378.0,206.3 M377.9,206.7 L378.0,206.7 M378.0,206.3 L378.1,206.2 L378.1,206.1 M378.2,206.1 M378.2,371.6 
-               M378.2,206.1 M378.3,206.1 L378.3,206.0 L378.4,206.0 L378.4,205.9 L378.5,205.9 L378.5,205.8 L378.6,205.8 L378.7,205.7 M378.7,99.0 
-               M378.7,205.7 M378.8,205.7 L378.8,205.6 M378.9,205.6 L378.9,205.5 L379.0,205.5 L379.1,205.5 L379.1,205.4 M379.2,205.4 M379.2,205.3 
-               L379.3,205.3 L379.3,205.2 L379.4,205.2 L379.4,205.1 M379.4,343.3 M379.4,205.2 L379.5,205.1 L379.6,205.0 L379.7,205.0 M379.7,204.9 
-               L379.8,204.9 L379.8,204.8 M379.9,204.8 M379.9,204.7 L380.0,204.7 M380.1,204.7 L380.1,204.6 L380.2,204.6 M380.2,204.5 L380.3,204.5 
-               L380.3,204.4 L380.4,204.4 L380.5,204.3 M380.6,204.3 L380.6,204.2 L380.7,204.2 M380.7,204.1 M380.8,204.1 M380.8,204.0 M380.9,204.0 
-               L380.9,203.9 M381.0,203.9 L381.1,203.9 L381.1,203.8 L381.2,203.8 L381.2,203.7 L381.3,203.7 M381.3,203.6 M381.3,203.7 M381.3,203.6 
-               M381.3,203.7 M381.4,203.6 L381.5,203.6 L381.5,203.5 M381.5,203.4 M381.5,203.5 M381.5,203.4 M381.5,203.5 M381.6,203.4 L381.6,203.3 
-               L381.7,203.3 M381.7,203.2 L381.8,203.2 M381.9,203.2 M381.9,203.1 M381.9,203.2 L381.9,203.1 M382.0,203.1 L382.0,203.0 L382.1,203.0 
-               L382.1,202.9 M382.2,202.9 M382.2,274.8 M382.2,202.9 L382.3,202.8 L382.4,202.7 L382.5,202.7 L382.5,202.6 L382.6,202.6 L382.6,202.5 
-               M382.7,202.5 L382.8,202.4 L382.9,202.4 M382.9,274.2 M382.9,202.4 L382.9,202.3 L383.0,202.3 L383.0,202.2 M383.0,274.1 M383.0,202.2 
-               L383.1,202.2 M383.1,308.4 M383.1,202.2 L383.1,202.1 M383.1,308.4 M383.1,202.1 M383.2,308.3 M383.2,202.1 M383.2,308.3 M383.2,202.1 
-               M383.2,308.3 M383.2,202.1 M383.3,308.3 M383.3,202.0 M383.3,308.2 M383.3,202.0 M383.3,308.2 M383.3,202.0 M383.3,308.2 M383.3,202.0 
-               M383.4,308.2 M383.4,202.0 M383.4,308.2 M383.4,202.0 M383.4,308.2 M383.4,202.0 M383.4,308.2 M383.4,201.9 M383.4,308.2 M383.4,201.9 
-               M383.4,308.2 L383.4,308.1 M383.4,201.9 L383.5,201.9 L383.5,201.8 L383.6,201.8 L383.7,201.7 L383.8,201.7 L383.8,201.6 M383.9,201.6 
-               M383.9,201.5 L384.0,201.5 M384.0,201.4 L384.1,201.4 M384.2,201.4 L384.2,201.3 L384.3,201.3 M384.3,201.2 M384.3,201.3 L384.4,201.3 
-               M384.4,201.2 L384.5,201.2 L384.5,201.1 M384.6,201.1 L384.7,201.1 M384.7,201.0 M384.8,201.0 L384.8,200.9 L384.9,200.9 L384.9,200.8 
-               L385.0,200.8 L385.1,200.7 L385.2,200.7 M385.2,200.6 M385.3,200.6 L385.3,200.5 M385.4,200.5 L385.4,200.4 L385.5,200.4 M385.5,206.8 
-               M385.5,200.4 M385.6,200.4 L385.6,200.3 L385.7,200.3 L385.7,200.2 L385.8,200.2 M385.8,250.8 L385.8,250.7 M385.8,251.0 M385.8,250.7 
-               M385.9,250.7 M385.9,85.7 M385.9,250.7 L385.9,250.6 M385.9,334.0 M385.9,250.6 L386.0,250.6 M386.0,333.9 M386.0,250.6 M386.1,250.5 
-               M386.1,85.5 L386.2,85.4 M386.1,250.5 L386.2,250.5 L386.2,250.4 M386.2,333.8 M386.2,250.4 M386.2,200.2 M386.2,333.7 M386.2,200.2 
-               L386.3,200.2 M386.2,250.4 L386.3,250.4 M386.2,85.4 L386.3,85.4 M386.3,250.4 M386.3,200.2 L386.3,200.1 M386.3,250.4 M386.3,333.7 
-               M386.3,85.3 M386.3,250.3 M386.3,333.7 M386.3,85.3 M386.3,250.3 M386.4,250.3 M386.4,200.1 M386.5,200.1 M386.6,200.1 L386.6,200.0 
-               L386.7,200.0 L386.7,199.9 M386.8,199.9 L386.8,199.8 M386.9,199.8 L386.9,199.7 L387.0,199.7 L387.1,199.7 M387.1,199.6 L387.2,199.6 
-               M387.3,199.5 L387.4,199.5 L387.4,199.4 L387.5,199.4 L387.5,199.3 M387.6,199.3 L387.7,199.3 M387.7,199.2 L387.8,199.2 L387.8,199.1 
-               L387.9,199.1 L387.9,199.0 L388.0,199.0 L388.1,199.0 L388.1,198.9 L388.2,198.9 L388.2,198.8 L388.3,198.8 L388.3,198.7 L388.4,198.7 
-               L388.4,198.6 L388.5,198.6 L388.6,198.5 L388.7,198.5 L388.7,198.4 L388.8,198.4 M388.8,198.3 L388.9,198.3 M388.9,92.5 M388.9,198.3 
-               L388.9,198.2 L389.0,198.2 L389.1,198.2 M389.1,198.1 M389.1,198.0 L389.2,198.0 L389.2,197.9 L389.3,197.9 M389.3,197.8 M389.4,197.8 
-               L389.5,197.8 L389.5,197.7 M389.6,197.7 L389.6,197.6 M389.7,197.6 M389.7,363.8 M389.7,197.6 M389.7,197.5 L389.8,197.5 M389.8,197.4 
-               L389.9,197.4 M389.9,166.8 M389.9,197.4 M390.0,160.5 M390.0,197.4 L390.0,197.3 L390.1,197.3 L390.1,197.2 L390.2,197.2 L390.2,197.1 
-               L390.3,197.1 L390.4,197.1 M390.4,197.0 L390.5,197.0 L390.5,196.9 L390.6,196.9 L390.6,196.8 M390.7,196.8 M390.7,196.7 L390.8,196.7 
-               M390.9,196.7 M390.9,196.6 M391.0,196.6 M391.0,196.5 M391.1,196.5 L391.1,196.4 L391.2,196.4 L391.3,196.4 L391.3,196.3 L391.4,196.3 
-               L391.4,196.2 L391.5,196.2 L391.5,196.1 L391.6,196.1 L391.6,196.0 L391.7,196.0 L391.8,196.0 M391.8,195.9 M391.9,195.9 L391.9,195.8 
-               L392.0,195.8 L392.0,195.7 L392.1,195.7 L392.2,195.7 M392.2,195.6 L392.3,195.6 L392.3,195.5 L392.4,195.4 L392.5,195.4 M392.5,195.3 
-               M392.6,195.3 M392.7,195.3 M392.7,195.2 L392.8,195.2 M392.8,195.1 L392.9,195.1 L393.0,195.0 M393.1,194.9 M393.1,220.3 M393.1,390.9 
-               M393.1,233.0 M393.3,194.8 M393.4,194.8 M393.4,193.5 M393.4,194.7 L393.5,194.7 M393.5,194.6 L393.6,194.6 M393.6,194.5 M393.7,194.5 
-               M393.7,194.4 M393.8,194.4 L393.8,194.3 L393.9,194.3 L394.0,194.3 M394.0,194.2 L394.1,194.2 M394.1,194.1 L394.2,194.1 L394.2,194.0 
-               M394.3,194.0 L394.3,193.9 L394.4,193.9 M394.5,193.9 L394.5,193.8 L394.6,193.8 L394.6,193.7 L394.7,193.7 M394.7,193.6 M394.8,251.0 
-               M394.8,141.7 M394.8,193.5 M394.9,193.5 M394.9,194.8 M394.9,193.5 M394.9,193.4 L395.0,193.4 L395.0,193.3 L395.1,193.3 L395.2,193.2 
-               L395.3,193.2 L395.3,193.1 L395.4,193.1 M395.4,261.1 M395.4,193.1 L395.4,193.0 L395.5,193.0 L395.6,192.9 L395.7,192.9 L395.7,192.8 
-               L395.8,192.8 L395.8,192.7 L395.9,192.7 M395.9,192.6 L396.0,192.6 M396.0,192.5 L396.1,192.5 L396.2,192.5 L396.2,192.4 M396.3,192.4 
-               L396.3,192.3 L396.4,192.3 L396.4,192.2 L396.5,192.2 L396.6,192.1 L396.7,192.1 L396.7,192.0 L396.8,192.0 L396.8,191.9 M396.9,191.9 
-               M396.9,191.8 L397.0,191.8 L397.1,191.8 L397.1,191.7 M397.2,191.7 L397.2,191.6 L397.3,191.6 L397.3,191.5 L397.4,191.5 L397.5,191.5 
-               L397.5,191.4 L397.6,191.4 L397.6,191.3 M397.7,191.3 L397.7,191.2 M397.8,191.2 M397.9,191.1 L398.0,191.1 M397.9,89.7 L398.0,89.7 
-               M398.0,191.0 M398.1,191.0 M398.1,190.9 L398.2,190.9 L398.2,190.8 L398.3,190.8 L398.4,190.7 L398.5,190.7 L398.5,190.6 L398.6,190.6 
-               M398.6,190.5 L398.7,190.5 L398.7,190.4 L398.8,190.4 M398.9,190.3 L399.0,190.3 L399.0,190.2 M399.1,190.2 L399.1,190.1 L399.2,190.1 
-               L399.2,190.0 L399.3,190.0 M399.4,190.0 L399.4,189.9 M399.8,410.1 M400.5,185.7 M400.8,233.4 L400.9,233.4 M405.1,185.8 M407.4,187.8 
-               L407.5,187.8 L407.5,187.7 L407.6,187.7 L407.6,187.6 L407.7,187.6 L407.7,187.5 L407.8,187.5 M408.1,187.2 L408.2,187.2 L408.3,187.1 
-               L408.4,187.0 L408.5,187.0 M408.6,188.5 L408.7,188.4 L408.8,188.3 L408.9,188.3 M410.0,310.6 M411.2,63.5 M411.5,369.7 M411.5,96.9 
-               L411.6,96.9 L411.6,96.8 L411.7,96.8 M411.8,187.0 L411.9,187.0 L411.9,186.9 M412.0,96.3 L412.1,96.2 L412.2,96.1 L412.3,96.1 
-               L412.4,95.9 L412.5,95.9 L412.6,95.9 L412.6,95.8 L412.7,95.8 L412.7,95.7 L412.8,95.6 L412.9,95.6 M412.9,95.5 M413.0,95.5 
-               M413.1,95.4 M413.2,95.4 M413.2,95.3 M413.8,131.6 M413.9,94.3 L413.9,94.2 M415.8,57.4 M421.1,72.5 M422.7,260.8 M423.7,70.8 
-               M424.9,356.0 M425.7,245.4 M427.2,265.4 L427.2,265.3 M427.3,265.3 M427.3,265.2 M427.4,265.2 M427.4,265.1 L427.5,265.1 M429.2,415.8 
-               M430.7,412.8 M433.7,164.8 M433.7,206.1 M433.8,164.8 M433.8,369.5 M433.8,164.8 L433.8,164.7 M433.8,369.4 M433.8,164.7 L433.9,164.7 
-               L434.0,164.7 M434.0,164.6 M434.1,164.6 M434.1,164.5 L434.2,164.5 L434.2,164.4 L434.3,164.4 L434.4,164.3 M434.5,164.3 L434.5,164.2 
-               L434.6,164.2 M434.6,164.1 L434.7,164.1 L434.7,164.0 L434.8,164.0 L434.9,164.0 M434.9,163.9 L435.0,163.9 L435.0,163.8 L435.1,163.8 
-               M435.1,354.5 M435.1,163.8 M435.1,163.7 M435.2,163.7 L435.2,163.6 L435.3,163.6 M435.4,163.6 L435.4,163.5 L435.5,163.5 L435.5,163.4 
-               M435.6,163.4 L435.6,163.3 L435.7,163.3 L435.8,163.2 L435.9,163.2 M435.9,163.1 M436.0,163.0 M436.1,163.0 L436.1,162.9 M436.2,162.9 
-               L436.2,162.8 M436.2,162.9 L436.2,162.8 M436.4,163.0 L436.5,163.0 L436.5,162.9 L436.6,162.9 L436.6,162.8 M436.6,162.9 L436.6,162.8 
-               L436.7,162.8 L436.7,162.7 L436.8,162.7 L436.9,162.6 M437.0,162.6 M437.0,162.5 L437.1,162.5 L437.1,162.4 M437.2,162.4 L437.2,162.3 
-               L437.3,162.3 L437.4,162.2 L437.5,162.2 M437.5,162.1 L437.6,162.1 L437.6,162.0 L437.7,162.0 L437.7,161.9 L437.8,161.9 L437.9,161.9 
-               L437.9,161.8 M438.0,161.8 L438.0,161.7 L438.1,161.7 L438.1,161.6 L438.2,161.6 L438.3,161.5 L438.4,161.5 L438.4,161.4 L438.5,161.4 
-               L438.5,161.3 M438.6,288.3 M438.6,161.3 L438.7,161.3 M438.7,161.2 M438.8,161.2 L438.8,161.1 M438.9,161.1 L439.0,161.0 L439.1,161.0 
-               L439.1,160.9 L439.2,160.9 L439.2,160.8 L439.3,160.8 M439.3,160.7 L439.4,160.7 M439.5,160.7 M439.5,160.6 M439.6,160.6 L439.6,160.5 
-               M440.0,160.5 L440.1,160.4 M440.2,160.4 L440.2,160.3 L440.3,160.3 M440.3,214.1 M440.3,160.3 M440.3,160.2 L440.4,160.2 M440.4,160.1 
-               L440.5,160.1 L440.6,160.1 M440.6,160.0 M440.7,160.0 M440.7,214.0 M440.7,159.9 M440.7,214.0 M440.7,159.9 L440.8,159.9 M440.8,159.8 
-               M440.9,159.8 M440.9,159.7 L441.0,159.7 L441.1,159.7 L441.1,159.6 L441.2,159.6 L441.2,159.5 L441.3,159.5 L441.3,159.4 M441.4,159.4 
-               L441.5,159.3 M441.6,159.3 L441.6,159.2 L441.7,159.2 L441.7,159.1 L441.8,159.1 L441.8,159.0 L441.9,159.0 L441.9,158.9 M442.0,158.9 
-               L442.1,158.9 L442.1,158.8 L442.2,158.8 M442.2,158.7 L442.3,158.7 M442.5,158.6 L442.6,158.6 L442.7,158.5 M442.8,158.5 L442.8,158.4 
-               L442.9,158.4 L442.9,158.3 L443.0,158.3 L443.0,158.2 L443.1,158.2 L443.2,158.1 M443.3,158.1 M443.3,158.0 L443.4,158.0 L443.5,157.9 
-               L443.5,157.8 M443.6,157.8 L443.7,157.8 L443.7,157.7 L443.8,157.7 L443.8,157.6 L443.9,157.6 L443.9,157.5 L444.0,157.5 L444.1,157.5 
-               M444.1,157.4 L444.2,157.4 M444.2,157.3 L444.3,157.3 M444.3,157.2 L444.4,157.2 L444.4,157.1 M444.5,157.1 L444.6,157.0 L444.7,157.0 
-               L444.7,156.9 L444.8,156.9 L444.8,156.8 L444.9,156.8 L445.0,156.7 L445.1,156.7 L445.1,156.6 L445.2,156.6 L445.2,156.5 L445.3,156.5 
-               L445.3,156.4 L445.4,156.4 L445.5,156.3 L445.6,156.3 L445.6,156.2 L445.7,156.2 L445.7,156.1 L445.8,156.1 M445.8,156.0 M445.9,156.0 
-               L446.0,156.0 M446.0,155.9 L446.1,155.9 M446.1,155.8 L446.2,155.8 M446.2,155.7 L446.3,155.7 L446.3,155.6 L446.4,155.6 L446.5,155.6 
-               L446.5,155.5 L446.6,155.5 M446.6,155.4 L446.7,155.4 M446.7,155.3 L446.8,155.3 L446.9,155.2 L447.0,155.2 L447.0,155.1 L447.1,155.1 
-               L447.1,155.0 L447.2,155.0 L447.2,154.9 L447.3,154.9 L447.4,154.9 M447.4,154.8 L447.5,154.8 L447.5,154.7 M447.5,152.7 M447.5,154.7 
-               L447.6,154.7 L447.6,154.6 L447.7,154.6 L447.7,154.5 L447.8,154.5 L447.9,154.5 M447.9,154.4 L448.0,154.4 L448.0,154.3 L448.1,154.3 
-               M448.2,154.2 L448.3,154.2 M448.2,88.1 L448.3,88.1 M448.3,154.2 M448.3,88.1 M448.3,154.2 M448.3,88.1 M448.3,154.2 L448.3,154.1 
-               M448.3,88.1 M448.3,154.1 M448.3,88.1 L448.4,88.0 M448.3,154.1 L448.4,154.1 M448.4,88.0 M448.4,154.1 M448.4,88.0 M448.4,154.1 
-               M448.4,88.0 L448.5,87.9 M448.4,154.1 L448.4,154.0 L448.5,154.0 M448.5,87.9 L448.6,87.8 M448.5,154.0 L448.6,153.9 M448.6,87.8 
-               M448.6,153.9 M448.6,87.8 M448.7,153.9 L448.7,153.8 M448.7,87.8 M448.7,153.8 M448.7,87.8 M448.7,153.8 M448.7,87.8 L448.7,87.7 
-               M448.7,153.8 M448.7,87.7 M448.8,153.8 M448.8,87.7 M448.8,153.8 M448.8,87.7 M448.8,153.8 L448.8,153.7 M448.8,87.7 M448.8,153.7 
-               L448.9,153.7 L448.9,153.6 L449.0,153.6 L449.1,153.5 L449.2,153.5 L449.2,153.4 M449.2,354.1 M449.2,380.0 M449.2,188.3 M449.2,318.1 
-               M449.2,206.2 M449.2,386.2 M449.2,206.1 M449.2,386.2 M449.2,380.0 L449.3,380.0 M449.3,386.1 M449.3,206.2 M449.3,153.4 M449.4,153.4 
-               L449.4,153.3 L449.5,153.3 L449.5,153.2 L449.6,153.2 L449.7,153.1 L449.8,153.1 M449.8,153.0 L449.9,153.0 L449.9,152.9 L450.0,152.9 
-               L450.0,152.8 M450.1,152.8 M450.2,152.8 L450.2,152.7 M450.3,152.7 L450.3,152.6 L450.4,152.6 M450.4,152.5 L450.5,152.5 L450.6,152.4 
-               L450.7,152.4 M450.7,92.1 M450.7,152.4 L450.7,152.3 L450.8,152.3 L450.8,152.2 L450.9,152.2 L450.9,152.1 M451.0,152.1 L451.1,152.0 
-               L451.2,152.0 L451.2,151.9 L451.3,151.9 L451.3,151.8 L451.4,151.8 L451.4,151.7 M451.5,151.7 L451.6,151.7 L451.6,151.6 L451.7,151.6 
-               L451.7,151.5 M451.8,151.5 L451.8,151.4 L451.9,151.4 M452.0,151.3 L452.1,151.3 L452.1,151.2 L452.2,151.2 L452.2,151.1 L452.3,151.1 
-               L452.3,151.0 L452.4,151.0 L452.5,150.9 L452.6,150.9 M452.6,150.8 L452.7,150.8 L452.7,150.7 L452.8,150.7 M452.8,150.6 L452.9,150.6 
-               L453.0,150.6 L453.0,150.5 L453.1,150.5 L453.1,150.4 L453.2,150.4 L453.2,150.3 M453.3,150.3 M453.4,150.3 L453.4,150.2 M453.5,150.2 
-               L453.5,150.1 L453.6,150.1 L453.6,150.0 L453.7,150.0 M453.7,149.9 L453.8,149.9 L453.9,149.9 L453.9,149.8 L454.0,149.8 L454.0,149.7 
-               L454.1,149.7 L454.1,149.6 L454.2,149.6 L454.3,149.5 L454.4,149.5 L454.4,149.4 L454.5,149.4 M454.5,149.3 M454.6,149.3 L454.7,149.2 
-               L454.8,149.1 L454.9,149.1 M454.8,382.0 M454.9,149.1 L454.9,149.0 L455.0,149.0 L455.0,148.9 L455.1,148.9 L455.1,148.8 L455.2,148.8 
-               M455.3,148.8 M455.3,148.7 L455.4,148.7 M455.4,148.6 M455.5,148.6 L455.5,148.5 M455.6,148.5 M455.6,148.4 L455.7,148.4 M455.8,148.4 
-               L455.8,148.3 L455.9,148.3 L456.0,148.2 L456.1,148.2 L456.1,148.1 L456.2,148.1 L456.2,148.0 L456.3,148.0 L456.3,147.9 L456.4,147.9 
-               M456.5,147.8 M456.6,147.8 M456.6,147.7 M456.7,147.7 L456.7,147.6 M456.8,147.6 L456.8,147.5 L456.9,147.5 L457.0,147.5 L457.0,147.4 
-               L457.1,147.4 L457.1,147.3 L457.2,147.3 M457.2,147.2 L457.3,147.2 L457.4,147.1 L457.5,147.1 M457.5,147.0 M457.6,147.0 M457.6,146.9 
-               L457.7,146.9 L457.7,146.8 L457.8,146.8 L457.9,146.7 L458.0,146.7 L458.0,146.6 M458.1,146.6 L458.1,146.5 L458.2,146.5 L458.3,146.4 
-               M458.4,146.3 M458.4,247.5 L458.4,247.4 M458.4,146.3 M458.4,411.9 M458.4,247.4 M458.4,365.8 M458.4,146.3 M458.4,210.7 M458.4,130.1 
-               M458.4,344.7 M458.4,365.0 M458.4,415.8 M458.4,146.3 M458.4,415.8 L458.5,415.8 M458.4,365.8 L458.5,365.8 M458.5,146.3 M458.5,210.7 
-               M458.5,130.1 M458.5,344.7 M458.5,247.4 M458.5,247.3 M458.5,146.2 M458.6,210.5 M458.6,344.5 M458.6,146.1 L458.7,146.1 M458.8,146.0 
-               L458.9,146.0 L458.9,145.9 M458.9,210.3 M458.9,415.4 M458.9,364.8 L458.9,364.7 M458.9,145.9 M458.9,364.7 M458.9,247.0 M458.9,145.9 
-               M459.0,145.9 M459.0,145.8 L459.1,145.8 L459.1,145.7 M459.2,145.7 M459.3,145.7 L459.3,145.6 M459.3,358.7 M459.3,145.6 L459.4,145.6 
-               M459.4,145.5 L459.5,145.5 L459.5,145.4 L459.6,145.4 L459.6,145.3 L459.7,145.3 L459.8,145.3 L459.8,145.2 L459.9,145.2 L459.9,145.1 
-               M460.0,145.1 M460.0,137.9 M460.0,145.1 L460.0,145.0 M460.1,145.0 L460.2,145.0 M460.2,144.9 L460.3,144.9 L460.3,144.8 L460.4,144.8 
-               L460.4,144.7 M460.5,144.7 L460.5,144.6 M460.6,144.6 L460.7,144.6 L460.7,144.5 L460.8,144.5 L460.8,144.4 L460.9,144.4 L460.9,144.3 
-               L461.0,144.3 M461.0,144.2 L461.1,144.2 L461.2,144.2 L461.2,144.1 L461.3,144.1 M461.3,144.0 M461.4,144.0 M461.4,143.9 L461.5,143.9 
-               L461.6,143.8 L461.7,143.8 L461.7,143.7 L461.8,143.7 L461.8,143.6 L461.9,143.6 L461.9,143.5 L462.0,143.5 M462.0,143.2 M462.0,388.8 
-               M462.0,388.5 M462.0,143.5 M462.0,143.2 M462.0,388.8 M462.0,388.5 M462.0,389.2 L462.0,389.1 M462.0,143.5 L462.1,143.5 M462.1,143.2 
-               L462.1,143.1 M462.1,388.8 M462.1,388.5 M462.1,389.1 M462.1,143.5 L462.1,143.4 M462.1,143.1 M462.1,388.8 M462.1,388.5 M462.1,389.1 
-               M462.1,388.8 M462.1,388.4 M462.1,143.4 M462.1,388.8 M462.1,388.4 M462.1,389.1 M462.1,143.1 M462.1,389.1 M462.1,388.8 M462.1,388.4 
-               M462.1,143.1 M462.1,389.1 M462.1,388.8 M462.1,388.4 M462.1,143.4 M462.1,389.1 M462.1,388.8 M462.1,388.4 M462.1,143.1 M462.1,388.8 
-               M462.1,388.4 M462.1,389.1 M462.1,143.1 M462.1,388.8 M462.1,388.4 M462.1,389.1 L462.2,389.1 M462.1,143.4 L462.2,143.4 M462.1,388.8 
-               L462.2,388.7 M462.1,388.4 L462.2,388.4 M462.1,143.1 L462.2,143.1 M462.2,389.1 M462.2,143.4 M462.2,388.7 M462.2,388.4 M462.2,143.1 
-               M462.2,388.7 M462.2,388.4 M462.2,389.0 M462.2,143.4 M462.2,143.1 L462.2,143.0 M462.2,388.7 M462.2,143.0 M462.2,388.6 M462.2,389.0 
-               M462.2,143.3 M462.2,388.7 M462.2,143.3 M462.2,389.0 M462.2,388.6 M462.2,388.7 L462.2,388.6 M462.2,143.3 M462.2,389.0 M462.2,388.7 
-               M462.2,388.6 M462.2,388.7 L462.2,388.6 M462.2,388.7 M462.2,388.6 M462.2,388.7 L462.2,388.6 M462.2,388.7 L462.2,388.6 M462.2,388.7 
-               M462.2,143.3 M462.2,389.0 M462.2,143.4 L462.2,143.3 M462.2,388.3 M462.2,388.7 M462.2,143.3 M462.2,389.0 M462.2,388.7 M462.2,388.6 
-               M462.2,388.7 L462.2,388.6 M462.2,143.3 M462.2,389.0 M462.2,143.4 L462.2,143.3 M462.2,388.3 M462.2,388.7 M462.2,143.3 M462.2,389.0 
-               M462.2,388.7 M462.2,388.6 M462.2,388.7 M462.2,143.3 M462.2,389.0 M462.2,143.4 L462.2,143.3 M462.2,388.3 M462.2,388.7 M462.2,143.3 
-               M462.2,389.0 M462.2,388.7 M462.2,388.6 M462.2,388.7 M462.2,143.3 M462.2,389.0 M462.2,143.4 L462.2,143.3 M462.2,388.3 M462.2,388.7 
-               M462.2,143.3 M462.2,389.0 M462.2,388.7 M462.2,388.6 M462.2,388.7 M462.2,143.3 M462.2,389.0 M462.2,143.4 L462.2,143.3 M462.2,388.3 
-               M462.2,143.0 L462.3,143.0 M462.2,388.3 L462.3,388.3 M462.2,388.3 L462.3,388.3 M462.3,388.6 L462.4,388.5 M462.4,143.2 M462.4,142.9 
-               M462.4,388.9 M462.4,388.5 M462.4,142.9 M462.4,143.2 M462.4,388.9 M462.4,388.5 M462.4,136.8 M462.4,142.9 M462.5,142.9 L462.5,142.8 
-               M462.6,142.8 L462.6,142.7 L462.7,142.7 M462.7,142.6 L462.8,142.6 M462.9,142.6 L462.9,142.5 M463.0,142.5 M463.0,142.4 L463.1,142.4 
-               L463.1,142.3 M463.1,219.8 M463.1,142.3 L463.2,142.3 L463.2,142.2 M463.3,142.2 L463.4,142.2 L463.4,142.1 M463.5,142.1 L463.5,142.0 
-               M463.5,142.1 L463.5,142.0 M463.6,132.5 M463.7,141.6 L463.8,141.5 L463.9,141.5 L463.9,141.4 L464.0,141.4 L464.0,141.3 L464.1,141.3 
-               M464.1,154.5 M464.1,141.3 L464.2,141.2 M464.2,138.0 M464.2,141.2 L464.3,141.2 L464.3,141.1 L464.4,141.1 L464.4,141.0 L464.5,141.0 
-               L464.5,140.9 L464.6,140.9 L464.7,140.8 L464.8,140.8 L464.8,140.7 L464.9,140.7 L464.9,140.6 L465.0,140.6 M465.0,391.3 M465.0,140.6 
-               L465.0,140.5 L465.1,140.5 L465.2,140.5 L465.2,140.4 L465.3,140.4 L465.3,140.3 L465.4,140.3 L465.4,140.2 L465.5,140.2 L465.5,140.1 
-               L465.6,140.1 L465.7,140.1 L465.7,140.0 L465.8,140.0 L465.8,139.9 L465.9,139.9 L465.9,139.8 L466.0,139.8 L466.1,139.7 M466.2,139.7 
-               L466.2,139.6 L466.3,139.6 L466.3,139.5 L466.4,139.5 L466.4,139.4 L466.5,139.4 M466.6,139.4 L466.6,139.3 M466.7,139.3 L466.7,139.2 
-               L466.8,139.2 L466.8,139.1 M466.9,139.1 M466.9,215.0 M466.9,139.1 L466.9,139.0 M467.0,139.0 L467.1,138.9 L467.2,138.9 L467.2,138.8 
-               L467.3,138.8 L467.3,138.7 L467.4,138.7 M467.5,138.6 L467.6,138.6 L467.6,138.5 L467.7,138.5 L467.7,138.4 L467.8,138.4 L467.8,138.3 
-               L467.9,138.3 L468.0,138.3 L468.0,138.2 L468.1,138.2 L468.1,138.1 L468.2,138.1 L468.2,138.0 M468.2,141.2 M468.2,138.0 L468.3,138.0 
-               L468.4,137.9 M468.3,416.0 M468.4,137.9 M468.4,145.1 M468.4,416.0 M468.4,137.9 M468.5,137.9 M468.5,137.8 M468.6,137.8 L468.6,137.7 
-               L468.7,137.7 M468.7,137.6 L468.8,137.6 L468.9,137.5 M469.0,137.5 M469.0,137.4 L469.1,137.4 L469.1,137.3 M469.2,137.3 L469.2,137.2 
-               M469.3,137.2 M469.4,137.2 L469.4,137.1 L469.5,137.1 M469.5,204.9 M469.7,136.9 L469.7,136.8 L469.8,136.8 L469.9,136.8 L469.9,136.7 
-               L470.0,136.7 M469.9,136.7 M470.0,136.7 L470.0,136.6 L470.1,136.6 L470.1,136.5 M470.1,327.8 M470.1,136.5 L470.2,136.5 M470.2,136.4 
-               L470.3,136.4 M470.4,136.3 L470.5,136.3 M470.5,136.2 L470.6,136.2 M470.6,136.1 L470.7,136.1 L470.8,136.0 M470.9,136.0 L470.9,135.9 
-               L471.0,135.9 L471.0,135.8 M471.1,135.8 L471.1,135.7 L471.2,135.7 L471.3,135.6 M471.4,135.6 M471.4,135.5 M471.5,135.5 L471.5,135.4 
-               M471.6,135.4 M471.6,135.3 L471.7,135.3 L471.8,135.2 L471.9,135.2 L471.9,135.1 L472.0,135.1 L472.0,135.0 M472.1,135.0 M472.1,134.9 
-               L472.2,134.9 M472.2,249.4 M472.2,134.9 L472.3,134.9 L472.3,134.8 M472.4,134.8 L472.4,134.7 L472.5,134.7 L472.5,134.6 L472.6,134.6 
-               L472.7,134.5 M472.8,134.5 L472.8,134.4 L472.9,134.4 L472.9,134.3 L473.0,134.3 L473.0,134.2 L473.1,134.2 M473.2,134.2 L473.2,134.1 
-               L473.3,134.1 L473.3,134.0 L473.4,134.0 M473.4,133.9 M473.5,133.9 L473.5,133.8 M473.6,133.8 L473.7,133.8 M473.7,133.7 M473.8,133.7 
-               L473.8,133.6 M473.9,133.6 M473.9,133.5 L474.0,133.5 L474.1,133.5 M474.1,133.4 L474.2,133.4 M474.2,133.3 M474.3,133.3 L474.3,133.2 
-               L474.4,133.2 L474.4,133.1 M474.5,133.1 L474.6,133.1 L474.6,133.0 L474.7,133.0 L474.7,132.9 M474.8,132.9 M474.8,132.8 L474.9,132.8 
-               M474.9,132.7 L475.0,132.7 L475.1,132.6 L475.2,132.6 L475.2,132.5 L475.3,132.5 M475.3,132.4 L475.4,132.4 L475.5,132.3 L475.6,132.3 
-               M475.6,132.2 L475.7,132.2 M475.7,132.1 L475.8,132.1 L475.8,132.0 M475.9,132.0 M475.9,222.5 M475.9,132.0 M476.0,132.0 L476.0,131.9 
-               L476.1,131.9 L476.1,131.8 L476.2,131.8 L476.2,131.7 L476.3,131.7 L476.4,131.6 L476.5,131.6 L476.5,131.5 L476.6,131.5 M476.6,131.4 
-               L476.7,131.4 L476.7,131.3 L476.8,131.3 L476.8,131.2 M476.9,131.2 L477.0,131.2 M477.0,131.1 M477.2,131.1 M477.3,131.1 L477.3,131.0 
-               L477.4,131.0 L477.4,130.9 L477.5,130.9 L477.5,130.8 L477.6,130.8 M477.7,130.7 L477.8,130.7 M477.8,130.6 L477.9,130.6 L477.9,130.5 
-               L478.0,130.5 L478.0,130.4 L478.1,130.4 L478.2,130.4 L478.2,130.3 M478.2,415.9 M478.2,130.3 M478.3,130.3 M478.3,210.9 M478.3,344.9 
-               M478.3,374.2 M478.3,415.9 M478.3,210.8 M478.3,344.8 M478.3,130.2 M478.3,344.8 M478.3,130.2 M478.3,344.8 M478.4,130.2 M478.4,344.8 
-               M478.4,415.9 M478.4,210.8 M478.4,130.2 M478.4,344.8 M478.4,247.4 M478.4,130.2 L478.5,130.2 M478.4,344.8 L478.5,344.8 M478.4,210.8 
-               L478.5,210.8 M478.5,130.2 M478.5,344.8 L478.5,344.7 M478.5,210.7 M478.5,365.0 M478.5,210.7 M478.5,365.8 M478.5,210.7 M478.5,130.1 
-               M478.5,344.7 M478.5,415.8 M478.5,210.7 M478.5,130.1 M478.5,344.7 M478.5,365.0 M478.5,210.7 M478.5,130.1 M478.5,344.7 M478.5,210.7 
-               M478.5,411.9 M478.5,146.3 M478.5,130.1 M478.5,344.7 M478.5,210.7 M478.5,415.8 M478.5,411.9 L478.5,411.8 M478.5,210.7 M478.5,130.1 
-               L478.6,130.1 M478.5,344.7 L478.6,344.7 M478.5,210.7 L478.6,210.7 M478.6,130.1 M478.6,344.7 M478.6,415.8 M478.6,365.0 M478.6,74.5 
-               M478.6,210.7 M478.6,130.1 M478.6,210.7 L478.6,210.6 M478.6,130.1 M478.6,344.7 L478.6,344.6 M478.6,210.6 M478.6,130.1 L478.6,130.0 
-               M478.6,344.6 M478.6,210.6 M478.6,130.0 M478.6,344.6 M478.6,210.6 M478.6,130.0 M478.6,344.6 M478.6,210.6 M478.6,130.0 M478.6,344.6 
-               M478.6,210.6 M478.6,415.7 M478.6,130.0 L478.7,130.0 M478.6,344.6 L478.7,344.6 M478.6,210.6 L478.7,210.6 M478.7,130.0 M478.7,344.6 
-               M478.7,210.6 M478.7,415.7 M478.7,344.6 M478.7,210.6 L478.7,210.5 M478.8,210.5 M478.8,411.6 M478.8,210.4 L478.9,210.4 M478.9,411.5 
-               M479.0,210.4 M479.0,210.3 M479.0,415.4 M479.0,411.5 M479.0,344.3 M479.0,129.7 M479.0,344.3 M479.0,129.7 M479.0,210.3 M479.0,93.2 
-               M479.0,415.4 M479.0,210.3 M479.0,93.2 M479.1,129.7 L479.1,129.6 L479.2,129.6 M479.2,129.5 L479.3,129.5 M479.3,129.4 L479.4,129.4 
-               L479.5,129.3 M479.6,129.3 L479.6,129.2 L479.7,129.2 L479.7,129.1 L479.8,129.1 L479.8,129.0 L479.9,129.0 M480.0,129.0 L480.0,128.9 
-               L480.1,128.9 L480.1,128.8 M480.2,128.8 L480.2,128.7 L480.3,128.7 L480.4,128.6 L480.5,128.6 M480.5,128.5 M480.5,328.4 M480.5,128.5 
-               L480.6,128.5 L480.6,128.4 M480.7,128.4 L480.8,128.4 M480.8,128.3 L480.9,128.3 L480.9,128.2 L481.0,128.2 L481.0,128.1 L481.1,128.1 
-               L481.2,128.0 L481.3,128.0 L481.3,127.9 M481.4,127.9 L481.4,127.8 L481.5,127.8 M481.5,127.7 M481.6,127.7 L481.7,127.6 M481.8,127.6 
-               L481.8,127.5 L481.9,127.5 L481.9,127.4 L482.0,127.4 L482.1,127.3 L482.2,127.3 L482.2,127.2 L482.3,127.2 L482.3,127.1 L482.4,127.1 
-               L482.4,127.0 L482.5,127.0 L482.6,126.9 M482.7,126.9 L482.7,126.8 L482.8,126.8 L482.8,126.7 M482.9,126.7 L482.9,126.6 L483.0,126.6 
-               L483.1,126.6 L483.1,126.5 L483.2,126.5 L483.2,126.4 M483.3,126.4 L483.3,126.3 L483.4,126.3 L483.5,126.2 L483.6,126.2 M483.6,126.1 
-               L483.7,126.1 L483.7,126.0 M483.8,126.0 L483.9,125.9 M484.0,125.8 M484.1,125.8 L484.1,125.7 L484.2,125.7 M484.2,125.6 L484.3,125.6 
-               M484.3,125.5 L484.4,125.5 L484.5,125.5 M484.5,125.4 L484.6,125.4 M484.6,125.3 L484.7,125.3 L484.7,125.2 L484.8,125.2 L484.8,125.1 
-               M484.9,125.1 L485.0,125.1 L485.0,125.0 L485.1,125.0 M485.1,124.9 M485.2,124.9 L485.2,124.8 L485.3,124.8 L485.4,124.7 L485.5,124.7 
-               M485.5,124.6 L485.6,124.6 M485.5,393.9 M485.6,124.6 M485.6,124.5 L485.7,124.5 M485.7,124.4 L485.8,124.4 L485.9,124.4 M485.9,124.3 
-               M486.0,124.3 L486.0,124.2 L486.1,124.2 M486.1,124.1 L486.2,124.1 L486.3,124.0 M486.4,124.0 L486.4,123.9 M486.5,123.9 L486.5,123.8 
-               M486.6,123.8 L486.7,123.7 M486.8,123.6 L486.9,123.6 L486.9,123.5 L487.0,123.5 L487.0,123.4 M487.1,123.4 L487.1,123.3 L487.2,123.3 
-               L487.3,123.3 M487.3,123.2 L487.4,123.2 L487.4,123.1 L487.5,123.1 L487.5,123.0 M487.6,123.0 L487.7,122.9 M487.8,122.9 L487.8,122.8 
-               M487.9,122.7 M488.0,122.7 L488.0,122.6 M488.1,122.6 L488.2,122.5 M488.3,122.5 M488.3,122.4 L488.4,122.4 M488.4,122.3 M488.5,122.3 
-               L488.5,122.2 M488.6,122.2 M488.7,122.1 L488.8,122.1 L488.8,122.0 L488.9,122.0 M488.9,121.9 L489.0,121.9 L489.0,121.8 L489.1,121.8 
-               M489.2,121.8 M489.2,121.7 L489.3,121.7 M489.3,121.6 L489.4,121.6 L489.4,121.5 L489.5,121.5 M489.5,121.4 L489.6,121.4 L489.7,121.4 
-               L489.7,121.3 M489.7,407.4 M489.7,121.3 L489.8,121.3 M489.7,407.4 L489.8,407.3 M489.8,121.3 M489.9,120.9 L489.9,120.8 M490.0,120.8 
-               L490.0,120.7 L490.1,120.7 L490.2,120.6 L490.3,120.6 L490.3,120.5 L490.4,120.5 M490.4,120.4 L490.5,120.4 M490.5,120.3 L490.6,120.3 
-               L490.7,120.2 M490.8,120.2 L490.8,120.1 M490.9,120.1 M490.9,120.0 L491.0,120.0 L491.1,119.9 L491.2,119.9 L491.2,119.8 L491.3,119.8 
-               M491.3,119.7 L491.4,119.7 L491.5,119.6 M491.7,119.5 L491.7,119.4 M491.7,208.9 M491.7,331.0 M491.8,119.4 L491.9,119.3 L492.0,119.3 
-               L492.0,119.2 L492.1,119.2 L492.1,119.1 L492.2,119.1 L492.2,119.0 L492.3,119.0 L492.4,118.9 L492.5,118.9 L492.5,118.8 L492.6,118.8 
-               L492.6,118.7 L492.7,118.7 L492.7,118.6 M492.8,118.6 L492.9,118.6 L492.9,118.5 L493.0,118.5 M493.0,118.4 L493.1,118.4 L493.1,118.3 
-               L493.2,118.3 L493.3,118.3 M493.3,118.2 L493.4,118.2 L493.4,118.1 L493.5,118.1 L493.5,118.0 M493.6,118.0 L493.6,117.9 M493.7,117.9 
-               L493.8,117.9 L493.8,117.8 L493.9,117.8 L493.9,117.7 L494.0,117.7 M494.0,117.6 L494.1,117.6 M494.1,117.5 L494.2,117.5 L494.3,117.5 
-               M494.3,117.4 L494.4,117.4 L494.4,117.3 L494.5,117.3 L494.5,117.2 L494.6,117.2 M494.7,117.2 L494.7,117.1 L494.8,117.1 M494.8,117.0 
-               L494.9,117.0 L494.9,116.9 M495.0,116.9 M495.0,116.8 L495.1,116.8 L495.2,116.8 L495.2,116.7 L495.3,116.7 M495.3,116.6 L495.4,116.5 
-               L495.5,116.5 L495.6,116.4 L495.7,116.4 M495.7,116.3 L495.8,116.3 L495.8,116.2 L495.9,116.2 L495.9,116.1 M496.0,116.1 M496.1,116.1 
-               L496.1,116.0 M496.2,116.0 L496.2,115.9 L496.3,115.9 L496.3,115.8 M496.4,115.8 M496.4,115.7 L496.5,115.7 M496.6,115.7 L496.6,115.6 
-               L496.7,115.6 M496.7,115.5 M496.8,115.5 L496.8,115.4 L496.9,115.4 L497.0,115.3 M497.1,115.3 L497.1,115.2 M497.2,115.2 L497.2,115.1 
-               M497.3,115.1 M497.3,115.0 L497.4,115.0 L497.5,115.0 M497.5,114.9 L497.6,114.9 L497.6,114.8 L497.7,114.8 M497.7,114.7 M497.8,114.7 
-               M497.8,301.8 M497.8,114.7 M497.9,114.6 L498.0,114.6 M498.0,114.5 M498.1,114.5 M498.1,114.4 L498.2,114.4 L498.2,114.3 L498.3,114.3 
-               L498.4,114.3 L498.4,114.2 M498.5,114.2 M498.5,114.1 M498.6,114.1 M498.6,114.0 L498.7,114.0 L498.7,113.9 L498.8,113.9 M498.9,113.9 
-               L498.9,113.8 M499.0,113.8 M499.0,113.7 L499.1,113.7 L499.1,113.6 M499.2,113.6 L499.2,113.5 L499.3,113.5 M499.3,64.8 M499.3,113.5 
-               M499.4,113.5 L499.4,113.4 M499.5,113.2 L499.5,113.1 L499.6,113.1 M499.6,113.0 L499.7,113.0 L499.8,112.9 L499.9,112.9 L499.9,112.8 
-               L500.0,112.8 L500.0,112.7 L500.1,112.7 L500.1,112.6 M500.2,112.6 M500.3,112.6 L500.3,112.5 L500.4,112.5 L500.4,112.4 L500.5,112.4 
-               L500.5,112.3 L500.6,112.3 M500.6,112.2 L500.7,112.2 M500.8,112.2 M500.8,112.1 M500.9,112.1 M500.9,112.0 M501.0,112.0 M501.0,111.9 
-               L501.1,111.9 M501.2,111.8 M501.3,151.3 M501.3,111.7 L501.4,111.7 M501.4,248.0 M501.4,111.6 L501.5,111.6 L501.5,111.5 L501.6,111.5 
-               L501.7,111.4 L501.8,111.4 L501.8,111.3 L501.9,111.3 L501.9,111.2 L502.0,111.2 L502.0,111.1 M502.1,111.1 M502.2,111.1 L502.2,111.0 
-               L502.3,111.0 L502.3,110.9 M502.4,110.9 L502.4,110.8 L502.5,110.8 M502.5,110.7 L502.6,110.7 L502.7,110.7 L502.7,110.6 L502.8,110.6 
-               L502.8,110.5 L502.9,110.5 L502.9,110.4 L503.0,110.4 L503.1,110.3 L503.2,110.3 L503.2,110.2 M503.3,110.2 M503.3,110.1 L503.4,110.1 
-               L503.4,110.0 M503.5,110.0 M503.6,110.0 L503.6,109.9 L503.7,109.9 M503.7,109.8 M503.7,109.4 L503.7,109.3 M503.7,109.8 L503.8,109.8 
-               L503.8,109.7 L503.9,109.7 M503.9,109.6 L504.0,109.6 L504.1,109.6 L504.1,109.5 L504.2,109.5 M504.2,109.4 L504.3,109.4 M504.3,109.8 
-               M504.3,109.4 L504.3,109.3 M504.4,109.3 L504.4,109.2 L504.5,109.2 M504.6,109.2 L504.6,109.1 M504.7,109.0 L504.8,109.0 M504.8,108.9 
-               L504.9,108.9 L504.9,108.8 M505.0,108.8 L505.1,108.7 M505.2,108.7 M505.2,108.6 L505.3,108.6 M505.3,108.5 L505.4,108.5 M505.5,108.4 
-               M505.6,108.4 M505.6,108.3 L505.7,108.3 M505.7,108.2 L505.8,108.2 L505.9,108.1 M506.0,108.1 L506.0,108.0 L506.1,108.0 L506.1,107.9 
-               L506.2,107.9 M506.2,107.8 L506.3,107.8 L506.3,107.7 M506.4,107.7 M506.5,107.7 L506.5,107.6 L506.6,107.6 M506.6,107.5 M506.7,107.5 
-               L506.7,107.4 M506.8,107.4 L506.9,107.4 M506.9,107.3 L507.0,107.3 L507.0,107.2 L507.1,107.2 M507.1,107.1 M507.2,107.1 L507.2,107.0 
-               M507.3,107.0 M507.4,107.0 L507.4,106.9 L507.5,106.9 L507.5,106.8 M507.6,106.8 L507.6,106.7 M507.7,106.7 M507.8,106.6 L507.9,106.6 
-               M507.9,106.5 M508.0,106.5 L508.0,106.4 M508.1,106.4 L508.1,106.3 M508.2,106.3 M508.2,105.6 M508.2,106.3 M508.2,105.6 M508.2,106.3 
-               M508.2,105.5 M508.3,105.5 M508.3,105.4 M508.4,105.4 L508.4,105.3 L508.5,105.3 M508.6,105.2 L508.7,105.1 L508.8,105.1 M508.8,105.0 
-               L508.9,105.0 M508.9,200.6 M508.9,105.0 L508.9,104.9 M509.0,104.9 L509.0,104.8 L509.1,104.8 L509.2,104.8 M509.2,104.7 M509.3,104.7 
-               M509.3,104.6 M509.4,104.6 L509.4,104.5 L509.5,104.5 M509.5,104.4 L509.6,104.4 L509.7,104.3 L509.8,104.3 L509.8,104.2 M509.8,62.0 
-               M509.8,104.2 L509.9,104.2 L509.9,104.1 L510.0,104.1 L510.1,104.1 L510.1,104.0 L510.2,104.0 M510.2,304.3 M510.2,104.0 L510.2,103.9 
-               M510.3,103.9 L510.3,103.8 L510.4,103.8 L510.5,103.7 L510.6,103.7 L510.6,103.6 M510.7,103.6 M510.7,103.5 L510.8,103.5 M510.8,103.4 
-               L510.9,103.4 L511.0,103.4 M511.0,103.3 M511.1,103.3 M511.1,103.2 L511.2,103.2 L511.2,103.1 L511.3,103.1 M511.3,103.0 L511.4,103.0 
-               L511.5,103.0 M511.5,102.9 M511.5,389.3 M511.5,102.9 M511.6,102.9 L511.6,102.8 M511.6,180.0 M511.6,102.8 M511.7,102.8 M511.7,102.7 
-               L511.8,102.7 L511.9,102.6 L512.0,102.6 L512.0,102.5 L512.1,102.5 L512.1,102.4 M512.2,102.4 L512.2,102.3 M512.3,102.3 M512.4,102.3 
-               M512.4,102.2 L512.5,102.2 M512.8,68.6 M513.4,194.1 L513.5,194.1 M513.9,96.8 L514.0,96.8 L514.1,96.7 L514.2,96.7 L514.2,96.6 
-               L514.3,96.6 M514.3,96.5 L514.4,96.5 L514.4,96.4 L514.5,96.4 M514.5,96.3 L514.6,96.2 L514.7,96.1 L514.8,96.1 L514.9,95.9 
-               L515.0,95.9 L515.1,95.9 L515.1,95.8 L515.2,95.8 L515.2,95.7 L515.3,95.6 L515.4,95.6 M515.4,95.5 M515.5,95.5 M515.6,95.4 
-               M515.7,95.3 M515.8,95.3 L515.8,95.2 M515.9,95.2 L516.0,95.1 M516.1,95.1 L516.1,95.0 L516.2,95.0 L516.2,94.9 L516.3,94.9 
-               L516.3,94.8 L516.4,94.8 M516.5,94.8 L516.5,94.7 M516.6,94.7 L516.6,94.6 L516.7,94.6 L516.7,94.5 L516.8,94.5 M516.8,94.4 
-               L516.9,94.4 L517.0,94.4 L517.0,94.3 M517.1,94.3 L517.1,94.2 M517.4,94.0 L517.5,94.0 L517.5,93.9 L517.6,93.9 M517.6,93.8 
-               M517.7,93.8 M517.7,93.7 L517.8,93.7 L517.9,93.6 L518.0,93.6 M518.0,359.3 M518.0,93.6 L518.0,93.5 L518.1,93.5 L518.1,93.4 
-               L518.2,93.4 L518.3,93.3 L518.4,93.3 L518.4,93.2 M518.4,210.3 M518.4,415.4 M518.4,210.3 M518.4,93.2 M518.5,93.2 M518.5,93.1 
-               L518.6,93.1 L518.6,93.0 L518.7,93.0 L518.8,92.9 L518.9,92.9 L518.9,92.8 L519.0,92.8 L519.0,92.7 M519.1,92.7 L519.1,92.6 
-               L519.2,92.6 M519.3,92.6 L519.3,92.5 L519.4,92.5 L519.4,92.4 L519.5,92.4 L519.5,92.3 L519.6,92.3 M519.7,92.2 L519.8,92.2 
-               L519.8,92.1 M519.8,152.4 M519.8,92.1 M519.9,92.1 L519.9,92.0 L520.0,92.0 M520.0,91.9 L520.1,91.9 L520.2,91.8 L520.3,91.8 
-               L520.3,91.7 M520.4,91.7 M520.4,91.6 L520.5,91.6 M520.5,91.5 L520.6,91.5 M520.7,91.2 L520.8,91.1 M520.9,91.2 L520.9,91.1 
-               M522.3,89.8 M522.4,89.9 M522.4,66.1 L522.4,66.0 M522.4,412.0 M522.4,66.0 M522.4,412.0 M522.4,89.8 M522.4,66.0 M522.4,89.9 
-               L522.5,89.9 M522.4,66.1 L522.5,66.0 M522.4,412.0 L522.5,412.0 M522.5,89.9 L522.5,89.8 M522.5,66.0 M522.5,89.8 M522.5,66.0 
-               M522.5,89.8 M522.5,66.0 M522.5,89.8 L522.6,89.8 L522.6,89.7 L522.7,89.7 M522.8,89.5 M522.9,89.5 L522.9,89.4 L523.0,89.4 
-               L523.1,89.3 L523.2,89.3 L523.2,89.2 L523.3,89.2 L523.3,89.1 M523.4,89.1 L523.4,89.0 L523.5,89.0 L523.6,89.0 L523.6,88.9 
-               L523.7,88.9 M523.7,88.8 L523.8,88.8 L523.8,88.7 M523.9,189.5 L523.9,189.4 M523.9,88.7 M523.9,319.3 M523.9,88.7 L523.9,88.6 
-               M524.0,88.6 M524.1,88.6 L524.1,88.5 M524.2,88.3 L524.3,88.3 L524.3,88.2 M524.5,154.2 M524.5,88.1 M524.5,154.2 M524.5,88.1 
-               M524.5,154.2 M524.5,88.1 M524.5,154.2 L524.5,154.1 M524.5,88.1 M524.5,154.1 L524.6,154.1 M524.6,88.1 L524.6,88.0 M524.6,154.1 
-               M524.6,88.0 M524.6,154.1 M524.6,88.0 M524.6,154.1 M524.6,88.0 L524.7,87.9 M524.6,154.1 L524.7,154.0 M524.7,87.9 L524.8,87.8 
-               M524.7,154.0 L524.9,153.9 M524.8,87.8 L524.9,87.8 M524.9,153.9 M524.9,87.8 M524.9,153.9 L524.9,153.8 M524.9,87.8 M524.9,153.8 
-               M524.9,87.8 M524.9,153.8 M524.9,87.8 L524.9,87.7 M524.9,153.8 L525.0,153.8 M524.9,87.7 L525.0,87.7 M525.0,153.8 M525.0,87.7 
-               M525.0,153.8 M525.0,87.7 M525.0,153.8 L525.0,153.7 M525.0,87.7 L525.1,87.7 L525.1,87.6 L525.2,87.6 L525.2,87.5 L525.3,87.5 
-               L525.3,87.4 L525.4,87.4 M525.5,87.3 M525.6,87.3 M525.6,87.2 L525.7,87.2 M525.7,87.1 L525.8,87.1 L525.8,87.0 M525.9,87.0 
-               L526.0,87.0 M526.0,86.9 L526.1,86.9 L526.1,86.8 M526.2,86.8 M526.2,402.1 M526.2,86.8 L526.2,86.7 M526.2,312.8 M526.2,86.7 
-               M526.3,86.7 L526.3,86.6 L526.4,86.6 L526.5,86.6 L526.5,86.5 L526.6,86.5 M526.6,86.4 M526.6,331.7 M526.6,86.4 L526.7,86.4 
-               L526.7,86.3 L526.8,86.3 M526.9,86.2 L527.0,86.2 L527.0,86.1 M527.1,86.1 L527.1,86.0 L527.2,86.0 L527.2,85.9 L527.3,85.9 
-               M527.4,85.9 L527.4,85.8 L527.5,85.8 L527.5,85.7 M527.5,334.1 M527.5,250.7 M527.5,85.7 L527.6,85.7 M527.6,250.6 M527.6,334.0 
-               M527.6,85.6 M527.7,85.6 M527.7,333.9 M527.7,85.6 L527.7,85.5 M527.8,85.5 M527.8,250.5 M527.8,333.8 M527.8,85.5 L527.9,85.5 
-               M527.9,85.4 L528.0,85.4 M528.0,333.7 M528.0,85.4 L528.0,85.3 M528.0,333.7 M528.0,250.3 M528.0,85.3 M528.0,333.7 M528.1,333.6 
-               M528.1,85.3 M528.2,85.2 L528.2,85.1 M528.3,85.1 M528.3,85.0 L528.4,85.0 M528.4,84.9 L528.5,84.9 L528.6,84.9 L528.6,84.8 
-               M528.7,84.8 L528.7,84.7 L528.8,84.7 M528.8,84.6 L528.9,84.6 L529.0,84.5 L529.1,84.5 L529.1,84.4 L529.2,84.4 L529.2,84.3 
-               M529.3,84.3 M529.3,84.2 L529.4,84.2 M529.5,84.2 L529.5,84.1 L529.6,84.1 L529.6,84.0 L529.7,84.0 L529.7,83.9 L529.8,83.9 
-               M529.8,83.8 L529.9,83.8 M530.0,83.8 L530.0,83.7 L530.1,83.7 L530.1,83.6 L530.2,83.6 L530.2,83.5 M530.3,83.5 L530.4,83.4 
-               L530.5,83.4 M530.5,83.3 L530.6,83.3 L530.6,83.2 M530.6,264.2 M530.6,83.2 M530.7,83.2 M530.7,58.6 M530.8,83.1 L530.9,83.1 
-               M530.9,83.0 M531.0,83.0 M531.0,82.9 L531.1,82.9 L531.1,82.8 M531.2,82.8 L531.3,82.8 M531.3,82.7 L531.4,82.7 M531.4,82.6 
-               L531.5,82.6 M531.5,376.4 M531.5,82.6 L531.5,82.5 L531.6,82.5 L531.7,82.4 L531.8,82.4 M531.8,82.3 L531.9,82.3 L531.9,82.2 
-               L532.0,82.2 L532.0,82.1 L532.1,82.1 M532.2,82.1 L532.2,82.0 M532.3,82.0 L532.3,81.9 M532.4,81.9 L532.4,81.8 L532.5,81.8 
-               L532.6,81.7 L532.7,81.7 L532.7,81.6 M532.8,81.6 L532.8,81.5 L532.9,81.5 M532.9,81.4 L533.0,81.4 L533.1,81.4 M533.1,81.3 
-               L533.2,81.3 M533.2,271.6 M533.2,81.2 L533.3,81.2 L533.3,81.1 L533.4,81.1 L533.4,81.0 L533.5,81.0 M533.4,80.9 L533.5,80.9 
-               M533.5,81.0 L533.6,81.0 L533.6,80.9 M533.6,81.1 L533.6,81.0 M533.6,80.9 M533.6,81.0 M533.7,80.8 L533.8,80.8 L533.8,80.7 
-               L533.9,80.7 L533.9,80.6 L534.0,80.6 M534.1,80.6 M534.1,80.5 L534.2,80.5 M534.2,80.4 L534.3,80.4 L534.3,80.3 M534.4,80.3 
-               L534.4,80.2 L534.5,80.2 L534.6,80.2 L534.6,80.1 L534.7,80.1 M534.7,80.0 L534.8,80.0 M534.8,79.9 L534.9,79.9 L535.0,79.8 
-               L535.1,79.8 M535.1,79.7 M535.2,79.7 L535.2,79.6 L535.3,79.6 L535.3,79.5 M535.4,79.5 L535.5,79.4 L535.6,79.4 L535.6,79.3 
-               M535.7,79.3 L535.7,79.2 M535.8,79.2 L535.8,79.1 L535.9,79.1 M536.0,79.1 M536.0,79.0 L536.1,79.0 L536.1,78.9 L536.2,78.9 
-               M536.2,78.8 M536.3,78.8 L536.4,78.8 M536.4,78.7 M536.5,78.7 M536.5,78.6 L536.6,78.6 L536.6,78.5 L536.7,78.5 M536.7,78.4 
-               L536.8,78.4 L536.9,78.4 L536.9,78.3 L537.0,78.3 L537.0,78.2 L537.1,78.2 L537.1,78.1 L537.2,78.1 M537.2,78.0 L537.3,78.0 
-               L537.4,78.0 L537.4,77.9 L537.5,77.9 M537.5,77.8 M537.6,77.8 L537.6,77.7 L537.7,77.7 L537.7,77.6 L537.8,77.6 L537.9,77.6 
-               L537.9,77.5 L538.0,77.5 L538.0,77.4 M538.1,77.4 M538.1,77.3 L538.2,77.3 L538.3,77.2 L538.4,77.2 L538.4,77.1 M538.5,77.1 
-               L538.5,77.0 L538.6,77.0 L538.6,76.9 M538.7,76.9 L538.8,76.9 L538.8,76.8 L538.9,76.8 M538.9,76.7 L539.0,76.7 L539.0,76.6 
-               L539.1,76.6 L539.2,76.5 L539.3,76.5 L539.3,76.4 L539.4,76.4 L539.4,76.3 M539.4,200.0 L539.5,200.0 M539.5,76.3 L539.5,76.2 
-               M539.6,76.2 L539.7,76.1 L539.8,76.1 L539.8,76.0 M539.9,76.0 L539.9,75.9 L540.0,75.9 L540.0,75.8 L540.1,75.8 L540.2,75.8 
-               L540.2,75.7 M540.3,75.7 L540.3,75.6 L540.4,75.6 L540.4,75.5 M540.5,75.5 L540.6,75.4 L540.7,75.4 L540.7,75.3 L540.8,75.3 
-               M540.8,75.2 M540.9,75.2 L540.9,75.1 L541.0,75.1 M541.1,75.0 L541.2,74.9 M541.3,74.9 L541.3,74.8 M541.4,74.8 M541.4,74.7 
-               M541.5,74.7 M541.6,74.7 L541.6,74.6 L541.7,74.6 L541.7,74.5 M541.8,74.5 L541.8,74.4 L541.9,74.4 M541.9,74.3 L542.0,74.3 
-               L542.1,74.3 M542.1,74.2 M542.2,74.2 L542.2,74.1 L542.3,74.1 M542.3,128.8 M542.3,74.1 L542.3,74.0 L542.4,74.0 M542.5,74.0 
-               L542.5,73.9 M542.6,73.9 L542.6,73.8 M542.6,331.4 M542.6,73.8 L542.7,73.8 L542.7,73.7 M542.8,73.7 L542.8,73.6 L542.9,73.6 
-               L543.0,73.6 M543.0,73.5 L543.1,73.5 M543.1,73.4 L543.2,73.4 M543.2,73.3 L543.3,73.3 M543.4,73.2 L543.5,73.2 M543.5,73.1 
-               M543.6,73.1 L543.6,73.0 M543.7,73.0 L543.7,72.9 M543.8,72.9 L543.9,72.9 M543.9,72.8 M544.0,72.8 M544.0,72.7 L544.1,72.7 
-               M544.1,72.6 L544.2,72.6 L544.2,72.5 L544.3,72.5 L544.4,72.5 L544.4,72.4 L544.5,72.4 L544.5,72.3 M544.6,72.3 M544.6,72.2 
-               M544.7,72.2 L544.8,72.1 M544.9,72.1 L544.9,72.0 L545.0,72.0 L545.0,71.9 L545.1,71.9 M545.1,71.8 M545.2,71.8 L545.3,71.8 
-               M545.3,71.7 L545.4,71.7 L545.4,71.6 M545.5,71.6 M545.5,214.6 M545.5,71.6 L545.5,71.5 M545.6,71.5 L545.6,71.4 L545.7,71.4 
-               L545.8,71.4 M545.8,71.3 L545.9,71.3 L545.9,71.2 M546.0,71.2 L546.0,71.1 M546.1,71.1 L546.2,71.0 M546.3,369.7 M546.3,96.9 
-               M546.4,96.9 M546.5,71.0 M546.6,71.0 M546.6,70.9 L546.7,70.9 M546.7,71.0 M546.8,70.8 M546.9,70.7 L547.0,70.6 M547.1,70.6 
-               M547.1,70.5 L547.2,70.5 M547.3,70.4 L547.3,70.3 L547.4,70.3 M547.5,70.2 L547.6,70.2 L547.6,70.1 M547.8,69.9 M547.8,69.4 
-               L547.9,69.4 L547.9,69.3 L548.0,69.3 L548.0,69.2 M548.1,69.2 L548.1,69.1 M548.2,69.1 L548.3,69.1 L548.3,69.0 L548.4,69.0 
-               L548.4,68.9 L548.5,68.9 M548.5,68.8 L548.6,68.8 L548.7,68.8 L548.7,68.7 L548.8,68.7 L548.8,68.6 L548.9,68.6 M549.0,68.5 
-               M549.0,68.4 L549.1,68.4 L549.2,68.3 L549.3,68.3 L549.3,68.2 L549.4,68.2 L549.4,68.1 L549.5,68.1 M549.6,68.0 M549.6,366.1 
-               M549.6,68.0 L549.7,68.0 M549.7,67.9 L549.8,67.9 L549.8,67.8 M549.9,67.8 L549.9,67.7 L550.0,67.7 L550.1,67.6 M550.1,70.5 
-               M550.1,67.6 M550.2,67.6 L550.2,67.5 L550.3,67.5 M550.3,67.4 L550.4,67.4 L550.5,67.3 L550.6,67.3 L550.6,67.2 L550.7,67.2 
-               M550.7,67.1 L550.8,67.1 M550.8,67.0 L550.9,67.0 M550.9,66.9 L551.0,66.9 L551.1,66.9 M551.1,66.8 L551.2,66.8 L551.2,66.7 
-               L551.3,66.7 L551.4,66.6 M551.5,66.5 L551.6,66.5 L551.6,66.4 M551.7,66.4 L551.7,66.3 L551.8,66.3 L551.8,66.2 M551.9,66.2 
-               L552.0,66.2 L552.0,66.1 L552.1,66.1 M552.1,89.9 M552.1,66.1 L552.1,66.0 M552.2,66.0 L552.2,65.9 M552.6,280.8 M554.2,201.6 
-               M554.5,257.0 M555.0,229.2 M555.2,248.5 M555.2,215.2 M555.2,270.1 M556.2,163.2 M556.8,309.4 M556.9,81.8 M557.4,394.5 M563.9,298.7 
-               M566.2,60.6 M566.3,60.6 M566.3,60.5 L566.4,60.5 M566.4,60.4 M566.5,60.4 L566.5,60.3 M566.6,60.3 L566.7,60.3 L566.7,60.2 
-               M566.8,60.2 L566.8,60.1 L566.9,60.1 L566.9,60.0 L567.0,60.0 M567.1,59.9 L567.2,59.9 M567.2,59.8 L567.3,59.8 M567.3,59.7 
-               M567.4,59.7 M567.4,59.6 L567.5,59.6 L567.6,59.6 L567.6,59.5 L567.7,59.5 M567.7,59.4 M567.7,59.2 M567.7,59.4 M567.7,59.2 
-               M567.8,59.4 M567.8,59.1 M567.8,59.4 M567.8,59.1 M567.8,59.4 M567.8,59.1 M567.8,59.4 L567.8,59.3 M567.8,59.1 M567.8,59.3 
-               L567.9,59.3 M567.8,59.1 L567.9,59.1 M567.9,59.3 L567.9,59.2 M567.9,59.0 L568.0,59.0 M568.0,59.2 M568.0,59.0 M568.0,59.2 
-               M568.0,59.4 M568.0,59.2 M568.1,59.4 M568.1,59.2 M568.1,59.4 M568.1,59.2 M568.1,59.4 M568.1,59.1 M568.1,59.4 M568.1,59.1 
-               M568.1,59.4 M568.1,59.1 M568.1,59.4 M568.1,59.1 M568.1,59.4 M568.2,59.1 M568.2,59.3 M568.2,59.1 M568.2,59.3 M568.2,59.1 
-               M568.2,59.0 M568.2,59.3 M568.2,59.0 L568.3,59.0 M568.2,59.3 L568.3,59.3 M568.3,59.0 L568.3,58.9 M568.3,59.2 M568.3,58.9 
-               L568.4,58.9 M568.5,58.9 L568.5,58.8 M568.6,58.8 L568.6,58.7 L568.7,58.7 L568.7,58.6 M568.8,58.6 M568.9,58.5 L569.0,58.4 
-               L569.1,58.4 L569.1,58.3 L569.2,58.3 L569.2,58.2 L569.3,58.2 M569.3,58.1 M569.4,58.1 L569.5,58.0 L569.6,58.0 L569.6,57.9 
-               M569.7,57.9 M569.7,57.8 L569.8,57.8 L569.8,57.7 L569.9,57.7 L570.0,57.6 L570.1,57.6 M570.1,398.0 M570.1,57.6 L570.1,57.5 
-               L570.2,57.5 M570.2,57.4 L570.3,57.4 L570.4,57.3 M570.5,57.3 M570.5,57.2 M570.6,57.2 M570.6,57.1 M570.7,57.1 L570.7,57.0 
-               L570.8,57.0 L570.9,57.0 M570.9,56.9 L571.0,56.9 M571.0,56.8 L571.1,56.8 L571.1,56.7 L571.2,56.7 L571.3,56.6 L571.4,56.6 
-               L571.4,56.5 L571.5,56.5 L571.5,56.4 L571.6,56.4 L571.6,56.3 L571.7,56.3 M571.7,268.3 M571.7,216.2 M571.7,56.0 L571.8,56.0 
-               L571.9,56.0 M571.9,55.9 L572.0,55.9 L572.0,55.8 L572.1,55.8 L572.1,55.7 M572.2,55.7 M572.2,55.6 L572.3,55.6 M572.4,55.6 
-               M572.4,55.5 M572.5,55.5 L572.5,55.4 L572.6,55.4 M572.6,55.3 L572.7,55.3 L572.7,55.2 M572.8,55.2 M572.9,405.6 M572.9,55.2 
-               L573.0,55.2 L573.0,55.1 L573.1,55.1 L573.1,55.0 L573.2,55.0 M573.4,54.9 L573.5,54.9 M573.5,54.8 L573.6,54.8 L573.7,54.8 
-               M573.7,54.7 M573.8,54.7 M573.8,54.6 L573.9,54.6 M573.9,54.1 M573.9,54.6 M573.9,54.3 M573.9,54.1 L573.9,54.0 M573.9,54.6 
-               M573.9,54.0 M573.9,54.5 M573.9,54.0 L574.0,54.0 M574.0,417.0 M574.0,54.5 M574.1,54.5 L574.1,54.4 M574.2,54.4 M574.2,54.2 
-               L574.2,54.1 M574.2,54.4 L574.2,54.3 L574.3,54.3 M574.3,54.1 M574.3,54.6 M574.3,54.3 L574.3,54.2 L574.4,54.2 '></path>
-       <path style='stroke:rgb(255,   0,   0)' d='M572.8,131.0 M569.7,123.5 L569.7,123.6 M568.8,66.0 M566.6,137.6 M565.7,65.3 M565.6,65.3 L565.7,65.3 M565.6,65.2 L565.6,65.3 
-               M565.6,65.2 M565.5,65.2 L565.6,65.2 M565.5,65.2 M565.5,65.1 L565.5,65.2 M565.5,65.1 M565.4,65.1 M565.4,65.0 L565.4,65.1 
-               M565.4,65.0 M565.3,65.0 M565.3,64.9 L565.3,65.0 M565.2,64.9 L565.3,64.9 M565.2,64.9 M565.1,64.8 L565.2,64.9 M565.1,64.8 
-               M565.0,64.8 M565.0,64.7 L565.0,64.8 M565.0,64.7 M564.9,64.7 M564.9,64.6 M564.8,64.6 M564.7,64.5 M564.6,64.5 L564.7,64.5 
-               M564.6,64.5 M564.6,64.4 M564.5,64.4 L564.6,64.4 M564.5,107.2 M564.5,64.4 M564.5,64.3 L564.5,64.4 M564.5,64.3 M564.4,64.3 
-               L564.5,64.3 M564.4,64.3 M564.4,64.2 L564.4,64.3 M564.3,64.2 L564.4,64.2 M564.3,64.2 M564.2,64.1 L564.3,64.2 M564.2,64.1 
-               M564.1,64.1 L564.2,64.1 M564.1,64.1 M564.1,64.0 M564.0,64.0 L564.1,64.0 M564.0,64.0 M564.0,63.7 L564.0,63.8 M564.0,64.0 
-               M564.0,63.9 M563.9,63.9 L564.0,63.9 M563.9,63.9 M563.8,63.8 M563.7,63.8 M563.7,63.7 L563.7,63.8 M563.7,63.7 M563.6,63.7 
-               L563.7,63.7 M563.6,63.7 M563.6,63.6 M563.5,63.6 L563.6,63.6 M563.5,63.6 M563.5,63.5 L563.5,63.6 M563.5,63.5 M563.4,63.5 
-               M563.3,63.4 L563.4,63.5 M563.3,63.4 M563.2,63.4 L563.3,63.4 M563.2,63.4 M563.2,63.3 M563.1,63.3 M563.1,63.2 L563.1,63.3 
-               M563.0,63.2 L563.1,63.2 M563.0,63.2 M563.0,63.1 L563.0,63.2 M563.0,63.1 M562.9,63.1 L563.0,63.1 M562.9,63.1 M562.8,63.0 
-               L562.9,63.1 M562.8,63.0 M562.7,63.0 L562.8,63.0 M562.7,63.0 M562.7,62.9 L562.7,63.0 M562.7,62.9 M562.6,62.9 L562.7,62.9 
-               M562.6,62.9 M562.6,62.8 M562.5,62.8 L562.6,62.8 M562.5,62.8 M562.5,62.7 L562.5,62.8 M562.4,62.7 L562.5,62.7 M562.4,62.7 
-               M562.3,62.7 M562.3,62.6 L562.3,62.7 M562.3,62.6 M562.2,62.6 L562.3,62.6 M562.2,62.5 L562.2,62.6 M562.2,62.5 M562.1,62.5 
-               L562.2,62.5 M562.1,62.5 M562.1,62.4 L562.1,62.5 M562.1,62.4 M562.0,62.4 M562.0,62.3 L562.0,62.4 M561.9,62.3 M561.8,62.3 
-               L561.9,62.3 M561.8,62.2 L561.8,62.3 M561.8,62.2 M561.7,62.2 L561.8,62.2 M561.7,62.2 M561.7,62.0 M561.7,62.1 M561.6,62.1 
-               L561.7,62.1 M561.6,62.1 M561.6,62.0 M561.5,62.0 L561.6,62.0 M561.5,62.0 M561.5,104.3 M561.5,62.0 M561.5,61.9 L561.5,62.0 
-               M561.4,61.9 L561.5,61.9 M561.4,61.9 M561.3,61.8 M561.2,61.8 L561.3,61.8 M561.2,61.8 M561.2,61.7 M561.1,61.7 L561.2,61.7 
-               M561.1,61.7 M561.1,61.6 L561.1,61.7 M561.1,61.6 M561.0,61.6 M561.0,61.5 L561.0,61.6 M560.9,61.5 M560.8,61.5 M560.8,61.4 
-               M560.7,61.4 M560.7,61.3 L560.7,61.4 M560.7,61.3 M560.6,61.3 M560.6,61.2 L560.6,61.3 M560.6,61.2 M560.5,61.2 M560.4,61.2 
-               L560.5,61.2 M560.4,61.1 L560.5,61.1 M560.4,61.1 M560.3,61.1 L560.4,61.1 M560.3,61.0 L560.3,61.1 M560.3,61.0 M560.2,60.9 
-               L560.2,61.0 M560.2,60.9 M560.1,60.9 L560.2,60.9 M560.1,60.9 M560.0,60.8 L560.1,60.8 M560.0,60.8 L560.1,60.8 M560.0,60.8 
-               M559.9,60.7 L559.9,60.8 M559.9,60.7 M559.8,60.7 M559.8,60.6 L559.8,60.7 M559.8,60.6 M559.7,60.6 L559.8,60.6 M559.7,106.4 
-               M559.6,106.4 L559.7,106.4 M559.6,106.4 M559.6,106.3 L559.6,106.4 M559.6,106.3 M559.5,106.3 L559.6,106.3 M559.5,105.6 M559.5,106.3 
-               M559.5,105.6 M559.5,106.3 M559.5,106.2 L559.5,106.3 M559.4,106.2 M559.3,106.1 L559.3,106.2 M559.3,106.1 M559.2,106.1 L559.3,106.1 
-               M559.2,106.1 M559.2,102.1 M559.2,102.0 L559.2,102.1 M559.1,102.0 M559.0,101.9 L559.1,102.0 M559.0,101.9 M558.9,101.9 L559.0,101.9 
-               M558.9,101.8 L558.9,101.9 M558.9,101.8 L559.0,101.8 M558.8,101.8 M558.8,101.7 L558.8,101.8 M558.8,101.7 M558.7,101.7 L558.8,101.7 
-               M558.7,101.7 M558.7,101.6 L558.7,101.7 M558.6,101.6 M558.5,101.6 L558.6,101.6 M558.5,101.5 L558.5,101.6 M558.5,101.5 M558.2,101.0 
-               M558.1,101.0 L558.2,101.0 M558.1,101.0 M558.1,100.9 L558.1,101.0 M558.1,100.9 M558.0,100.9 L558.1,100.9 M558.0,100.9 L558.1,100.9 
-               M558.0,100.9 M558.0,100.8 L558.0,100.9 M558.0,100.8 M557.9,100.8 L558.0,100.8 M557.9,100.8 M557.8,100.7 L557.9,100.8 M557.8,100.7 
-               M557.7,100.7 L557.8,100.7 M557.7,100.7 M557.7,100.6 M557.6,100.6 L557.7,100.6 M557.6,100.6 M557.6,100.5 L557.6,100.6 M557.6,100.5 
-               M557.5,100.5 L557.6,100.5 M557.5,100.5 M557.4,100.4 M557.3,100.4 M557.3,100.3 M557.2,100.3 L557.3,100.3 M557.2,100.3 M557.2,100.2 
-               L557.2,100.3 M557.2,100.2 M557.1,100.2 M557.1,100.1 M557.0,100.1 M556.9,100.0 M556.8,100.0 L556.9,100.0 M556.8,100.0 M556.8,99.9 
-               M556.7,99.9 L556.8,99.9 M556.7,99.9 M556.7,99.8 M556.6,99.8 M556.6,99.7 M556.5,99.7 M556.4,99.6 M556.3,99.6 M555.9,99.5 
-               M555.8,99.5 L555.9,99.5 M555.8,99.5 M555.8,99.4 L555.8,99.5 M555.8,99.4 M555.7,99.4 M555.7,99.3 L555.7,99.4 M555.6,99.3 
-               M555.5,99.3 L555.6,99.3 M555.5,99.2 M555.4,99.2 L555.5,99.2 M555.4,99.2 L555.5,99.2 M555.4,99.2 M555.4,99.1 M555.3,99.1 
-               L555.4,99.1 M555.3,99.1 M555.3,99.0 M555.2,99.0 M555.2,247.0 M555.2,98.9 L555.2,99.0 M555.1,98.9 M555.0,98.9 M555.0,98.8 
-               L555.0,98.9 M555.0,98.8 M554.9,98.8 L555.0,98.8 M554.9,98.8 M554.9,98.7 M554.8,98.7 M554.8,98.6 L554.8,98.7 M554.8,98.6 
-               M554.7,98.6 M554.6,98.5 L554.7,98.6 M554.6,98.5 M554.5,98.5 M554.5,98.4 L554.5,98.5 M554.5,98.4 M554.4,98.3 L554.4,98.4 
-               M554.4,98.3 M554.3,98.3 M554.3,98.2 L554.3,98.3 M554.2,98.2 M554.1,98.2 L554.2,98.2 M554.1,98.1 M554.0,98.1 L554.1,98.1 
-               M554.0,98.1 M554.0,98.0 M553.9,98.0 L554.0,98.0 M553.9,98.0 M553.9,97.9 L553.9,98.0 M553.9,97.9 M553.8,97.9 L553.9,97.9 
-               M553.8,97.9 M553.7,97.8 L553.8,97.8 M553.7,97.8 M553.6,97.7 L553.6,97.8 M553.6,97.7 M553.6,311.4 L553.6,311.5 M553.6,97.7 
-               M553.5,97.7 L553.6,97.7 M553.5,97.7 M553.5,97.6 L553.5,97.7 M553.5,97.6 M553.4,97.6 L553.5,97.6 M553.4,97.6 M553.4,398.2 
-               M553.4,97.5 L553.4,97.6 M553.4,97.5 M553.3,97.5 L553.4,97.5 M553.3,97.5 M553.2,97.4 M553.1,97.4 M553.1,97.3 M553.0,97.3 
-               M553.0,97.2 L553.0,97.3 M553.0,97.2 M552.9,97.2 L553.0,97.2 M552.9,97.2 L553.0,97.2 M552.9,97.2 M552.9,97.1 M552.8,97.1 
-               L552.9,97.1 M552.8,97.1 M552.7,97.1 L552.8,97.1 M552.7,97.0 L552.7,97.1 M552.7,97.0 M552.5,102.1 M552.5,97.0 M552.4,102.1 
-               M552.3,102.1 L552.4,102.1 M552.3,97.0 M552.2,102.1 M549.9,172.0 M549.2,341.6 M549.0,280.6 M548.9,280.4 M548.8,280.4 M547.6,123.9 
-               M545.3,205.5 L545.3,205.6 M544.9,205.3 M542.5,345.7 M541.7,212.5 M540.3,257.4 M537.3,102.5 M535.6,207.4 L535.6,207.5 M534.8,67.7 
-               M534.3,356.8 M532.8,107.1 M532.6,359.5 M532.5,100.1 M532.0,204.5 M531.5,413.6 M531.5,227.2 M531.5,242.0 L531.5,242.1 M530.7,158.7 
-               M530.7,220.3 M524.3,220.3 M524.3,205.1 M523.9,407.2 M522.3,91.1 M522.3,91.0 M522.2,91.0 L522.3,91.0 M522.2,91.0 M522.2,90.9 
-               L522.2,91.0 M522.1,90.9 M522.0,90.9 L522.1,90.9 M522.0,90.9 M522.0,90.8 M521.9,90.8 L522.0,90.8 M521.9,90.8 L522.0,90.8 
-               M521.9,90.8 M521.9,90.7 L521.9,90.8 M521.9,90.7 M521.8,90.7 L521.9,90.7 M521.8,90.7 M521.8,90.6 L521.8,90.7 M521.7,90.6 
-               M521.6,90.5 L521.7,90.6 M521.6,90.5 M521.5,90.5 L521.6,90.5 M521.5,90.5 M521.5,90.4 L521.5,90.5 M521.5,90.4 M521.4,90.4 
-               L521.5,90.4 M521.4,90.4 M521.4,90.3 L521.4,90.4 M521.4,90.3 M521.3,90.3 L521.4,90.3 M521.3,90.3 M521.2,90.2 L521.3,90.3 
-               M521.2,90.2 M521.1,90.2 L521.2,90.2 M521.1,90.2 M521.1,90.1 L521.1,90.2 M521.1,90.1 M521.0,90.1 L521.1,90.1 M521.0,90.1 
-               M521.0,90.0 M520.9,90.0 L521.0,90.0 M520.9,90.0 M520.8,89.9 L520.9,89.9 M520.8,89.9 L520.9,89.9 M520.7,90.0 L520.8,90.0 
-               M518.4,370.3 M517.4,321.6 M517.1,321.4 L517.2,321.4 M517.1,321.4 M517.0,321.4 M517.0,321.3 L517.0,321.4 M517.0,321.3 M516.9,321.3 
-               L517.0,321.3 M516.9,321.3 M516.9,321.2 L516.9,321.3 M516.9,321.2 M516.8,321.2 M516.8,321.1 L516.8,321.2 M516.8,321.1 M516.7,321.1 
-               L516.8,321.1 M516.7,321.1 M516.6,321.0 M516.5,321.0 L516.6,321.0 M516.5,321.0 L516.6,321.0 M516.5,321.0 M516.5,320.9 L516.5,321.0 
-               M516.5,320.9 M516.4,320.9 L516.5,320.9 M516.4,320.9 M516.4,320.8 M516.3,320.8 M516.3,320.7 M516.2,320.7 M516.1,320.7 M516.1,320.6 
-               M516.0,320.6 M516.0,320.5 L516.0,320.6 M516.0,320.5 M515.9,320.5 M515.9,320.4 M515.8,320.4 L515.9,320.4 M515.8,320.4 M515.7,320.3 
-               L515.8,320.3 M515.7,320.3 M515.6,320.3 M515.6,320.2 L515.6,320.3 M515.6,320.2 L515.6,320.3 M515.6,320.2 L515.6,320.3 M515.6,320.2 
-               L515.6,320.3 M515.6,320.2 L515.6,320.3 M515.6,320.2 M515.5,320.1 L515.5,320.2 M515.5,320.1 M515.4,320.1 L515.5,320.1 M515.4,320.1 
-               L515.5,320.1 M515.4,320.1 M515.4,320.0 L515.5,320.1 M515.4,320.0 M515.3,319.9 L515.4,320.0 M515.2,319.9 L515.3,319.9 M515.2,319.8 
-               L515.2,319.9 M515.1,319.8 M515.0,319.7 L515.1,319.8 M515.0,319.7 M514.9,319.5 L515.2,319.7 M514.7,319.5 L514.8,319.5 M514.7,61.2 
-               M514.6,319.4 L514.6,319.5 M514.6,319.4 M514.5,319.4 L514.6,319.4 M514.5,319.4 L514.6,319.4 M514.5,189.5 L514.6,189.5 M513.3,123.0 
-               L513.4,123.1 M513.0,105.3 M512.8,105.2 M512.8,105.1 L512.8,105.2 M512.6,346.9 L512.7,346.9 M512.4,59.7 M511.8,142.4 M505.6,251.1 
-               M502.4,204.0 M501.4,415.9 M501.4,365.9 M501.4,146.3 M501.4,247.4 L501.4,247.5 M501.4,130.2 M501.4,344.8 M501.4,210.7 L501.4,210.8 
-               M501.4,365.0 M501.4,146.3 M501.4,365.8 M501.3,146.3 M501.3,365.8 M501.3,210.7 M501.3,130.1 M501.3,344.7 M501.3,365.8 M501.3,146.3 
-               M501.3,210.7 M501.3,365.8 M501.3,415.8 M501.3,146.2 M501.3,415.8 M501.3,130.1 M501.3,210.7 M501.3,344.7 M501.3,411.8 M501.3,364.9 
-               M501.2,365.7 L501.3,365.7 M501.2,365.7 M501.1,365.6 L501.2,365.7 M501.1,365.6 M501.0,365.5 M500.9,365.5 M500.9,365.4 M500.9,145.9 
-               M500.9,210.3 M500.9,415.4 M500.9,365.4 M500.8,365.4 M500.8,411.5 M500.8,215.2 M500.8,207.0 M498.8,244.4 M496.6,265.6 M495.2,196.8 
-               M491.7,141.7 M491.2,257.8 M491.1,257.8 L491.2,257.8 M491.1,257.7 L491.2,257.8 M491.1,257.7 M491.0,257.7 L491.1,257.7 M491.0,257.6 
-               M490.9,257.6 M490.8,120.1 M489.8,65.3 M487.6,399.7 M486.4,70.1 M485.6,218.0 M484.6,59.8 M482.6,309.2 L482.6,309.3 M480.7,104.8 
-               M479.0,245.2 M479.0,181.6 M479.0,370.3 M479.0,248.4 L479.0,248.5 M479.0,370.3 M478.5,111.7 M478.4,248.0 L478.5,248.0 M477.3,55.2 
-               L477.4,55.2 M472.3,279.0 M472.2,239.1 M470.1,331.3 M469.9,198.0 L470.0,198.0 M469.9,198.0 M469.4,189.2 M464.1,172.8 M463.6,366.1 
-               M463.6,390.9 M463.5,142.1 M458.9,248.5 M458.5,248.1 M458.5,206.3 L458.5,206.4 M458.5,248.1 M458.5,111.7 M458.4,111.7 M458.4,248.1 
-               M458.4,248.0 M455.4,168.3 L455.5,168.3 M454.2,152.7 M453.6,180.6 M451.1,158.7 M450.3,149.6 M449.5,153.3 M449.3,315.5 M449.3,315.4 
-               M449.3,85.2 M449.3,379.9 M449.3,315.5 M449.3,379.9 M449.3,315.4 L449.3,315.5 M449.3,85.2 M449.3,379.9 M449.2,315.4 M449.2,85.2 
-               M449.2,143.5 M449.2,379.9 M449.2,315.4 M449.2,65.5 M449.2,185.8 M449.2,164.8 M449.2,85.2 M440.8,305.4 M440.7,305.4 M440.7,305.3 
-               M440.6,305.3 L440.7,305.3 M440.6,305.3 M440.6,305.2 L440.6,305.3 M440.6,305.2 M440.5,305.2 L440.6,305.2 M440.5,305.2 L440.6,305.2 
-               M440.5,275.6 M440.5,305.2 M440.4,305.1 L440.5,305.2 M440.4,305.1 M440.3,305.1 M440.3,305.0 M440.2,305.0 M440.2,304.9 L440.2,305.0 
-               M440.2,304.9 M440.1,304.9 L440.2,304.9 M440.1,304.9 M440.1,304.8 L440.1,304.9 M439.6,304.7 M439.5,304.7 M439.5,304.6 M438.9,130.3 
-               M438.6,158.7 M438.6,220.3 M434.0,340.5 M433.7,337.1 M433.6,337.0 L433.7,337.0 M433.6,337.0 M433.6,336.7 M433.6,337.0 M433.5,337.0 
-               M433.5,336.9 L433.5,337.0 M433.5,336.9 M433.4,336.9 L433.5,336.9 M433.4,336.9 M433.4,336.8 M433.3,336.8 L433.4,336.8 M433.3,336.8 
-               M433.3,336.7 M433.2,336.7 L433.3,336.7 M433.2,336.7 L433.3,336.7 M433.2,336.7 M433.1,336.6 M433.0,336.6 L433.1,336.6 M432.9,336.5 
-               M432.8,336.4 M432.7,336.4 L432.8,336.4 M432.7,336.4 M432.7,336.3 L432.7,336.4 M432.7,336.3 M432.6,336.3 L432.7,336.3 M432.6,336.3 
-               M432.6,336.2 M432.5,336.2 L432.6,336.2 M432.5,336.2 M432.4,336.1 L432.5,336.2 M432.4,336.1 L432.5,336.1 M432.4,336.1 M432.3,336.1 
-               L432.4,336.1 M432.3,336.0 L432.3,336.1 M432.3,336.0 M432.2,336.0 L432.3,336.0 M432.2,336.0 L432.3,336.0 M432.2,335.9 L432.3,336.0 
-               M432.2,335.9 M432.1,335.9 M432.1,335.8 L432.1,335.9 M432.1,335.8 M432.0,335.8 M431.9,335.7 L432.0,335.8 M431.9,335.7 M431.8,335.7 
-               M431.8,335.6 L431.8,335.7 M431.8,335.6 M431.7,335.6 L431.8,335.6 M431.7,335.6 M431.7,335.5 L431.7,335.6 M431.7,335.5 M431.6,335.5 
-               L431.7,335.5 M431.6,335.4 L431.6,335.5 M431.5,335.4 L431.6,335.4 M431.5,335.4 L431.6,335.4 M431.5,335.4 M431.4,335.4 L431.5,335.4 
-               M431.4,335.4 M431.4,335.3 M431.3,335.3 M431.3,335.2 L431.3,335.3 M431.3,335.2 M431.2,335.2 L431.3,335.2 M431.2,335.2 M431.2,335.1 
-               L431.2,335.2 M431.2,335.1 M431.1,335.1 L431.2,335.1 M431.1,335.1 M431.0,335.0 L431.1,335.1 M431.0,335.0 M431.0,188.8 M431.0,335.0 
-               M430.9,334.9 L431.0,335.0 M430.9,334.9 M430.8,334.9 M430.8,334.8 L430.8,334.9 M430.8,334.8 M430.7,334.8 M430.7,334.7 L430.7,334.8 
-               M430.6,334.7 M430.5,334.7 L430.6,334.7 M430.5,334.6 L430.5,334.7 M430.5,334.6 M430.4,334.6 L430.5,334.6 M430.4,334.6 L430.5,334.6 
-               M430.4,334.6 M430.4,334.5 L430.4,334.6 M430.4,334.5 M430.3,334.5 L430.4,334.5 M430.3,334.5 L430.4,334.5 M430.3,334.5 M430.2,334.4 
-               L430.3,334.4 M430.2,334.4 M430.1,334.3 L430.1,334.4 M430.1,334.3 M430.0,334.3 L430.1,334.3 M430.0,334.3 M430.0,334.2 L430.0,334.3 
-               M430.0,334.2 M429.9,334.2 M429.9,334.1 L429.9,334.2 M429.8,334.1 L429.9,334.1 M429.8,334.1 L429.9,334.1 M429.8,334.1 M429.8,85.8 
-               M429.7,85.7 L429.8,85.7 M429.7,334.0 M429.6,85.7 L429.7,85.7 M429.6,334.0 M429.6,85.6 M429.5,333.9 L429.6,333.9 M429.5,333.9 
-               M429.4,85.5 M429.4,333.8 M429.4,250.5 M429.4,333.8 M429.4,85.5 M429.4,333.8 M429.4,85.4 L429.4,85.5 M429.4,333.8 M429.3,85.4 
-               L429.4,85.4 M429.3,333.8 L429.4,333.8 M429.3,333.8 M429.3,250.4 M429.3,333.8 M429.3,333.7 L429.3,333.8 M429.3,333.7 M429.3,250.4 
-               M429.3,333.7 M429.2,333.7 M429.2,85.3 M429.2,250.3 M429.2,333.7 M429.2,85.3 M429.2,333.6 L429.2,333.7 M429.2,333.6 M429.2,85.3 
-               M429.2,333.6 M429.1,333.6 M429.0,333.5 M428.9,333.5 M428.9,333.4 L428.9,333.5 M428.9,333.4 M428.8,333.4 L428.9,333.4 M428.8,333.4 
-               L428.9,333.4 M428.8,333.4 M428.8,333.3 L428.8,333.4 M428.8,333.3 M428.7,333.3 M428.7,333.2 L428.7,333.3 M428.6,333.2 M428.5,333.2 
-               L428.6,333.2 M428.5,333.1 M428.4,333.1 L428.5,333.1 M428.4,333.1 M428.4,333.0 M428.3,333.0 L428.4,333.0 M428.3,333.0 M428.3,332.9 
-               L428.3,333.0 M428.2,332.9 L428.3,332.9 M428.2,332.9 L428.3,332.9 M428.2,332.9 M428.1,332.8 L428.2,332.8 M428.1,332.8 M428.0,332.8 
-               M428.0,332.7 M427.9,332.7 L428.0,332.7 M427.9,332.6 M427.8,332.6 L427.9,332.6 M427.8,332.6 L427.9,332.6 M427.8,332.6 M427.8,332.5 
-               L427.8,332.6 M427.7,332.5 M427.7,332.4 L427.7,332.5 M427.6,332.4 M427.5,332.4 L427.6,332.4 M427.5,332.4 M427.5,332.3 L427.5,332.4 
-               M427.5,332.3 M427.4,332.3 M427.4,332.2 M427.3,332.2 L427.4,332.2 M427.3,332.2 M427.3,332.1 L427.3,332.2 M427.2,332.1 M427.1,332.1 
-               M427.1,332.0 L427.1,332.1 M427.1,332.0 M427.0,332.0 M427.0,331.9 L427.0,332.0 M427.0,331.9 M426.9,331.9 M426.9,331.8 M426.8,331.8 
-               L426.9,331.8 M426.8,331.8 M426.7,331.7 L426.8,331.8 M426.7,331.7 M426.6,331.7 M426.6,331.6 L426.6,331.7 M426.6,331.6 M426.5,331.6 
-               L426.6,331.6 M426.5,331.6 L426.6,331.6 M426.5,331.6 M426.5,331.5 M426.4,331.5 L426.5,331.5 M426.4,331.5 L426.5,331.5 M426.4,331.5 
-               M426.3,331.4 L426.4,331.4 M426.3,331.4 L426.4,331.4 M426.3,331.4 M426.2,331.3 L426.3,331.4 M426.2,331.3 M426.1,331.3 L426.2,331.3 
-               M426.1,331.2 L426.2,331.3 M426.1,132.8 M426.1,331.2 M426.0,331.2 L426.1,331.2 M426.0,331.2 M426.0,158.7 M426.0,397.4 M425.9,331.2 
-               M425.9,331.1 L425.9,331.2 M425.9,331.1 M425.8,331.1 L425.9,331.1 M425.8,331.1 M425.7,331.0 L425.8,331.0 M425.7,331.0 M425.7,330.9 
-               L425.7,331.0 M425.7,330.9 M425.6,330.9 L425.7,330.9 M425.6,330.9 M425.5,330.8 L425.5,330.9 M425.5,330.8 M425.4,330.8 L425.5,330.8 
-               M425.4,330.8 L425.5,330.8 M425.4,330.8 M425.4,313.6 M425.4,330.8 M425.4,330.7 L425.4,330.8 M425.4,330.7 M425.3,330.7 L425.4,330.7 
-               M425.3,330.7 M425.3,330.6 L425.3,330.7 M425.3,330.6 M425.2,330.6 M425.2,330.5 L425.2,330.6 M425.1,330.5 L425.2,330.5 M425.1,330.5 
-               M425.0,330.5 L425.1,330.5 M425.0,330.5 M425.0,330.4 L425.0,330.5 M425.0,330.4 M424.9,330.4 M424.9,330.3 M424.8,330.3 L424.9,330.3 
-               M424.8,330.3 M424.8,330.2 L424.8,330.3 M424.7,330.2 M424.7,330.1 L424.7,330.2 M424.6,330.1 M424.5,330.1 L424.6,330.1 M424.5,330.1 
-               M424.5,330.0 M424.4,329.9 M424.3,329.9 M424.3,329.8 L424.3,329.9 M424.2,329.8 M424.2,329.2 M424.2,329.8 M424.1,329.8 M424.1,329.7 
-               L424.1,329.8 M424.1,329.7 M424.0,329.7 L424.1,329.7 M424.0,329.7 M424.0,329.6 L424.0,329.7 M424.0,329.6 M423.9,329.6 L424.0,329.6 
-               M423.9,329.6 M423.9,329.5 L423.9,329.6 M423.9,329.5 M423.8,329.5 L423.9,329.5 M423.8,329.5 M423.7,329.4 M423.6,329.4 L423.7,329.4 
-               M423.6,329.4 M423.6,329.3 L423.6,329.4 M423.6,329.3 M423.5,329.3 L423.6,329.3 M423.5,329.3 M423.5,329.2 L423.5,329.3 M423.5,329.2 
-               M423.4,329.2 L423.5,329.2 M423.4,329.2 M423.4,329.1 L423.4,329.2 M423.3,329.1 M423.2,329.0 L423.2,329.1 M423.2,329.0 M423.1,329.0 
-               L423.2,329.0 M423.1,329.0 M423.1,328.9 L423.1,329.0 M423.1,328.9 M423.0,328.9 M423.0,328.8 L423.0,328.9 M423.0,328.8 M422.9,328.8 
-               L423.0,328.8 M422.9,328.8 M422.9,328.7 L422.9,328.8 M422.8,328.7 L422.9,328.7 M422.8,328.7 M422.7,328.7 M422.7,328.6 L422.7,328.7 
-               M422.7,328.6 M422.6,328.6 M422.6,328.5 L422.6,328.6 M422.6,328.5 M422.5,328.5 L422.6,328.5 M422.5,328.5 M422.5,328.4 L422.5,328.5 
-               M422.5,328.4 M422.4,328.4 L422.5,328.4 M422.4,328.4 M422.3,328.4 L422.4,328.4 M422.3,328.3 L422.4,328.4 M422.3,328.3 M422.2,328.3 
-               L422.3,328.3 M422.2,328.3 L422.3,328.3 M422.2,328.2 M422.1,328.2 L422.2,328.2 M422.1,328.2 M422.1,328.1 L422.1,328.2 M422.1,328.1 
-               M422.0,328.1 L422.1,328.1 M422.0,328.1 M422.0,328.0 L422.0,328.1 M421.9,328.0 L422.0,328.0 M421.9,328.0 L422.0,328.0 M421.9,328.0 
-               M421.8,328.0 L421.9,328.0 M421.8,327.9 M421.7,327.9 M421.7,327.8 L421.7,327.9 M421.7,327.8 M421.6,327.8 M421.6,327.7 M421.5,327.7 
-               L421.6,327.7 M421.5,327.7 M421.5,327.6 L421.5,327.7 M421.4,327.6 L421.5,327.6 M421.4,327.6 M421.3,327.6 L421.4,327.6 M421.3,327.6 
-               M421.3,327.5 L421.3,327.6 M421.3,327.5 M421.2,327.5 M421.2,327.4 L421.2,327.5 M421.2,327.4 M421.1,327.4 M421.1,327.3 L421.1,327.4 
-               M421.1,327.3 M421.0,327.3 M420.9,327.2 L421.0,327.3 M420.9,327.2 M420.8,327.2 L420.9,327.2 M420.8,327.1 L420.8,327.2 M420.8,327.1 
-               M420.7,327.1 L420.8,327.1 M420.7,327.1 L420.8,327.1 M420.7,327.0 M420.6,327.0 M420.6,326.9 M420.5,326.9 M420.5,326.8 L420.5,326.9 
-               M420.4,326.8 M420.3,326.8 L420.4,326.8 M420.3,326.8 M420.3,326.7 L420.3,326.8 M420.3,326.7 M420.2,326.7 L420.3,326.7 M420.2,326.7 
-               M420.2,326.6 L420.2,326.7 M420.2,326.6 M420.1,326.6 M420.1,326.5 L420.1,326.6 M420.0,326.5 M419.9,326.4 L420.0,326.5 M419.9,326.4 
-               M419.8,326.4 L419.9,326.4 M419.8,326.4 L419.9,326.4 M419.8,326.4 M419.8,326.3 M419.7,326.3 L419.8,326.3 M419.7,326.3 M419.7,326.2 
-               L419.7,326.3 M419.7,326.2 M419.6,326.2 L419.7,326.2 M419.6,326.2 M419.6,326.1 L419.6,326.2 M419.5,326.1 M419.4,326.1 L419.5,326.1 
-               M419.4,326.0 L419.4,326.1 M419.4,326.0 M419.3,326.0 L419.4,326.0 M419.3,326.0 M419.3,325.9 L419.3,326.0 M419.3,325.9 M419.2,325.9 
-               M419.2,325.8 L419.2,325.9 M419.1,325.8 M419.0,325.7 M418.9,325.7 L419.0,325.7 M418.9,325.7 M418.9,325.6 L418.9,325.7 M418.9,325.6 
-               M418.8,325.6 L418.9,325.6 M418.8,325.6 M418.8,325.5 L418.8,325.6 M418.8,325.5 M418.7,325.5 L418.8,325.5 M418.7,325.5 L418.8,325.5 
-               M418.7,325.5 M418.7,325.4 L418.7,325.5 M418.6,325.4 M418.5,325.4 M418.5,325.3 M418.4,325.3 M418.3,325.2 L418.4,325.2 M418.3,325.2 
-               L418.4,325.2 M418.3,325.2 M418.3,325.1 M418.2,325.1 M418.2,357.2 M418.2,325.1 M418.1,325.0 L418.2,325.1 M418.1,325.0 M418.0,325.0 
-               L418.1,325.0 M418.0,324.9 L418.0,325.0 M418.0,324.9 M417.9,324.9 M417.9,324.8 L417.9,324.9 M417.9,324.8 M417.8,324.8 L417.9,324.8 
-               M417.8,324.8 M417.8,324.7 M417.7,324.7 M417.6,324.6 L417.6,324.7 M417.6,324.6 M417.5,324.6 L417.6,324.6 M417.5,324.5 M417.4,324.5 
-               L417.5,324.5 M417.4,223.7 M417.4,324.5 M417.4,106.5 L417.4,106.6 M417.3,323.9 L417.3,324.0 M417.2,323.9 M417.1,323.9 M417.1,323.8 
-               L417.1,323.9 M417.1,323.8 M417.0,323.8 M417.0,323.7 M416.9,323.7 M416.9,323.6 L416.9,323.7 M416.9,323.6 M416.8,323.6 L416.9,323.6 
-               M416.8,323.6 L416.9,323.6 M416.8,323.6 M416.8,323.5 L416.8,323.6 M416.7,323.5 L416.8,323.5 M416.7,323.5 M416.6,323.5 L416.7,323.5 
-               M416.6,323.5 M416.6,323.4 L416.6,323.5 M416.6,323.4 L416.7,323.4 M416.6,323.4 M416.5,323.4 L416.6,323.4 M416.5,323.4 M416.5,323.3 
-               L416.5,323.4 M416.5,323.3 M416.5,386.4 M416.4,323.3 L416.5,323.3 M416.4,323.3 M416.4,323.2 M416.3,323.2 L416.4,323.2 M416.3,323.2 
-               M416.2,323.2 L416.3,323.2 M416.2,323.1 M416.1,323.1 M416.1,323.0 L416.1,323.1 M416.1,323.0 M416.0,323.0 M416.0,322.9 M415.9,322.9 
-               M415.9,322.8 L415.9,322.9 M415.8,322.8 L415.9,322.8 M415.8,322.8 M415.7,322.8 L415.8,322.8 M415.7,322.7 L415.7,322.8 M415.7,322.7 
-               M415.6,322.7 M415.6,322.6 M415.5,322.6 L415.6,322.6 M415.5,322.6 M415.5,322.5 L415.5,322.6 M415.5,322.5 M415.4,322.5 L415.5,322.5 
-               M415.4,322.5 M415.3,322.4 L415.4,322.4 M415.3,322.4 M415.2,322.4 M415.2,322.3 L415.2,322.4 M415.2,322.3 M415.1,322.3 L415.2,322.3 
-               M415.1,322.3 M415.1,322.2 M415.0,322.2 M415.0,322.1 M414.9,322.1 L415.0,322.1 M414.9,322.1 M414.9,179.9 M414.9,322.1 M414.8,322.0 
-               M414.7,322.0 M414.7,321.9 L414.7,322.0 M414.7,321.9 M414.6,321.9 L414.7,321.9 M414.6,321.9 L414.7,321.9 M414.6,321.9 M414.6,321.8 
-               L414.6,321.9 M414.6,321.8 M414.5,321.8 L414.6,321.8 M414.5,321.8 L414.6,321.8 M414.5,321.8 M414.5,321.7 L414.5,321.8 M414.4,321.7 
-               L414.5,321.7 M414.4,321.7 M414.3,321.7 M414.3,321.6 L414.3,321.7 M413.9,321.4 M413.5,156.4 M413.2,320.3 M413.1,320.2 L413.1,320.3 
-               M413.1,320.2 L413.1,320.3 M413.1,320.2 L413.1,320.3 M413.1,320.2 L413.1,320.3 M413.1,320.2 L413.1,320.3 M413.1,320.2 L413.1,320.3 
-               M413.1,320.2 L413.1,320.3 M413.1,320.2 M413.0,320.1 L413.0,320.2 M413.0,320.1 M412.9,320.1 L413.0,320.1 M412.9,320.1 L413.0,320.1 
-               M412.9,320.1 M412.9,320.0 L413.0,320.1 M412.9,320.0 M412.8,319.9 L412.9,320.0 M412.7,319.9 L412.8,319.9 M412.7,319.8 L412.7,319.9 
-               M412.6,319.8 M412.5,319.7 L412.6,319.8 M412.5,319.7 M412.4,319.5 L412.7,319.7 M412.2,319.5 L412.3,319.5 M412.2,61.2 M412.1,319.4 
-               L412.1,319.5 M412.1,319.4 M412.0,319.4 L412.1,319.4 M412.0,319.4 L412.1,319.4 M412.0,189.5 L412.1,189.5 M410.9,327.1 M409.7,186.9 
-               L409.8,186.9 M409.7,186.9 M409.7,186.8 L409.7,186.9 M409.6,186.8 L409.7,186.8 M409.6,186.7 L409.7,186.8 M409.5,186.7 M409.4,186.7 
-               L409.5,186.7 M409.4,186.7 M409.4,186.6 L409.4,186.7 M409.4,186.6 M409.4,186.5 L409.5,186.6 M409.2,186.5 M409.2,186.4 L409.2,186.5 
-               M409.1,186.4 M409.0,186.4 L409.1,186.4 M409.0,186.4 M409.0,186.3 L409.1,186.3 M408.9,186.3 M408.9,186.2 L408.9,186.3 M408.9,186.2 
-               M408.6,313.8 M408.5,313.8 L408.6,313.8 M408.5,313.8 M408.5,313.7 L408.5,313.8 M408.3,216.7 M405.6,362.1 M405.3,317.1 M401.6,317.7 
-               L401.7,317.7 M401.1,317.2 L401.1,317.3 M400.9,317.1 M400.5,186.4 M400.2,189.1 M400.1,189.1 M400.1,189.0 L400.1,189.1 M400.1,189.0 
-               M400.0,189.0 L400.1,189.0 M400.0,189.0 M400.0,188.9 M398.9,299.4 M395.4,181.9 M394.8,68.0 M394.8,208.9 M394.8,331.0 M394.8,390.9 
-               M394.8,220.3 M394.8,233.0 M394.8,220.3 M394.8,66.0 M394.8,390.9 M394.8,205.1 M394.5,93.4 M394.2,224.0 M393.1,251.0 M392.4,350.2 
-               M390.8,358.0 M390.7,116.8 M390.0,304.8 M389.1,136.7 M383.2,317.5 M380.9,275.3 M380.3,82.2 M378.7,215.2 M378.2,379.9 M378.2,85.2 
-               M377.5,130.1 M377.5,210.7 M377.5,344.7 M377.5,411.8 M377.1,112.1 M377.1,312.6 M377.0,312.6 L377.1,312.6 M377.0,312.6 M376.8,128.7 
-               M376.3,79.3 M375.6,301.6 M374.3,55.3 M372.6,112.1 M372.0,111.7 M372.0,248.0 M371.9,83.2 M371.4,398.2 M371.0,297.9 M370.9,398.2 
-               M367.7,169.2 M367.6,57.8 M367.0,276.8 M366.5,305.2 M366.4,304.8 M365.3,99.0 M365.3,339.0 M365.3,112.1 M362.0,300.5 M361.9,300.6 
-               L362.0,300.6 M361.0,292.8 M360.9,300.9 M360.5,331.1 M359.8,380.8 M359.8,352.9 M356.9,68.1 M356.3,218.2 M355.4,158.7 M354.8,256.1 
-               M354.7,264.5 M354.6,262.8 M352.7,229.8 M350.9,376.4 M350.9,82.6 M350.3,394.4 M348.1,185.3 L348.2,185.3 M347.7,98.8 M346.9,225.8 
-               M346.9,225.7 L346.9,225.8 M346.9,225.7 M345.9,166.7 M344.9,313.2 M344.6,115.0 M339.3,396.2 M337.4,64.5 M337.1,381.1 M335.0,249.4 
-               M332.7,411.6 M332.7,210.5 M331.3,376.4 M331.3,82.6 M330.5,339.9 L330.6,339.9 M328.5,239.6 L328.6,239.6 M325.1,248.5 M325.0,248.4 
-               L325.0,248.5 M325.0,370.3 M325.0,248.4 L325.0,248.5 M325.0,248.4 M324.8,248.3 L324.9,248.3 M324.8,248.3 M324.8,248.2 L324.8,248.3 
-               M324.7,248.2 L324.8,248.2 M324.7,248.2 M324.6,248.1 L324.7,248.2 M324.6,111.8 M324.6,248.1 M324.6,111.7 M324.6,248.1 M324.5,248.1 
-               M324.5,248.0 M324.5,111.6 M324.5,248.0 M324.4,248.0 L324.5,248.0 M324.4,248.0 M324.4,247.9 L324.4,248.0 M324.4,247.9 M324.3,247.9 
-               M324.3,247.8 L324.3,247.9 M324.2,247.8 M324.1,247.8 L324.2,247.8 M324.1,247.8 M324.1,247.7 L324.1,247.8 M324.1,247.7 M324.0,247.7 
-               M324.0,247.6 M323.9,247.6 L324.0,247.6 M323.9,247.6 M323.9,247.5 M323.8,247.5 L323.9,247.5 M323.8,247.5 M323.7,365.9 L323.8,365.9 
-               M323.7,146.3 L323.8,146.3 M323.7,247.4 L323.7,247.5 M323.7,411.9 M323.7,210.8 M323.7,146.3 M323.7,247.4 M323.6,411.8 L323.7,411.8 
-               M323.6,247.4 L323.7,247.4 M323.6,415.8 M323.6,247.4 M323.6,146.2 M323.6,365.8 M323.6,415.8 M323.6,247.3 L323.6,247.4 M323.6,365.7 
-               L323.6,365.8 M323.6,247.3 M323.5,247.3 M323.5,247.2 M323.4,247.2 M323.3,247.1 M323.3,415.4 L323.3,415.5 M323.3,247.0 L323.3,247.1 
-               M323.2,364.7 L323.3,364.8 M323.2,415.4 M323.2,247.0 M323.2,411.5 M323.2,415.4 M323.2,247.0 M323.2,415.4 M323.2,210.3 M323.2,93.2 
-               M323.2,415.4 M323.2,210.3 M323.2,247.0 M323.2,364.7 M323.2,247.0 M322.7,65.4 M322.1,162.8 M322.0,239.1 M319.9,390.9 M318.8,415.4 
-               M318.3,331.0 M317.2,72.4 M316.7,255.8 L316.7,255.9 M316.7,255.8 M316.6,255.8 L316.7,255.8 M316.6,255.8 M316.5,255.7 L316.6,255.8 
-               M316.5,255.7 M316.4,255.7 L316.5,255.7 M316.4,255.7 M316.4,255.6 M316.3,255.6 M316.3,255.5 L316.3,255.6 M316.3,255.5 M316.2,255.5 
-               L316.3,255.5 M316.2,255.5 M316.2,255.4 M316.1,255.4 L316.2,255.4 M316.1,255.4 M316.0,255.3 L316.1,255.4 M316.0,255.3 M315.9,255.3 
-               M315.9,255.2 M315.8,255.2 L315.9,255.2 M315.8,255.2 M315.8,255.1 L315.8,255.2 M315.8,255.1 M315.8,166.3 M315.7,255.1 L315.8,255.1 
-               M315.7,255.1 L315.8,255.1 M315.7,255.1 M315.7,255.0 L315.7,255.1 M315.6,255.0 L315.7,255.0 M315.6,255.0 M315.5,255.0 L315.6,255.0 
-               M315.5,254.9 L315.5,255.0 M315.5,254.9 M315.4,254.9 L315.5,254.9 M315.4,254.9 M315.4,254.8 L315.4,254.9 M315.4,254.8 M315.3,254.8 
-               L315.4,254.8 M315.3,254.8 L315.4,254.8 M315.3,254.8 M315.3,254.7 M315.2,254.7 L315.3,254.7 M315.2,254.7 M315.1,254.7 L315.2,254.7 
-               M315.1,254.6 L315.1,254.7 M315.1,254.6 M315.0,254.6 M315.0,241.9 M315.0,254.5 L315.0,254.6 M315.0,254.5 M314.9,254.5 L315.0,254.5 
-               M314.9,254.5 M314.9,254.4 L314.9,254.5 M314.9,254.4 M314.8,254.4 L314.9,254.4 M314.8,254.4 M314.8,254.3 L314.8,254.4 M314.7,254.3 
-               M314.6,254.2 L314.6,254.3 M314.6,254.2 M314.5,254.2 L314.6,254.2 M314.5,254.2 M314.5,254.1 M314.4,254.1 L314.5,254.1 M314.4,254.1 
-               M314.4,254.0 L314.4,254.1 M314.4,254.0 M314.3,254.0 L314.4,254.0 M314.3,254.0 M314.3,253.9 L314.3,254.0 M314.2,253.9 M314.1,253.9 
-               L314.2,253.9 M314.1,253.9 M314.1,253.8 M314.0,253.8 M314.0,253.7 L314.0,253.8 M314.0,253.7 M313.9,253.7 L314.0,253.7 M313.9,253.7 
-               M313.9,253.6 L313.9,253.7 M313.8,253.6 L313.9,253.6 M313.8,253.6 M312.9,224.1 M312.5,249.9 M312.2,98.9 M311.3,56.3 M311.0,120.1 
-               M311.0,120.0 M310.9,120.0 M310.8,120.0 L310.9,120.0 M310.8,119.9 M310.7,119.9 M308.5,259.7 M306.3,327.5 L306.4,327.5 M302.8,224.2 
-               M302.0,332.3 M301.9,332.3 M301.9,332.2 M301.8,332.2 M301.8,332.1 L301.8,332.2 M301.8,332.1 M301.7,332.1 L301.8,332.1 M301.7,332.1 
-               L301.8,332.1 M301.7,332.1 M301.4,115.6 M299.4,415.9 L299.5,415.9 M299.4,220.3 M299.4,119.4 M298.2,176.4 L298.3,176.4 M298.0,210.3 
-               M298.0,93.2 M298.0,415.4 M298.0,210.3 M295.3,99.0 M291.9,164.5 M291.5,317.3 M290.2,61.5 M285.1,390.2 M284.0,394.0 M280.2,76.9 
-               M279.3,93.1 M279.0,85.7 M278.1,346.6 M275.2,165.4 M272.1,322.4 M271.1,80.3 M270.7,387.7 M260.7,311.9 M260.5,184.4 M260.5,324.3 
-               M260.4,184.3 L260.4,184.4 M260.4,324.3 M260.4,184.3 M260.4,324.3 M259.3,121.4 M258.8,204.6 M257.8,386.2 M257.8,206.1 M257.8,380.0 
-               M256.9,217.8 L257.0,217.8 M256.9,217.8 M256.5,218.6 M256.1,174.1 M255.4,390.6 M254.0,274.3 M253.0,221.2 M252.9,402.3 M252.2,87.3 
-               M251.8,295.8 M251.8,160.6 M251.7,160.5 L251.7,160.6 M251.6,160.1 M251.6,160.0 M251.5,160.0 M251.5,160.4 M251.4,160.4 L251.5,160.4 
-               M251.4,160.4 M251.4,160.3 L251.4,160.4 M251.4,160.3 M251.3,160.3 L251.4,160.3 M251.3,160.3 M251.3,214.1 M251.3,160.3 M251.2,160.2 
-               L251.3,160.2 M251.2,160.2 M251.1,160.2 L251.2,160.2 M251.1,160.1 M251.0,214.0 M250.9,214.0 M250.9,159.9 M250.8,159.9 M249.5,199.5 
-               M248.1,138.0 M248.1,141.2 M247.2,317.5 M241.8,183.7 L241.8,183.8 M241.8,183.7 M241.7,183.7 L241.8,183.7 M241.7,183.7 M241.7,207.0 
-               M241.7,183.7 M241.6,183.6 L241.7,183.7 M241.6,183.6 M241.5,183.6 L241.6,183.6 M241.5,183.5 L241.5,183.6 M241.5,183.5 M241.4,183.5 
-               M241.4,183.4 L241.4,183.5 M241.4,183.4 M241.4,241.0 M241.3,183.4 L241.4,183.4 M241.3,183.4 M241.3,183.3 L241.3,183.4 M241.2,183.3 
-               L241.3,183.3 M241.2,183.3 L241.3,183.3 M241.2,183.3 M241.1,183.3 L241.2,183.3 M241.1,183.2 L241.2,183.2 M241.1,183.2 M241.0,183.2 
-               L241.1,183.2 M241.0,183.2 M241.0,183.1 M240.9,183.1 M240.9,183.0 L240.9,183.1 M240.9,183.0 M240.8,183.0 L240.9,183.0 M240.8,183.0 
-               M240.8,182.9 L240.8,183.0 M240.7,182.9 M240.6,182.9 L240.7,182.9 M240.6,182.8 M240.5,182.8 L240.6,182.8 M240.5,182.8 M240.5,182.7 
-               L240.5,182.8 M240.5,182.7 M240.4,182.7 L240.5,182.7 M240.4,182.7 M240.4,182.6 L240.4,182.7 M240.4,182.6 M240.3,182.6 L240.4,182.6 
-               M240.3,182.6 L240.4,182.6 M240.3,182.6 M240.3,182.5 L240.3,182.6 M240.2,277.8 L240.2,277.9 M240.2,182.5 M240.1,182.5 L240.2,182.5 
-               M240.1,182.5 M240.1,182.4 M240.0,182.4 L240.1,182.4 M240.0,182.4 M240.0,182.3 L240.0,182.4 M240.0,182.3 M239.9,182.3 L240.0,182.3 
-               M239.9,182.3 M239.8,182.2 L239.9,182.2 M239.8,182.2 M239.7,182.2 L239.8,182.2 M239.7,182.1 L239.7,182.2 M239.7,182.1 M239.6,182.1 
-               M239.6,182.0 L239.6,182.1 M239.6,182.0 M239.5,182.0 L239.6,182.0 M239.5,182.0 M239.5,181.9 M239.4,181.9 L239.5,181.9 M239.4,181.9 
-               M239.4,181.8 L239.4,181.9 M239.3,181.8 M239.2,181.7 L239.3,181.8 M239.2,181.7 M239.1,181.7 M239.1,181.6 L239.1,181.7 M239.1,181.6 
-               M239.0,181.6 L239.1,181.6 M239.0,181.6 L239.1,181.6 M239.0,181.6 M239.0,181.5 L239.0,181.6 M239.0,181.5 M238.9,181.5 L239.0,181.5 
-               M238.9,181.5 M238.9,181.4 L238.9,181.5 M238.8,181.4 M238.7,181.4 L238.8,181.4 M238.7,181.4 L238.8,181.4 M238.7,181.3 M238.6,181.3 
-               M238.6,181.2 L238.6,181.3 M238.6,181.2 M238.5,181.2 L238.6,181.2 M238.5,181.2 M238.5,181.1 L238.5,181.2 M238.4,181.1 L238.5,181.1 
-               M238.4,181.1 M238.4,181.0 L238.4,181.1 M238.3,181.0 M238.2,181.0 L238.3,181.0 M238.2,181.0 M238.2,180.9 M238.1,180.9 L238.2,180.9 
-               M238.1,180.9 M238.1,180.8 M238.0,180.8 M238.0,180.7 M237.9,180.7 L238.0,180.7 M237.9,180.7 M237.8,180.6 L237.8,180.7 M237.8,180.6 
-               M237.7,180.6 M237.7,180.5 L237.7,180.6 M237.6,180.5 L237.7,180.5 M237.6,180.5 M237.5,180.5 M237.5,180.4 L237.5,180.5 M237.5,180.4 
-               M237.4,180.4 L237.5,180.4 M237.4,180.4 L237.5,180.4 M237.4,180.3 L237.4,180.4 M237.4,180.3 M237.3,180.3 L237.4,180.3 M237.3,180.3 
-               M237.3,180.2 L237.3,180.3 M237.3,180.2 M237.2,180.2 L237.3,180.2 M237.2,180.2 M237.1,180.1 L237.2,180.1 M237.1,180.1 M237.0,180.0 
-               L237.1,180.1 M237.0,180.0 M236.9,180.0 L237.0,180.0 M236.9,102.8 M236.9,180.0 M236.9,179.9 L236.9,180.0 M236.9,179.9 M236.8,179.9 
-               L236.9,179.9 M236.8,179.9 M236.8,322.1 M236.8,179.9 M236.8,179.8 M236.7,179.8 M236.6,179.7 L236.7,179.8 M236.6,179.7 M236.5,179.7 
-               M236.5,179.6 L236.5,179.7 M236.5,179.6 M236.4,179.6 L236.5,179.6 M236.4,179.6 M236.4,179.5 M236.3,179.5 L236.4,179.5 M236.3,179.5 
-               M236.2,179.4 M236.1,179.4 L236.2,179.4 M236.1,179.3 L236.1,179.4 M236.1,179.3 M236.0,179.3 L236.1,179.3 M236.0,179.3 M236.0,179.2 
-               L236.0,179.3 M236.0,179.2 M235.9,179.2 M235.9,179.1 L235.9,179.2 M235.9,179.1 M235.8,179.1 L235.9,179.1 M235.8,179.1 M235.8,179.0 
-               L235.8,179.1 M235.7,179.0 M235.6,179.0 M235.6,178.9 L235.7,179.0 M235.6,178.9 M235.5,178.9 L235.6,178.9 M235.5,178.9 M235.5,178.8 
-               L235.5,178.9 M235.5,178.8 M235.4,178.8 L235.5,178.8 M235.4,178.8 L235.5,178.8 M235.4,178.8 M235.4,178.7 M235.3,178.7 M235.3,178.6 
-               L235.3,178.7 M235.2,178.6 M235.1,178.6 L235.2,178.6 M235.1,178.6 M235.1,178.5 M235.0,178.5 M235.0,178.4 L235.0,178.5 M235.0,178.4 
-               M234.9,178.4 M234.9,178.3 M234.8,178.3 M234.7,178.2 M234.6,178.2 L234.7,178.2 M234.6,178.1 L234.6,178.2 M234.6,178.1 M234.5,178.1 
-               L234.6,178.1 M234.5,178.0 L234.5,178.1 M234.5,178.0 M234.4,178.0 L234.5,178.0 M234.4,178.0 M234.3,177.9 M234.2,177.9 L234.3,177.9 
-               M234.2,177.9 L234.3,177.9 M234.2,177.9 M234.2,177.8 L234.2,177.9 M234.2,177.8 M234.1,177.8 L234.2,177.8 M234.1,177.8 M234.1,177.7 
-               L234.1,177.8 M234.1,177.7 M234.0,177.7 M234.0,177.6 L234.0,177.7 M234.0,177.6 M233.9,177.6 M233.8,177.5 L233.9,177.6 M233.8,177.5 
-               M233.7,177.5 M233.7,177.4 M233.7,383.5 M233.7,177.4 M233.6,177.4 L233.7,177.4 M233.6,177.3 M233.5,177.3 L233.6,177.3 M233.5,177.3 
-               M233.5,177.2 L233.5,177.3 M233.5,177.2 M233.4,177.2 M233.3,177.1 M233.2,177.1 L233.3,177.1 M233.2,177.1 M233.2,177.0 L233.2,177.1 
-               M233.2,177.0 M233.1,177.0 L233.2,177.0 M233.1,177.0 M233.1,176.9 M233.0,176.9 L233.1,176.9 M233.0,176.9 M233.0,176.8 L233.0,176.9 
-               M232.9,176.8 M232.8,176.8 L232.9,176.8 M232.8,176.7 L232.8,176.8 M232.8,176.7 M232.7,176.7 M232.7,397.4 M232.7,182.0 M232.7,176.4 
-               M232.6,312.6 M232.6,176.6 M232.5,176.6 M232.5,176.5 L232.5,176.6 M232.5,176.5 M232.4,176.5 L232.5,176.5 M232.4,176.5 M232.4,176.4 
-               L232.4,176.5 M232.4,176.4 M232.3,176.4 M232.2,176.3 M232.1,176.3 L232.2,176.3 M232.1,176.3 M232.1,176.2 L232.1,176.3 M232.1,176.2 
-               M232.0,176.2 M232.0,176.1 M231.9,176.1 M231.9,175.6 M231.8,175.5 L231.8,175.6 M231.8,175.5 M231.7,175.5 M231.7,175.4 L231.7,175.5 
-               M231.7,175.4 M231.6,175.4 L231.7,175.4 M231.6,175.4 M231.6,175.3 L231.6,175.4 M231.6,175.3 M231.5,175.3 L231.6,175.3 M231.5,175.3 
-               M231.4,175.2 L231.5,175.3 M231.4,175.2 M231.3,175.2 L231.4,175.2 M231.3,175.2 M231.3,175.1 L231.3,175.2 M231.3,175.1 M231.2,175.1 
-               M231.2,175.0 L231.2,175.1 M231.2,175.0 M231.1,175.0 L231.2,175.0 M231.1,175.0 L231.2,175.0 M231.1,175.0 M231.1,174.9 L231.1,175.0 
-               M231.0,174.9 L231.1,174.9 M231.0,174.9 M230.9,174.9 M230.9,174.8 L230.9,174.9 M230.9,174.8 M230.8,174.8 M230.8,174.7 L230.8,174.8 
-               M230.8,174.7 M230.7,174.7 L230.8,174.7 M230.7,174.7 L230.8,174.7 M230.7,174.7 M230.7,174.6 L230.7,174.7 M230.6,174.6 L230.7,174.6 
-               M230.6,174.6 L230.7,174.6 M230.6,174.6 M230.6,174.5 L230.6,174.6 M230.5,174.5 M230.4,174.5 M230.4,174.4 M230.3,174.4 M230.3,174.3 
-               L230.3,174.4 M230.3,174.3 M230.2,174.3 L230.3,174.3 M230.2,174.3 M230.2,174.2 L230.2,174.3 M230.1,174.2 M230.0,174.1 L230.1,174.2 
-               M230.0,174.1 M229.9,174.1 M229.9,174.0 M229.9,174.7 M229.8,174.0 L229.9,174.0 M229.8,174.0 M229.8,173.9 L229.8,174.0 M229.8,173.9 
-               M229.7,173.9 L229.8,173.9 M229.7,173.9 M229.6,173.8 L229.6,173.9 M229.6,173.8 M229.5,173.8 L229.6,173.8 M229.5,173.8 L229.6,173.8 
-               M229.5,173.8 M229.5,173.7 M229.4,173.7 M229.4,173.6 L229.4,173.7 M229.4,173.6 M229.3,173.6 M229.3,173.5 L229.3,173.6 M229.3,173.5 
-               M229.2,173.5 L229.3,173.5 M229.2,173.5 M229.1,173.4 L229.1,173.5 M229.1,173.4 M229.0,173.4 M229.0,173.3 L229.0,173.4 M229.0,173.3 
-               M228.9,173.3 L229.0,173.3 M228.9,173.3 M228.9,173.2 M228.8,173.2 M228.7,173.1 L228.8,173.2 M228.7,173.1 M228.6,173.1 L228.7,173.1 
-               M228.6,173.1 M228.6,173.0 L228.6,173.1 M228.6,173.0 M228.5,173.0 L228.6,173.0 M228.5,173.0 M228.5,172.9 L228.5,173.0 M228.5,172.9 
-               M228.4,172.9 L228.5,172.9 M228.4,172.9 M228.4,172.8 M228.3,172.8 L228.4,172.8 M228.3,172.8 L228.4,172.8 M228.3,172.8 M228.2,172.8 
-               L228.3,172.8 M228.2,172.7 M228.1,172.6 L228.1,172.7 M228.1,172.6 M228.0,172.6 M228.0,172.5 L228.0,172.6 M228.0,172.5 M227.9,172.5 
-               L228.0,172.5 M227.9,172.5 M227.9,172.4 L227.9,172.5 M227.9,172.4 M227.8,172.4 L227.9,172.4 M227.8,172.4 M227.7,172.3 L227.8,172.4 
-               M227.7,172.3 M227.6,172.3 L227.7,172.3 M227.6,172.2 M227.5,172.2 M227.5,172.1 L227.5,172.2 M227.5,172.1 M227.4,172.1 M227.3,172.0 
-               L227.3,172.1 M227.3,172.0 M227.2,172.0 L227.3,172.0 M227.2,172.0 M227.2,171.9 L227.2,172.0 M227.2,171.9 M227.1,171.9 M227.1,171.8 
-               L227.1,171.9 M227.1,171.8 M227.0,171.8 L227.1,171.8 M227.0,171.8 L227.1,171.8 M227.0,171.8 M227.0,171.7 L227.0,171.8 M227.0,171.7 
-               M227.0,369.7 M227.0,356.0 M226.9,171.7 L227.0,171.7 M226.9,171.7 M226.8,171.7 L226.9,171.7 M226.8,171.6 L226.8,171.7 M226.8,171.6 
-               M226.7,171.6 L226.8,171.6 M226.7,171.6 M226.7,171.5 L226.8,171.6 M226.7,171.5 M226.6,171.5 M226.6,171.4 M226.5,171.4 L226.6,171.4 
-               M226.5,171.4 M226.5,352.6 M226.5,298.6 L226.5,298.7 M226.5,171.4 M226.5,171.3 L226.5,171.4 M226.4,171.3 L226.5,171.3 M226.4,171.3 
-               M226.3,171.3 L226.4,171.3 M226.3,171.3 M226.3,171.2 M226.2,171.2 L226.3,171.2 M226.2,171.2 M226.2,171.1 L226.2,171.2 M226.2,171.1 
-               M226.1,171.1 L226.2,171.1 M226.1,171.1 M226.1,171.0 L226.1,171.1 M226.1,171.0 M226.0,171.0 L226.1,171.0 M226.0,171.0 M226.0,170.9 
-               L226.0,171.0 M225.9,170.9 M225.8,170.9 L225.9,170.9 M225.8,170.8 L225.9,170.9 M225.8,170.8 M225.7,170.8 L225.8,170.8 M225.7,170.8 
-               M225.7,170.7 L225.7,170.8 M225.7,170.7 M225.6,170.7 L225.7,170.7 M225.6,170.7 M225.5,170.6 M225.4,170.5 L225.4,170.6 M225.4,170.5 
-               M225.3,170.5 L225.4,170.5 M225.3,170.5 L225.4,170.5 M225.3,170.5 M225.3,170.4 L225.3,170.5 M225.3,170.4 M225.2,170.4 L225.3,170.4 
-               M225.2,170.4 M225.2,170.3 L225.2,170.4 M225.2,170.3 M225.1,170.3 L225.2,170.3 M225.1,170.3 M225.0,170.2 L225.1,170.3 M225.0,170.2 
-               M224.9,170.2 M224.9,170.1 L224.9,170.2 M224.9,170.1 M224.8,170.1 M224.8,170.0 L224.8,170.1 M224.8,170.0 M224.7,170.0 L224.8,170.0 
-               M224.7,170.0 M224.7,169.9 L224.7,170.0 M224.6,169.9 M224.5,169.9 L224.6,169.9 M224.5,169.8 M224.4,169.8 M224.4,169.7 L224.4,169.8 
-               M224.4,169.7 M224.3,169.7 M224.3,169.6 M224.2,169.6 L224.3,169.6 M224.2,169.6 M224.1,169.5 L224.2,169.6 M224.1,169.5 M224.0,169.5 
-               L224.1,169.5 M223.9,169.4 M223.9,169.3 L223.9,169.4 M223.9,169.3 M223.8,169.3 M223.8,169.2 L223.8,169.3 M223.7,169.2 L223.8,169.2 
-               M223.7,169.2 M223.6,169.1 L223.6,169.2 M223.6,169.1 M223.5,169.1 M223.5,169.0 L223.5,169.1 M223.5,169.0 M223.4,169.0 M223.4,168.9 
-               L223.4,169.0 M223.4,168.9 M223.3,168.9 M223.2,168.9 L223.3,168.9 M223.2,168.8 L223.3,168.8 M223.2,168.8 M223.1,168.8 L223.2,168.8 
-               M223.1,168.8 M223.1,168.7 M223.0,168.7 L223.1,168.7 M223.0,168.7 M223.0,168.6 M222.9,168.6 M222.9,168.5 L222.9,168.6 M222.8,168.5 
-               M222.8,168.4 L222.8,168.5 M222.7,168.4 M222.6,168.4 L222.7,168.4 M222.6,168.4 M222.6,168.3 M222.5,168.3 L222.6,168.3 M222.5,168.3 
-               M222.5,168.2 L222.5,168.3 M222.5,168.2 M222.4,168.2 M222.3,168.1 L222.4,168.2 M222.3,168.1 M222.2,168.1 L222.3,168.1 M222.2,168.0 
-               L222.2,168.1 M222.2,168.0 M222.1,168.0 L222.2,168.0 M222.1,168.0 M222.1,167.9 L222.1,168.0 M222.1,167.9 M222.0,167.9 L222.1,167.9 
-               M222.0,167.9 L222.1,167.9 M222.0,167.9 M222.0,167.8 L222.0,167.9 M221.9,167.8 M221.8,167.7 L221.9,167.8 M221.8,167.7 M221.7,167.7 
-               L221.8,167.7 M221.7,167.6 L221.7,167.7 M221.7,167.6 M221.6,167.6 M221.6,167.5 L221.6,167.6 M221.6,167.5 M221.5,167.5 L221.6,167.5 
-               M221.5,167.5 L221.6,167.5 M221.5,167.5 M221.5,167.4 L221.5,167.5 M221.5,167.4 M221.4,167.4 L221.5,167.4 M221.4,167.4 M221.3,167.3 
-               L221.4,167.4 M221.3,167.3 M221.2,167.3 L221.3,167.3 M221.2,167.3 M221.2,167.2 L221.2,167.3 M221.2,167.2 M221.1,167.2 L221.2,167.2 
-               M221.1,167.2 L221.2,167.2 M221.1,167.2 M221.1,167.1 L221.1,167.2 M221.0,167.1 M221.0,167.0 L221.0,167.1 M220.9,167.0 M220.8,166.9 
-               L220.8,167.0 M220.8,166.9 M220.7,166.9 M220.7,166.8 L220.7,166.9 M220.7,166.8 M220.6,166.8 M220.6,166.7 L220.6,166.8 M220.6,166.7 
-               M220.5,166.7 L220.6,166.7 M220.5,166.7 M220.4,166.6 M220.3,166.6 M220.3,166.5 L220.3,166.6 M220.3,166.5 M220.2,166.5 L220.3,166.5 
-               M220.2,166.5 M220.2,166.4 M220.1,166.4 M220.0,166.4 M220.0,166.3 M219.9,166.2 L220.0,166.3 M219.9,166.2 M219.8,166.2 M219.8,166.1 
-               L219.8,166.2 M219.8,166.1 M219.7,166.1 L219.8,166.1 M219.7,166.1 M219.7,166.0 M219.6,166.0 L219.7,166.0 M219.6,166.0 M219.5,158.7 
-               L219.6,158.7 M219.5,304.5 M219.5,165.9 M219.4,165.9 M219.4,165.8 L219.4,165.9 M219.4,165.8 M219.3,165.8 L219.4,165.8 M219.3,165.8 
-               M219.3,165.7 L219.3,165.8 M219.2,165.7 L219.3,165.7 M219.2,165.7 M219.1,165.7 L219.2,165.7 M219.1,165.6 M219.0,165.6 L219.1,165.6 
-               M219.0,165.6 M219.0,165.5 L219.0,165.6 M219.0,165.5 M218.9,165.5 L219.0,165.5 M218.9,165.5 M218.9,165.4 L218.9,165.5 M218.8,252.2 
-               M218.8,165.3 L218.8,165.4 M218.1,141.2 M218.1,175.1 M216.3,248.5 M215.2,242.7 M214.5,220.3 M213.3,281.4 M211.7,112.2 M210.0,61.5 
-               M209.7,152.2 M209.2,73.9 M208.0,284.2 M206.9,360.4 M206.8,360.4 M206.6,245.8 M204.8,158.7 M204.8,220.3 M204.7,119.4 M203.4,195.5 
-               M200.3,218.7 L200.4,218.7 M200.1,352.7 M199.8,220.1 M198.3,366.1 M198.3,362.0 M198.3,158.7 M198.3,233.0 M198.2,390.9 L198.3,390.9 
-               M198.2,371.6 M198.2,390.9 M198.2,205.1 M198.2,66.0 M198.2,205.1 M198.2,220.3 M196.6,239.0 M194.3,74.2 M191.3,81.7 M191.3,411.8 
-               M187.5,248.6 M186.2,380.2 M185.9,208.9 M185.8,60.1 M184.8,403.1 M184.7,248.5 M184.7,248.4 M184.4,151.3 M184.4,111.7 M184.3,248.1 
-               M184.3,111.7 M183.8,112.1 M183.7,112.0 M183.6,111.9 M183.5,111.9 M183.5,111.8 M183.4,111.8 L183.5,111.8 M183.4,111.8 M183.4,151.3 
-               M183.4,111.7 M183.3,111.7 L183.4,111.7 M183.3,111.7 M183.3,248.0 M183.2,111.6 L183.3,111.6 M183.2,360.7 M182.9,141.7 M182.9,258.8 
-               L182.9,258.9 M180.3,413.9 M177.4,210.3 M177.4,93.2 M177.4,415.4 M177.4,210.3 M177.4,93.2 M169.6,242.0 L169.6,242.1 M169.6,413.6 
-               M169.6,227.2 M169.2,104.6 M167.4,98.2 M167.3,160.5 M165.6,331.0 M165.6,119.4 M165.6,397.5 M165.6,205.1 M165.6,331.0 M165.6,158.7 
-               M165.6,130.3 M164.4,379.9 M164.4,315.5 M164.4,85.2 M164.4,379.9 M164.3,141.7 M164.3,363.8 M164.1,363.6 M163.3,220.1 L163.4,220.1 
-               M162.4,204.3 M159.7,359.1 M157.7,153.5 M157.7,354.1 M157.7,111.6 M157.6,390.9 M157.6,397.4 M157.6,371.6 M156.9,157.4 M155.7,331.0 
-               M155.7,390.9 M154.3,289.9 M152.0,278.0 M148.3,394.0 M147.3,398.1 M147.3,278.9 M147.3,393.2 M145.8,193.7 M145.0,262.5 M144.0,208.4 
-               M142.0,394.0 M142.0,393.9 L142.0,394.0 M142.0,393.9 M141.9,287.7 M141.9,184.0 M141.9,324.0 M140.5,245.3 M140.3,123.0 M138.5,60.9 
-               L138.6,60.9 M135.9,154.5 M133.2,143.2 M133.2,388.9 M133.2,388.5 M133.2,142.9 M131.5,319.3 M131.5,189.4 M131.5,88.7 M129.9,179.3 
-               M127.7,94.5 M126.3,386.2 M126.3,206.2 M126.1,248.5 M126.1,248.4 M125.7,359.5 M125.7,151.3 M125.6,248.1 M125.6,111.7 M124.4,334.8 
-               M123.0,368.2 M123.0,316.5 M121.1,248.4 L121.1,248.5 M121.0,248.4 L121.1,248.4 M121.0,248.4 M120.6,248.1 M120.6,111.7 M120.6,333.7 
-               M120.6,248.1 M120.6,111.7 M120.5,111.7 M119.7,377.3 '></path>
-</g>
-<g style="fill:none; color:red; stroke:rgb(255,   0,   0); stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-</g>
-<g style="fill:none; color:black; stroke:currentColor; stroke-width:1.00; stroke-linecap:butt; stroke-linejoin:miter">
-       <path d='M119.0,54.0 L119.0,417.0 L574.4,417.0 L574.4,54.0 L119.0,54.0 Z '></path>
-</g>
-</svg>
-
diff --git a/bp_doc/histogram.png b/bp_doc/histogram.png
deleted file mode 100644 (file)
index fb5325e..0000000
Binary files a/bp_doc/histogram.png and /dev/null differ
diff --git a/bp_doc/karyogram.png b/bp_doc/karyogram.png
deleted file mode 100644 (file)
index 40c72f1..0000000
Binary files a/bp_doc/karyogram.png and /dev/null differ
diff --git a/bp_doc/karyogram.svg b/bp_doc/karyogram.svg
deleted file mode 100644 (file)
index b5a4b1d..0000000
+++ /dev/null
@@ -1,1182 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg height="600" style="stroke: black; stroke-width: 1; font: Helvetica" width="800" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-       <rect height="600" style="fill: white; stroke: white" width="800" />
-       <g id="chr_layout">
-               <g id="chr1">
-                       <rect fill="" height="1" stroke="" width="11" x="37" y="174" />
-                       <rect fill="" height="1" stroke="" width="11" x="37" y="64" />
-                       <clipPath id="chr1_clipPath">
-                               <rect height="150.819" rx="10" ry="10" width="11.538" x="30.769" y="0.000" />
-                               <rect height="149.181" rx="10" ry="10" width="11.538" x="30.769" y="150.819" />
-                       </clipPath>
-                       <g clip-path="url(#chr1_clipPath)">
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="30.769" y="0.000" />
-                               <rect fill="LightGrey" height="3.640" stroke-width="0" width="11.538" x="30.769" y="2.791" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="30.769" y="6.431" />
-                               <rect fill="LightGrey" height="2.548" stroke-width="0" width="11.538" x="30.769" y="8.615" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="30.769" y="11.163" />
-                               <rect fill="grey" height="4.247" stroke-width="0" width="11.538" x="30.769" y="15.288" />
-                               <rect fill="white" height="5.096" stroke-width="0" width="11.538" x="30.769" y="19.535" />
-                               <rect fill="LightGrey" height="4.247" stroke-width="0" width="11.538" x="30.769" y="24.631" />
-                               <rect fill="white" height="4.853" stroke-width="0" width="11.538" x="30.769" y="28.878" />
-                               <rect fill="LightGrey" height="2.669" stroke-width="0" width="11.538" x="30.769" y="33.731" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="30.769" y="36.400" />
-                               <rect fill="LightGrey" height="2.669" stroke-width="0" width="11.538" x="30.769" y="39.070" />
-                               <rect fill="white" height="6.309" stroke-width="0" width="11.538" x="30.769" y="41.739" />
-                               <rect fill="LightGrey" height="5.217" stroke-width="0" width="11.538" x="30.769" y="48.049" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="30.769" y="53.266" />
-                               <rect fill="rgb(169,169,169)" height="5.824" stroke-width="0" width="11.538" x="30.769" y="56.421" />
-                               <rect fill="white" height="5.945" stroke-width="0" width="11.538" x="30.769" y="62.245" />
-                               <rect fill="grey" height="3.033" stroke-width="0" width="11.538" x="30.769" y="68.190" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="30.769" y="71.224" />
-                               <rect fill="grey" height="9.464" stroke-width="0" width="11.538" x="30.769" y="73.893" />
-                               <rect fill="white" height="0.971" stroke-width="0" width="11.538" x="30.769" y="83.357" />
-                               <rect fill="black" height="18.443" stroke-width="0" width="11.538" x="30.769" y="84.328" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="30.769" y="102.771" />
-                               <rect fill="rgb(169,169,169)" height="4.732" stroke-width="0" width="11.538" x="30.769" y="106.896" />
-                               <rect fill="white" height="3.033" stroke-width="0" width="11.538" x="30.769" y="111.628" />
-                               <rect fill="rgb(169,169,169)" height="5.945" stroke-width="0" width="11.538" x="30.769" y="114.661" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="30.769" y="120.607" />
-                               <rect fill="black" height="6.067" stroke-width="0" width="11.538" x="30.769" y="123.762" />
-                               <rect fill="white" height="5.581" stroke-width="0" width="11.538" x="30.769" y="129.828" />
-                               <rect fill="grey" height="5.217" stroke-width="0" width="11.538" x="30.769" y="135.410" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="30.769" y="140.627" />
-                               <rect fill="grey" height="3.761" stroke-width="0" width="11.538" x="30.769" y="142.690" />
-                               <rect fill="white" height="0.485" stroke-width="0" width="11.538" x="30.769" y="146.451" />
-                               <rect fill="DarkGrey" height="3.883" stroke-width="0" width="11.538" x="30.769" y="146.936" />
-                               <rect fill="DarkGrey" height="4.489" stroke-width="0" width="11.538" x="30.769" y="150.819" />
-                               <rect fill="LightGrey" height="17.472" stroke-width="0" width="11.538" x="30.769" y="155.309" />
-                               <rect fill="white" height="6.795" stroke-width="0" width="11.538" x="30.769" y="172.781" />
-                               <rect fill="grey" height="1.941" stroke-width="0" width="11.538" x="30.769" y="179.576" />
-                               <rect fill="white" height="4.489" stroke-width="0" width="11.538" x="30.769" y="181.517" />
-                               <rect fill="grey" height="1.820" stroke-width="0" width="11.538" x="30.769" y="186.006" />
-                               <rect fill="white" height="3.033" stroke-width="0" width="11.538" x="30.769" y="187.826" />
-                               <rect fill="grey" height="1.820" stroke-width="0" width="11.538" x="30.769" y="190.860" />
-                               <rect fill="white" height="6.067" stroke-width="0" width="11.538" x="30.769" y="192.680" />
-                               <rect fill="grey" height="2.063" stroke-width="0" width="11.538" x="30.769" y="198.746" />
-                               <rect fill="white" height="4.368" stroke-width="0" width="11.538" x="30.769" y="200.809" />
-                               <rect fill="rgb(169,169,169)" height="2.548" stroke-width="0" width="11.538" x="30.769" y="205.177" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="30.769" y="207.725" />
-                               <rect fill="grey" height="5.217" stroke-width="0" width="11.538" x="30.769" y="211.487" />
-                               <rect fill="white" height="6.552" stroke-width="0" width="11.538" x="30.769" y="216.704" />
-                               <rect fill="black" height="6.067" stroke-width="0" width="11.538" x="30.769" y="223.256" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="30.769" y="229.323" />
-                               <rect fill="black" height="6.552" stroke-width="0" width="11.538" x="30.769" y="233.084" />
-                               <rect fill="white" height="9.464" stroke-width="0" width="11.538" x="30.769" y="239.636" />
-                               <rect fill="LightGrey" height="5.096" stroke-width="0" width="11.538" x="30.769" y="249.100" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="30.769" y="254.196" />
-                               <rect fill="black" height="12.133" stroke-width="0" width="11.538" x="30.769" y="257.351" />
-                               <rect fill="white" height="0.728" stroke-width="0" width="11.538" x="30.769" y="269.485" />
-                               <rect fill="LightGrey" height="2.912" stroke-width="0" width="11.538" x="30.769" y="270.213" />
-                               <rect fill="white" height="4.489" stroke-width="0" width="11.538" x="30.769" y="273.125" />
-                               <rect fill="grey" height="4.732" stroke-width="0" width="11.538" x="30.769" y="277.614" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="30.769" y="282.346" />
-                               <rect fill="rgb(169,169,169)" height="8.615" stroke-width="0" width="11.538" x="30.769" y="284.651" />
-                               <rect fill="white" height="6.734" stroke-width="0" width="11.538" x="30.769" y="293.266" />
-                               <rect fill="none" height="150.819" rx="10" ry="10" width="11.538" x="30.769" y="0.000" />
-                               <rect fill="none" height="149.181" rx="10" ry="10" width="11.538" x="30.769" y="150.819" />
-                       </g>
-                       <text x="32.538" y="315.000">1
-                       </text>
-               </g>
-               <g id="chr2">
-                       <rect fill="" height="1" stroke="" width="11" x="67" y="37" />
-                       <rect fill="" height="1" stroke="" width="11" x="67" y="106" />
-                       <clipPath id="chr2_clipPath">
-                               <rect height="113.205" rx="10" ry="10" width="11.538" x="61.538" y="5.216" />
-                               <rect height="181.579" rx="10" ry="10" width="11.538" x="61.538" y="118.421" />
-                       </clipPath>
-                       <g clip-path="url(#chr2_clipPath)">
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="61.538" y="5.216" />
-                               <rect fill="grey" height="3.276" stroke-width="0" width="11.538" x="61.538" y="10.433" />
-                               <rect fill="white" height="7.037" stroke-width="0" width="11.538" x="61.538" y="13.709" />
-                               <rect fill="rgb(169,169,169)" height="5.096" stroke-width="0" width="11.538" x="61.538" y="20.747" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="61.538" y="25.843" />
-                               <rect fill="rgb(169,169,169)" height="5.824" stroke-width="0" width="11.538" x="61.538" y="28.391" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="61.538" y="34.215" />
-                               <rect fill="LightGrey" height="2.548" stroke-width="0" width="11.538" x="61.538" y="38.825" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="61.538" y="41.373" />
-                               <rect fill="rgb(169,169,169)" height="5.460" stroke-width="0" width="11.538" x="61.538" y="43.921" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="61.538" y="49.382" />
-                               <rect fill="grey" height="3.883" stroke-width="0" width="11.538" x="61.538" y="51.808" />
-                               <rect fill="white" height="7.280" stroke-width="0" width="11.538" x="61.538" y="55.691" />
-                               <rect fill="black" height="6.188" stroke-width="0" width="11.538" x="61.538" y="62.971" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="61.538" y="69.159" />
-                               <rect fill="black" height="7.644" stroke-width="0" width="11.538" x="61.538" y="71.707" />
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="61.538" y="79.351" />
-                               <rect fill="grey" height="7.887" stroke-width="0" width="11.538" x="61.538" y="82.870" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="61.538" y="90.757" />
-                               <rect fill="grey" height="1.577" stroke-width="0" width="11.538" x="61.538" y="93.305" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="61.538" y="94.882" />
-                               <rect fill="black" height="10.071" stroke-width="0" width="11.538" x="61.538" y="96.702" />
-                               <rect fill="white" height="8.857" stroke-width="0" width="11.538" x="61.538" y="106.773" />
-                               <rect fill="DarkGrey" height="2.791" stroke-width="0" width="11.538" x="61.538" y="115.630" />
-                               <rect fill="DarkGrey" height="2.912" stroke-width="0" width="11.538" x="61.538" y="118.421" />
-                               <rect fill="white" height="7.765" stroke-width="0" width="11.538" x="61.538" y="121.333" />
-                               <rect fill="grey" height="3.883" stroke-width="0" width="11.538" x="61.538" y="129.099" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="61.538" y="132.981" />
-                               <rect fill="LightGrey" height="2.305" stroke-width="0" width="11.538" x="61.538" y="134.680" />
-                               <rect fill="white" height="6.309" stroke-width="0" width="11.538" x="61.538" y="136.985" />
-                               <rect fill="grey" height="5.824" stroke-width="0" width="11.538" x="61.538" y="143.295" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="61.538" y="149.119" />
-                               <rect fill="grey" height="9.100" stroke-width="0" width="11.538" x="61.538" y="153.365" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="61.538" y="162.466" />
-                               <rect fill="LightGrey" height="3.155" stroke-width="0" width="11.538" x="61.538" y="165.620" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="61.538" y="168.775" />
-                               <rect fill="black" height="7.037" stroke-width="0" width="11.538" x="61.538" y="170.959" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="61.538" y="177.996" />
-                               <rect fill="black" height="4.489" stroke-width="0" width="11.538" x="61.538" y="180.787" />
-                               <rect fill="white" height="1.456" stroke-width="0" width="11.538" x="61.538" y="185.277" />
-                               <rect fill="LightGrey" height="0.849" stroke-width="0" width="11.538" x="61.538" y="186.733" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="61.538" y="187.582" />
-                               <rect fill="rgb(169,169,169)" height="6.067" stroke-width="0" width="11.538" x="61.538" y="192.799" />
-                               <rect fill="white" height="4.732" stroke-width="0" width="11.538" x="61.538" y="198.866" />
-                               <rect fill="rgb(169,169,169)" height="7.280" stroke-width="0" width="11.538" x="61.538" y="203.598" />
-                               <rect fill="white" height="9.949" stroke-width="0" width="11.538" x="61.538" y="210.878" />
-                               <rect fill="grey" height="3.276" stroke-width="0" width="11.538" x="61.538" y="220.828" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="61.538" y="224.104" />
-                               <rect fill="rgb(169,169,169)" height="7.765" stroke-width="0" width="11.538" x="61.538" y="226.894" />
-                               <rect fill="white" height="3.033" stroke-width="0" width="11.538" x="61.538" y="234.660" />
-                               <rect fill="rgb(169,169,169)" height="6.673" stroke-width="0" width="11.538" x="61.538" y="237.693" />
-                               <rect fill="white" height="7.765" stroke-width="0" width="11.538" x="61.538" y="244.367" />
-                               <rect fill="grey" height="2.548" stroke-width="0" width="11.538" x="61.538" y="252.132" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="61.538" y="254.680" />
-                               <rect fill="black" height="7.280" stroke-width="0" width="11.538" x="61.538" y="258.927" />
-                               <rect fill="white" height="7.523" stroke-width="0" width="11.538" x="61.538" y="266.207" />
-                               <rect fill="rgb(169,169,169)" height="4.368" stroke-width="0" width="11.538" x="61.538" y="273.730" />
-                               <rect fill="white" height="1.092" stroke-width="0" width="11.538" x="61.538" y="278.098" />
-                               <rect fill="black" height="5.945" stroke-width="0" width="11.538" x="61.538" y="279.190" />
-                               <rect fill="white" height="5.581" stroke-width="0" width="11.538" x="61.538" y="285.135" />
-                               <rect fill="grey" height="2.063" stroke-width="0" width="11.538" x="61.538" y="290.716" />
-                               <rect fill="white" height="7.221" stroke-width="0" width="11.538" x="61.538" y="292.779" />
-                               <rect fill="none" height="113.205" rx="10" ry="10" width="11.538" x="61.538" y="5.216" />
-                               <rect fill="none" height="181.579" rx="10" ry="10" width="11.538" x="61.538" y="118.421" />
-                       </g>
-                       <text x="63.308" y="315.000">2
-                       </text>
-               </g>
-               <g id="chr3">
-                       <rect fill="" height="1" stroke="" width="11" x="98" y="157" />
-                       <clipPath id="chr3_clipPath">
-                               <rect height="111.264" rx="10" ry="10" width="11.538" x="92.308" y="57.935" />
-                               <rect height="130.801" rx="10" ry="10" width="11.538" x="92.308" y="169.199" />
-                       </clipPath>
-                       <g clip-path="url(#chr3_clipPath)">
-                               <rect fill="grey" height="4.247" stroke-width="0" width="11.538" x="92.308" y="57.935" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="92.308" y="62.182" />
-                               <rect fill="grey" height="3.883" stroke-width="0" width="11.538" x="92.308" y="64.608" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="92.308" y="68.491" />
-                               <rect fill="LightGrey" height="1.092" stroke-width="0" width="11.538" x="92.308" y="71.888" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="92.308" y="72.980" />
-                               <rect fill="black" height="11.041" stroke-width="0" width="11.538" x="92.308" y="75.771" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="92.308" y="86.813" />
-                               <rect fill="rgb(169,169,169)" height="5.339" stroke-width="0" width="11.538" x="92.308" y="89.967" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="92.308" y="95.306" />
-                               <rect fill="grey" height="5.339" stroke-width="0" width="11.538" x="92.308" y="96.883" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="92.308" y="102.222" />
-                               <rect fill="rgb(169,169,169)" height="5.217" stroke-width="0" width="11.538" x="92.308" y="105.619" />
-                               <rect fill="white" height="0.971" stroke-width="0" width="11.538" x="92.308" y="110.837" />
-                               <rect fill="grey" height="0.364" stroke-width="0" width="11.538" x="92.308" y="111.807" />
-                               <rect fill="white" height="8.129" stroke-width="0" width="11.538" x="92.308" y="112.171" />
-                               <rect fill="LightGrey" height="0.364" stroke-width="0" width="11.538" x="92.308" y="120.301" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="92.308" y="120.665" />
-                               <rect fill="grey" height="4.975" stroke-width="0" width="11.538" x="92.308" y="123.941" />
-                               <rect fill="white" height="6.309" stroke-width="0" width="11.538" x="92.308" y="128.916" />
-                               <rect fill="grey" height="9.828" stroke-width="0" width="11.538" x="92.308" y="135.225" />
-                               <rect fill="white" height="2.912" stroke-width="0" width="11.538" x="92.308" y="145.053" />
-                               <rect fill="rgb(169,169,169)" height="9.221" stroke-width="0" width="11.538" x="92.308" y="147.965" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="92.308" y="157.187" />
-                               <rect fill="rgb(169,169,169)" height="4.247" stroke-width="0" width="11.538" x="92.308" y="159.492" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="92.308" y="163.739" />
-                               <rect fill="DarkGrey" height="2.791" stroke-width="0" width="11.538" x="92.308" y="166.408" />
-                               <rect fill="DarkGrey" height="1.820" stroke-width="0" width="11.538" x="92.308" y="169.199" />
-                               <rect fill="LightGrey" height="8.008" stroke-width="0" width="11.538" x="92.308" y="171.019" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="92.308" y="179.027" />
-                               <rect fill="LightGrey" height="1.213" stroke-width="0" width="11.538" x="92.308" y="181.090" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="92.308" y="182.303" />
-                               <rect fill="rgb(169,169,169)" height="4.125" stroke-width="0" width="11.538" x="92.308" y="184.608" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="92.308" y="188.734" />
-                               <rect fill="grey" height="4.004" stroke-width="0" width="11.538" x="92.308" y="190.796" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="92.308" y="194.800" />
-                               <rect fill="rgb(169,169,169)" height="4.611" stroke-width="0" width="11.538" x="92.308" y="197.470" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="92.308" y="202.081" />
-                               <rect fill="rgb(169,169,169)" height="3.519" stroke-width="0" width="11.538" x="92.308" y="204.143" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="92.308" y="207.662" />
-                               <rect fill="LightGrey" height="2.791" stroke-width="0" width="11.538" x="92.308" y="210.089" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="92.308" y="212.879" />
-                               <rect fill="LightGrey" height="5.096" stroke-width="0" width="11.538" x="92.308" y="217.490" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="92.308" y="222.586" />
-                               <rect fill="LightGrey" height="3.640" stroke-width="0" width="11.538" x="92.308" y="224.649" />
-                               <rect fill="white" height="4.853" stroke-width="0" width="11.538" x="92.308" y="228.289" />
-                               <rect fill="black" height="7.280" stroke-width="0" width="11.538" x="92.308" y="233.142" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="92.308" y="240.422" />
-                               <rect fill="grey" height="3.397" stroke-width="0" width="11.538" x="92.308" y="244.184" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="92.308" y="247.581" />
-                               <rect fill="grey" height="2.184" stroke-width="0" width="11.538" x="92.308" y="249.765" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="92.308" y="251.949" />
-                               <rect fill="black" height="9.707" stroke-width="0" width="11.538" x="92.308" y="253.527" />
-                               <rect fill="white" height="4.004" stroke-width="0" width="11.538" x="92.308" y="263.233" />
-                               <rect fill="rgb(169,169,169)" height="5.824" stroke-width="0" width="11.538" x="92.308" y="267.237" />
-                               <rect fill="white" height="4.004" stroke-width="0" width="11.538" x="92.308" y="273.061" />
-                               <rect fill="rgb(169,169,169)" height="4.368" stroke-width="0" width="11.538" x="92.308" y="277.066" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="92.308" y="281.434" />
-                               <rect fill="LightGrey" height="1.820" stroke-width="0" width="11.538" x="92.308" y="283.618" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="92.308" y="285.438" />
-                               <rect fill="rgb(169,169,169)" height="5.339" stroke-width="0" width="11.538" x="92.308" y="287.743" />
-                               <rect fill="white" height="6.918" stroke-width="0" width="11.538" x="92.308" y="293.082" />
-                               <rect fill="none" height="111.264" rx="10" ry="10" width="11.538" x="92.308" y="57.935" />
-                               <rect fill="none" height="130.801" rx="10" ry="10" width="11.538" x="92.308" y="169.199" />
-                       </g>
-                       <text x="94.077" y="315.000">3
-                       </text>
-               </g>
-               <g id="chr4">
-                       <rect fill="" height="1" stroke="" width="11" x="129" y="98" />
-                       <rect fill="" height="1" stroke="" width="11" x="129" y="161" />
-                       <rect fill="" height="1" stroke="" width="11" x="129" y="270" />
-                       <clipPath id="chr4_clipPath">
-                               <rect height="61.517" rx="10" ry="10" width="11.538" x="123.077" y="67.919" />
-                               <rect height="170.564" rx="10" ry="10" width="11.538" x="123.077" y="129.436" />
-                       </clipPath>
-                       <g clip-path="url(#chr4_clipPath)">
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="123.077" y="67.919" />
-                               <rect fill="LightGrey" height="2.548" stroke-width="0" width="11.538" x="123.077" y="71.681" />
-                               <rect fill="white" height="6.916" stroke-width="0" width="11.538" x="123.077" y="74.229" />
-                               <rect fill="grey" height="5.339" stroke-width="0" width="11.538" x="123.077" y="81.145" />
-                               <rect fill="white" height="3.883" stroke-width="0" width="11.538" x="123.077" y="86.483" />
-                               <rect fill="rgb(169,169,169)" height="5.581" stroke-width="0" width="11.538" x="123.077" y="90.366" />
-                               <rect fill="white" height="5.824" stroke-width="0" width="11.538" x="123.077" y="95.948" />
-                               <rect fill="black" height="9.221" stroke-width="0" width="11.538" x="123.077" y="101.772" />
-                               <rect fill="white" height="6.552" stroke-width="0" width="11.538" x="123.077" y="110.993" />
-                               <rect fill="grey" height="5.703" stroke-width="0" width="11.538" x="123.077" y="117.545" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="123.077" y="123.248" />
-                               <rect fill="DarkGrey" height="2.427" stroke-width="0" width="11.538" x="123.077" y="127.009" />
-                               <rect fill="DarkGrey" height="2.063" stroke-width="0" width="11.538" x="123.077" y="129.436" />
-                               <rect fill="white" height="8.251" stroke-width="0" width="11.538" x="123.077" y="131.499" />
-                               <rect fill="black" height="8.615" stroke-width="0" width="11.538" x="123.077" y="139.749" />
-                               <rect fill="white" height="4.975" stroke-width="0" width="11.538" x="123.077" y="148.364" />
-                               <rect fill="rgb(169,169,169)" height="7.401" stroke-width="0" width="11.538" x="123.077" y="153.339" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="123.077" y="160.740" />
-                               <rect fill="grey" height="4.125" stroke-width="0" width="11.538" x="123.077" y="164.016" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="123.077" y="168.142" />
-                               <rect fill="LightGrey" height="3.397" stroke-width="0" width="11.538" x="123.077" y="170.204" />
-                               <rect fill="white" height="1.335" stroke-width="0" width="11.538" x="123.077" y="173.602" />
-                               <rect fill="rgb(169,169,169)" height="7.037" stroke-width="0" width="11.538" x="123.077" y="174.936" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="123.077" y="181.974" />
-                               <rect fill="rgb(169,169,169)" height="4.489" stroke-width="0" width="11.538" x="123.077" y="183.673" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="123.077" y="188.162" />
-                               <rect fill="grey" height="6.552" stroke-width="0" width="11.538" x="123.077" y="192.287" />
-                               <rect fill="white" height="7.523" stroke-width="0" width="11.538" x="123.077" y="198.839" />
-                               <rect fill="rgb(169,169,169)" height="7.887" stroke-width="0" width="11.538" x="123.077" y="206.362" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="123.077" y="214.249" />
-                               <rect fill="grey" height="6.188" stroke-width="0" width="11.538" x="123.077" y="218.374" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="123.077" y="224.562" />
-                               <rect fill="black" height="9.949" stroke-width="0" width="11.538" x="123.077" y="227.232" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="123.077" y="237.181" />
-                               <rect fill="LightGrey" height="4.004" stroke-width="0" width="11.538" x="123.077" y="239.851" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="123.077" y="243.855" />
-                               <rect fill="LightGrey" height="4.004" stroke-width="0" width="11.538" x="123.077" y="247.131" />
-                               <rect fill="white" height="4.975" stroke-width="0" width="11.538" x="123.077" y="251.135" />
-                               <rect fill="black" height="7.765" stroke-width="0" width="11.538" x="123.077" y="256.109" />
-                               <rect fill="white" height="3.640" stroke-width="0" width="11.538" x="123.077" y="263.875" />
-                               <rect fill="black" height="7.159" stroke-width="0" width="11.538" x="123.077" y="267.515" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="123.077" y="274.674" />
-                               <rect fill="rgb(169,169,169)" height="5.339" stroke-width="0" width="11.538" x="123.077" y="276.858" />
-                               <rect fill="white" height="1.456" stroke-width="0" width="11.538" x="123.077" y="282.196" />
-                               <rect fill="black" height="5.824" stroke-width="0" width="11.538" x="123.077" y="283.652" />
-                               <rect fill="white" height="5.703" stroke-width="0" width="11.538" x="123.077" y="289.477" />
-                               <rect fill="LightGrey" height="4.821" stroke-width="0" width="11.538" x="123.077" y="295.179" />
-                               <rect fill="none" height="61.517" rx="10" ry="10" width="11.538" x="123.077" y="67.919" />
-                               <rect fill="none" height="170.564" rx="10" ry="10" width="11.538" x="123.077" y="129.436" />
-                       </g>
-                       <text x="124.846" y="315.000">4
-                       </text>
-               </g>
-               <g id="chr5">
-                       <rect fill="" height="1" stroke="" width="11" x="160" y="271" />
-                       <clipPath id="chr5_clipPath">
-                               <rect height="57.877" rx="10" ry="10" width="11.538" x="153.846" y="80.556" />
-                               <rect height="161.567" rx="10" ry="10" width="11.538" x="153.846" y="138.433" />
-                       </clipPath>
-                       <g clip-path="url(#chr5_clipPath)">
-                               <rect fill="white" height="5.339" stroke-width="0" width="11.538" x="153.846" y="80.556" />
-                               <rect fill="LightGrey" height="1.941" stroke-width="0" width="11.538" x="153.846" y="85.895" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="153.846" y="87.837" />
-                               <rect fill="grey" height="8.372" stroke-width="0" width="11.538" x="153.846" y="90.506" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="153.846" y="98.878" />
-                               <rect fill="black" height="5.824" stroke-width="0" width="11.538" x="153.846" y="103.003" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="153.846" y="108.827" />
-                               <rect fill="black" height="5.581" stroke-width="0" width="11.538" x="153.846" y="110.526" />
-                               <rect fill="white" height="6.188" stroke-width="0" width="11.538" x="153.846" y="116.108" />
-                               <rect fill="LightGrey" height="4.975" stroke-width="0" width="11.538" x="153.846" y="122.296" />
-                               <rect fill="white" height="4.732" stroke-width="0" width="11.538" x="153.846" y="127.270" />
-                               <rect fill="grey" height="4.125" stroke-width="0" width="11.538" x="153.846" y="132.002" />
-                               <rect fill="DarkGrey" height="2.305" stroke-width="0" width="11.538" x="153.846" y="136.128" />
-                               <rect fill="DarkGrey" height="3.397" stroke-width="0" width="11.538" x="153.846" y="138.433" />
-                               <rect fill="white" height="10.192" stroke-width="0" width="11.538" x="153.846" y="141.831" />
-                               <rect fill="rgb(169,169,169)" height="4.975" stroke-width="0" width="11.538" x="153.846" y="152.023" />
-                               <rect fill="white" height="0.849" stroke-width="0" width="11.538" x="153.846" y="156.997" />
-                               <rect fill="rgb(169,169,169)" height="3.397" stroke-width="0" width="11.538" x="153.846" y="157.847" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="153.846" y="161.244" />
-                               <rect fill="grey" height="5.945" stroke-width="0" width="11.538" x="153.846" y="163.549" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="153.846" y="169.495" />
-                               <rect fill="grey" height="5.945" stroke-width="0" width="11.538" x="153.846" y="173.256" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="153.846" y="179.202" />
-                               <rect fill="black" height="11.041" stroke-width="0" width="11.538" x="153.846" y="181.022" />
-                               <rect fill="white" height="6.552" stroke-width="0" width="11.538" x="153.846" y="192.063" />
-                               <rect fill="black" height="6.673" stroke-width="0" width="11.538" x="153.846" y="198.615" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="153.846" y="205.289" />
-                               <rect fill="black" height="6.188" stroke-width="0" width="11.538" x="153.846" y="207.351" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="153.846" y="213.539" />
-                               <rect fill="grey" height="1.941" stroke-width="0" width="11.538" x="153.846" y="215.845" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="153.846" y="217.786" />
-                               <rect fill="black" height="7.644" stroke-width="0" width="11.538" x="153.846" y="220.334" />
-                               <rect fill="white" height="7.037" stroke-width="0" width="11.538" x="153.846" y="227.978" />
-                               <rect fill="black" height="3.761" stroke-width="0" width="11.538" x="153.846" y="235.016" />
-                               <rect fill="white" height="6.067" stroke-width="0" width="11.538" x="153.846" y="238.777" />
-                               <rect fill="LightGrey" height="4.368" stroke-width="0" width="11.538" x="153.846" y="244.844" />
-                               <rect fill="white" height="4.975" stroke-width="0" width="11.538" x="153.846" y="249.212" />
-                               <rect fill="rgb(169,169,169)" height="4.975" stroke-width="0" width="11.538" x="153.846" y="254.187" />
-                               <rect fill="white" height="5.945" stroke-width="0" width="11.538" x="153.846" y="259.161" />
-                               <rect fill="grey" height="4.247" stroke-width="0" width="11.538" x="153.846" y="265.107" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="153.846" y="269.353" />
-                               <rect fill="black" height="9.100" stroke-width="0" width="11.538" x="153.846" y="274.571" />
-                               <rect fill="white" height="5.824" stroke-width="0" width="11.538" x="153.846" y="283.671" />
-                               <rect fill="LightGrey" height="5.217" stroke-width="0" width="11.538" x="153.846" y="289.495" />
-                               <rect fill="white" height="5.288" stroke-width="0" width="11.538" x="153.846" y="294.712" />
-                               <rect fill="none" height="57.877" rx="10" ry="10" width="11.538" x="153.846" y="80.556" />
-                               <rect fill="none" height="161.567" rx="10" ry="10" width="11.538" x="153.846" y="138.433" />
-                       </g>
-                       <text x="155.615" y="315.000">5
-                       </text>
-               </g>
-               <g id="chr6">
-                       <clipPath id="chr6_clipPath">
-                               <rect height="73.408" rx="10" ry="10" width="11.538" x="184.615" y="92.639" />
-                               <rect height="133.954" rx="10" ry="10" width="11.538" x="184.615" y="166.046" />
-                       </clipPath>
-                       <g clip-path="url(#chr6_clipPath)">
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="184.615" y="92.639" />
-                               <rect fill="LightGrey" height="2.184" stroke-width="0" width="11.538" x="184.615" y="95.430" />
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="184.615" y="97.614" />
-                               <rect fill="grey" height="4.368" stroke-width="0" width="11.538" x="184.615" y="101.132" />
-                               <rect fill="white" height="0.728" stroke-width="0" width="11.538" x="184.615" y="105.500" />
-                               <rect fill="LightGrey" height="2.791" stroke-width="0" width="11.538" x="184.615" y="106.228" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="184.615" y="109.019" />
-                               <rect fill="rgb(169,169,169)" height="9.707" stroke-width="0" width="11.538" x="184.615" y="111.446" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="184.615" y="121.152" />
-                               <rect fill="grey" height="4.611" stroke-width="0" width="11.538" x="184.615" y="124.307" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="184.615" y="128.918" />
-                               <rect fill="LightGrey" height="2.063" stroke-width="0" width="11.538" x="184.615" y="131.345" />
-                               <rect fill="white" height="3.883" stroke-width="0" width="11.538" x="184.615" y="133.407" />
-                               <rect fill="LightGrey" height="4.611" stroke-width="0" width="11.538" x="184.615" y="137.290" />
-                               <rect fill="white" height="5.581" stroke-width="0" width="11.538" x="184.615" y="141.901" />
-                               <rect fill="black" height="7.159" stroke-width="0" width="11.538" x="184.615" y="147.482" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="184.615" y="154.641" />
-                               <rect fill="black" height="5.581" stroke-width="0" width="11.538" x="184.615" y="156.461" />
-                               <rect fill="white" height="1.456" stroke-width="0" width="11.538" x="184.615" y="162.042" />
-                               <rect fill="DarkGrey" height="2.548" stroke-width="0" width="11.538" x="184.615" y="163.498" />
-                               <rect fill="DarkGrey" height="3.519" stroke-width="0" width="11.538" x="184.615" y="166.046" />
-                               <rect fill="white" height="0.121" stroke-width="0" width="11.538" x="184.615" y="169.565" />
-                               <rect fill="black" height="7.887" stroke-width="0" width="11.538" x="184.615" y="169.686" />
-                               <rect fill="white" height="7.159" stroke-width="0" width="11.538" x="184.615" y="177.573" />
-                               <rect fill="grey" height="9.707" stroke-width="0" width="11.538" x="184.615" y="184.732" />
-                               <rect fill="white" height="0.971" stroke-width="0" width="11.538" x="184.615" y="194.439" />
-                               <rect fill="grey" height="3.397" stroke-width="0" width="11.538" x="184.615" y="195.409" />
-                               <rect fill="white" height="5.581" stroke-width="0" width="11.538" x="184.615" y="198.807" />
-                               <rect fill="black" height="8.008" stroke-width="0" width="11.538" x="184.615" y="204.388" />
-                               <rect fill="white" height="1.456" stroke-width="0" width="11.538" x="184.615" y="212.396" />
-                               <rect fill="black" height="5.945" stroke-width="0" width="11.538" x="184.615" y="213.852" />
-                               <rect fill="white" height="11.041" stroke-width="0" width="11.538" x="184.615" y="219.798" />
-                               <rect fill="rgb(169,169,169)" height="3.883" stroke-width="0" width="11.538" x="184.615" y="230.839" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="184.615" y="234.722" />
-                               <rect fill="black" height="9.221" stroke-width="0" width="11.538" x="184.615" y="236.542" />
-                               <rect fill="white" height="1.335" stroke-width="0" width="11.538" x="184.615" y="245.763" />
-                               <rect fill="rgb(169,169,169)" height="3.761" stroke-width="0" width="11.538" x="184.615" y="247.098" />
-                               <rect fill="white" height="1.092" stroke-width="0" width="11.538" x="184.615" y="250.859" />
-                               <rect fill="grey" height="4.732" stroke-width="0" width="11.538" x="184.615" y="251.951" />
-                               <rect fill="white" height="4.732" stroke-width="0" width="11.538" x="184.615" y="256.683" />
-                               <rect fill="rgb(169,169,169)" height="4.611" stroke-width="0" width="11.538" x="184.615" y="261.416" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="184.615" y="266.026" />
-                               <rect fill="rgb(169,169,169)" height="4.125" stroke-width="0" width="11.538" x="184.615" y="269.424" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="184.615" y="273.549" />
-                               <rect fill="grey" height="3.640" stroke-width="0" width="11.538" x="184.615" y="277.796" />
-                               <rect fill="white" height="6.431" stroke-width="0" width="11.538" x="184.615" y="281.436" />
-                               <rect fill="grey" height="4.247" stroke-width="0" width="11.538" x="184.615" y="287.867" />
-                               <rect fill="white" height="7.887" stroke-width="0" width="11.538" x="184.615" y="292.113" />
-                               <rect fill="none" height="73.408" rx="10" ry="10" width="11.538" x="184.615" y="92.639" />
-                               <rect fill="none" height="133.954" rx="10" ry="10" width="11.538" x="184.615" y="166.046" />
-                       </g>
-                       <text x="186.385" y="315.000">6
-                       </text>
-               </g>
-               <g id="chr7">
-                       <clipPath id="chr7_clipPath">
-                               <rect height="71.709" rx="10" ry="10" width="11.538" x="215.385" y="107.294" />
-                               <rect height="120.997" rx="10" ry="10" width="11.538" x="215.385" y="179.003" />
-                       </clipPath>
-                       <g clip-path="url(#chr7_clipPath)">
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="215.385" y="107.294" />
-                               <rect fill="LightGrey" height="2.912" stroke-width="0" width="11.538" x="215.385" y="109.842" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="215.385" y="112.754" />
-                               <rect fill="black" height="7.401" stroke-width="0" width="11.538" x="215.385" y="116.030" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="215.385" y="123.432" />
-                               <rect fill="black" height="5.217" stroke-width="0" width="11.538" x="215.385" y="125.737" />
-                               <rect fill="white" height="6.552" stroke-width="0" width="11.538" x="215.385" y="130.955" />
-                               <rect fill="grey" height="3.761" stroke-width="0" width="11.538" x="215.385" y="137.507" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="215.385" y="141.268" />
-                               <rect fill="rgb(169,169,169)" height="4.611" stroke-width="0" width="11.538" x="215.385" y="145.879" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="215.385" y="150.490" />
-                               <rect fill="rgb(169,169,169)" height="7.037" stroke-width="0" width="11.538" x="215.385" y="152.795" />
-                               <rect fill="white" height="4.004" stroke-width="0" width="11.538" x="215.385" y="159.832" />
-                               <rect fill="rgb(169,169,169)" height="3.883" stroke-width="0" width="11.538" x="215.385" y="163.836" />
-                               <rect fill="white" height="1.335" stroke-width="0" width="11.538" x="215.385" y="167.719" />
-                               <rect fill="rgb(169,169,169)" height="3.640" stroke-width="0" width="11.538" x="215.385" y="169.054" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="215.385" y="172.694" />
-                               <rect fill="DarkGrey" height="2.063" stroke-width="0" width="11.538" x="215.385" y="176.940" />
-                               <rect fill="DarkGrey" height="2.427" stroke-width="0" width="11.538" x="215.385" y="179.003" />
-                               <rect fill="white" height="6.067" stroke-width="0" width="11.538" x="215.385" y="181.430" />
-                               <rect fill="grey" height="6.916" stroke-width="0" width="11.538" x="215.385" y="187.497" />
-                               <rect fill="white" height="6.795" stroke-width="0" width="11.538" x="215.385" y="194.413" />
-                               <rect fill="black" height="10.677" stroke-width="0" width="11.538" x="215.385" y="201.207" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="215.385" y="211.885" />
-                               <rect fill="rgb(169,169,169)" height="3.519" stroke-width="0" width="11.538" x="215.385" y="214.069" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="215.385" y="217.588" />
-                               <rect fill="rgb(169,169,169)" height="6.431" stroke-width="0" width="11.538" x="215.385" y="219.650" />
-                               <rect fill="white" height="7.887" stroke-width="0" width="11.538" x="215.385" y="226.081" />
-                               <rect fill="grey" height="1.820" stroke-width="0" width="11.538" x="215.385" y="233.968" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="215.385" y="235.788" />
-                               <rect fill="rgb(169,169,169)" height="8.736" stroke-width="0" width="11.538" x="215.385" y="237.365" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="215.385" y="246.101" />
-                               <rect fill="rgb(169,169,169)" height="4.489" stroke-width="0" width="11.538" x="215.385" y="249.499" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="215.385" y="253.988" />
-                               <rect fill="rgb(169,169,169)" height="4.004" stroke-width="0" width="11.538" x="215.385" y="257.264" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="215.385" y="261.268" />
-                               <rect fill="LightGrey" height="1.335" stroke-width="0" width="11.538" x="215.385" y="263.816" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="215.385" y="265.151" />
-                               <rect fill="grey" height="5.945" stroke-width="0" width="11.538" x="215.385" y="267.942" />
-                               <rect fill="white" height="6.673" stroke-width="0" width="11.538" x="215.385" y="273.887" />
-                               <rect fill="rgb(169,169,169)" height="5.703" stroke-width="0" width="11.538" x="215.385" y="280.560" />
-                               <rect fill="white" height="5.703" stroke-width="0" width="11.538" x="215.385" y="286.263" />
-                               <rect fill="LightGrey" height="3.033" stroke-width="0" width="11.538" x="215.385" y="291.966" />
-                               <rect fill="white" height="5.001" stroke-width="0" width="11.538" x="215.385" y="294.999" />
-                               <rect fill="none" height="71.709" rx="10" ry="10" width="11.538" x="215.385" y="107.294" />
-                               <rect fill="none" height="120.997" rx="10" ry="10" width="11.538" x="215.385" y="179.003" />
-                       </g>
-                       <text x="217.154" y="315.000">7
-                       </text>
-               </g>
-               <g id="chr8">
-                       <rect fill="" height="1" stroke="" width="11" x="252" y="205" />
-                       <clipPath id="chr8_clipPath">
-                               <rect height="54.843" rx="10" ry="10" width="11.538" x="246.154" y="122.518" />
-                               <rect height="122.639" rx="10" ry="10" width="11.538" x="246.154" y="177.361" />
-                       </clipPath>
-                       <g clip-path="url(#chr8_clipPath)">
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="246.154" y="122.518" />
-                               <rect fill="rgb(169,169,169)" height="4.853" stroke-width="0" width="11.538" x="246.154" y="125.187" />
-                               <rect fill="white" height="7.887" stroke-width="0" width="11.538" x="246.154" y="130.040" />
-                               <rect fill="black" height="7.765" stroke-width="0" width="11.538" x="246.154" y="137.927" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="246.154" y="145.693" />
-                               <rect fill="grey" height="4.853" stroke-width="0" width="11.538" x="246.154" y="150.910" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="246.154" y="155.763" />
-                               <rect fill="rgb(169,169,169)" height="10.677" stroke-width="0" width="11.538" x="246.154" y="158.554" />
-                               <rect fill="white" height="1.213" stroke-width="0" width="11.538" x="246.154" y="169.232" />
-                               <rect fill="LightGrey" height="0.485" stroke-width="0" width="11.538" x="246.154" y="170.445" />
-                               <rect fill="white" height="4.004" stroke-width="0" width="11.538" x="246.154" y="170.930" />
-                               <rect fill="DarkGrey" height="2.427" stroke-width="0" width="11.538" x="246.154" y="174.934" />
-                               <rect fill="DarkGrey" height="3.519" stroke-width="0" width="11.538" x="246.154" y="177.361" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="246.154" y="180.880" />
-                               <rect fill="rgb(169,169,169)" height="2.912" stroke-width="0" width="11.538" x="246.154" y="183.670" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="246.154" y="186.582" />
-                               <rect fill="grey" height="7.401" stroke-width="0" width="11.538" x="246.154" y="189.980" />
-                               <rect fill="white" height="0.849" stroke-width="0" width="11.538" x="246.154" y="197.381" />
-                               <rect fill="grey" height="4.489" stroke-width="0" width="11.538" x="246.154" y="198.231" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="246.154" y="202.720" />
-                               <rect fill="grey" height="3.033" stroke-width="0" width="11.538" x="246.154" y="205.147" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="246.154" y="208.180" />
-                               <rect fill="black" height="5.460" stroke-width="0" width="11.538" x="246.154" y="212.305" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="246.154" y="217.766" />
-                               <rect fill="rgb(169,169,169)" height="5.581" stroke-width="0" width="11.538" x="246.154" y="219.950" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="246.154" y="225.531" />
-                               <rect fill="black" height="7.644" stroke-width="0" width="11.538" x="246.154" y="228.322" />
-                               <rect fill="white" height="6.795" stroke-width="0" width="11.538" x="246.154" y="235.966" />
-                               <rect fill="LightGrey" height="3.033" stroke-width="0" width="11.538" x="246.154" y="242.761" />
-                               <rect fill="white" height="5.460" stroke-width="0" width="11.538" x="246.154" y="245.794" />
-                               <rect fill="rgb(169,169,169)" height="5.460" stroke-width="0" width="11.538" x="246.154" y="251.254" />
-                               <rect fill="white" height="1.941" stroke-width="0" width="11.538" x="246.154" y="256.714" />
-                               <rect fill="black" height="6.673" stroke-width="0" width="11.538" x="246.154" y="258.655" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="246.154" y="265.329" />
-                               <rect fill="grey" height="4.004" stroke-width="0" width="11.538" x="246.154" y="267.149" />
-                               <rect fill="white" height="5.824" stroke-width="0" width="11.538" x="246.154" y="271.153" />
-                               <rect fill="grey" height="5.096" stroke-width="0" width="11.538" x="246.154" y="276.977" />
-                               <rect fill="white" height="6.067" stroke-width="0" width="11.538" x="246.154" y="282.073" />
-                               <rect fill="rgb(169,169,169)" height="4.247" stroke-width="0" width="11.538" x="246.154" y="288.140" />
-                               <rect fill="white" height="7.614" stroke-width="0" width="11.538" x="246.154" y="292.386" />
-                               <rect fill="none" height="54.843" rx="10" ry="10" width="11.538" x="246.154" y="122.518" />
-                               <rect fill="none" height="122.639" rx="10" ry="10" width="11.538" x="246.154" y="177.361" />
-                       </g>
-                       <text x="247.923" y="315.000">8
-                       </text>
-               </g>
-               <g id="chr9">
-                       <rect fill="" height="1" stroke="" width="11" x="283" y="248" />
-                       <rect fill="" height="1" stroke="" width="11" x="283" y="217" />
-                       <clipPath id="chr9_clipPath">
-                               <rect height="62.851" rx="10" ry="10" width="11.538" x="276.923" y="129.800" />
-                               <rect height="107.349" rx="10" ry="10" width="11.538" x="276.923" y="192.651" />
-                       </clipPath>
-                       <g clip-path="url(#chr9_clipPath)">
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="276.923" y="129.800" />
-                               <rect fill="LightGrey" height="2.912" stroke-width="0" width="11.538" x="276.923" y="132.469" />
-                               <rect fill="white" height="5.339" stroke-width="0" width="11.538" x="276.923" y="135.381" />
-                               <rect fill="rgb(169,169,169)" height="6.188" stroke-width="0" width="11.538" x="276.923" y="140.720" />
-                               <rect fill="white" height="3.033" stroke-width="0" width="11.538" x="276.923" y="146.908" />
-                               <rect fill="LightGrey" height="2.305" stroke-width="0" width="11.538" x="276.923" y="149.941" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="276.923" y="152.247" />
-                               <rect fill="black" height="6.795" stroke-width="0" width="11.538" x="276.923" y="153.945" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="276.923" y="160.740" />
-                               <rect fill="black" height="5.703" stroke-width="0" width="11.538" x="276.923" y="163.895" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="276.923" y="169.598" />
-                               <rect fill="LightGrey" height="2.063" stroke-width="0" width="11.538" x="276.923" y="173.844" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="276.923" y="175.907" />
-                               <rect fill="grey" height="2.669" stroke-width="0" width="11.538" x="276.923" y="178.576" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="276.923" y="181.246" />
-                               <rect fill="DarkGrey" height="6.188" stroke-width="0" width="11.538" x="276.923" y="186.463" />
-                               <rect fill="DarkGrey" height="10.313" stroke-width="0" width="11.538" x="276.923" y="192.651" />
-                               <rect fill="LightGrey" height="11.769" stroke-width="0" width="11.538" x="276.923" y="202.965" />
-                               <rect fill="white" height="0.607" stroke-width="0" width="11.538" x="276.923" y="214.734" />
-                               <rect fill="LightGrey" height="2.669" stroke-width="0" width="11.538" x="276.923" y="215.341" />
-                               <rect fill="white" height="0.485" stroke-width="0" width="11.538" x="276.923" y="218.010" />
-                               <rect fill="grey" height="7.523" stroke-width="0" width="11.538" x="276.923" y="218.495" />
-                               <rect fill="white" height="1.213" stroke-width="0" width="11.538" x="276.923" y="226.018" />
-                               <rect fill="grey" height="3.761" stroke-width="0" width="11.538" x="276.923" y="227.232" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="276.923" y="230.993" />
-                               <rect fill="grey" height="4.247" stroke-width="0" width="11.538" x="276.923" y="234.269" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="276.923" y="238.516" />
-                               <rect fill="LightGrey" height="2.427" stroke-width="0" width="11.538" x="276.923" y="240.214" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="276.923" y="242.641" />
-                               <rect fill="LightGrey" height="3.155" stroke-width="0" width="11.538" x="276.923" y="245.796" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="276.923" y="248.950" />
-                               <rect fill="black" height="6.795" stroke-width="0" width="11.538" x="276.923" y="253.076" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="276.923" y="259.871" />
-                               <rect fill="LightGrey" height="4.368" stroke-width="0" width="11.538" x="276.923" y="263.632" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="276.923" y="268.000" />
-                               <rect fill="rgb(169,169,169)" height="6.431" stroke-width="0" width="11.538" x="276.923" y="271.397" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="276.923" y="277.828" />
-                               <rect fill="LightGrey" height="4.247" stroke-width="0" width="11.538" x="276.923" y="282.439" />
-                               <rect fill="white" height="3.883" stroke-width="0" width="11.538" x="276.923" y="286.686" />
-                               <rect fill="LightGrey" height="0.364" stroke-width="0" width="11.538" x="276.923" y="290.568" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="276.923" y="290.932" />
-                               <rect fill="LightGrey" height="2.063" stroke-width="0" width="11.538" x="276.923" y="293.480" />
-                               <rect fill="white" height="4.457" stroke-width="0" width="11.538" x="276.923" y="295.543" />
-                               <rect fill="none" height="62.851" rx="10" ry="10" width="11.538" x="276.923" y="129.800" />
-                               <rect fill="none" height="107.349" rx="10" ry="10" width="11.538" x="276.923" y="192.651" />
-                       </g>
-                       <text x="278.692" y="315.000">9
-                       </text>
-               </g>
-               <g id="chr10">
-                       <clipPath id="chr10_clipPath">
-                               <rect height="48.898" rx="10" ry="10" width="11.538" x="307.692" y="135.743" />
-                               <rect height="115.359" rx="10" ry="10" width="11.538" x="307.692" y="184.641" />
-                       </clipPath>
-                       <g clip-path="url(#chr10_clipPath)">
-                               <rect fill="white" height="3.640" stroke-width="0" width="11.538" x="307.692" y="135.743" />
-                               <rect fill="LightGrey" height="0.971" stroke-width="0" width="11.538" x="307.692" y="139.383" />
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="307.692" y="140.354" />
-                               <rect fill="rgb(169,169,169)" height="6.795" stroke-width="0" width="11.538" x="307.692" y="143.873" />
-                               <rect fill="white" height="6.067" stroke-width="0" width="11.538" x="307.692" y="150.667" />
-                               <rect fill="rgb(169,169,169)" height="3.155" stroke-width="0" width="11.538" x="307.692" y="156.734" />
-                               <rect fill="white" height="0.728" stroke-width="0" width="11.538" x="307.692" y="159.889" />
-                               <rect fill="rgb(169,169,169)" height="2.791" stroke-width="0" width="11.538" x="307.692" y="160.617" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="307.692" y="163.408" />
-                               <rect fill="grey" height="5.096" stroke-width="0" width="11.538" x="307.692" y="164.985" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="307.692" y="170.081" />
-                               <rect fill="LightGrey" height="3.761" stroke-width="0" width="11.538" x="307.692" y="173.842" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="307.692" y="177.604" />
-                               <rect fill="DarkGrey" height="1.820" stroke-width="0" width="11.538" x="307.692" y="182.821" />
-                               <rect fill="DarkGrey" height="2.184" stroke-width="0" width="11.538" x="307.692" y="184.641" />
-                               <rect fill="white" height="4.853" stroke-width="0" width="11.538" x="307.692" y="186.825" />
-                               <rect fill="LightGrey" height="4.853" stroke-width="0" width="11.538" x="307.692" y="191.679" />
-                               <rect fill="white" height="3.883" stroke-width="0" width="11.538" x="307.692" y="196.532" />
-                               <rect fill="black" height="9.585" stroke-width="0" width="11.538" x="307.692" y="200.415" />
-                               <rect fill="white" height="4.368" stroke-width="0" width="11.538" x="307.692" y="210.000" />
-                               <rect fill="black" height="7.887" stroke-width="0" width="11.538" x="307.692" y="214.368" />
-                               <rect fill="white" height="4.004" stroke-width="0" width="11.538" x="307.692" y="222.255" />
-                               <rect fill="grey" height="3.397" stroke-width="0" width="11.538" x="307.692" y="226.259" />
-                               <rect fill="white" height="5.581" stroke-width="0" width="11.538" x="307.692" y="229.656" />
-                               <rect fill="black" height="7.159" stroke-width="0" width="11.538" x="307.692" y="235.238" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="307.692" y="242.397" />
-                               <rect fill="rgb(169,169,169)" height="4.004" stroke-width="0" width="11.538" x="307.692" y="244.459" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="307.692" y="248.463" />
-                               <rect fill="grey" height="4.611" stroke-width="0" width="11.538" x="307.692" y="250.041" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="307.692" y="254.651" />
-                               <rect fill="grey" height="3.155" stroke-width="0" width="11.538" x="307.692" y="256.350" />
-                               <rect fill="white" height="1.213" stroke-width="0" width="11.538" x="307.692" y="259.505" />
-                               <rect fill="LightGrey" height="2.305" stroke-width="0" width="11.538" x="307.692" y="260.718" />
-                               <rect fill="white" height="0.971" stroke-width="0" width="11.538" x="307.692" y="263.024" />
-                               <rect fill="black" height="7.401" stroke-width="0" width="11.538" x="307.692" y="263.994" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="307.692" y="271.396" />
-                               <rect fill="rgb(169,169,169)" height="5.096" stroke-width="0" width="11.538" x="307.692" y="275.157" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="307.692" y="280.253" />
-                               <rect fill="grey" height="1.699" stroke-width="0" width="11.538" x="307.692" y="283.408" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="307.692" y="285.106" />
-                               <rect fill="grey" height="3.761" stroke-width="0" width="11.538" x="307.692" y="290.324" />
-                               <rect fill="white" height="5.915" stroke-width="0" width="11.538" x="307.692" y="294.085" />
-                               <rect fill="none" height="48.898" rx="10" ry="10" width="11.538" x="307.692" y="135.743" />
-                               <rect fill="none" height="115.359" rx="10" ry="10" width="11.538" x="307.692" y="184.641" />
-                       </g>
-                       <text x="305.462" y="315.000">10
-                       </text>
-               </g>
-               <g id="chr11">
-                       <rect fill="" height="1" stroke="" width="11" x="344" y="213" />
-                       <clipPath id="chr11_clipPath">
-                               <rect height="64.186" rx="10" ry="10" width="11.538" x="338.462" y="136.862" />
-                               <rect height="98.951" rx="10" ry="10" width="11.538" x="338.462" y="201.049" />
-                       </clipPath>
-                       <g clip-path="url(#chr11_clipPath)">
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="338.462" y="136.862" />
-                               <rect fill="grey" height="9.585" stroke-width="0" width="11.538" x="338.462" y="140.260" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="338.462" y="149.845" />
-                               <rect fill="grey" height="4.247" stroke-width="0" width="11.538" x="338.462" y="152.151" />
-                               <rect fill="white" height="6.673" stroke-width="0" width="11.538" x="338.462" y="156.397" />
-                               <rect fill="black" height="5.339" stroke-width="0" width="11.538" x="338.462" y="163.071" />
-                               <rect fill="white" height="1.456" stroke-width="0" width="11.538" x="338.462" y="168.409" />
-                               <rect fill="rgb(169,169,169)" height="4.611" stroke-width="0" width="11.538" x="338.462" y="169.866" />
-                               <rect fill="white" height="6.552" stroke-width="0" width="11.538" x="338.462" y="174.476" />
-                               <rect fill="black" height="8.493" stroke-width="0" width="11.538" x="338.462" y="181.028" />
-                               <rect fill="white" height="6.552" stroke-width="0" width="11.538" x="338.462" y="189.522" />
-                               <rect fill="rgb(169,169,169)" height="3.155" stroke-width="0" width="11.538" x="338.462" y="196.074" />
-                               <rect fill="DarkGrey" height="1.820" stroke-width="0" width="11.538" x="338.462" y="199.229" />
-                               <rect fill="DarkGrey" height="4.247" stroke-width="0" width="11.538" x="338.462" y="201.049" />
-                               <rect fill="rgb(169,169,169)" height="4.004" stroke-width="0" width="11.538" x="338.462" y="205.295" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="338.462" y="209.299" />
-                               <rect fill="LightGrey" height="2.063" stroke-width="0" width="11.538" x="338.462" y="211.362" />
-                               <rect fill="white" height="4.853" stroke-width="0" width="11.538" x="338.462" y="213.425" />
-                               <rect fill="LightGrey" height="2.548" stroke-width="0" width="11.538" x="338.462" y="218.278" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="338.462" y="220.826" />
-                               <rect fill="grey" height="5.096" stroke-width="0" width="11.538" x="338.462" y="222.646" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="338.462" y="227.742" />
-                               <rect fill="black" height="10.435" stroke-width="0" width="11.538" x="338.462" y="229.926" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="338.462" y="240.361" />
-                               <rect fill="black" height="5.339" stroke-width="0" width="11.538" x="338.462" y="243.516" />
-                               <rect fill="white" height="5.339" stroke-width="0" width="11.538" x="338.462" y="248.854" />
-                               <rect fill="black" height="5.945" stroke-width="0" width="11.538" x="338.462" y="254.193" />
-                               <rect fill="white" height="0.971" stroke-width="0" width="11.538" x="338.462" y="260.139" />
-                               <rect fill="black" height="9.221" stroke-width="0" width="11.538" x="338.462" y="261.109" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="338.462" y="270.331" />
-                               <rect fill="grey" height="3.155" stroke-width="0" width="11.538" x="338.462" y="273.728" />
-                               <rect fill="white" height="6.431" stroke-width="0" width="11.538" x="338.462" y="276.883" />
-                               <rect fill="grey" height="3.397" stroke-width="0" width="11.538" x="338.462" y="283.314" />
-                               <rect fill="white" height="4.732" stroke-width="0" width="11.538" x="338.462" y="286.711" />
-                               <rect fill="grey" height="3.519" stroke-width="0" width="11.538" x="338.462" y="291.443" />
-                               <rect fill="white" height="5.038" stroke-width="0" width="11.538" x="338.462" y="294.962" />
-                               <rect fill="none" height="64.186" rx="10" ry="10" width="11.538" x="338.462" y="136.862" />
-                               <rect fill="none" height="98.951" rx="10" ry="10" width="11.538" x="338.462" y="201.049" />
-                       </g>
-                       <text x="336.231" y="315.000">11
-                       </text>
-               </g>
-               <g id="chr12">
-                       <clipPath id="chr12_clipPath">
-                               <rect height="42.953" rx="10" ry="10" width="11.538" x="369.231" y="139.414" />
-                               <rect height="117.634" rx="10" ry="10" width="11.538" x="369.231" y="182.366" />
-                       </clipPath>
-                       <g clip-path="url(#chr12_clipPath)">
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="369.231" y="139.414" />
-                               <rect fill="LightGrey" height="2.669" stroke-width="0" width="11.538" x="369.231" y="143.175" />
-                               <rect fill="white" height="5.703" stroke-width="0" width="11.538" x="369.231" y="145.845" />
-                               <rect fill="rgb(169,169,169)" height="3.155" stroke-width="0" width="11.538" x="369.231" y="151.547" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="369.231" y="154.702" />
-                               <rect fill="black" height="6.188" stroke-width="0" width="11.538" x="369.231" y="157.371" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="369.231" y="163.560" />
-                               <rect fill="black" height="6.188" stroke-width="0" width="11.538" x="369.231" y="165.137" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="369.231" y="171.325" />
-                               <rect fill="grey" height="3.519" stroke-width="0" width="11.538" x="369.231" y="173.024" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="369.231" y="176.542" />
-                               <rect fill="DarkGrey" height="2.669" stroke-width="0" width="11.538" x="369.231" y="179.697" />
-                               <rect fill="DarkGrey" height="1.335" stroke-width="0" width="11.538" x="369.231" y="182.366" />
-                               <rect fill="black" height="9.828" stroke-width="0" width="11.538" x="369.231" y="183.701" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="369.231" y="193.529" />
-                               <rect fill="LightGrey" height="1.213" stroke-width="0" width="11.538" x="369.231" y="196.927" />
-                               <rect fill="white" height="5.703" stroke-width="0" width="11.538" x="369.231" y="198.140" />
-                               <rect fill="LightGrey" height="2.548" stroke-width="0" width="11.538" x="369.231" y="203.843" />
-                               <rect fill="white" height="1.335" stroke-width="0" width="11.538" x="369.231" y="206.391" />
-                               <rect fill="rgb(169,169,169)" height="6.188" stroke-width="0" width="11.538" x="369.231" y="207.725" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="369.231" y="213.914" />
-                               <rect fill="grey" height="3.155" stroke-width="0" width="11.538" x="369.231" y="216.340" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="369.231" y="219.495" />
-                               <rect fill="rgb(169,169,169)" height="5.217" stroke-width="0" width="11.538" x="369.231" y="224.106" />
-                               <rect fill="white" height="5.581" stroke-width="0" width="11.538" x="369.231" y="229.323" />
-                               <rect fill="black" height="7.765" stroke-width="0" width="11.538" x="369.231" y="234.904" />
-                               <rect fill="white" height="2.912" stroke-width="0" width="11.538" x="369.231" y="242.670" />
-                               <rect fill="black" height="4.489" stroke-width="0" width="11.538" x="369.231" y="245.582" />
-                               <rect fill="white" height="4.368" stroke-width="0" width="11.538" x="369.231" y="250.071" />
-                               <rect fill="rgb(169,169,169)" height="6.309" stroke-width="0" width="11.538" x="369.231" y="254.439" />
-                               <rect fill="white" height="2.912" stroke-width="0" width="11.538" x="369.231" y="260.749" />
-                               <rect fill="grey" height="6.188" stroke-width="0" width="11.538" x="369.231" y="263.661" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="369.231" y="269.849" />
-                               <rect fill="LightGrey" height="0.728" stroke-width="0" width="11.538" x="369.231" y="273.125" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="369.231" y="273.853" />
-                               <rect fill="grey" height="3.033" stroke-width="0" width="11.538" x="369.231" y="276.280" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="369.231" y="279.313" />
-                               <rect fill="grey" height="2.912" stroke-width="0" width="11.538" x="369.231" y="281.012" />
-                               <rect fill="white" height="6.552" stroke-width="0" width="11.538" x="369.231" y="283.924" />
-                               <rect fill="grey" height="5.096" stroke-width="0" width="11.538" x="369.231" y="290.476" />
-                               <rect fill="white" height="4.428" stroke-width="0" width="11.538" x="369.231" y="295.572" />
-                               <rect fill="none" height="42.953" rx="10" ry="10" width="11.538" x="369.231" y="139.414" />
-                               <rect fill="none" height="117.634" rx="10" ry="10" width="11.538" x="369.231" y="182.366" />
-                       </g>
-                       <text x="367.000" y="315.000">12
-                       </text>
-               </g>
-               <g id="chr13">
-                       <rect fill="" height="1" stroke="" width="11" x="406" y="239" />
-                       <rect fill="" height="1" stroke="" width="11" x="406" y="217" />
-                       <clipPath id="chr13_clipPath">
-                               <rect height="19.414" rx="10" ry="10" width="11.538" x="400.000" y="161.505" />
-                               <rect height="119.082" rx="10" ry="10" width="11.538" x="400.000" y="180.918" />
-                       </clipPath>
-                       <g clip-path="url(#chr13_clipPath)">
-                               <rect fill="LightGrey" height="4.611" stroke-width="0" width="11.538" x="400.000" y="161.505" />
-                               <rect fill="rgb(169,169,169)" height="5.460" stroke-width="0" width="11.538" x="400.000" y="166.116" />
-                               <rect fill="LightGrey" height="6.309" stroke-width="0" width="11.538" x="400.000" y="171.576" />
-                               <rect fill="DarkGrey" height="3.033" stroke-width="0" width="11.538" x="400.000" y="177.885" />
-                               <rect fill="DarkGrey" height="2.912" stroke-width="0" width="11.538" x="400.000" y="180.918" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="400.000" y="183.830" />
-                               <rect fill="LightGrey" height="2.669" stroke-width="0" width="11.538" x="400.000" y="188.441" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="400.000" y="191.111" />
-                               <rect fill="LightGrey" height="1.335" stroke-width="0" width="11.538" x="400.000" y="193.901" />
-                               <rect fill="white" height="4.004" stroke-width="0" width="11.538" x="400.000" y="195.236" />
-                               <rect fill="grey" height="2.184" stroke-width="0" width="11.538" x="400.000" y="199.240" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="400.000" y="201.424" />
-                               <rect fill="rgb(169,169,169)" height="5.824" stroke-width="0" width="11.538" x="400.000" y="203.608" />
-                               <rect fill="white" height="5.824" stroke-width="0" width="11.538" x="400.000" y="209.432" />
-                               <rect fill="LightGrey" height="1.941" stroke-width="0" width="11.538" x="400.000" y="215.256" />
-                               <rect fill="white" height="0.364" stroke-width="0" width="11.538" x="400.000" y="217.198" />
-                               <rect fill="grey" height="3.276" stroke-width="0" width="11.538" x="400.000" y="217.562" />
-                               <rect fill="white" height="4.004" stroke-width="0" width="11.538" x="400.000" y="220.838" />
-                               <rect fill="black" height="6.552" stroke-width="0" width="11.538" x="400.000" y="224.842" />
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="400.000" y="231.394" />
-                               <rect fill="rgb(169,169,169)" height="4.368" stroke-width="0" width="11.538" x="400.000" y="234.912" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="400.000" y="239.280" />
-                               <rect fill="black" height="5.945" stroke-width="0" width="11.538" x="400.000" y="243.042" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="400.000" y="248.987" />
-                               <rect fill="grey" height="2.184" stroke-width="0" width="11.538" x="400.000" y="251.535" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="400.000" y="253.719" />
-                               <rect fill="black" height="10.556" stroke-width="0" width="11.538" x="400.000" y="255.903" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="400.000" y="266.459" />
-                               <rect fill="black" height="6.067" stroke-width="0" width="11.538" x="400.000" y="269.250" />
-                               <rect fill="white" height="3.883" stroke-width="0" width="11.538" x="400.000" y="275.317" />
-                               <rect fill="LightGrey" height="1.335" stroke-width="0" width="11.538" x="400.000" y="279.200" />
-                               <rect fill="white" height="2.912" stroke-width="0" width="11.538" x="400.000" y="280.534" />
-                               <rect fill="black" height="3.883" stroke-width="0" width="11.538" x="400.000" y="283.446" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="400.000" y="287.329" />
-                               <rect fill="black" height="4.004" stroke-width="0" width="11.538" x="400.000" y="289.877" />
-                               <rect fill="white" height="6.119" stroke-width="0" width="11.538" x="400.000" y="293.881" />
-                               <rect fill="none" height="19.414" rx="10" ry="10" width="11.538" x="400.000" y="161.505" />
-                               <rect fill="none" height="119.082" rx="10" ry="10" width="11.538" x="400.000" y="180.918" />
-                       </g>
-                       <text x="397.769" y="315.000">13
-                       </text>
-               </g>
-               <g id="chr14">
-                       <rect fill="" height="1" stroke="" width="11" x="437" y="256" />
-                       <clipPath id="chr14_clipPath">
-                               <rect height="18.928" rx="10" ry="10" width="11.538" x="430.769" y="170.938" />
-                               <rect height="110.134" rx="10" ry="10" width="11.538" x="430.769" y="189.866" />
-                       </clipPath>
-                       <g clip-path="url(#chr14_clipPath)">
-                               <rect fill="LightGrey" height="3.761" stroke-width="0" width="11.538" x="430.769" y="170.938" />
-                               <rect fill="rgb(169,169,169)" height="4.368" stroke-width="0" width="11.538" x="430.769" y="174.699" />
-                               <rect fill="LightGrey" height="8.372" stroke-width="0" width="11.538" x="430.769" y="179.067" />
-                               <rect fill="DarkGrey" height="2.427" stroke-width="0" width="11.538" x="430.769" y="187.439" />
-                               <rect fill="DarkGrey" height="4.247" stroke-width="0" width="11.538" x="430.769" y="189.866" />
-                               <rect fill="white" height="5.460" stroke-width="0" width="11.538" x="430.769" y="194.113" />
-                               <rect fill="black" height="9.949" stroke-width="0" width="11.538" x="430.769" y="199.573" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="430.769" y="209.522" />
-                               <rect fill="grey" height="1.820" stroke-width="0" width="11.538" x="430.769" y="212.313" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="430.769" y="214.133" />
-                               <rect fill="black" height="4.975" stroke-width="0" width="11.538" x="430.769" y="215.710" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="430.769" y="220.685" />
-                               <rect fill="black" height="6.188" stroke-width="0" width="11.538" x="430.769" y="223.355" />
-                               <rect fill="white" height="4.853" stroke-width="0" width="11.538" x="430.769" y="229.543" />
-                               <rect fill="LightGrey" height="2.548" stroke-width="0" width="11.538" x="430.769" y="234.396" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="430.769" y="236.944" />
-                               <rect fill="rgb(169,169,169)" height="6.552" stroke-width="0" width="11.538" x="430.769" y="238.643" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="430.769" y="245.195" />
-                               <rect fill="grey" height="3.640" stroke-width="0" width="11.538" x="430.769" y="248.592" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="430.769" y="252.232" />
-                               <rect fill="grey" height="4.368" stroke-width="0" width="11.538" x="430.769" y="255.023" />
-                               <rect fill="white" height="6.673" stroke-width="0" width="11.538" x="430.769" y="259.391" />
-                               <rect fill="black" height="5.096" stroke-width="0" width="11.538" x="430.769" y="266.064" />
-                               <rect fill="white" height="1.699" stroke-width="0" width="11.538" x="430.769" y="271.160" />
-                               <rect fill="black" height="5.945" stroke-width="0" width="11.538" x="430.769" y="272.859" />
-                               <rect fill="white" height="1.941" stroke-width="0" width="11.538" x="430.769" y="278.805" />
-                               <rect fill="LightGrey" height="2.791" stroke-width="0" width="11.538" x="430.769" y="280.746" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="430.769" y="283.537" />
-                               <rect fill="grey" height="6.067" stroke-width="0" width="11.538" x="430.769" y="286.691" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="430.769" y="292.758" />
-                               <rect fill="grey" height="0.971" stroke-width="0" width="11.538" x="430.769" y="294.942" />
-                               <rect fill="white" height="4.087" stroke-width="0" width="11.538" x="430.769" y="295.913" />
-                               <rect fill="none" height="18.928" rx="10" ry="10" width="11.538" x="430.769" y="170.938" />
-                               <rect fill="none" height="110.134" rx="10" ry="10" width="11.538" x="430.769" y="189.866" />
-                       </g>
-                       <text x="428.538" y="315.000">14
-                       </text>
-               </g>
-               <g id="chr15">
-                       <rect fill="" height="1" stroke="" width="11" x="467" y="272" />
-                       <clipPath id="chr15_clipPath">
-                               <rect height="20.627" rx="10" ry="10" width="11.538" x="461.538" y="178.254" />
-                               <rect height="101.119" rx="10" ry="10" width="11.538" x="461.538" y="198.881" />
-                       </clipPath>
-                       <g clip-path="url(#chr15_clipPath)">
-                               <rect fill="LightGrey" height="4.247" stroke-width="0" width="11.538" x="461.538" y="178.254" />
-                               <rect fill="rgb(169,169,169)" height="5.339" stroke-width="0" width="11.538" x="461.538" y="182.501" />
-                               <rect fill="LightGrey" height="7.523" stroke-width="0" width="11.538" x="461.538" y="187.839" />
-                               <rect fill="DarkGrey" height="3.519" stroke-width="0" width="11.538" x="461.538" y="195.362" />
-                               <rect fill="DarkGrey" height="1.699" stroke-width="0" width="11.538" x="461.538" y="198.881" />
-                               <rect fill="white" height="5.945" stroke-width="0" width="11.538" x="461.538" y="200.580" />
-                               <rect fill="grey" height="2.912" stroke-width="0" width="11.538" x="461.538" y="206.525" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="461.538" y="209.437" />
-                               <rect fill="grey" height="1.213" stroke-width="0" width="11.538" x="461.538" y="212.228" />
-                               <rect fill="white" height="2.912" stroke-width="0" width="11.538" x="461.538" y="213.441" />
-                               <rect fill="rgb(169,169,169)" height="7.887" stroke-width="0" width="11.538" x="461.538" y="216.353" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="461.538" y="224.240" />
-                               <rect fill="LightGrey" height="0.849" stroke-width="0" width="11.538" x="461.538" y="227.637" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="461.538" y="228.487" />
-                               <rect fill="rgb(169,169,169)" height="5.945" stroke-width="0" width="11.538" x="461.538" y="230.064" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="461.538" y="236.009" />
-                               <rect fill="rgb(169,169,169)" height="5.703" stroke-width="0" width="11.538" x="461.538" y="240.256" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="461.538" y="245.959" />
-                               <rect fill="LightGrey" height="5.339" stroke-width="0" width="11.538" x="461.538" y="247.536" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="461.538" y="252.875" />
-                               <rect fill="LightGrey" height="0.121" stroke-width="0" width="11.538" x="461.538" y="257.000" />
-                               <rect fill="white" height="0.364" stroke-width="0" width="11.538" x="461.538" y="257.122" />
-                               <rect fill="LightGrey" height="6.188" stroke-width="0" width="11.538" x="461.538" y="257.486" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="461.538" y="263.674" />
-                               <rect fill="LightGrey" height="1.577" stroke-width="0" width="11.538" x="461.538" y="266.950" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="461.538" y="268.527" />
-                               <rect fill="grey" height="4.125" stroke-width="0" width="11.538" x="461.538" y="270.590" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="461.538" y="274.715" />
-                               <rect fill="grey" height="4.732" stroke-width="0" width="11.538" x="461.538" y="278.962" />
-                               <rect fill="white" height="6.309" stroke-width="0" width="11.538" x="461.538" y="283.694" />
-                               <rect fill="grey" height="5.096" stroke-width="0" width="11.538" x="461.538" y="290.003" />
-                               <rect fill="white" height="4.901" stroke-width="0" width="11.538" x="461.538" y="295.099" />
-                               <rect fill="none" height="20.627" rx="10" ry="10" width="11.538" x="461.538" y="178.254" />
-                               <rect fill="none" height="101.119" rx="10" ry="10" width="11.538" x="461.538" y="198.881" />
-                       </g>
-                       <text x="459.308" y="315.000">15
-                       </text>
-               </g>
-               <g id="chr16">
-                       <rect fill="" height="1" stroke="" width="11" x="498" y="279" />
-                       <clipPath id="chr16_clipPath">
-                               <rect height="46.350" rx="10" ry="10" width="11.538" x="492.308" y="192.222" />
-                               <rect height="61.428" rx="10" ry="10" width="11.538" x="492.308" y="238.572" />
-                       </clipPath>
-                       <g clip-path="url(#chr16_clipPath)">
-                               <rect fill="white" height="7.644" stroke-width="0" width="11.538" x="492.308" y="192.222" />
-                               <rect fill="grey" height="4.853" stroke-width="0" width="11.538" x="492.308" y="199.866" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="492.308" y="204.719" />
-                               <rect fill="grey" height="2.669" stroke-width="0" width="11.538" x="492.308" y="207.388" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="492.308" y="210.058" />
-                               <rect fill="grey" height="4.611" stroke-width="0" width="11.538" x="492.308" y="212.485" />
-                               <rect fill="white" height="1.456" stroke-width="0" width="11.538" x="492.308" y="217.095" />
-                               <rect fill="grey" height="7.159" stroke-width="0" width="11.538" x="492.308" y="218.551" />
-                               <rect fill="white" height="8.251" stroke-width="0" width="11.538" x="492.308" y="225.710" />
-                               <rect fill="DarkGrey" height="4.611" stroke-width="0" width="11.538" x="492.308" y="233.961" />
-                               <rect fill="DarkGrey" height="3.033" stroke-width="0" width="11.538" x="492.308" y="238.572" />
-                               <rect fill="LightGrey" height="5.824" stroke-width="0" width="11.538" x="492.308" y="241.605" />
-                               <rect fill="white" height="6.916" stroke-width="0" width="11.538" x="492.308" y="247.429" />
-                               <rect fill="grey" height="4.004" stroke-width="0" width="11.538" x="492.308" y="254.345" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="492.308" y="258.349" />
-                               <rect fill="black" height="10.313" stroke-width="0" width="11.538" x="492.308" y="261.018" />
-                               <rect fill="white" height="5.096" stroke-width="0" width="11.538" x="492.308" y="271.332" />
-                               <rect fill="grey" height="0.485" stroke-width="0" width="11.538" x="492.308" y="276.428" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="492.308" y="276.913" />
-                               <rect fill="rgb(169,169,169)" height="5.945" stroke-width="0" width="11.538" x="492.308" y="281.160" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="492.308" y="287.105" />
-                               <rect fill="grey" height="2.669" stroke-width="0" width="11.538" x="492.308" y="289.896" />
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="492.308" y="292.566" />
-                               <rect fill="LightGrey" height="1.941" stroke-width="0" width="11.538" x="492.308" y="296.084" />
-                               <rect fill="white" height="1.974" stroke-width="0" width="11.538" x="492.308" y="298.026" />
-                               <rect fill="none" height="46.350" rx="10" ry="10" width="11.538" x="492.308" y="192.222" />
-                               <rect fill="none" height="61.428" rx="10" ry="10" width="11.538" x="492.308" y="238.572" />
-                       </g>
-                       <text x="490.077" y="315.000">16
-                       </text>
-               </g>
-               <g id="chr17">
-                       <rect fill="" height="1" stroke="" width="11" x="529" y="252" />
-                       <clipPath id="chr17_clipPath">
-                               <rect height="26.936" rx="10" ry="10" width="11.538" x="523.077" y="204.419" />
-                               <rect height="68.645" rx="10" ry="10" width="11.538" x="523.077" y="231.355" />
-                       </clipPath>
-                       <g clip-path="url(#chr17_clipPath)">
-                               <rect fill="white" height="4.368" stroke-width="0" width="11.538" x="523.077" y="204.419" />
-                               <rect fill="grey" height="3.883" stroke-width="0" width="11.538" x="523.077" y="208.787" />
-                               <rect fill="white" height="5.339" stroke-width="0" width="11.538" x="523.077" y="212.670" />
-                               <rect fill="rgb(169,169,169)" height="5.703" stroke-width="0" width="11.538" x="523.077" y="218.008" />
-                               <rect fill="white" height="7.523" stroke-width="0" width="11.538" x="523.077" y="223.711" />
-                               <rect fill="DarkGrey" height="0.121" stroke-width="0" width="11.538" x="523.077" y="231.234" />
-                               <rect fill="DarkGrey" height="1.213" stroke-width="0" width="11.538" x="523.077" y="231.355" />
-                               <rect fill="white" height="6.795" stroke-width="0" width="11.538" x="523.077" y="232.568" />
-                               <rect fill="grey" height="8.008" stroke-width="0" width="11.538" x="523.077" y="239.363" />
-                               <rect fill="white" height="0.243" stroke-width="0" width="11.538" x="523.077" y="247.371" />
-                               <rect fill="LightGrey" height="2.669" stroke-width="0" width="11.538" x="523.077" y="247.614" />
-                               <rect fill="white" height="4.975" stroke-width="0" width="11.538" x="523.077" y="250.283" />
-                               <rect fill="LightGrey" height="3.519" stroke-width="0" width="11.538" x="523.077" y="255.258" />
-                               <rect fill="white" height="3.397" stroke-width="0" width="11.538" x="523.077" y="258.777" />
-                               <rect fill="rgb(169,169,169)" height="8.857" stroke-width="0" width="11.538" x="523.077" y="262.174" />
-                               <rect fill="white" height="0.849" stroke-width="0" width="11.538" x="523.077" y="271.032" />
-                               <rect fill="rgb(169,169,169)" height="3.397" stroke-width="0" width="11.538" x="523.077" y="271.881" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="523.077" y="275.278" />
-                               <rect fill="grey" height="2.063" stroke-width="0" width="11.538" x="523.077" y="277.098" />
-                               <rect fill="white" height="3.640" stroke-width="0" width="11.538" x="523.077" y="279.161" />
-                               <rect fill="rgb(169,169,169)" height="4.611" stroke-width="0" width="11.538" x="523.077" y="282.801" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="523.077" y="287.412" />
-                               <rect fill="LightGrey" height="0.849" stroke-width="0" width="11.538" x="523.077" y="292.023" />
-                               <rect fill="white" height="7.128" stroke-width="0" width="11.538" x="523.077" y="292.872" />
-                               <rect fill="none" height="26.936" rx="10" ry="10" width="11.538" x="523.077" y="204.419" />
-                               <rect fill="none" height="68.645" rx="10" ry="10" width="11.538" x="523.077" y="231.355" />
-                       </g>
-                       <text x="520.846" y="315.000">17
-                       </text>
-               </g>
-               <g id="chr18">
-                       <clipPath id="chr18_clipPath">
-                               <rect height="19.535" rx="10" ry="10" width="11.538" x="553.846" y="207.643" />
-                               <rect height="72.822" rx="10" ry="10" width="11.538" x="553.846" y="227.178" />
-                       </clipPath>
-                       <g clip-path="url(#chr18_clipPath)">
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="553.846" y="207.643" />
-                               <rect fill="grey" height="5.217" stroke-width="0" width="11.538" x="553.846" y="211.162" />
-                               <rect fill="white" height="1.577" stroke-width="0" width="11.538" x="553.846" y="216.379" />
-                               <rect fill="LightGrey" height="2.912" stroke-width="0" width="11.538" x="553.846" y="217.957" />
-                               <rect fill="white" height="5.460" stroke-width="0" width="11.538" x="553.846" y="220.869" />
-                               <rect fill="DarkGrey" height="0.849" stroke-width="0" width="11.538" x="553.846" y="226.329" />
-                               <rect fill="DarkGrey" height="1.456" stroke-width="0" width="11.538" x="553.846" y="227.178" />
-                               <rect fill="white" height="7.280" stroke-width="0" width="11.538" x="553.846" y="228.634" />
-                               <rect fill="black" height="9.343" stroke-width="0" width="11.538" x="553.846" y="235.914" />
-                               <rect fill="white" height="5.460" stroke-width="0" width="11.538" x="553.846" y="245.257" />
-                               <rect fill="rgb(169,169,169)" height="7.644" stroke-width="0" width="11.538" x="553.846" y="250.717" />
-                               <rect fill="white" height="5.581" stroke-width="0" width="11.538" x="553.846" y="258.361" />
-                               <rect fill="rgb(169,169,169)" height="6.795" stroke-width="0" width="11.538" x="553.846" y="263.943" />
-                               <rect fill="white" height="2.912" stroke-width="0" width="11.538" x="553.846" y="270.737" />
-                               <rect fill="grey" height="3.276" stroke-width="0" width="11.538" x="553.846" y="273.650" />
-                               <rect fill="white" height="3.276" stroke-width="0" width="11.538" x="553.846" y="276.926" />
-                               <rect fill="black" height="6.188" stroke-width="0" width="11.538" x="553.846" y="280.202" />
-                               <rect fill="white" height="2.427" stroke-width="0" width="11.538" x="553.846" y="286.390" />
-                               <rect fill="LightGrey" height="5.339" stroke-width="0" width="11.538" x="553.846" y="288.816" />
-                               <rect fill="white" height="5.845" stroke-width="0" width="11.538" x="553.846" y="294.155" />
-                               <rect fill="none" height="19.535" rx="10" ry="10" width="11.538" x="553.846" y="207.643" />
-                               <rect fill="none" height="72.822" rx="10" ry="10" width="11.538" x="553.846" y="227.178" />
-                       </g>
-                       <text x="551.615" y="315.000">18
-                       </text>
-               </g>
-               <g id="chr19">
-                       <clipPath id="chr19_clipPath">
-                               <rect height="34.580" rx="10" ry="10" width="11.538" x="584.615" y="222.574" />
-                               <rect height="42.845" rx="10" ry="10" width="11.538" x="584.615" y="257.155" />
-                       </clipPath>
-                       <g clip-path="url(#chr19_clipPath)">
-                               <rect fill="white" height="8.372" stroke-width="0" width="11.538" x="584.615" y="222.574" />
-                               <rect fill="LightGrey" height="6.916" stroke-width="0" width="11.538" x="584.615" y="230.946" />
-                               <rect fill="white" height="1.456" stroke-width="0" width="11.538" x="584.615" y="237.862" />
-                               <rect fill="LightGrey" height="2.791" stroke-width="0" width="11.538" x="584.615" y="239.318" />
-                               <rect fill="white" height="4.489" stroke-width="0" width="11.538" x="584.615" y="242.109" />
-                               <rect fill="LightGrey" height="8.372" stroke-width="0" width="11.538" x="584.615" y="246.599" />
-                               <rect fill="DarkGrey" height="2.184" stroke-width="0" width="11.538" x="584.615" y="254.971" />
-                               <rect fill="DarkGrey" height="2.063" stroke-width="0" width="11.538" x="584.615" y="257.155" />
-                               <rect fill="LightGrey" height="8.372" stroke-width="0" width="11.538" x="584.615" y="259.217" />
-                               <rect fill="white" height="3.883" stroke-width="0" width="11.538" x="584.615" y="267.589" />
-                               <rect fill="LightGrey" height="3.276" stroke-width="0" width="11.538" x="584.615" y="271.472" />
-                               <rect fill="white" height="0.485" stroke-width="0" width="11.538" x="584.615" y="274.748" />
-                               <rect fill="LightGrey" height="5.339" stroke-width="0" width="11.538" x="584.615" y="275.234" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="584.615" y="280.572" />
-                               <rect fill="LightGrey" height="4.611" stroke-width="0" width="11.538" x="584.615" y="283.242" />
-                               <rect fill="white" height="4.611" stroke-width="0" width="11.538" x="584.615" y="287.852" />
-                               <rect fill="LightGrey" height="1.820" stroke-width="0" width="11.538" x="584.615" y="292.463" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="584.615" y="294.283" />
-                               <rect fill="LightGrey" height="2.926" stroke-width="0" width="11.538" x="584.615" y="297.074" />
-                               <rect fill="none" height="34.580" rx="10" ry="10" width="11.538" x="584.615" y="222.574" />
-                               <rect fill="none" height="42.845" rx="10" ry="10" width="11.538" x="584.615" y="257.155" />
-                       </g>
-                       <text x="582.385" y="315.000">19
-                       </text>
-               </g>
-               <g id="chr20">
-                       <clipPath id="chr20_clipPath">
-                               <rect height="32.882" rx="10" ry="10" width="11.538" x="615.385" y="224.243" />
-                               <rect height="42.875" rx="10" ry="10" width="11.538" x="615.385" y="257.125" />
-                       </clipPath>
-                       <g clip-path="url(#chr20_clipPath)">
-                               <rect fill="white" height="6.067" stroke-width="0" width="11.538" x="615.385" y="224.243" />
-                               <rect fill="rgb(169,169,169)" height="4.853" stroke-width="0" width="11.538" x="615.385" y="230.310" />
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="615.385" y="235.164" />
-                               <rect fill="rgb(169,169,169)" height="7.159" stroke-width="0" width="11.538" x="615.385" y="238.682" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="615.385" y="245.841" />
-                               <rect fill="LightGrey" height="1.335" stroke-width="0" width="11.538" x="615.385" y="249.966" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="615.385" y="251.301" />
-                               <rect fill="DarkGrey" height="1.699" stroke-width="0" width="11.538" x="615.385" y="255.426" />
-                               <rect fill="DarkGrey" height="1.577" stroke-width="0" width="11.538" x="615.385" y="257.125" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="615.385" y="258.703" />
-                               <rect fill="LightGrey" height="2.912" stroke-width="0" width="11.538" x="615.385" y="262.464" />
-                               <rect fill="white" height="3.883" stroke-width="0" width="11.538" x="615.385" y="265.376" />
-                               <rect fill="rgb(169,169,169)" height="4.853" stroke-width="0" width="11.538" x="615.385" y="269.259" />
-                               <rect fill="white" height="0.607" stroke-width="0" width="11.538" x="615.385" y="274.112" />
-                               <rect fill="LightGrey" height="5.096" stroke-width="0" width="11.538" x="615.385" y="274.719" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="615.385" y="279.815" />
-                               <rect fill="rgb(169,169,169)" height="6.309" stroke-width="0" width="11.538" x="615.385" y="283.940" />
-                               <rect fill="white" height="1.820" stroke-width="0" width="11.538" x="615.385" y="290.250" />
-                               <rect fill="grey" height="2.427" stroke-width="0" width="11.538" x="615.385" y="292.070" />
-                               <rect fill="white" height="5.504" stroke-width="0" width="11.538" x="615.385" y="294.496" />
-                               <rect fill="none" height="32.882" rx="10" ry="10" width="11.538" x="615.385" y="224.243" />
-                               <rect fill="none" height="42.875" rx="10" ry="10" width="11.538" x="615.385" y="257.125" />
-                       </g>
-                       <text x="613.154" y="315.000">20
-                       </text>
-               </g>
-               <g id="chr21">
-                       <clipPath id="chr21_clipPath">
-                               <rect height="14.924" rx="10" ry="10" width="11.538" x="646.154" y="243.040" />
-                               <rect height="42.036" rx="10" ry="10" width="11.538" x="646.154" y="257.964" />
-                       </clipPath>
-                       <g clip-path="url(#chr21_clipPath)">
-                               <rect fill="LightGrey" height="3.519" stroke-width="0" width="11.538" x="646.154" y="243.040" />
-                               <rect fill="rgb(169,169,169)" height="4.125" stroke-width="0" width="11.538" x="646.154" y="246.559" />
-                               <rect fill="LightGrey" height="4.489" stroke-width="0" width="11.538" x="646.154" y="250.684" />
-                               <rect fill="DarkGrey" height="2.791" stroke-width="0" width="11.538" x="646.154" y="255.174" />
-                               <rect fill="DarkGrey" height="1.092" stroke-width="0" width="11.538" x="646.154" y="257.964" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="646.154" y="259.056" />
-                               <rect fill="black" height="9.221" stroke-width="0" width="11.538" x="646.154" y="261.604" />
-                               <rect fill="white" height="3.519" stroke-width="0" width="11.538" x="646.154" y="270.826" />
-                               <rect fill="rgb(169,169,169)" height="5.703" stroke-width="0" width="11.538" x="646.154" y="274.345" />
-                               <rect fill="white" height="5.096" stroke-width="0" width="11.538" x="646.154" y="280.047" />
-                               <rect fill="grey" height="2.427" stroke-width="0" width="11.538" x="646.154" y="285.143" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="646.154" y="287.570" />
-                               <rect fill="grey" height="3.397" stroke-width="0" width="11.538" x="646.154" y="289.875" />
-                               <rect fill="white" height="6.727" stroke-width="0" width="11.538" x="646.154" y="293.273" />
-                               <rect fill="none" height="14.924" rx="10" ry="10" width="11.538" x="646.154" y="243.040" />
-                               <rect fill="none" height="42.036" rx="10" ry="10" width="11.538" x="646.154" y="257.964" />
-                       </g>
-                       <text x="643.923" y="315.000">21
-                       </text>
-               </g>
-               <g id="chr22">
-                       <clipPath id="chr22_clipPath">
-                               <rect height="14.318" rx="10" ry="10" width="11.538" x="676.923" y="239.707" />
-                               <rect height="45.976" rx="10" ry="10" width="11.538" x="676.923" y="254.024" />
-                       </clipPath>
-                       <g clip-path="url(#chr22_clipPath)">
-                               <rect fill="LightGrey" height="3.640" stroke-width="0" width="11.538" x="676.923" y="239.707" />
-                               <rect fill="rgb(169,169,169)" height="4.368" stroke-width="0" width="11.538" x="676.923" y="243.347" />
-                               <rect fill="LightGrey" height="3.640" stroke-width="0" width="11.538" x="676.923" y="247.715" />
-                               <rect fill="DarkGrey" height="2.669" stroke-width="0" width="11.538" x="676.923" y="251.355" />
-                               <rect fill="DarkGrey" height="5.460" stroke-width="0" width="11.538" x="676.923" y="254.024" />
-                               <rect fill="white" height="5.096" stroke-width="0" width="11.538" x="676.923" y="259.485" />
-                               <rect fill="LightGrey" height="1.577" stroke-width="0" width="11.538" x="676.923" y="264.581" />
-                               <rect fill="white" height="3.033" stroke-width="0" width="11.538" x="676.923" y="266.158" />
-                               <rect fill="grey" height="4.368" stroke-width="0" width="11.538" x="676.923" y="269.191" />
-                               <rect fill="white" height="3.155" stroke-width="0" width="11.538" x="676.923" y="273.559" />
-                               <rect fill="grey" height="6.552" stroke-width="0" width="11.538" x="676.923" y="276.714" />
-                               <rect fill="white" height="4.125" stroke-width="0" width="11.538" x="676.923" y="283.266" />
-                               <rect fill="grey" height="4.004" stroke-width="0" width="11.538" x="676.923" y="287.392" />
-                               <rect fill="white" height="5.339" stroke-width="0" width="11.538" x="676.923" y="291.396" />
-                               <rect fill="grey" height="1.456" stroke-width="0" width="11.538" x="676.923" y="296.734" />
-                               <rect fill="white" height="1.810" stroke-width="0" width="11.538" x="676.923" y="298.190" />
-                               <rect fill="none" height="14.318" rx="10" ry="10" width="11.538" x="676.923" y="239.707" />
-                               <rect fill="none" height="45.976" rx="10" ry="10" width="11.538" x="676.923" y="254.024" />
-                       </g>
-                       <text x="674.692" y="315.000">22
-                       </text>
-               </g>
-               <g id="chrX">
-                       <rect fill="" height="1" stroke="" width="11" x="713" y="140" />
-                       <rect fill="" height="1" stroke="" width="11" x="713" y="297" />
-                       <clipPath id="chrX_clipPath">
-                               <rect height="72.194" rx="10" ry="10" width="11.538" x="707.692" y="112.036" />
-                               <rect height="115.770" rx="10" ry="10" width="11.538" x="707.692" y="184.230" />
-                       </clipPath>
-                       <g clip-path="url(#chrX_clipPath)">
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="707.692" y="112.036" />
-                               <rect fill="grey" height="2.063" stroke-width="0" width="11.538" x="707.692" y="117.253" />
-                               <rect fill="white" height="4.247" stroke-width="0" width="11.538" x="707.692" y="119.316" />
-                               <rect fill="grey" height="9.221" stroke-width="0" width="11.538" x="707.692" y="123.562" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="707.692" y="132.784" />
-                               <rect fill="grey" height="3.155" stroke-width="0" width="11.538" x="707.692" y="135.332" />
-                               <rect fill="white" height="3.761" stroke-width="0" width="11.538" x="707.692" y="138.487" />
-                               <rect fill="black" height="5.460" stroke-width="0" width="11.538" x="707.692" y="142.248" />
-                               <rect fill="white" height="2.548" stroke-width="0" width="11.538" x="707.692" y="147.708" />
-                               <rect fill="black" height="7.280" stroke-width="0" width="11.538" x="707.692" y="150.256" />
-                               <rect fill="white" height="5.824" stroke-width="0" width="11.538" x="707.692" y="157.536" />
-                               <rect fill="rgb(169,169,169)" height="6.067" stroke-width="0" width="11.538" x="707.692" y="163.360" />
-                               <rect fill="white" height="2.912" stroke-width="0" width="11.538" x="707.692" y="169.427" />
-                               <rect fill="LightGrey" height="6.067" stroke-width="0" width="11.538" x="707.692" y="172.339" />
-                               <rect fill="white" height="2.305" stroke-width="0" width="11.538" x="707.692" y="178.406" />
-                               <rect fill="DarkGrey" height="3.519" stroke-width="0" width="11.538" x="707.692" y="180.711" />
-                               <rect fill="DarkGrey" height="6.673" stroke-width="0" width="11.538" x="707.692" y="184.230" />
-                               <rect fill="white" height="0.121" stroke-width="0" width="11.538" x="707.692" y="190.903" />
-                               <rect fill="grey" height="3.155" stroke-width="0" width="11.538" x="707.692" y="191.025" />
-                               <rect fill="white" height="5.460" stroke-width="0" width="11.538" x="707.692" y="194.179" />
-                               <rect fill="grey" height="1.941" stroke-width="0" width="11.538" x="707.692" y="199.639" />
-                               <rect fill="white" height="2.669" stroke-width="0" width="11.538" x="707.692" y="201.581" />
-                               <rect fill="black" height="10.313" stroke-width="0" width="11.538" x="707.692" y="204.250" />
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="707.692" y="214.564" />
-                               <rect fill="black" height="6.916" stroke-width="0" width="11.538" x="707.692" y="216.626" />
-                               <rect fill="white" height="1.941" stroke-width="0" width="11.538" x="707.692" y="223.542" />
-                               <rect fill="rgb(169,169,169)" height="5.703" stroke-width="0" width="11.538" x="707.692" y="225.484" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="707.692" y="231.186" />
-                               <rect fill="grey" height="1.335" stroke-width="0" width="11.538" x="707.692" y="236.404" />
-                               <rect fill="white" height="8.372" stroke-width="0" width="11.538" x="707.692" y="237.739" />
-                               <rect fill="rgb(169,169,169)" height="7.644" stroke-width="0" width="11.538" x="707.692" y="246.111" />
-                               <rect fill="white" height="4.732" stroke-width="0" width="11.538" x="707.692" y="253.755" />
-                               <rect fill="black" height="11.041" stroke-width="0" width="11.538" x="707.692" y="258.487" />
-                               <rect fill="white" height="0.607" stroke-width="0" width="11.538" x="707.692" y="269.528" />
-                               <rect fill="LightGrey" height="3.883" stroke-width="0" width="11.538" x="707.692" y="270.135" />
-                               <rect fill="white" height="5.217" stroke-width="0" width="11.538" x="707.692" y="274.018" />
-                               <rect fill="rgb(169,169,169)" height="2.791" stroke-width="0" width="11.538" x="707.692" y="279.235" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="707.692" y="282.026" />
-                               <rect fill="black" height="6.067" stroke-width="0" width="11.538" x="707.692" y="284.210" />
-                               <rect fill="white" height="9.723" stroke-width="0" width="11.538" x="707.692" y="290.277" />
-                               <rect fill="none" height="72.194" rx="10" ry="10" width="11.538" x="707.692" y="112.036" />
-                               <rect fill="none" height="115.770" rx="10" ry="10" width="11.538" x="707.692" y="184.230" />
-                       </g>
-                       <text x="709.462" y="315.000">X
-                       </text>
-               </g>
-               <g id="chrY">
-                       <clipPath id="chrY_clipPath">
-                               <rect height="13.711" rx="10" ry="10" width="11.538" x="738.462" y="229.901" />
-                               <rect height="56.388" rx="10" ry="10" width="11.538" x="738.462" y="243.612" />
-                       </clipPath>
-                       <g clip-path="url(#chrY_clipPath)">
-                               <rect fill="white" height="2.063" stroke-width="0" width="11.538" x="738.462" y="229.901" />
-                               <rect fill="grey" height="1.941" stroke-width="0" width="11.538" x="738.462" y="231.964" />
-                               <rect fill="white" height="9.585" stroke-width="0" width="11.538" x="738.462" y="233.905" />
-                               <rect fill="DarkGrey" height="0.121" stroke-width="0" width="11.538" x="738.462" y="243.491" />
-                               <rect fill="DarkGrey" height="1.456" stroke-width="0" width="11.538" x="738.462" y="243.612" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="738.462" y="245.068" />
-                               <rect fill="grey" height="5.703" stroke-width="0" width="11.538" x="738.462" y="247.252" />
-                               <rect fill="white" height="2.791" stroke-width="0" width="11.538" x="738.462" y="252.955" />
-                               <rect fill="grey" height="4.975" stroke-width="0" width="11.538" x="738.462" y="255.746" />
-                               <rect fill="white" height="2.184" stroke-width="0" width="11.538" x="738.462" y="260.720" />
-                               <rect fill="LightGrey" height="37.096" stroke-width="0" width="11.538" x="738.462" y="262.904" />
-                               <rect fill="none" height="13.711" rx="10" ry="10" width="11.538" x="738.462" y="229.901" />
-                               <rect fill="none" height="56.388" rx="10" ry="10" width="11.538" x="738.462" y="243.612" />
-                       </g>
-                       <text x="740.231" y="315.000">Y
-                       </text>
-               </g>
-       </g><!-- 
-       Generated using the Perl SVG Module V2.33
-       by Ronan Oger
-       Info: http://www.roasp.com/
- -->
-</svg>
\ No newline at end of file
diff --git a/bp_doc/lendist.pdf b/bp_doc/lendist.pdf
deleted file mode 100644 (file)
index fe82147..0000000
Binary files a/bp_doc/lendist.pdf and /dev/null differ
diff --git a/bp_doc/lendist.png b/bp_doc/lendist.png
deleted file mode 100644 (file)
index d1752cc..0000000
Binary files a/bp_doc/lendist.png and /dev/null differ
diff --git a/bp_doc/lendist.ps b/bp_doc/lendist.ps
deleted file mode 100644 (file)
index 97c878f..0000000
+++ /dev/null
@@ -1,817 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: gnuplot 4.2 patchlevel 0
-%%CreationDate: Mon Sep  3 10:28:29 2007
-%%DocumentFonts: (atend)
-%%BoundingBox: 50 50 554 770
-%%Orientation: Landscape
-%%Pages: (atend)
-%%EndComments
-%%BeginProlog
-/gnudict 256 dict def
-gnudict begin
-%
-% The following 6 true/false flags may be edited by hand if required
-% The unit line width may also be changed
-%
-/Color false def
-/Blacktext false def
-/Solid false def
-/Dashlength 1 def
-/Landscape true def
-/Level1 false def
-/Rounded false def
-/TransparentPatterns false def
-/gnulinewidth 5.000 def
-/userlinewidth gnulinewidth def
-%
-/vshift -33 def
-/dl1 {
-  10.0 Dashlength mul mul
-  Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
-} def
-/dl2 {
-  10.0 Dashlength mul mul
-  Rounded { currentlinewidth 0.75 mul add } if
-} def
-/hpt_ 31.5 def
-/vpt_ 31.5 def
-/hpt hpt_ def
-/vpt vpt_ def
-Level1 {} {
-/SDict 10 dict def
-systemdict /pdfmark known not {
-  userdict /pdfmark systemdict /cleartomark get put
-} if
-SDict begin [
-  /Title ()
-  /Subject (gnuplot plot)
-  /Creator (gnuplot 4.2 patchlevel 0)
-  /Author (Martin Hansen)
-%  /Producer (gnuplot)
-%  /Keywords ()
-  /CreationDate (Mon Sep  3 10:28:29 2007)
-  /DOCINFO pdfmark
-end
-} ifelse
-%
-% Gnuplot Prolog Version 4.2 (August 2006)
-%
-/M {moveto} bind def
-/L {lineto} bind def
-/R {rmoveto} bind def
-/V {rlineto} bind def
-/N {newpath moveto} bind def
-/Z {closepath} bind def
-/C {setrgbcolor} bind def
-/f {rlineto fill} bind def
-/vpt2 vpt 2 mul def
-/hpt2 hpt 2 mul def
-/Lshow {currentpoint stroke M 0 vshift R 
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 
-       Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
-/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
-  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
-/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
- {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
-/BL {stroke userlinewidth 2 mul setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-/AL {stroke userlinewidth 2 div setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-/UL {dup gnulinewidth mul /userlinewidth exch def
-       dup 1 lt {pop 1} if 10 mul /udl exch def} def
-/PL {stroke userlinewidth setlinewidth
-       Rounded {1 setlinejoin 1 setlinecap} if} def
-% Default Line colors
-/LCw {1 1 1} def
-/LCb {0 0 0} def
-/LCa {0 0 0} def
-/LC0 {1 0 0} def
-/LC1 {0 1 0} def
-/LC2 {0 0 1} def
-/LC3 {1 0 1} def
-/LC4 {0 1 1} def
-/LC5 {1 1 0} def
-/LC6 {0 0 0} def
-/LC7 {1 0.3 0} def
-/LC8 {0.5 0.5 0.5} def
-% Default Line Types
-/LTw {PL [] 1 setgray} def
-/LTb {BL [] LCb DL} def
-/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
-/LT0 {PL [] LC0 DL} def
-/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
-/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
-/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
-/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
-/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
-/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
-/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
-/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
-/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
-/Dia {stroke [] 0 setdash 2 copy vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke
-  Pnt} def
-/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
-  currentpoint stroke M
-  hpt neg vpt neg R hpt2 0 V stroke
- } def
-/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke
-  Pnt} def
-/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
-  hpt2 vpt2 neg V currentpoint stroke M
-  hpt2 neg 0 R hpt2 vpt2 V stroke} def
-/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke
-  Pnt} def
-/Star {2 copy Pls Crs} def
-/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath fill} def
-/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath fill} def
-/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke
-  Pnt} def
-/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath fill} def
-/DiaF {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath fill} def
-/Pent {stroke [] 0 setdash 2 copy gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore Pnt} def
-/PentF {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath fill grestore} def
-/Circle {stroke [] 0 setdash 2 copy
-  hpt 0 360 arc stroke Pnt} def
-/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
-/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
-/C1 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C2 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C3 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C4 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 180 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C5 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc
-       2 copy moveto
-       2 copy vpt 180 270 arc closepath fill
-       vpt 0 360 arc} bind def
-/C6 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C7 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 270 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C8 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 270 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C9 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 270 450 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
-       2 copy moveto
-       2 copy vpt 90 180 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C11 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 180 arc closepath fill
-       2 copy moveto
-       2 copy vpt 270 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C12 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 180 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C13 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 0 90 arc closepath fill
-       2 copy moveto
-       2 copy vpt 180 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/C14 {BL [] 0 setdash 2 copy moveto
-       2 copy vpt 90 360 arc closepath fill
-       vpt 0 360 arc} bind def
-/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
-       vpt 0 360 arc closepath} bind def
-/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
-       neg 0 rlineto closepath} bind def
-/Square {dup Rec} bind def
-/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
-/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
-/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
-/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
-/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
-/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
-/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
-       exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
-/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
-/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
-       2 copy vpt Square fill Bsquare} bind def
-/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
-/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
-/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
-       Bsquare} bind def
-/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
-       Bsquare} bind def
-/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
-/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy vpt Square fill Bsquare} bind def
-/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
-       2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
-/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
-/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
-/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
-/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
-/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
-/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
-/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
-/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
-/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
-/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
-/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
-/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
-/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
-/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
-/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
-/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
-/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
-/DiaE {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V closepath stroke} def
-/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V closepath stroke} def
-/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V closepath stroke} def
-/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V closepath stroke} def
-/PentE {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  closepath stroke grestore} def
-/CircE {stroke [] 0 setdash 
-  hpt 0 360 arc stroke} def
-/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
-/DiaW {stroke [] 0 setdash vpt add M
-  hpt neg vpt neg V hpt vpt neg V
-  hpt vpt V hpt neg vpt V Opaque stroke} def
-/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
-  0 vpt2 neg V hpt2 0 V 0 vpt2 V
-  hpt2 neg 0 V Opaque stroke} def
-/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
-  hpt neg vpt -1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt 1.62 mul V Opaque stroke} def
-/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
-  hpt neg vpt 1.62 mul V
-  hpt 2 mul 0 V
-  hpt neg vpt -1.62 mul V Opaque stroke} def
-/PentW {stroke [] 0 setdash gsave
-  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
-  Opaque stroke grestore} def
-/CircW {stroke [] 0 setdash 
-  hpt 0 360 arc Opaque stroke} def
-/BoxFill {gsave Rec 1 setgray fill grestore} def
-/Density {
-  /Fillden exch def
-  currentrgbcolor
-  /ColB exch def /ColG exch def /ColR exch def
-  /ColR ColR Fillden mul Fillden sub 1 add def
-  /ColG ColG Fillden mul Fillden sub 1 add def
-  /ColB ColB Fillden mul Fillden sub 1 add def
-  ColR ColG ColB setrgbcolor} def
-/BoxColFill {gsave Rec PolyFill} def
-/PolyFill {gsave Density fill grestore grestore} def
-/h {rlineto rlineto rlineto gsave fill grestore} bind def
-%
-% PostScript Level 1 Pattern Fill routine for rectangles
-% Usage: x y w h s a XX PatternFill
-%      x,y = lower left corner of box to be filled
-%      w,h = width and height of box
-%        a = angle in degrees between lines and x-axis
-%       XX = 0/1 for no/yes cross-hatch
-%
-/PatternFill {gsave /PFa [ 9 2 roll ] def
-  PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
-  PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
-  gsave 1 setgray fill grestore clip
-  currentlinewidth 0.5 mul setlinewidth
-  /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
-  0 0 M PFa 5 get rotate PFs -2 div dup translate
-  0 1 PFs PFa 4 get div 1 add floor cvi
-       {PFa 4 get mul 0 M 0 PFs V} for
-  0 PFa 6 get ne {
-       0 1 PFs PFa 4 get div 1 add floor cvi
-       {PFa 4 get mul 0 2 1 roll M PFs 0 V} for
- } if
-  stroke grestore} def
-%
-/languagelevel where
- {pop languagelevel} {1} ifelse
- 2 lt
-       {/InterpretLevel1 true def}
-       {/InterpretLevel1 Level1 def}
- ifelse
-%
-% PostScript level 2 pattern fill definitions
-%
-/Level2PatternFill {
-/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
-       bind def
-/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 
->> matrix makepattern
-/Pat1 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
-       0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
->> matrix makepattern
-/Pat2 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
-       8 8 L 8 0 L 0 0 L fill}
->> matrix makepattern
-/Pat3 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
-       0 12 M 12 0 L stroke}
->> matrix makepattern
-/Pat4 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
-       0 -4 M 12 8 L stroke}
->> matrix makepattern
-/Pat5 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
-       0 12 M 8 -4 L 4 12 M 10 0 L stroke}
->> matrix makepattern
-/Pat6 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
-       0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
->> matrix makepattern
-/Pat7 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
-       12 0 M -4 8 L 12 4 M 0 10 L stroke}
->> matrix makepattern
-/Pat8 exch def
-<< Tile8x8
- /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
-       -4 0 M 12 8 L -4 4 M 8 10 L stroke}
->> matrix makepattern
-/Pat9 exch def
-/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
-/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
-/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
-/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
-/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
-/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
-/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
-} def
-%
-%
-%End of PostScript Level 2 code
-%
-/PatternBgnd {
-  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
-} def
-%
-% Substitute for Level 2 pattern fill codes with
-% grayscale if Level 2 support is not selected.
-%
-/Level1PatternFill {
-/Pattern1 {0.250 Density} bind def
-/Pattern2 {0.500 Density} bind def
-/Pattern3 {0.750 Density} bind def
-/Pattern4 {0.125 Density} bind def
-/Pattern5 {0.375 Density} bind def
-/Pattern6 {0.625 Density} bind def
-/Pattern7 {0.875 Density} bind def
-} def
-%
-% Now test for support of Level 2 code
-%
-Level1 {Level1PatternFill} {Level2PatternFill} ifelse
-%
-/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
-dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
-currentdict end definefont pop
-end
-%%EndProlog
-%%Page: 1 1
-gnudict begin
-gsave
-50 50 translate
-0.100 0.100 scale
-90 rotate
-0 -5040 translate
-0 setgray
-newpath
-(Helvetica) findfont 100 scalefont setfont
-1.000 UL
-LTb
-410 263 M
-63 0 V
-6557 0 R
--63 0 V
-350 263 M
-( 0) Rshow
-1.000 UL
-LTb
-410 903 M
-63 0 V
-6557 0 R
--63 0 V
-350 903 M
-( 20) Rshow
-1.000 UL
-LTb
-410 1542 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 40) Rshow
-1.000 UL
-LTb
-410 2182 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 60) Rshow
-1.000 UL
-LTb
-410 2821 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 80) Rshow
-1.000 UL
-LTb
-410 3461 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 100) Rshow
-1.000 UL
-LTb
-410 4100 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 120) Rshow
-1.000 UL
-LTb
-410 4740 M
-63 0 V
-6557 0 R
--63 0 V
--6617 0 R
-( 140) Rshow
-1.000 UL
-LTb
-571 263 M
-0 -63 V
-0 -100 R
-( 0) Cshow
-1.000 UL
-LTb
-1379 263 M
-0 -63 V
-0 -100 R
-( 5) Cshow
-1.000 UL
-LTb
-2186 263 M
-0 -63 V
-0 -100 R
-( 10) Cshow
-1.000 UL
-LTb
-2993 263 M
-0 -63 V
-0 -100 R
-( 15) Cshow
-1.000 UL
-LTb
-3801 263 M
-0 -63 V
-0 -100 R
-( 20) Cshow
-1.000 UL
-LTb
-4608 263 M
-0 -63 V
-0 -100 R
-( 25) Cshow
-1.000 UL
-LTb
-5415 263 M
-0 -63 V
-0 -100 R
-( 30) Cshow
-1.000 UL
-LTb
-6223 263 M
-0 -63 V
-0 -100 R
-( 35) Cshow
-1.000 UL
-LTb
-7030 263 M
-0 -63 V
-0 -100 R
-( 40) Cshow
-1.000 UL
-LTb
-1.000 UL
-LTb
-410 4740 N
-410 263 L
-6620 0 V
-0 4477 V
--6620 0 V
-Z stroke
-3720 4890 M
-(Length Distribution) Cshow
-1.000 UP
-1.000 UL
-LTb
-1.000 UL
-LT0
-/Helvetica findfont 100 scalefont setfont
-1.000 531 263 82 1 BoxColFill
-531 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 693 263 81 1 BoxColFill
-693 263 N
-80 0 V
--80 0 V
-Z stroke
-1.000 854 263 82 1 BoxColFill
-854 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 1015 263 82 1 BoxColFill
-1015 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 1177 263 82 1 BoxColFill
-1177 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 1338 263 82 1 BoxColFill
-1338 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 1500 263 82 1 BoxColFill
-1500 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 1661 263 82 1 BoxColFill
-1661 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 1823 263 82 1 BoxColFill
-1823 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 1984 263 82 1 BoxColFill
-1984 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 2146 263 81 1 BoxColFill
-2146 263 N
-80 0 V
--80 0 V
-Z stroke
-1.000 2307 263 82 1 BoxColFill
-2307 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 2469 263 81 1 BoxColFill
-2469 263 N
-80 0 V
--80 0 V
-Z stroke
-1.000 2630 263 82 1 BoxColFill
-2630 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 2792 263 81 1 BoxColFill
-2792 263 N
-80 0 V
--80 0 V
-Z stroke
-1.000 2953 263 82 1 BoxColFill
-2953 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 3115 263 81 1 BoxColFill
-3115 263 N
-80 0 V
--80 0 V
-Z stroke
-1.000 3276 263 82 1 BoxColFill
-3276 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 3437 263 82 97 BoxColFill
-3437 263 N
-0 96 V
-81 0 V
-0 -96 V
--81 0 V
-Z stroke
-1.000 3599 263 82 1 BoxColFill
-3599 263 N
-81 0 V
--81 0 V
-Z stroke
-1.000 3760 263 82 129 BoxColFill
-3760 263 N
-0 128 V
-81 0 V
-0 -128 V
--81 0 V
-Z stroke
-1.000 3922 263 82 225 BoxColFill
-3922 263 N
-0 224 V
-81 0 V
-0 -224 V
--81 0 V
-Z stroke
-1.000 4083 263 82 257 BoxColFill
-4083 263 N
-0 256 V
-81 0 V
-0 -256 V
--81 0 V
-Z stroke
-1.000 4245 263 81 417 BoxColFill
-4245 263 N
-0 416 V
-80 0 V
-0 -416 V
--80 0 V
-Z stroke
-1.000 4406 263 82 385 BoxColFill
-4406 263 N
-0 384 V
-81 0 V
-0 -384 V
--81 0 V
-Z stroke
-1.000 4568 263 81 1120 BoxColFill
-4568 263 N
-0 1119 V
-80 0 V
-0 -1119 V
--80 0 V
-Z stroke
-1.000 4729 263 82 1408 BoxColFill
-4729 263 N
-0 1407 V
-81 0 V
-0 -1407 V
--81 0 V
-Z stroke
-1.000 4891 263 81 2527 BoxColFill
-4891 263 N
-0 2526 V
-80 0 V
-0 -2526 V
--80 0 V
-Z stroke
-1.000 5052 263 82 2943 BoxColFill
-5052 263 N
-0 2942 V
-81 0 V
-0 -2942 V
--81 0 V
-Z stroke
-1.000 5214 263 81 4094 BoxColFill
-5214 263 N
-0 4093 V
-80 0 V
-0 -4093 V
--80 0 V
-Z stroke
-1.000 5375 263 82 4062 BoxColFill
-5375 263 N
-0 4061 V
-81 0 V
-0 -4061 V
--81 0 V
-Z stroke
-1.000 5536 263 82 1824 BoxColFill
-5536 263 N
-0 1823 V
-81 0 V
-0 -1823 V
--81 0 V
-Z stroke
-1.000 5698 263 82 353 BoxColFill
-5698 263 N
-0 352 V
-81 0 V
-0 -352 V
--81 0 V
-Z stroke
-1.000 5859 263 82 129 BoxColFill
-5859 263 N
-0 128 V
-81 0 V
-0 -128 V
--81 0 V
-Z stroke
-1.000 6021 263 82 33 BoxColFill
-6021 263 N
-0 32 V
-81 0 V
-0 -32 V
--81 0 V
-Z stroke
-1.000 6182 263 82 33 BoxColFill
-6182 263 N
-0 32 V
-81 0 V
-0 -32 V
--81 0 V
-Z stroke
-1.000 6344 263 82 33 BoxColFill
-6344 263 N
-0 32 V
-81 0 V
-0 -32 V
--81 0 V
-Z stroke
-1.000 6505 263 82 65 BoxColFill
-6505 263 N
-0 64 V
-81 0 V
-0 -64 V
--81 0 V
-Z stroke
-1.000 UL
-LTb
-410 4740 N
-410 263 L
-6620 0 V
-0 4477 V
--6620 0 V
-Z stroke
-1.000 UP
-1.000 UL
-LTb
-stroke
-grestore
-end
-showpage
-%%Trailer
-%%DocumentFonts: Helvetica
-%%Pages: 1
diff --git a/bp_doc/lendist_ascii.png b/bp_doc/lendist_ascii.png
deleted file mode 100644 (file)
index d74f589..0000000
Binary files a/bp_doc/lendist_ascii.png and /dev/null differ
diff --git a/bp_doc/logo.svg b/bp_doc/logo.svg
deleted file mode 100644 (file)
index 1759293..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg height="100%" style="font-weight: normal; font-family: Courier New; font-size: 10" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-       <g transform="translate(0,30)">
-               <text style="fill: #000000; font-weight: bold" transform="scale(1,0.0114731156622045)" x="0" y="0">N
-               </text>
-       </g>
-       <g transform="translate(0,29.9196881903646)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0344193469866135)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(0,29.6787527614583)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0917849252976359)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(0,29.0362582843748)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.120467714453147)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(0,28.1929842832028)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.309774122879521)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(7,30)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0373099847194091)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(7,29.7388301069641)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0422846493486637)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(7,29.4428375615235)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0671579724949364)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(7,28.9727317540589)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.099493292585091)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(14,30)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0425960928203338)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(14,29.7018273502577)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.120688929657612)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(14,28.8570048426544)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.177483720084724)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(14,27.6146188020613)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.369166137776226)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(21,30)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0356885975228204)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(21,29.7501798173403)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.196287286375512)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(21,28.3761688127117)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.231975883898333)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(21,26.7523376254233)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.32047810834436)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(28,30)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0202276662029062)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(28,29.8584063365797)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.202276662029062)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(28,28.4424697023762)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.242731994434875)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(28,26.7433457413321)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.55753029762378)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(35,30)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0434014842969806)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(35,29.6961896099211)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.607620780157729)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(35,25.442844148817)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.51905195039432)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(42,30)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0381012700102883)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(42,29.733291109928)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0762025400205767)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(42,29.1998733297839)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,3.69582319099797)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(49,30)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0325336485601305)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(49,29.7722644600791)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.260269188481044)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(49,27.9503801407118)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,2.96056201897187)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(56,30)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0808766946944788)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(63,30)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.020365052341986)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(63,29.8574446336061)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.834967146021427)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(63,24.0126746114561)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.18117303583519)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(70,30)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0659739694574225)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(70,29.538182213798)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.131947938914845)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(70,28.6145466413941)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.219913231524742)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(70,27.0751540207209)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.78129717535041)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(77,30)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0352511895677424)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(77,29.7532416730258)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0352511895677424)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(77,29.5064833460516)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.105753568703227)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(77,28.766208365129)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,3.34886300893552)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(84,30)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0505809647437153)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(84,29.645933246794)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.126452411859288)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(84,28.760766363779)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.202323858974861)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(84,27.3444993509549)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,2.1496910016079)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(91,30)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0264045526931584)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(91,29.8151681311479)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0792136580794752)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(91,29.2606725245916)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.290450079624743)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(91,27.2275219672184)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,2.24438697891846)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(98,30)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0329477465261945)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(98,29.7693657743166)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0658954930523891)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(98,29.3080973229499)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.131790986104778)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(98,28.3855604202165)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,3.06414042693609)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(105,30)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.185808306209435)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(105,28.699341856534)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.278712459314152)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(105,26.7483546413349)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.85808306209435)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(112,30)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0610147492445561)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(112,29.5728967552881)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0813529989927415)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(112,29.0034257623389)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.325411995970966)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(112,26.7255417905422)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.56604523061027)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(119,30)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0722133203867144)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(119,29.494506757293)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.173311968928114)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(119,28.2813229747962)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.187754633005457)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(119,26.967040543758)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.010986485414)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(126,30)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.018790868167855)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(126,29.868463922825)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.018790868167855)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(126,29.73692784565)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0276918057210494)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(126,29.5430852056027)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0336257640898458)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(133,30)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0494297814297627)" x="0" y="0">U
-               </text>
-       </g>
-       <g transform="translate(133,29.6539915299917)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.108745519145478)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(133,28.8927728959733)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.266920819720719)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(133,27.0243271579283)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.563499508299295)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(140,30)">
-               <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0312560144689586)" x="0" y="0">C
-               </text>
-       </g>
-       <g transform="translate(140,29.7812078987173)">
-               <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.281304130220627)" x="0" y="0">A
-               </text>
-       </g>
-       <g transform="translate(140,27.8120789871729)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,2.75052927326835)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(147,30)">
-               <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0414334593879054)" x="0" y="0">G
-               </text>
-       </g>
-       <g transform="translate(154,30)">
-               <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0414334593879054)" x="0" y="0">U
-               </text>
-       </g>
-       <g style="stroke: black; font-size: 8px" transform="translate(-10)">
-               <line x1="0" x2="0" y1="0" y2="30" />
-               <line x1="-5" x2="0" y1="0" y2="0" />
-               <text style="stroke: none" x="-13" y="2">2
-               </text>
-               <line x1="-5" x2="0" y1="15" y2="15" />
-               <text style="stroke: none" x="-13" y="17">1
-               </text>
-               <line x1="-5" x2="0" y1="30" y2="30" />
-               <text style="stroke: none" x="-13" y="32">0
-               </text>
-       </g>
-       <text style="stroke: none" transform="rotate(-90)" x="-26" y="-30">bits
-       </text><!-- 
-       Generated using the Perl SVG Module V2.33
-       by Ronan Oger
-       Info: http://www.roasp.com/
- -->
-</svg>
\ No newline at end of file
diff --git a/bp_doc/seqlogo.png b/bp_doc/seqlogo.png
deleted file mode 100644 (file)
index 3d0f952..0000000
Binary files a/bp_doc/seqlogo.png and /dev/null differ
diff --git a/bp_doc/seqlogo.svg b/bp_doc/seqlogo.svg
deleted file mode 100644 (file)
index 9f2d94a..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg height="100%" style="font-weight: normal; font-family: Courier New; font-size: 10" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-        <g transform="translate(0,30)">
-                <text style="fill: #000000; font-weight: bold" transform="scale(1,0.0114731156622045)" x="0" y="0">N
-                </text>
-        </g>
-        <g transform="translate(0,29.9196881903646)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0344193469866135)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(0,29.6787527614583)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0917849252976359)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(0,29.0362582843748)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.120467714453147)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(0,28.1929842832028)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.309774122879521)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(7,30)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0373099847194091)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(7,29.7388301069641)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0422846493486637)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(7,29.4428375615235)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0671579724949364)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(7,28.9727317540589)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.099493292585091)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(14,30)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0425960928203338)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(14,29.7018273502577)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.120688929657612)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(14,28.8570048426544)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.177483720084724)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(14,27.6146188020613)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.369166137776226)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(21,30)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0356885975228204)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(21,29.7501798173403)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.196287286375512)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(21,28.3761688127117)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.231975883898333)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(21,26.7523376254233)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.32047810834436)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(28,30)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0202276662029062)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(28,29.8584063365797)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.202276662029062)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(28,28.4424697023762)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.242731994434875)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(28,26.7433457413321)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.55753029762378)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(35,30)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0434014842969806)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(35,29.6961896099211)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.607620780157729)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(35,25.442844148817)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.51905195039432)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(42,30)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0381012700102883)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(42,29.733291109928)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0762025400205767)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(42,29.1998733297839)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,3.69582319099797)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(49,30)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0325336485601305)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(49,29.7722644600791)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.260269188481044)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(49,27.9503801407118)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,2.96056201897187)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(56,30)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0808766946944788)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(63,30)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.020365052341986)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(63,29.8574446336061)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.834967146021427)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(63,24.0126746114561)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.18117303583519)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(70,30)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0659739694574225)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(70,29.538182213798)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.131947938914845)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(70,28.6145466413941)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.219913231524742)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(70,27.0751540207209)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.78129717535041)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(77,30)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0352511895677424)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(77,29.7532416730258)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0352511895677424)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(77,29.5064833460516)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.105753568703227)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(77,28.766208365129)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,3.34886300893552)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(84,30)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.0505809647437153)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(84,29.645933246794)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.126452411859288)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(84,28.760766363779)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.202323858974861)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(84,27.3444993509549)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,2.1496910016079)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(91,30)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0264045526931584)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(91,29.8151681311479)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0792136580794752)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(91,29.2606725245916)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.290450079624743)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(91,27.2275219672184)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,2.24438697891846)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(98,30)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0329477465261945)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(98,29.7693657743166)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0658954930523891)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(98,29.3080973229499)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.131790986104778)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(98,28.3855604202165)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,3.06414042693609)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(105,30)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.185808306209435)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(105,28.699341856534)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.278712459314152)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(105,26.7483546413349)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,1.85808306209435)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(112,30)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0610147492445561)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(112,29.5728967552881)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0813529989927415)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(112,29.0034257623389)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.325411995970966)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(112,26.7255417905422)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.56604523061027)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(119,30)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0722133203867144)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(119,29.494506757293)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.173311968928114)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(119,28.2813229747962)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.187754633005457)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(119,26.967040543758)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,1.010986485414)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(126,30)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.018790868167855)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(126,29.868463922825)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.018790868167855)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(126,29.73692784565)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0276918057210494)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(126,29.5430852056027)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0336257640898458)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(133,30)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0494297814297627)" x="0" y="0">U
-                </text>
-        </g>
-        <g transform="translate(133,29.6539915299917)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.108745519145478)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(133,28.8927728959733)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.266920819720719)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(133,27.0243271579283)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.563499508299295)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(140,30)">
-                <text style="fill: #0000ff; font-weight: bold" transform="scale(1,0.0312560144689586)" x="0" y="0">C
-                </text>
-        </g>
-        <g transform="translate(140,29.7812078987173)">
-                <text style="fill: #cc0000; font-weight: bold" transform="scale(1,0.281304130220627)" x="0" y="0">A
-                </text>
-        </g>
-        <g transform="translate(140,27.8120789871729)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,2.75052927326835)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(147,30)">
-                <text style="fill: #ffc800; font-weight: bold" transform="scale(1,0.0414334593879054)" x="0" y="0">G
-                </text>
-        </g>
-        <g transform="translate(154,30)">
-                <text style="fill: #00ff00; font-weight: bold" transform="scale(1,0.0414334593879054)" x="0" y="0">U
-                </text>
-        </g>
-        <g style="stroke: black; font-size: 8px" transform="translate(-10)">
-                <line x1="0" x2="0" y1="0" y2="30" />
-                <line x1="-5" x2="0" y1="0" y2="0" />
-                <text style="stroke: none" x="-13" y="2">2
-                </text>
-                <line x1="-5" x2="0" y1="15" y2="15" />
-                <text style="stroke: none" x="-13" y="17">1
-                </text>
-                <line x1="-5" x2="0" y1="30" y2="30" />
-                <text style="stroke: none" x="-13" y="32">0
-                </text>
-        </g>
-        <text style="stroke: none" transform="rotate(-90)" x="-26" y="-30">bits
-        </text><!-- 
-        Generated using the Perl SVG Module V2.33
-        by Ronan Oger
-        Info: http://www.roasp.com/
- -->
-</svg>