[med-svn] r9247 - trunk/packages/phylographer/trunk

Andreas Tille tille at alioth.debian.org
Wed Jan 11 10:24:08 UTC 2012


Author: tille
Date: 2012-01-11 10:24:08 +0000 (Wed, 11 Jan 2012)
New Revision: 9247

Added:
   trunk/packages/phylographer/trunk/README.status
Removed:
   trunk/packages/phylographer/trunk/Database/
   trunk/packages/phylographer/trunk/Group/
   trunk/packages/phylographer/trunk/Images/
   trunk/packages/phylographer/trunk/LICENSE
   trunk/packages/phylographer/trunk/Matrix/
   trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Linux.tcl
   trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Windows.tcl
   trunk/packages/phylographer/trunk/QUICK_START.txt
   trunk/packages/phylographer/trunk/README.status
   trunk/packages/phylographer/trunk/README.txt
   trunk/packages/phylographer/trunk/Saved_Work/
   trunk/packages/phylographer/trunk/Scripts/
   trunk/packages/phylographer/trunk/Temp/
   trunk/packages/phylographer/trunk/adjacency_data.txt
   trunk/packages/phylographer/trunk/debian/
   trunk/packages/phylographer/trunk/phylo_P450_coords.txt
   trunk/packages/phylographer/trunk/phylo_PK_LRR_coords.txt
   trunk/packages/phylographer/trunk/phylo_RGenes_coords.txt
   trunk/packages/phylographer/trunk/phylo_coords.txt
   trunk/packages/phylographer/trunk/phylo_coords_r.txt
Log:
Removed trunk and dropped README.status


Deleted: trunk/packages/phylographer/trunk/LICENSE
===================================================================
--- trunk/packages/phylographer/trunk/LICENSE	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/LICENSE	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,340 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.

Deleted: trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Linux.tcl
===================================================================
--- trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Linux.tcl	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Linux.tcl	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,3935 +0,0 @@
-#!/usr/bin/wish
-#
-######################################
-#                                    #
-#  PhyloGrapher by Alexander Kozik   #
-#      version: April 03 2003        #
-#                                    #
-#     Graph Visualisation Tool       #
-#                                    #
-######################################
-
-######################################
-#        LIST OF PROCEDURES          #
-######################################
-
-# About_PhyloGrapher
-# Add_Graphics_to_Canvas
-# Adj_List_Extraction
-# Adjacency_List
-# Build_Adjacency_List
-# Canvas_Editor
-# Change_Node_Color1
-# Change_Node_Color2
-# Change_Node_Color3
-# Change_Node_Color4
-# Change_Node_Color5
-# Change_Node_Color6
-# Create_Graph_A
-# Create_Graph_from_Data
-# Destroy_Alignment
-# Display_Alignment
-# Dots_Coord_Generator 
-# Dots_Coord_Restore
-# Dummy_Color_Movie
-# Edge_Counter
-# Edge_Degree_Counter
-# Edge_Degree_Counter_Movie
-# Events_Binding
-# Fasta_Save_As
-# Fasta_Search_Parser
-# Fruchterman_Rheingold
-# Gene_ID_Window
-# Generate_Graph_From_Matrix
-# Global_XY_Coords
-# HTML_Image_Map_Generator
-# HighLightEdge
-# HighLightEdge_Back
-# HighLight_Adjacent_Nodes
-# HighLight_Adjacent_Nodes_All
-# HighLight_Adjacent_Nodes_All_Loop
-# HowTo_Count_Edges
-# HowTo_Paint_Nodes
-# HowTo_PhyloWebify
-# How_To_Edit_Canvas
-# How_To_Save
-# Html_ScreenShot
-# Move_Graph_Label
-# Move_Text_Label
-# Node_Painter
-# Nodes_Coord_Dialog
-# PhyloGrapher_Canvas
-# Place_Text_on_Canvas
-# Plot_Genes_on_Canvas
-# Print_Edge_Weight
-# Print_Gene_ID
-# Save_Current_Fasta_Graph
-# Scrolled_Canvas
-# Scrolled_Canvas_Alignment
-# Scrolled_Text
-# Scrolled_Text_Fasta
-# Self_Organize
-# Shake_the_Node
-# Show_Alignment
-# Show_Extras
-# Smith_Waterman
-# clearName
-# clearWeight
-# highLightGene
-# highLightGene_Back
-# make_HTML
-# make_Nodes_Coords
-# mkEdge
-# mkNode
-# moveNode
-# moveNode_Slow
-# moveNode_Slow_Edges
-# showDegree
-# showName
-# showWeight
-
-######################################
-#         GLOBAL VARIABLES           #
-######################################
-
-# abc_tag
-# adj_highlight_color
-# adj_highlight_outline
-# adjacency_data_file
-# adjacency_data_file_open
-# already_done_nodes
-# attraction_random_step
-# canvas_background
-# canvas_editor_font_size
-# canvas_editor_font_style
-# canvas_editor_font_type
-# canvas_editor_text
-# color_group1
-# color_group2
-# color_group3
-# color_group4
-# color_group5
-# color_group6
-# color_of_similarity_1
-# color_of_similarity_2
-# color_of_similarity_3
-# color_of_similarity_4
-# color_of_similarity_5
-# color_of_similarity_6
-# curX
-# curY
-# current_adjacent_node
-# custom_node_counter
-# database_dir
-# database_ext
-# dots_coord_file
-# dots_coord_file_restore
-# dummy_adjacency_counter
-# edgeCounter
-# edgeFirst
-# edgeSecond
-# edge_color_label
-# edge_wight_coefficient
-# edges_data_file
-# entropy_factor
-# fake_identity_counter
-# fasta_to_run
-# font_color_canvas
-# font_color_label
-# frucht_gold_limit
-# frucht_gold_precision
-# genes_id_data_file
-# genes_range
-# graphX1
-# graphX2
-# graphY1
-# graphY2
-# graph_data_file
-# graph_fill_color
-# graph_outline_color
-# graph_radius
-# graph_style
-# graph_tag
-# horizontal_size
-# html_image_map
-# level_of_similarity_1
-# level_of_similarity_2
-# level_of_similarity_3
-# level_of_similarity_4
-# level_of_similarity_5
-# level_of_similarity_6
-# matrix_data_file
-# nodeX
-# nodeY
-# node_color_label
-# nodes_group1
-# nodes_group2
-# nodes_group3
-# nodes_group4
-# nodes_group5
-# nodes_group6
-# object_fill_color
-# object_fill_color_connect
-# object_outline
-# object_outline_connect
-# object_shape
-# object_x_size
-# object_y_size
-# random_step_value
-# repulsion_distance
-# selected_canvas
-# sim_curX
-# sim_curY
-# smith_waterman_counter
-# sw_node_A
-# sw_node_B
-# text_tag
-# thickness_of_similarity_1
-# thickness_of_similarity_2
-# thickness_of_similarity_3
-# thickness_of_similarity_4
-# thickness_of_similarity_5
-# thickness_of_similarity_6
-# vertical_size
-
-##########################
-#      GNU LICENSE       #
-##########################
-proc About_PhyloGrapher {} {
-
-    set phylo_logo [image create photo -file ./Images/PhyloGrapherLogo.gif]
-    set phylo_text "PhyloGrapher (Graph Visualization Tool)
-
-Copyright (C) 2001, 2002, 2003 University of California at Davis,
- Alexander Kozik
-    
-This program is free software. You can redistribute it and/or modify it 
-under the terms of the GNU General Public License ( http://www.gnu.org ) 
-as published by the Free Software Foundation; either version 2 of the 
-License, or (at your option) any later version.
-
-In other words, you are free to modify, copy, or redistribute this source 
-code and its documentation in any way you like, but you must distribute 
-all derivative versions as free software under the same terms that we 
-provided our code to you (i.e. the GNU General Public License). This 
-precludes any use of the code in proprietary or commercial software 
-unless your source code is made freely available.
-
-This program is distributed in the hope that it will be useful, 
-but WITHOUT ANY WARRANTY; without even the implied warranty of 
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
-See the GNU General Public License for more details. 
-
-You should have received a copy of the GNU General Public License along 
-with this PhyloGrapher release, in the file LICENSE; if not, write to the 
-Free Software Foundation, Inc., 675 Mass. Ave, Cambridge, MA 02139 USA."
-
-    destroy .phylo_about
-    toplevel .phylo_about 
-    wm transient .phylo_about .
-    wm title .phylo_about "About PhyloGrapher"
-    wm protocol .phylo_about WM_DELETE_WINDOW "destroy .phylo_about"
-
-    label .phylo_about.image -image $phylo_logo
-    label .phylo_about.text -text $phylo_text -justify center
-    button .phylo_about.ok -text "OK" -command "destroy .phylo_about"
-    grid .phylo_about.image -padx 7 -pady 7
-    grid .phylo_about.text -padx 2 -pady 2
-    grid .phylo_about.ok -padx 2 -pady 2
-}
-
-proc HowTo_PhyloWebify {} {
-
-    destroy .fly
-    set t [Scrolled_Text .fly -width 70 -height 40]
-    set in [open "README.txt" r]
-    $t insert end [read $in]
-    close $in
-    wm title .fly "HowTo PhyloWebify"
-    wm protocol .fly WM_DELETE_WINDOW "destroy .fly"
-}
-
-############ Scrolled Canvas ################
-#            ---------------                #
-#         Create Scrolled Canvas            #
-#                                           #
-#############################################
-proc Scrolled_Canvas { phylo args } {
-    toplevel $phylo
-
-    wm title $phylo "PhyloGrapher Canvas"
-    wm protocol $phylo WM_DELETE_WINDOW "destroy $phylo .geneid"
-
-    eval {canvas $phylo.canvas -xscrollcommand [list $phylo.xscroll set] \
-	  -yscrollcommand [list $phylo.yscroll set] \
-	  -highlightthickness 0 -borderwidth 0} $args
-    
-    scrollbar $phylo.xscroll -orient horizontal \
-	      -command [list $phylo.canvas xview]
-    scrollbar $phylo.yscroll -orient vertical \
-              -command [list $phylo.canvas yview]
-
-    grid $phylo.canvas $phylo.yscroll -sticky news
-    grid $phylo.xscroll -sticky ew
-    grid rowconfigure $phylo 0 -weight 1
-    grid columnconfigure $phylo 0 -weight 1
-    return $phylo.canvas
-}
-
-proc Scrolled_Canvas_Alignment { phylo sw_node_A sw_node_A_w sw_node_B sw_node_B_w fly args } {
-
-    global fasta_to_run
-    global smith_waterman_counter
-
-    destroy .fasta_save_as_$smith_waterman_counter
-    toplevel .fasta_save_as_$smith_waterman_counter
-    .fasta_save_as_$smith_waterman_counter config -bg black
-    wm transient .fasta_save_as_$smith_waterman_counter $fly$sw_node_A_w$sw_node_B_w.text
-    wm title .fasta_save_as_$smith_waterman_counter "Alignment of $sw_node_A vs $sw_node_B"
-    wm protocol .fasta_save_as_$smith_waterman_counter WM_DELETE_WINDOW "destroy .fasta_save_as_$smith_waterman_counter"
-
-    eval {canvas $phylo.canvas -xscrollcommand [list $phylo.xscroll set] \
-	  -yscrollcommand [list $phylo.yscroll set] \
-	  -highlightthickness 0 -borderwidth 0} $args
-    
-    scrollbar $phylo.xscroll -orient horizontal \
-	      -command [list $phylo.canvas xview]
-    scrollbar $phylo.yscroll -orient vertical \
-              -command [list $phylo.canvas yview]
-
-    grid $phylo.canvas $phylo.yscroll -sticky news
-    grid $phylo.xscroll -sticky ew
-    grid rowconfigure $phylo 0 -weight 1
-    grid columnconfigure $phylo 0 -weight 1
-    return $phylo.canvas
-}
-
-proc Scrolled_Text_Fasta { fly sw_node_A sw_node_A_w sw_node_B sw_node_B_w args} {
-
-    global smith_waterman_counter
-
-    toplevel $fly$sw_node_A_w$sw_node_B_w
-    eval {text $fly$sw_node_A_w$sw_node_B_w.text -wrap none \
-           -xscrollcommand [list $fly$sw_node_A_w$sw_node_B_w.xscroll set] \
-           -yscrollcommand [list $fly$sw_node_A_w$sw_node_B_w.yscroll set]} $args
-    scrollbar $fly$sw_node_A_w$sw_node_B_w.xscroll -orient horizontal \
-              -command [list $fly$sw_node_A_w$sw_node_B_w.text xview]
-    scrollbar $fly$sw_node_A_w$sw_node_B_w.yscroll -orient vertical \
-              -command [list $fly$sw_node_A_w$sw_node_B_w.text yview]
-    grid $fly$sw_node_A_w$sw_node_B_w.text $fly$sw_node_A_w$sw_node_B_w.yscroll -sticky news
-    grid $fly$sw_node_A_w$sw_node_B_w.xscroll -sticky news
-    grid rowconfigure $fly$sw_node_A_w$sw_node_B_w 0 -weight 1
-    grid columnconfigure $fly$sw_node_A_w$sw_node_B_w 0 -weight 1
-    Fasta_Search_Parser $fly $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w
-    return $fly$sw_node_A_w$sw_node_B_w.text
-}
-
-proc Fasta_Search_Parser {fly sw_node_A sw_node_A_w sw_node_B sw_node_B_w} {
-
-    global smith_waterman_counter
-
-    global database_dir
-    global database_ext
-
-    set fasta_to_parse "./Temp/ssearch_alignment_$smith_waterman_counter.tmp"
-    set fasta_to_parse_open [open $fasta_to_parse "r"]
-
-    set id_A_pattern "$database_dir$sw_node_A\.$database_ext\: "
-    set id_B_pattern "^\>\>$sw_node_B"
-    set aa_pattern   " aa"
-    set smith_waterman_pattern "Smith-Waterman score\: "
-
-    while {[gets $fasta_to_parse_open current_line_fasta] >= 0} {
-
-	if [regexp $id_A_pattern $current_line_fasta] {
-	    set id_A_aa_size $current_line_fasta
-	    regsub $id_A_pattern $id_A_aa_size "" id_A_aa_size
-	    regsub $aa_pattern $id_A_aa_size "" id_A_aa_size
-	    # puts ""
-	    # puts "$sw_node_A\t$id_A_aa_size"
-	}
-	if [regexp $id_B_pattern $current_line_fasta] {
-	    set id_B_aa_size $current_line_fasta
-	    regsub {\s+} $id_B_aa_size "" id_B_aa_size
-	    regsub $id_B_pattern $id_B_aa_size "" id_B_aa_size
-	    regsub {.*\(} $id_B_aa_size "" id_B_aa_size
-	    regsub { aa\)} $id_B_aa_size "" id_B_aa_size
-	    # puts "$sw_node_B\t$id_B_aa_size"
-	}
-	if [regexp $smith_waterman_pattern $current_line_fasta] {
-	    set smith_waterman_score $current_line_fasta
-	    set identity_score $current_line_fasta
-	    set overlap_value $current_line_fasta
-	    set overlap_seq_A_left $current_line_fasta
-	    set overlap_seq_A_right $current_line_fasta
-	    set overlap_seq_B_left $current_line_fasta
-	    set overlap_seq_B_right $current_line_fasta
-	    ####################
-	    regsub {Smith-Waterman score: } $smith_waterman_score "" smith_waterman_score
-	    regsub {;.*\)} $smith_waterman_score "" smith_waterman_score
-	    ####################
-	    regsub {% identity.*\)} $identity_score "" identity_score
-	    regsub {Smith-Waterman score:.*;} $identity_score "" identity_score
-	    regsub -all { } $identity_score "" identity_score
-	    ####################
-	    regsub { aa overlap.*\)} $overlap_value "" overlap_value
-	    regsub {Smith-Waterman score.*\) in } $overlap_value "" overlap_value
-	    regsub -all { } $overlap_value "" overlap_value
-	    ####################
-	    regsub {Smith-Waterman score.*\(} $overlap_seq_A_left "" overlap_seq_A_left
-	    regsub {\-.*} $overlap_seq_A_left "" overlap_seq_A_left
-	    regsub {Smith-Waterman score.*\(} $overlap_seq_A_right "" overlap_seq_A_right
-	    regsub {\:.*} $overlap_seq_A_right "" overlap_seq_A_right
-	    regsub {.*\-} $overlap_seq_A_right "" overlap_seq_A_right
-	    ####################
-	    regsub {Smith-Waterman score.*\:} $overlap_seq_B_left "" overlap_seq_B_left
-	    regsub {\-.*} $overlap_seq_B_left "" overlap_seq_B_left
-	    regsub {Smith-Waterman score.*\:} $overlap_seq_B_right "" overlap_seq_B_right
-	    regsub {.*\-} $overlap_seq_B_right "" overlap_seq_B_right
-	    regsub {\)} $overlap_seq_B_right "" overlap_seq_B_right
-	}
-    }
-    Fasta_Save_As $fly $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w $id_A_aa_size $id_B_aa_size \
-	    $smith_waterman_score $identity_score $overlap_value \
-	    $overlap_seq_A_left $overlap_seq_A_right $overlap_seq_B_left $overlap_seq_B_right
-}
-
-proc Fasta_Save_As {fly sw_node_A sw_node_A_w sw_node_B sw_node_B_w id_A_aa_size id_B_aa_size smith_waterman_score identity_score overlap_value overlap_seq_A_left overlap_seq_A_right overlap_seq_B_left overlap_seq_B_right} {
-
-    global fasta_to_run
-    global smith_waterman_counter
-
-    Scrolled_Canvas_Alignment .fasta_save_as_$smith_waterman_counter $sw_node_A $sw_node_A_w \
-	$sw_node_B $sw_node_B_w $fly -width 550 -height 210 \
-	-scrollregion "0 0 1200 400" -bg black ; # -bg $canvas_background
-
-    # black background on canvas
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect 0 0 1200 400 -fill black -outline black
-
-    # text labels on canvas
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 10 20 -text \
-	    "$sw_node_A\ - $id_A_aa_size aa \($overlap_seq_A_left \- $overlap_seq_A_right\)" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 10 40 -text \
-	    "$sw_node_B\ - $id_B_aa_size aa \($overlap_seq_B_left \- $overlap_seq_B_right\)" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 10 60 -text \
-	    "SW: $smith_waterman_score\; identity: $identity_score\; overlap: $overlap_value" -anchor sw -fill white
-
-    # graphical info
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    340 10 350 60 -fill gray50 -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    340 [expr 60 - ($identity_score/2)] 350 60 -fill gold -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 355 20 \
-	    -text "100%" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 355 43 \
-	    -text "50%" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 355 66 \
-	    -text "0%" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 327 80 \
-	    -text "identity" -anchor sw -fill gold
-
-    ##
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    270 10 280 60 -fill gray50 -outline white
-
-    set smith_waterman_bar [expr $smith_waterman_score/20]
-
-    if {$smith_waterman_bar > 50} {
-	set smith_waterman_bar 50
-    }
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    270 [expr 60 - $smith_waterman_bar] 280 60 -fill violet -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 285 20 \
-	    -text ">1000" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 285 43 \
-	    -text "500" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 285 66 \
-	    -text "100" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 262 80 \
-	    -text "S-W" -anchor sw -fill violet
-
-    ##
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    410 10 420 60 -fill gray50 -outline white
-
-    set overlap_bar [expr $overlap_value/20]
-
-    if {$overlap_bar > 50} {
-	set overlap_bar 50
-    }
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    410 [expr 60 - $overlap_bar] 420 60 -fill lightblue -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 425 20 \
-	    -text ">1000" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 425 43 \
-	    -text "500" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 425 66 \
-	    -text "10" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 397 80 \
-	    -text "overlap" -anchor sw -fill lightblue
-
-    # graphical alignment on canvas
-    set drawing_scale 3
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    10 100 [expr $id_A_aa_size/$drawing_scale + 10] 106 \
-	    -fill blue -outline green
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    [expr $overlap_seq_A_left/$drawing_scale + 10] 100 \
-	    [expr $overlap_seq_A_right/$drawing_scale + 10] 106 \
-	    -fill green -outline yellow
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10] 135 \
-	    [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10]] 141 \
-	    -fill red -outline orange
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    10 170 [expr $id_B_aa_size/$drawing_scale + 10] 176 \
-	    -fill blue -outline green
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    [expr $overlap_seq_B_left/$drawing_scale + 10] 170 \
-	    [expr $overlap_seq_B_right/$drawing_scale + 10] 176 \
-	    -fill green -outline yellow
-
-    # lines connecting alignment
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr $overlap_seq_A_left/$drawing_scale + 10] 106 \
-	    [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10] 135 -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr $overlap_seq_A_right/$drawing_scale + 10] 106 \
-	     [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10]] 135 -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10] \
-	141 [expr $overlap_seq_B_left/$drawing_scale + 10] 170 -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10]] \
-	141 [expr $overlap_seq_B_right/$drawing_scale + 10] 170 -fill white
-
-    # text over alignment
-    .fasta_save_as_$smith_waterman_counter.canvas create text \
-	    [expr $id_A_aa_size/$drawing_scale + 20] 110 -text \
-	    "$sw_node_A" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text \
-	    [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 20]] 145 -text \
-	    "Alignment" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text \
-	    [expr $id_B_aa_size/$drawing_scale + 20] 180 -text \
-	    "$sw_node_B" -anchor sw -fill white
-
-    # puts ""
-    # puts [expr $id_A_aa_size/$drawing_scale]
-    # puts [expr $id_B_aa_size/$drawing_scale]
-
-    grid .fasta_save_as_$smith_waterman_counter.canvas
-
-    # buttons
-    button .fasta_save_as_$smith_waterman_counter.dismiss -text "Dismiss" \
-	-command "Destroy_Alignment $fly $sw_node_A_w $sw_node_B_w $smith_waterman_counter"
-    button .fasta_save_as_$smith_waterman_counter.saveas -text "Save as: $sw_node_A\_vs_$sw_node_B\.$fasta_to_run" \
-	-command \
-	"Save_Current_Fasta_Graph $smith_waterman_counter $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w $fasta_to_run"
-    label .fasta_save_as_$smith_waterman_counter.saveas_label -text \
-	    "$sw_node_A\_vs_$sw_node_B\.$fasta_to_run"
-    # grid .fasta_save_as_$smith_waterman_counter.saveas .fasta_save_as_$smith_waterman_counter.saveas_label \
-	#	-padx 2 -pady 4
-    grid .fasta_save_as_$smith_waterman_counter.saveas -padx 2 -pady 4
-    grid .fasta_save_as_$smith_waterman_counter.dismiss -padx 2 -pady 4
-}
-
-proc Save_Current_Fasta_Graph {smith_waterman_counter sw_node_A sw_node_A_w sw_node_B sw_node_B_w fasta_to_run} {
-
-    file copy -force ./Temp/ssearch_alignment_$smith_waterman_counter.tmp \
-	    ./Saved_Work/$sw_node_A\_vs_$sw_node_B\.$fasta_to_run
-
-    .fasta_save_as_$smith_waterman_counter.canvas postscript -file \
-	    ./Saved_Work/$sw_node_A\_vs_$sw_node_B\.$fasta_to_run.ps
-    bell
-}
-
-proc Destroy_Alignment {fly sw_node_A_w sw_node_B_w smith_waterman_counter} {
-
-    destroy .fasta_save_as_$smith_waterman_counter
-    destroy $fly$sw_node_A_w$sw_node_B_w
-}
-
-proc Scrolled_Text { fly args } {
-
-    toplevel $fly
-    eval {text $fly.text -wrap none \
-           -xscrollcommand [list $fly.xscroll set] \
-           -yscrollcommand [list $fly.yscroll set]} $args
-    scrollbar $fly.xscroll -orient horizontal \
-              -command [list $fly.text xview]
-    scrollbar $fly.yscroll -orient vertical \
-              -command [list $fly.text yview]
-    grid $fly.text $fly.yscroll -sticky news
-    grid $fly.xscroll -sticky news
-    grid rowconfigure $fly 0 -weight 1
-    grid columnconfigure $fly 0 -weight 1
-    button $fly.dismiss -text "Dismiss" -command "destroy $fly"
-    grid $fly.dismiss
-    
-    return $fly.text
-}
-
-proc mkNode {x y current_gene_ID} {
-
-    global abc_tag
-    global sw_node_A 
-    global sw_node_B
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-    global fake_identity_counter
-
-    global object_fill_color
-    global object_outline
-    global object_shape
-    global object_x_size
-    global object_y_size
-
-    global input_type
-    global fake_edge_color
-
-    set fill_color $object_fill_color
-    set outline_color $object_outline
-    set node_type "node"
-
-    if [regexp "Custom_Node" $current_gene_ID] {
-	set fill_color white
-	set outline_color red
-	set node_type "removable"
-    }
-    .phylo.canvas create $object_shape [expr $x-$object_x_size] [expr $y-$object_y_size] \
-	[expr $x+$object_x_size] [expr $y+$object_y_size] -fill $fill_color \
-	-outline $outline_color -tag $abc_tag$current_gene_ID
-
-    .phylo.canvas addtag $node_type withtag $abc_tag$current_gene_ID
-
-    set nodeX($abc_tag$current_gene_ID) $x
-    set nodeY($abc_tag$current_gene_ID) $y
-
-    set edgeFirst($abc_tag$current_gene_ID) {}
-    set edgeSecond($abc_tag$current_gene_ID) {}
-
-    .phylo.canvas bind $abc_tag$current_gene_ID <Button-1> {
-    set curX %x
-    set curY %y
-    }
-    .phylo.canvas bind $abc_tag$current_gene_ID <B1-Motion> {
-	moveNode [.phylo.canvas find withtag current] [expr %x-$curX] [expr %y-$curY]
-	set curX %x
-	set curY %y
-    }
-    bind .geneid.entry <Return> {
-	Shake_the_Node $abc_tag$current_gene_ID
-	showName $current_gene_ID .geneid.entry
-    }
-    # ON WINDOWS CHANGE TO <Double-1> #
-    # .phylo.canvas bind $abc_tag$current_gene_ID <Double-1>
-    .phylo.canvas bind $abc_tag$current_gene_ID <Button-2> {
-	set curX [.phylo.canvas canvasx %x]
-	set curX [expr int(round($curX))]
-	set curY [.phylo.canvas canvasy %y]
-	set curY [expr int(round($curY))]
-	Print_Gene_ID $current_gene_ID $curX $curY
-    }
-    #################
-    bind .phylo.canvas <Control-a> {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	set sw_node_A $current_gene_ID
-    }
-    bind .phylo.canvas <Control-s> {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	set sw_node_B $current_gene_ID
-    }
-    #################
-    bind .phylo.canvas w {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill white
-    }
-    bind .phylo.canvas b {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill blue
-    }
-    bind .phylo.canvas c {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill cyan
-    }
-    bind .phylo.canvas s {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill blue4
-    }
-    bind .phylo.canvas g {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill green
-    }
-    bind .phylo.canvas o {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill orange
-    }
-    bind .phylo.canvas r {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill red
-    }
-    bind .phylo.canvas v {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill violet
-    }
-    bind .phylo.canvas p {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill purple
-    }
-    bind .phylo.canvas y {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill yellow
-    }
-    if { $node_type == "removable" && $input_type == "MANUAL" } {
-	bind .phylo.canvas 1 {
-	    set firstNode $current_gene_ID
-	    set tag_list [.phylo.canvas gettags $firstNode]
-	    set removable_tag [lindex $tag_list 1]
-	    puts $removable_tag
-	    set current_gene_ID_A $current_gene_ID
-	    .phylo.canvas itemconfigure $abc_tag$current_gene_ID_A -fill purple
-	}
-    }
-    if { $node_type == "removable" && $input_type == "MANUAL" } {
-	bind .phylo.canvas 2 {
-	    set curNode [.phylo.canvas find withtag $abc_tag$current_gene_ID]
-	    set tag_list [.phylo.canvas gettags $curNode]
-	    set removable_tag [lindex $tag_list 1]
-	    puts $removable_tag
-	    set curNode $current_gene_ID
-	    set current_gene_ID_B $current_gene_ID
-	    set fill_color $fake_edge_color
-	    set line_thickness 2
-	    set fake_identity "fake_identity"
-	    set fake_identity_value "0"
-	    if { ($firstNode != "") && ($curNode != "") } {
-		mkEdge $firstNode $curNode $fill_color $line_thickness $current_gene_ID_A $current_gene_ID_B \
-		    $fake_identity\_$fake_identity_counter $fake_identity_value
-		.phylo.canvas itemconfigure $abc_tag$current_gene_ID_B -fill purple
-		incr fake_identity_counter
-	    }
-	}
-    }
-    .phylo.canvas bind $abc_tag$current_gene_ID <Enter> "showName $current_gene_ID .geneid.entry"
-    .phylo.canvas bind $abc_tag$current_gene_ID <Leave> "clearName .geneid.entry .geneid.degree_entry"
-    .phylo.canvas bind $abc_tag$current_gene_ID <Button-3> {
-	set curX %x
-	set curY %y
-	Shake_the_Node $abc_tag$current_gene_ID
-    }
-}
-
-proc mkEdge {first second fill_color line_thickness current_gene_ID_A current_gene_ID_B edge_tag current_gene_similarity} {
-
-    global abc_tag
-    global nodeX
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond 
-    global edgeCounter
-
-    set edge_type "real_edge"
-    if { $current_gene_similarity == 0 } {
-	set edge_type "removable"
-    }
-
-    set current_gene_similarity [expr int(round($current_gene_similarity*100))]
-    set edge [.phylo.canvas create line $nodeX($abc_tag$first) $nodeY($abc_tag$first) \
-	    $nodeX($abc_tag$second) $nodeY($abc_tag$second) -fill $fill_color -width $line_thickness \
-	    -tags "$edge_tag\_$current_gene_similarity $edge_type"]
-
-    .phylo.canvas lower $edge
-
-    .phylo.canvas bind $edge_tag\_$current_gene_similarity <Enter> \
-	"HighLightEdge .phylo.canvas $edge_tag\_$current_gene_similarity $current_gene_similarity"
-    ###########################
-    .phylo.canvas bind $edge_tag\_$current_gene_similarity <Leave> \
-	"HighLightEdge_Back .phylo.canvas $edge_tag\_$current_gene_similarity $fill_color"
-    ###########################
-    # ON WINDOWS CHANGE TO <Double-1> #
-    # .phylo.canvas bind $edge_tag\_$current_gene_similarity <Double-1> "Print_Edge_Weight $current_gene_similarity"
-    .phylo.canvas bind $edge_tag\_$current_gene_similarity <Button-2> "Print_Edge_Weight $current_gene_similarity"
-    ###########################
-    lappend edgeFirst($abc_tag$first) $edge
-    lappend edgeSecond($abc_tag$second) $edge
-    update
-    .phylo.canvas lower dummy_ps_background
-    incr edgeCounter
-}
-
-proc moveNode_Slow {node xDist yDist} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    global tcl_precision
-
-    if {$node != "" && $node != $abc_tag} {
-	.phylo.canvas move $node $xDist $yDist
-	incr nodeX($node) $xDist
-	incr nodeY($node) $yDist
-	set edge_counter 0
-	foreach edge $edgeFirst($node) {
-	    .phylo.canvas coords $edge $nodeX($node) $nodeY($node) \
-		[lindex [.phylo.canvas coords $edge] 2] \
-		[lindex [.phylo.canvas coords $edge] 3]
-	    incr edge_counter
-	}
-	foreach edge $edgeSecond($node) {
-	    .phylo.canvas coords $edge [lindex [.phylo.canvas coords $edge] 0] \
-		[lindex [.phylo.canvas coords $edge] 1] \
-		$nodeX($node) $nodeY($node)
-	    incr edge_counter
-	}
-	showDegree $edge_counter .geneid.degree_entry
-    }
-}
-
-proc moveNode {node xDist yDist} {
-
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    global tcl_precision
-
-    .phylo.canvas raise $node
-
-    set tag_list [.phylo.canvas gettags $node]
-    set id_tag [lindex $tag_list 0]
-    # puts $id_tag
-    set node $id_tag
-
-    .phylo.canvas move $node $xDist $yDist
-    if {[info exists nodeX($node)] == 1 && [info exists nodeY($node)] == 1} {
-	incr nodeX($node) $xDist
-	incr nodeY($node) $yDist
-	foreach edge $edgeFirst($node) {
-	    .phylo.canvas coords $edge $nodeX($node) $nodeY($node) \
-		[lindex [.phylo.canvas coords $edge] 2] \
-		[lindex [.phylo.canvas coords $edge] 3]
-	}
-	foreach edge $edgeSecond($node) {
-	    .phylo.canvas coords $edge [lindex [.phylo.canvas coords $edge] 0] \
-		[lindex [.phylo.canvas coords $edge] 1] \
-		$nodeX($node) $nodeY($node)
-	}
-    }
-}
-
-proc Plot_Genes_on_Canvas { genes_range graph_radius } {
-
-    global nodes_array
-    global edges_array
-    global list_of_nodes
-    global list_of_edges
-    global object_x_size
-    global object_y_size
-    global error_status
-    global tcl_precision
-
-    puts "Tcl precision: $tcl_precision"
-
-    set tick 1
-    set radians_per_degree [expr 3.1416/180]
-    # set radians_per_degree [expr 3.141593/180]
-
-    if {[info exists list_of_nodes] != 1 || [info exists list_of_edges] != 1} {
-	puts "Load Data into Memory first, then click \"Run\" again"
-	.phylo.canvas create text 100 100 -text "Load Data into Memory first, then click \"Run\" again" -anchor sw -fill white
-	update
-	bell
-	set error_status 1
-    }
-
-    if {[info exists list_of_nodes] == 1 && [info exists list_of_edges] == 1} {
-	foreach current_node $list_of_nodes {
-	    set angle [expr $tick*(360.0001/$genes_range)]
-	    # set angle [expr $tick*(360.000001/$genes_range)]
-	    set current_gene_ID $current_node
-	    set pointX($tick) [expr int(round($graph_radius*sin($angle*$radians_per_degree))) \
-				   + $graph_radius + 35 + $object_x_size]
-	    set pointY($tick) [expr int(round($graph_radius*cos($angle*$radians_per_degree))) \
-				   + $graph_radius + 35 + $object_y_size]
-
-	    set dot_pointX($tick) [expr $pointX($tick) + 2]
-	    set dot_pointY($tick) [expr $pointY($tick) + 2]
-
-	    mkNode $dot_pointX($tick) $dot_pointY($tick) $current_gene_ID
-	    update
-	    incr tick
-	}
-    }
-}
-
-proc Create_Graph_from_Data_MEMORY {} {
-
-   ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    . config -cursor {watch white black}
-
-    global genes_id_data_file 
-    global matrix_data_file
-    global genes_range
-    global nodes_array
-    global edges_array
-    global list_of_nodes
-    global list_of_edges
-
-    set genes_range 0
-    if {[info exists list_of_nodes] == 1} {
-	unset list_of_nodes
-    }
-
-    set input_file_to_open_nodes [open "$genes_id_data_file" "r"]
-    set input_file_to_open_edges [open "$matrix_data_file" "r"]
-
-    while {[gets $input_file_to_open_nodes current_line] >= 0}  {
-
-        set current_seq_ID [lindex [split $current_line] 0]
-	puts "$current_seq_ID"
-	if {$genes_range == 0} {
-	    set list_of_nodes [lappend list_of_nodes $current_seq_ID]
-	    set nodes_array($current_seq_ID) $current_seq_ID
-	    incr genes_range
-	} else {
-	    set already_done [lsearch -exact $list_of_nodes $current_seq_ID]
-	    if {$already_done < 0 && $current_seq_ID != ""} {
-		set list_of_nodes [lappend list_of_nodes $current_seq_ID]
-		set nodes_array($current_seq_ID) $current_seq_ID
-		incr genes_range
-	    }
-	    if {$already_done >= 0 && $current_seq_ID != ""} {
-		puts "WARNING: $current_seq_ID duplicated"
-		bell
-		after 1500
-	    }
-	}
-	update
-    }
-    close $input_file_to_open_nodes
-    puts "Total Number of Nodes: $genes_range"
-    puts "Processing Matrix File"
-    after 100
-
-    set matrix_counter 0
-
-    if {[info exists list_of_edges] == 1} {
-	unset list_of_edges
-    }
-
-    while {[gets $input_file_to_open_edges current_line] >= 0}  {
-
-	    set id_A [lindex $current_line 0]
-	    set id_B [lindex $current_line 1]
-	    set idnt [lindex $current_line 2]
-
-	    set query1 [info exists matrix_array($id_A,$id_B)]
-	    # puts $query1
-	    set query2 [info exists matrix_array($id_B,$id_A)]
-	    # puts $query2
-	    if {$query1 == 0 && $query2 == 0} {
-		set matrix_array($id_A,$id_B) "$id_A\t$id_B\t$idnt"
-		set list_of_edges [lappend list_of_edges $matrix_array($id_A,$id_B)]
-		incr matrix_counter
-		puts $matrix_counter
-	    } else {
-		puts "WARNING: $current_line duplicated"
-		bell
-		after 1500
-	    }
-    }
-    close $input_file_to_open_edges
-    bell
-    # puts $list_of_edges
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    . config -cursor {top_left_arrow black white}
-}
-
-proc Create_Graph_from_Data_CANVAS {} {
-
-    # puts "I am here ... "
-
-    global main_cursor_color
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    .phylo.canvas config -cursor {watch white}
-
-    global abc_tag
-    global tcl_precision
-    global genes_range
-    global nodes_array
-    global edges_array
-    global list_of_nodes
-    global list_of_edges
-    global edgeCounter
-    global level_of_similarity_1 
-    global level_of_similarity_2 
-    global level_of_similarity_3
-    global level_of_similarity_4 
-    global level_of_similarity_5 
-    global level_of_similarity_6
-    global color_of_similarity_1 
-    global color_of_similarity_2 
-    global color_of_similarity_3
-    global color_of_similarity_4 
-    global color_of_similarity_5 
-    global color_of_similarity_6
-    global thickness_of_similarity_1
-    global thickness_of_similarity_2
-    global thickness_of_similarity_3
-    global thickness_of_similarity_4
-    global thickness_of_similarity_5
-    global thickness_of_similarity_6
-
-    global object_fill_color_connect
-    global object_outline_connect
-    global edge_label_counter
-
-    set edge_label_counter 0
-
-    foreach current_edge $list_of_edges {
-
-	set current_edge [split $current_edge]
-	set current_gene_ID_A [lindex $current_edge 0]
-	set current_gene_ID_B [lindex $current_edge 1]
-	set current_gene_similarity [lindex $current_edge 2]
-	# puts "$current_gene_ID_A\t$current_gene_ID_B\t$current_gene_similarity"
-
-	set fill_color white
-
-	if {$current_gene_similarity >= $level_of_similarity_1} {
-	    set fill_color $color_of_similarity_1
-	    set line_thickness $thickness_of_similarity_1
-	}
-	if {$current_gene_similarity >= $level_of_similarity_2 && $current_gene_similarity < $level_of_similarity_1} {
-	    set fill_color $color_of_similarity_2
-	    set line_thickness $thickness_of_similarity_2
-	}
-	if {$current_gene_similarity >= $level_of_similarity_3 && $current_gene_similarity < $level_of_similarity_2} {
-	    set fill_color $color_of_similarity_3
-	    set line_thickness $thickness_of_similarity_3
-	}
-	if {$current_gene_similarity >= $level_of_similarity_4 && $current_gene_similarity < $level_of_similarity_3} {
-	    set fill_color $color_of_similarity_4
-	    set line_thickness $thickness_of_similarity_4
-	}
-	if {$current_gene_similarity >= $level_of_similarity_5 && $current_gene_similarity < $level_of_similarity_4} {
-	    set fill_color $color_of_similarity_5
-	    set line_thickness $thickness_of_similarity_5
-	}
-	if {$current_gene_similarity >= $level_of_similarity_6 && $current_gene_similarity < $level_of_similarity_5} {
-	    set fill_color $color_of_similarity_6
-	    set line_thickness $thickness_of_similarity_6
-	}
-	if {$current_gene_similarity >= $level_of_similarity_6} {
-
-	set firstNode $current_gene_ID_A
-	set curNode $current_gene_ID_B
-
-	if {($firstNode != "") && ($curNode != "")} {
-	    set edge_tag "$edgeCounter"
-	    mkEdge $firstNode $curNode $fill_color $line_thickness \
-		$current_gene_ID_A $current_gene_ID_B \
-		$edge_tag $current_gene_similarity
-	    .phylo.canvas itemconfigure $abc_tag$curNode -fill $object_fill_color_connect \
-		    -outline $object_outline_connect
-	    .phylo.canvas itemconfigure $abc_tag$firstNode -fill $object_fill_color_connect \
-		    -outline $object_outline_connect
-	    unset current_gene_ID_B
-	    }
-	}
-    }
-    bell
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    .phylo.canvas config -cursor "tcross $main_cursor_color"
-}
-
-proc showWeight {current_edge_weight layer3} {
-    set is_it_there [winfo exists .geneid]
-    if {$is_it_there == "0"} {
-	Gene_ID_Window
-    }
-    $layer3 delete 0 end
-    $layer3 insert end $current_edge_weight
-}
-
-proc showName {current_gene_ID layer1} {
-
-    global current_adjacent_node
-    global main_cursor_color
-
-    set is_it_there [winfo exists .geneid]
-    if {$is_it_there == "0"} {
-	Gene_ID_Window
-    }
-    set adj_there [winfo exists .adjacency_list]
-    if {$adj_there == 1} {
-	set current_adjacent_node $current_gene_ID
-    }
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    .phylo.canvas config -cursor "plus $main_cursor_color"
-    $layer1 delete 0 end
-    $layer1 insert end $current_gene_ID
-}
-
-proc highLightGene { w tn } {
-
-    global abc_tag
-    global adj_highlight_color
-    global adj_highlight_outline
-
-    set old_node_colour [lindex [$w itemconfig $abc_tag$tn -fill] 4]
-    set old_node_fill [lindex [$w itemconfig $abc_tag$tn -outline] 4]
-    $w itemconfigure $abc_tag$tn -fill "$adj_highlight_color" -outline "$adj_highlight_outline"
-}
-
-proc highLightGene_Back { w tn old_node_colour old_node_fill } {
-
-    global abc_tag
-
-    $w itemconfigure $abc_tag$tn -fill $old_node_colour -outline $old_node_fill
-}
-
-proc HighLightEdge { w current current_gene_similarity} {
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    $w config -cursor {cross cyan}
-    $w itemconfigure $current -fill "red"
-    Global_XY_Coords $current
-    showWeight $current_gene_similarity .geneid.weight_entry
-
-}
-
-proc Global_XY_Coords {current} {
-
-    global sim_curX 
-    global sim_curY
-
-    .phylo.canvas bind $current <Motion> {
-	set sim_curX [.phylo.canvas canvasx %x]
-	set sim_curX [expr int(round($sim_curX))]
-	set sim_curY [.phylo.canvas canvasy %y]
-	set sim_curY [expr int(round($sim_curY))]
-    }
-}
-
-proc HighLightEdge_Back { w current fill_color} {
-
-    global main_cursor_color
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    $w config -cursor "tcross $main_cursor_color"
-
-    clearWeight .geneid.weight_entry
-    $w itemconfigure $current -fill $fill_color
-}
-
-proc clearName { layer1 layer2 } {
-
-    global main_cursor_color
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    .phylo.canvas config -cursor "tcross $main_cursor_color"
-    $layer1 delete 0 end
-    $layer2 delete 0 end
-}
-
-proc clearWeight { layer3 } {
-
-    $layer3 delete 0 end
-}
-
-proc showDegree {edge_counter layer2} {
-
-    global main_cursor_color
-
-    set is_it_there [winfo exists .geneid]
-    if {$is_it_there == "0"} {
-	Gene_ID_Window
-    }
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    .phylo.canvas config -cursor "plus $main_cursor_color"
-    $layer2 delete 0 end
-    $layer2 insert end $edge_counter
-}
-
-proc Dots_Coord_Generator  {} {
-
-    global list_of_nodes
-    global dots_coord_file
-
-    set nodes_coord_open [open $dots_coord_file "w"]
-
-    foreach current_gene_ID $list_of_nodes {
-	set the_Node $current_gene_ID
-	if {$the_Node == ""} {
-	    continue
-	}
-	make_Nodes_Coords $the_Node $nodes_coord_open $current_gene_ID
-    }
-    close $nodes_coord_open
-    bell
-}
-
-proc make_Nodes_Coords {the_Node nodes_coord_open current_gene_ID} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY
-
-    puts -nonewline $nodes_coord_open $current_gene_ID\t$nodeX($abc_tag$the_Node)\t$nodeY($abc_tag$the_Node)\n
-}
-
-proc Nodes_Coord_Dialog {} {
-
-    destroy .node_xy
-    toplevel .node_xy
-
-    wm title .node_xy "Node Coordinates" 
-    wm protocol .node_xy WM_DELETE_WINDOW "destroy .node_xy"
-    wm minsize .node_xy 360 150
-
-    global dots_coord_file 
-    global dots_coord_file_restore
-    global restore_speed
-
-    #####
-    label .node_xy.f_to_save_label -text "Save Coords to:" -width 14 -bg gray
-    place .node_xy.f_to_save_label -x 20 -y 20
-
-    entry .node_xy.f_to_save_entry  -relief sunken \
-	    -textvariable dots_coord_file -bg lightyellow -width 17
-    place .node_xy.f_to_save_entry -x 130 -y 20
-
-    button .node_xy.save -text "Save" -bg yellow3 \
-	    -width 6 -command {Dots_Coord_Generator}
-    place .node_xy.save -x 270 -y 18
-    #####
-    label .node_xy.f_restore_label -text "Restore Coords:" -width 14 -bg gray
-    place .node_xy.f_restore_label -x 20 -y 55
-
-    entry .node_xy.f_restore_entry  -relief sunken \
-	    -textvariable dots_coord_file_restore -bg lightyellow -width 17
-    place .node_xy.f_restore_entry -x 130 -y 55
-
-    label .node_xy.sp_restore_label -text "Restore Speed:" -width 14 -bg gray
-    place .node_xy.sp_restore_label -x 20 -y 90
-
-    radiobutton .node_xy.sp_restore_F -relief sunken -variable restore_speed \
-	    -text " FAST " -value "FAST"
-    radiobutton .node_xy.sp_restore_S -relief sunken -variable restore_speed \
-	    -text " SLOW " -value "SLOW"
-    place .node_xy.sp_restore_F -x 130 -y 90
-    place .node_xy.sp_restore_S -x 130 -y 120
-
-    button .node_xy.restore -text "Restore" -bg yellow3 \
-	    -width 6 -command {Dots_Coord_Restore}
-    place .node_xy.restore -x 270 -y 58
-    #####
-    button .node_xy.howto -text "HowTo" -bg gray -command {How_To_Save}
-    place .node_xy.howto -x 40 -y 150
-
-    button .node_xy.dismiss -text "Dismiss" -bg gray -command {destroy .node_xy}
-    place .node_xy.dismiss -x 250 -y 150
-}
-
-proc How_To_Save {} {
-
-    destroy .how_to_save
-    toplevel .how_to_save
-    wm title .how_to_save "HowTo Save and Restore" 
-    wm protocol .how_to_save WM_DELETE_WINDOW "destroy .how_to_save"
-
-    label .how_to_save.text -text "
-You may save coordinates of nodes for current 
-project and restore those coordinates when 
-you re-run new project with the same node's 
-ID set.
-WARNING! Only coordinates and node IDs are 
-saved. Labels or other graphics added 
-on canvas by hand are not saved in 
-\"phylo_coords.txt\" file.
-"
-    button .how_to_save.dismiss -text "Dismiss" \
-	-command "destroy .how_to_save" -bg gray -width 8
-
-    pack .how_to_save.text -padx 7 -pady 7
-    pack .how_to_save.dismiss -padx 3 -pady 3
-}
-
-proc Dots_Coord_Restore {} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY
-    global dots_coord_file_restore
-    global restore_speed
-
-    set f_open_restore [open $dots_coord_file_restore "r"]
-
-    while {[gets $f_open_restore current_line_coord] >= 0 } {
-	set current_gene_ID [lindex [split $current_line_coord] 0]
-	set coordinates_x [lindex [split $current_line_coord] 1]
-	set coordinates_y [lindex [split $current_line_coord] 2]
-	set the_Node $abc_tag$current_gene_ID
-	if {$the_Node == ""} {
-	    continue
-	}
-	set move_me_X [expr $coordinates_x - $nodeX($the_Node)]
-	set move_me_Y [expr $coordinates_y - $nodeY($the_Node)]
-	if {$move_me_X == 0 && $move_me_Y == 0} {
-	    continue
-	}
-	if { $restore_speed == "SLOW" } {
-	    if {$move_me_X > 0} {
-		while {$move_me_X > 0} {
-		    moveNode $the_Node 1 0
-		    incr move_me_X -1
-		    update
-		}
-	    }
-	    if {$move_me_X < 0} {
-		while {$move_me_X < 0} {
-		    moveNode $the_Node -1 0
-		    incr move_me_X 1
-		    update
-		}
-	    }
-	    if {$move_me_Y > 0} {
-		while {$move_me_Y > 0} {
-		    moveNode $the_Node 0 1
-		    incr move_me_Y -1
-		    update
-		}
-	    }
-	    if {$move_me_Y < 0} {
-		while {$move_me_Y < 0} {
-		    moveNode $the_Node 0 -1
-		    incr move_me_Y 1
-		    update
-		}
-	    }
-	} else {
-	    moveNode $the_Node $move_me_X $move_me_Y
-	    update
-	}
-    }
-    close $f_open_restore
-    bell
-}
-
-proc HTML_Image_Map_Generator {} {
-
-    global abc_tag
-    global html_image_map
-    global list_of_nodes
-
-    set html_image_map_open [open $html_image_map "w"]
-
-    puts $html_image_map_open "<!doctype html public \"-//w3c//dtd html 4.0//en\">
-<html>
-<head>
-<title>
-Web Page Title
-</title>
-</head>
-<body text=\"#fffccc\" bgcolor=\"#000077\" \
-link=\"#ffffcc\" vlink=\"#ffff55\" alink=\"#ffffff\">
-<font face=\"Arial, Helvetica\">
-<center>
-<h2>
-<font color = \"#ffffff\">
-Web Page Title
-</font>
-</h2>
-</center>
-<p>
-<br>
-<center>
-Web Page Description
-</center>
-<br>
-<center>
-
-<!-- Created with PhyloGrapher -->
-
-<img src=\"phylographer_image_01.gif\" vspace=\"10\" hspace=\"10\" \
-align=\"middle\" usemap=\"#phylographer\">
-
-<map name=\"phylographer\">
-"
-
-    foreach current_gene_ID $list_of_nodes {
-	set xy_node_coords [.phylo.canvas coords $abc_tag$current_gene_ID]
-	if {$xy_node_coords == ""} {
-	    continue
-	}
-	make_HTML $xy_node_coords $html_image_map_open $current_gene_ID
-    }
-
-    puts $html_image_map_open "
-</map>
-</center>
-<br>
-<br>
-Web Page Content Here
-<br>
-<br>
-</body>
-</html>
-"
-    close $html_image_map_open
-    bell
-}
-
-proc make_HTML {xy_node_coords html_image_map_open current_gene_ID} {
-
-    global url_prefix
-    global url_suffix
-
-    puts -nonewline $html_image_map_open "<area title=\"$current_gene_ID\" "
-    puts -nonewline $html_image_map_open "shape=\"RECT\" coords=\""
-    puts -nonewline $html_image_map_open "$xy_node_coords\" "
-    puts -nonewline $html_image_map_open "HREF=\"http\:\/\/$url_prefix\/"
-    puts -nonewline $html_image_map_open "$current_gene_ID"
-    puts -nonewline $html_image_map_open "$url_suffix"
-    puts -nonewline $html_image_map_open "\" target=\"_blank\">\n"
-}
-
-proc Print_Gene_ID {current_gene_ID curX curY} {
-
-    global node_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    set label_tag "label"
-
-    .phylo.canvas create text [expr $curX+3] [expr $curY-3] -text $current_gene_ID \
-	    -font "$canvas_editor_font_type $canvas_editor_font_size $canvas_editor_font_style" \
-	    -anchor sw -fill $node_color_label -tags "$current_gene_ID\_$label_tag removable"
-
-    .phylo.canvas bind $current_gene_ID\_$label_tag <Button-1> {
-    set curX %x
-    set curY %y
-    }
-    .phylo.canvas bind $current_gene_ID\_$label_tag <B1-Motion> {
-	moveNode [.phylo.canvas find withtag current] [expr %x-$curX] [expr %y-$curY]
-	set curX %x
-	set curY %y
-    }
-}
-
-proc Print_Edge_Weight {edge_tag} {
-
-    global edge_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-    global edge_label_counter
- 
-    global sim_curX 
-    global sim_curY
-
-    set curX $sim_curX
-    set curY $sim_curY
-
-    set label_tag "label"
-
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    .phylo.canvas create text [expr $curX+3] [expr $curY-3] -text "$edge_tag" \
-	    -font "$canvas_editor_font_type $canvas_editor_font_size $canvas_editor_font_style" \
-	    -anchor sw -fill $edge_color_label \
-	    -tag "$edge_tag\_$label_tag\_$edge_label_counter removable"
-
-    .phylo.canvas bind $edge_tag\_$label_tag\_$edge_label_counter <Button-1> {
-	set curX %x
-	set curY %y
-    }
-    .phylo.canvas bind $edge_tag\_$label_tag\_$edge_label_counter <B1-Motion> {
-	moveNode [.phylo.canvas find withtag current] [expr %x-$curX] [expr %y-$curY]
-	set curX %x
-	set curY %y
-    }
-    incr edge_label_counter
-}
-
-proc Gene_ID_Window {} {
-
-    destroy .geneid
-    toplevel .geneid
-    .geneid config -bg black
-    wm transient .geneid .phylo.canvas
-    wm title .geneid "Graph Info"
-    wm protocol .geneid WM_DELETE_WINDOW "destroy .geneid"
-
-    label .geneid.label -text "Node ID: " -bg black -fg lightblue
-    entry .geneid.entry -relief sunken -textvariable current_gene_ID \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .geneid.label .geneid.entry
-    
-    label .geneid.degree_label -text "Degree: " -bg black -fg lightblue
-    entry .geneid.degree_entry -relief sunken -textvariable current_gene_degree \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .geneid.degree_label .geneid.degree_entry
-
-    label .geneid.empty -text "" -bg black -fg lightblue
-    grid .geneid.empty
-
-    label .geneid.weight_label -text "Edge Weight: " -bg black -fg lightblue
-    entry .geneid.weight_entry -relief sunken -textvariable current_edge_weight \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .geneid.weight_label .geneid.weight_entry
-}
-
-proc Shake_the_Node {current_gene_ID} {
-
-    set k 20
-    set l 20
-    set m 20
-    set n 20
-    set o 20
-    set p 20
-
-    set old_node_colour [lindex [.phylo.canvas itemconfig $current_gene_ID -fill] 4]
-    set old_node_fill [lindex [.phylo.canvas itemconfig $current_gene_ID -outline] 4]
-    .phylo.canvas itemconfigure $current_gene_ID -fill "red" -outline "yellow"
-
-    while {$k >= 0} {
-	moveNode_Slow $current_gene_ID 0 -1
-	update
-	incr k -1
-    }
-    while {$l >= 0} {
-	moveNode_Slow $current_gene_ID 1 1
-	update
-	incr l -1
-    }
-    while {$m >= 0} {
-	moveNode_Slow $current_gene_ID -1 1
-	update
-	incr m -1
-    }
-    while {$n >= 0} {
-	moveNode_Slow $current_gene_ID -1 -1
-	update
-	incr n -1
-    }
-    while {$o >= 0} {
-	moveNode_Slow $current_gene_ID 1 -1
-	update
-	incr o -1
-    }
-    while {$p >= 0} {
-	moveNode_Slow $current_gene_ID 0 1
-	update
-	incr p -1
-    }
-    bell
-    .phylo.canvas itemconfigure $current_gene_ID -fill $old_node_colour -outline $old_node_fill
-    clearName .geneid.entry .geneid.degree_entry
-}
-
-proc Edge_Counter {} {
-
-    global edges_data_file
-
-    destroy .edge_counter_win
-    toplevel .edge_counter_win
-    wm title .edge_counter_win "Edge Counter"
-    wm protocol .edge_counter_win WM_DELETE_WINDOW "destroy .edge_counter_win"
-    wm minsize .edge_counter_win 300 200
-
-    label .edge_counter_win.input_file_label -text "output file:" -bg gray -width 12
-    place .edge_counter_win.input_file_label -x 20 -y 20
-
-    entry .edge_counter_win.input_file_entry -relief sunken \
-	    -textvariable edges_data_file -bg lightyellow -width 20
-    place .edge_counter_win.input_file_entry -x 115 -y 20
-
-    button .edge_counter_win.howto -text "HowTo" -bg gray -width 8 -command {HowTo_Count_Edges}
-    place .edge_counter_win.howto -x 60 -y 150
-
-    button .edge_counter_win.dismiss -text "Dismiss" -bg gray -width 8 -command {destroy .edge_counter_win}
-    place .edge_counter_win.dismiss -x 160 -y 150
-
-    button .edge_counter_win.doit -text "Count Edges" -bg orange -width 12 -command {Edge_Degree_Counter}
-    place .edge_counter_win.doit -x 140 -y 50
-
-}
-
-proc HowTo_Count_Edges {} {
-
-    destroy .how_to_edges
-    toplevel .how_to_edges
-    wm title .how_to_edges "HowTo Count Edges" 
-    wm protocol .how_to_edges WM_DELETE_WINDOW "destroy .how_to_edges"
-
-    label .how_to_edges.text -text "
-Each vertex may have some number of edges.
-Number of edges for given vertex is a 
-vertex degree. To generate file with the 
-list of vertex degree for all elements in 
-your graph file just click \"Count Edges\".
-Program will examine the current canvas 
-and generate a new file you specify.
-"
-    button .how_to_edges.dismiss -text "Dismiss" \
-	-command "destroy .how_to_edges" -bg gray -width 8
-
-    pack .how_to_edges.text -padx 7 -pady 7
-    pack .how_to_edges.dismiss -padx 3 -pady 3
-
-}
-
-proc Edge_Degree_Counter {} {
-
-    global abc_tag
-    global list_of_nodes
-    global edges_data_file
-
-    set edges_data_file_open [open $edges_data_file "w"]
-
-    foreach current_gene_ID $list_of_nodes {
-	set the_Node $current_gene_ID
-	if {$the_Node == ""} {
-	    continue
-	}
-	Edge_Degree_Counter_Movie $abc_tag$the_Node $edges_data_file_open $current_gene_ID
-    }
-    close $edges_data_file_open
-    bell
-    after 100
-    bell
-}
-
-proc Edge_Degree_Counter_Movie {the_Node edges_data_file_open current_gene_ID} {
-
-    global abc_tag
-
-    set k 0
-    set l 0
-    set m 0
-    set n 0
-    set o 0
-    set p 0
-
-    set old_node_colour [lindex [.phylo.canvas itemconfig $abc_tag$current_gene_ID -fill] 4]
-    set old_node_fill [lindex [.phylo.canvas itemconfig $abc_tag$current_gene_ID -outline] 4]
-    .phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill "red" -outline "yellow"
-
-    while {$k >= 0} {
-	moveNode_Slow $the_Node 0 -1 
-	update
-	incr k -1
-    }
-    while {$l >= 0} {
-	moveNode_Slow $the_Node 1 1 
-	update
-	incr l -1
-    }
-    while {$m >= 0} {
-	moveNode_Slow $the_Node -1 1 
-	update
-	incr m -1
-    }
-    while {$n >= 0} {
-	moveNode_Slow $the_Node -1 -1 
-	update
-	incr n -1
-    }
-    while {$o >= 0} {
-	moveNode_Slow $the_Node 1 -1 
-	update
-	incr o -1
-    }
-    while {$p >= 0} {
-	moveNode_Slow_Edges $the_Node 0 1 $edges_data_file_open $current_gene_ID
-	update
-	incr p -1
-    }
-    .phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill $old_node_colour -outline $old_node_fill
-    clearName .geneid.entry .geneid.degree_entry
-}
-
-proc moveNode_Slow_Edges {node xDist yDist edges_data_file_open current_gene_ID} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    global tcl_precision
-
-    .phylo.canvas move $node $xDist $yDist
-    incr nodeX($node) $xDist
-    incr nodeY($node) $yDist
-    set edge_counter 0
-    foreach edge $edgeFirst($node) {
-	.phylo.canvas coords $edge $nodeX($node) $nodeY($node) \
-	[lindex [.phylo.canvas coords $edge] 2] \
-	[lindex [.phylo.canvas coords $edge] 3]
-	incr edge_counter
-    }
-    foreach edge $edgeSecond($node) {
-	.phylo.canvas coords $edge [lindex [.phylo.canvas coords $edge] 0] \
-	[lindex [.phylo.canvas coords $edge] 1] \
-	$nodeX($node) $nodeY($node)
-	incr edge_counter
-    }
-    showDegree $edge_counter .geneid.degree_entry
-    puts $edges_data_file_open $current_gene_ID\t$edge_counter
-}
-
-proc Events_Binding {} {
-
-    global list_of_nodes
-    global custom_node_counter
-    global edge_label_counter
-    global genes_range
-    global input_type
-
-    if { $input_type == "MANUAL" } {
-	set custom_node_counter 1
-	set edge_label_counter  0
-	bind .phylo.canvas <n> {
-	    set new_node "Custom_Node_$custom_node_counter"
-	    mkNode [expr int(round([.phylo.canvas canvasx %x]))] \
-		    [expr int(round([.phylo.canvas canvasy %y]))] $new_node
-	    set list_of_nodes [lappend list_of_nodes "Custom_Node_$custom_node_counter"]
-	    incr custom_node_counter
-	    incr genes_range
-	}
-    }
-
-    bind .phylo.canvas <Control-d> {
-	set curX %x
-	set curY %y
-	.phylo.canvas find withtag current
-	set current_tags_list [.phylo.canvas gettags "current"]
-	set delete_me_current [lindex $current_tags_list 1]
-	set third_tag [lindex $current_tags_list 2]
-	puts "$delete_me_current $third_tag"
-	if { $delete_me_current == "removable" } {
-	    .phylo.canvas delete current
-	}
-	clearName .geneid.entry .geneid.degree_entry
-    }
-}
-
-proc PhyloGrapher_Canvas {} {
-
-    destroy .phylo .geneid
-
-    global horizontal_size 
-    global vertical_size
-    global canvas_background 
-    global font_color_canvas
-    global genes_range 
-    global graph_radius
-    global edgeCounter
-    global object_x_size
-    global object_y_size
-    global error_status
-    global input_type
-
-    set error_status 0
-
-    global main_cursor_color
-
-    set edgeCounter 0
-
-    set vertical_size $horizontal_size
-    set graph_radius [expr $horizontal_size/2 - 45]
-
-    set scrollmax_x [expr $horizontal_size + 15 + $object_x_size]
-    set scrollmax_y [expr $vertical_size + 15 + $object_y_size]
-
-    Scrolled_Canvas .phylo -width 700 -height 700 \
-	-scrollregion "0 0 $scrollmax_x $scrollmax_y" -bg white ; # -bg $canvas_background
-
-    Dummy_Color_Movie
-
-    Gene_ID_Window
-
-    Html_ScreenShot $horizontal_size $vertical_size
-
-    puts "$input_type"
-
-    if { $input_type == "MANUAL" } {
-	set genes_range 0
-	focus .phylo.canvas
-    }
-
-    if { $input_type == "DATA" } {
-	Plot_Genes_on_Canvas $genes_range $graph_radius
-    }
-
-    if {$error_status == 0} {
-
-	Events_Binding
-
-	if { $input_type == "DATA" } {
-	    Create_Graph_from_Data_CANVAS
-	}
-
-	focus .phylo.canvas
-
-	##### COMMENT ON WINDOWS CURSOR CONFIG #####
-	.phylo.canvas config -cursor "tcross $main_cursor_color"
-
-	.phylo.canvas create rect 0 0 $scrollmax_x $scrollmax_y \
-	    -fill $canvas_background -outline $canvas_background -tag dummy_ps_background
-	.phylo.canvas lower dummy_ps_background
-    }
-}
-
-proc Dummy_Color_Movie {} {
-
-    global canvas_background
-
-    .phylo.canvas create text 240 300 -fill black -text "PhyloGrapher" \
-	    -font "helvetica 32 bold" -anchor sw -tag phylo_banner
-
-    set q 100
-    while {$q >= 0} {
-	.phylo.canvas configure -bg gray$q
-	after 1
-	incr q -1
-	update
-    }
-    .phylo.canvas delete phylo_banner
-    .phylo.canvas configure -bg $canvas_background
-}
-
-proc Html_ScreenShot { horizontal_size vertical_size } {
-
-    global object_x_size
-    global object_y_size
-
-    .phylo.canvas create line 0 0 [expr $horizontal_size + $object_x_size + 5] 0 -fill gray50 
-    .phylo.canvas create line 0 0 0 [expr $vertical_size + $object_y_size] -fill gray50
-    .phylo.canvas create line   [expr $horizontal_size + $object_x_size + 5] 0 \
-	    [expr $horizontal_size + $object_x_size + 5]\
-	    [expr $vertical_size + $object_y_size] -fill gray50
-    .phylo.canvas create line 0 [expr $vertical_size + $object_y_size] \
-	    [expr $horizontal_size + $object_x_size +5]\
-	    [expr $vertical_size + $object_y_size] -fill gray50
-}
-
-proc Show_Extras {} {
-
-    destroy .extras_win
-    toplevel .extras_win
-    wm title .extras_win "Extras"
-    wm protocol .extras_win WM_DELETE_WINDOW "destroy .extras_win"
-    wm minsize .extras_win 330 200
-    .extras_win config -bg black
-
-    button .extras_win.canvas_ed -text "Canvas\nEditor" -command {Canvas_Editor} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.canvas_ed -x 20 -y 20
-
-    button .extras_win.node_ed -text "Node\nPainter" -command {Node_Painter} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.node_ed -x 120 -y 20
-
-    button .extras_win.node_coord -text "Node\nCoords" -command {Nodes_Coord_Dialog} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.node_coord -x 220 -y 20
-
-    button .extras_win.edges -text "Edge\nCounter" -command {Edge_Counter} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.edges -x 20 -y 70
-
-    button .extras_win.ssearch -text "Smith\nWaterman" -command {Smith_Waterman} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.ssearch -x 120 -y 70
-
-    button .extras_win.fruchterman -text "Fruchterman\nRheingold" -command {Fruchterman_Rheingold} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.fruchterman -x 220 -y 70
-
-    button .extras_win.adj_list -text "Adjacency\nList" -command {Adjacency_List} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.adj_list -x 20 -y 120
-
-    button .extras_win.dismiss -text "Dismiss" -command {destroy .extras_win} \
-	-bg gray30 -fg gray75 -width 9 -height 2
-    place .extras_win.dismiss -x 220 -y 140
-
-}
-
-proc Adjacency_List {} {
-    destroy .adjacency_list
-    toplevel .adjacency_list
-    wm title .adjacency_list "Adjacency List"
-    wm protocol .adjacency_list WM_DELETE_WINDOW "destroy .adjacency_list"
-    wm minsize .adjacency_list 460 270
-    .adjacency_list config -bg black
-
-    global current_adjacent_node
-    global adjacency_data_file
-    global adj_highlight_color
-    global adj_highlight_outline
-
-    set adjacency_data_file "adjacency_data.txt"
-    set adj_highlight_color "green3"
-    set adj_highlight_outline "yellow"
-
-    label .adjacency_list.node_label -width 7 -text "Node:" -fg blue4
-    place .adjacency_list.node_label -x 10 -y 10
-
-    entry .adjacency_list.node_entry -width 15 -bg lightyellow -textvariable current_adjacent_node
-    place .adjacency_list.node_entry -x 70 -y 10
-
-    label .adjacency_list.fill_label -width 7 -text "fill:"
-    place .adjacency_list.fill_label -x 10 -y 40
-
-    entry .adjacency_list.highlight_colour -width 15 -bg lightyellow -textvariable adj_highlight_color
-    place .adjacency_list.highlight_colour -x 70 -y 40
-
-    label .adjacency_list.outline_label -width 7 -text "outline:"
-    place .adjacency_list.outline_label -x 10 -y 70
-
-    entry .adjacency_list.highlight_outline -width 15 -bg lightyellow -textvariable adj_highlight_outline
-    place .adjacency_list.highlight_outline -x 70 -y 70
-
-    button .adjacency_list.show -text "Highlight\nAdjacent Nodes" -bg orange \
-	    -command {HighLight_Adjacent_Nodes}
-    place .adjacency_list.show -x 30 -y 100
-
-    button .adjacency_list.show_all -text "Highlight All\nNodes in Group" -bg orange \
-	    -command {HighLight_Adjacent_Nodes_All}
-    place .adjacency_list.show_all -x 30 -y 150
-
-    label .adjacency_list.dsf -bg blue4 -fg yellow \
-	    -justify left -text \
-"By clicking on \"Highlight All Nodes in Group\"
-PhyloGrapher performs DFS algorithm for a 
-given node and highlights all connected 
-nodes in a group (connected graph)."
-
-    place .adjacency_list.dsf -x 10 -y 200
-
-    button .adjacency_list.build -text "Build Adjacency\nList" -bg lightblue \
-	    -command {Build_Adjacency_List}
-    place .adjacency_list.build -x 300 -y 185
-
-    button .adjacency_list.dismiss -text "Dismiss" -command {destroy .adjacency_list}
-    place .adjacency_list.dismiss -x 330 -y 235
-
-    label .adjacency_list.howto -bg blue4 -fg yellow \
-	    -justify left -text \
-"     About Adjacency List:
-To analyze adjacent nodes you need to 
-create adjacency list file first with 
-info about adjacent nodes to any given 
-node. As soon as the list is available, 
-by pointing a mouse cursor over any node 
-and clicking on \"Highlight Adjacent Nodes\" 
-you can highlight adjacent nodes."
-
-    place .adjacency_list.howto -x 200 -y 10
-
-    entry .adjacency_list.data_file -width 32 -bg lightyellow -textvariable adjacency_data_file
-    place .adjacency_list.data_file -x 200 -y 155
-}
-
-proc HighLight_Adjacent_Nodes {} {
-
-    global adjacency_data_file
-    global current_adjacent_node
-    global adj_highlight_color
-    global adj_highlight_outline
-
-    set found_the_id "NO"
-
-    set adjacency_data_file_open [open $adjacency_data_file "r"]
-    while {[gets $adjacency_data_file_open current_line] >= 0 && $found_the_id == "NO"} {
-	set current_first_id [lindex [split $current_line "|"] 0]
-	if {$current_first_id == $current_adjacent_node} {
-	    set found_the_id "YES"
-	    # puts $found_the_id
-	    # puts $current_adjacent_node
-	    # puts $current_line
-	    set current_line_length [llength [split $current_line "|"]]
-	    set k 0
-	    while {$k <= $current_line_length} {
-		set current_some_id [lindex [split $current_line "|"] $k]
-		if {$current_some_id != ""} {
-		    # puts $current_some_id
-		    highLightGene .phylo.canvas $current_some_id
-		    update
-		}
-		incr k
-	    }
-	    # puts $current_line_length
-	}
-    }
-    close $adjacency_data_file_open
-    bell
-}
-
-proc HighLight_Adjacent_Nodes_All {} {
-
-    global dummy_adjacency_counter
-    global already_done_nodes
-    global current_adjacent_node
-
-    set already_done_nodes {}
-    set already_done_nodes [lappend already_done_nodes $current_adjacent_node]
-    set dummy_adjacency_counter 1
-    HighLight_Adjacent_Nodes_All_Loop
-    bell
-}
-
-proc HighLight_Adjacent_Nodes_All_Loop {} {
-
-    global dummy_adjacency_counter
-    global adjacency_data_file
-    global current_adjacent_node
-    global adj_highlight_color
-    global adj_highlight_outline
-    global already_done_nodes
-
-    set found_the_id "NO"
-
-    set adjacency_data_file_open [open $adjacency_data_file "r"]
-    while {[gets $adjacency_data_file_open current_line] >= 0 && $found_the_id == "NO"} {
-	set current_first_id [lindex [split $current_line "|"] 0]
-	if {$current_first_id == $current_adjacent_node} {
-	    set found_the_id "YES"
-	    # puts $found_the_id
-	    # puts $current_adjacent_node
-	    # puts $current_line
-	    set current_line_length [llength [split $current_line "|"]]
-	    set k 0
-	    while {$k <= $current_line_length} {
-		set current_some_id [lindex [split $current_line "|"] $k]
-		set already_done_status [lsearch -exact $already_done_nodes $current_some_id]
-		if {$already_done_status == -1} {
-		    set already_done_nodes [lappend already_done_nodes $current_some_id]
-		}
-		if {$current_some_id != ""} {
-		    # puts $current_some_id
-		    highLightGene .phylo.canvas $current_some_id
-		    update
-		    if {$already_done_status == -1} {
-			set current_adjacent_node $current_some_id
-			HighLight_Adjacent_Nodes_All_Loop
-			puts "message from inner loop $dummy_adjacency_counter times"
-			incr dummy_adjacency_counter
-		    }
-		}
-		incr k
-	    }
-	    # puts $current_line_length
-	}
-    }
-    close $adjacency_data_file_open
-}
-
-proc Build_Adjacency_List {} {
-
-    global level_of_similarity_6
-    global adjacency_data_file 
-    global adjacency_data_file_open
-
-    global list_of_nodes
-
-    set adjacency_data_file_open [open $adjacency_data_file "w"]
-
-    set k 1
-    foreach current_id $list_of_nodes {
-        puts -nonewline $adjacency_data_file_open $current_id\|
-        puts $k
-	.adjacency_list.build config -bg blue -fg lightblue -text "Processing...\n$k"
-        Adj_List_Extraction $current_id
-        puts -nonewline $adjacency_data_file_open \n
-        incr k
-	update
-    }
-    close $adjacency_data_file_open
-    puts "Adjacency List Done!\n"
-    .adjacency_list.build config -bg lightblue -fg black -text "Build Adjacency\nList"
-    bell
-}
-
-proc Adj_List_Extraction {current_id} {
-
-    global edges_array
-    global list_of_edges
-
-    global adjacency_data_file_open
-    global level_of_similarity_6
-
-    foreach current_matrix_line $list_of_edges {
-	set current_matrix_line [split $current_matrix_line]
-        set matrix_id_A [lindex $current_matrix_line 0]
-        set matrix_id_B [lindex $current_matrix_line 1]
-        set current_sim_value [lindex $current_matrix_line 2]
-        if {$current_id == $matrix_id_A && $current_sim_value >= $level_of_similarity_6} {
-            puts -nonewline $adjacency_data_file_open $matrix_id_B\|
-        }
-        if {$current_id == $matrix_id_B && $current_sim_value >= $level_of_similarity_6} {
-            puts -nonewline $adjacency_data_file_open $matrix_id_A\|
-        }
-        if {$current_id != $matrix_id_A && $current_id != $matrix_id_B} {
-	    continue
-        }
-    }
-}
-
-proc Fruchterman_Rheingold {} {
-
-    destroy .frucht_gold
-    toplevel .frucht_gold
-    wm title .frucht_gold "Fruchterman Rheingold"
-    wm protocol .frucht_gold WM_DELETE_WINDOW "destroy .frucht_gold"
-    wm minsize .frucht_gold 440 240
-
-    global list_of_nodes
-    global list_of_edges
-
-    global attraction_random_step
-    global frucht_gold_precision
-    global frucht_gold_limit
-    global edge_wight_coefficient
-    global random_step_value
-    global repulsion_distance
-
-    set attraction_random_step 12
-    set frucht_gold_precision 100
-    set frucht_gold_limit 300
-    set edge_wight_coefficient 1
-    set random_step_value 12
-    set repulsion_distance 24
-
-    label .frucht_gold.attraction_random_step_label -text "attr step value:" -bg yellow3 -width 16
-    place .frucht_gold.attraction_random_step_label -x 10 -y 10
-
-    entry .frucht_gold.attraction_random_step_entry -relief sunken \
-	    -textvariable attraction_random_step -bg lightyellow -width 8
-    place .frucht_gold.attraction_random_step_entry -x 135 -y 10
-    #####
-    label .frucht_gold.random_step_label -text "repl step value:" -bg yellow3 -width 16
-    place .frucht_gold.random_step_label -x 10 -y 40
-
-    entry .frucht_gold.random_step_entry -relief sunken \
-	    -textvariable random_step_value -bg lightyellow -width 8
-    place .frucht_gold.random_step_entry -x 135 -y 40
-    #####
-    label .frucht_gold.rep_dist_label -text "repulsion dist:" -bg yellow3 -width 16
-    place .frucht_gold.rep_dist_label -x 10 -y 70
-
-    entry .frucht_gold.rep_dist_entry -relief sunken \
-	    -textvariable repulsion_distance -bg lightyellow -width 8
-    place .frucht_gold.rep_dist_entry -x 135 -y 70
-    #####
-    label .frucht_gold.precision_label -text "node distance K:" -bg gray -width 16
-    place .frucht_gold.precision_label -x 10 -y 100
-
-    entry .frucht_gold.precision_entry -relief sunken \
-	    -textvariable frucht_gold_precision -bg lightblue -width 8
-    place .frucht_gold.precision_entry -x 135 -y 100
-    #####
-    label .frucht_gold.edge_wight_coeff_label -text "edge weight K:" -bg gray -width 16
-    place .frucht_gold.edge_wight_coeff_label -x 10 -y 130
-
-    entry .frucht_gold.edge_wight_coeff_entry -relief sunken \
-	    -textvariable edge_wight_coefficient -bg lightblue -width 8
-    place .frucht_gold.edge_wight_coeff_entry -x 135 -y 130
-    #####
-    label .frucht_gold.iterations_label -text "\# of iterations:" -bg yellow3 -width 16
-    place .frucht_gold.iterations_label -x 10 -y 160
-
-    entry .frucht_gold.iterations_entry -relief sunken \
-	    -textvariable frucht_gold_limit -bg gold -width 8
-    place .frucht_gold.iterations_entry -x 135 -y 160
-    #####
-    button .frucht_gold.organize -text "Self Organize!" -bg orange \
-	    -command {Self_Organize}
-    place .frucht_gold.organize -x 20 -y 200
-
-    button .frucht_gold.dismiss -text "Dismiss" -command {destroy .frucht_gold}
-    place .frucht_gold.dismiss -x 300 -y 200
-    #####
-    label .frucht_gold.the_rule_label -bg blue4 -fg yellow \
-	    -justify left -text \
-"  Current Rule:
-
-\if dist AB >= K1 * (K2 - W^2)
-move the node on a distance 
-of attraction step value,
-repeat $frucht_gold_limit times.
-    where: 
-        dist AB: distance 
-        between nodes A and B
-        K1: node distance K
-        K2: edge weight K
-        W: edge weight value"
-
-   place .frucht_gold.the_rule_label -x 225 -y 10
-
-}
-
-proc Self_Organize {} {
-
-    global abc_tag
-    global list_of_nodes
-    global list_of_edges
-
-    global horizontal_size
-    global nodeX 
-    global nodeY
-    global attraction_random_step
-    global frucht_gold_precision
-    global frucht_gold_limit
-    global edge_wight_coefficient
-    global entropy_factor
-    global level_of_similarity_6
-    global genes_range
-    global random_step_value
-    global repulsion_distance
-
-    ### RANDOMIZATION ###
-    foreach the_Node $list_of_nodes {
-	set coordinates_x [expr int(round(rand()*$horizontal_size))]
-	set coordinates_y [expr int(round(rand()*$horizontal_size))]
-	set move_me_X [expr $coordinates_x - $nodeX($abc_tag$the_Node)]
-	set move_me_Y [expr $coordinates_y - $nodeY($abc_tag$the_Node)]
-	moveNode $abc_tag$the_Node $move_me_X $move_me_Y
-	update
-    }
-
-    set iron_wall [expr $horizontal_size - 10]
-
-    ### LOOP ###
-    while { $frucht_gold_limit >= 0 } {
-   
-	foreach current_line $list_of_edges {
-	    set current_seq_ID_A [lindex $current_line 0]
-	    set current_seq_ID_B [lindex $current_line 1]
-	    set current_identity [lindex $current_line 2]
-	    ################
-
-	    set old_node_colour_A [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_A -fill] 4]
-	    set old_node_fill_A [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_A -outline] 4]
-	    set old_node_colour_B [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_B -fill] 4]
-	    set old_node_fill_B [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_B -outline] 4]
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_A -fill "red" -outline "yellow"
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_B -fill "red" -outline "yellow"
-	    update
-	    ################
-
-	    ### NODE A ###
-
-	    set the_Node_A $abc_tag$current_seq_ID_A
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    # puts "$the_Node_A_X1 $the_Node_A_Y1 $the_Node_A_X2 $the_Node_A_Y2 $the_Node_A_X $the_Node_A_Y $the_Node_A NODE_A COORDS"
-
-	    if {$the_Node_A == ""} {
-		continue
-	    }
-	    set the_Node_B $current_seq_ID_B
-	    if {$the_Node_B == ""} {
-		continue
-	    }
-	    ############## PUSH ME OUT BEGIN ##############
-
-	    set dummy_switch_random [expr rand()]
-
-	    if {$dummy_switch_random >= 0.75 && $frucht_gold_limit > 0} {
-		set dummy_switch "NO"
-	    } else {
-		set dummy_switch "YES"
-	    }
-
-	    set push_them_out_A [.phylo.canvas find enclosed \
-		[expr $the_Node_A_X - $repulsion_distance] [expr $the_Node_A_Y - $repulsion_distance] \
-		[expr $the_Node_A_X + $repulsion_distance] [expr $the_Node_A_Y + $repulsion_distance] ]
-
-	    set push_them_out_A_length [llength [split $push_them_out_A]]
-	    # puts "$push_them_out_A $push_them_out_A_length"
-
-	    # puts "$dummy_switch DUMMY SWITCH"
-
-	    while {$push_them_out_A_length > 0 && $dummy_switch == "YES"} {
-
-		set push_me_current [lindex [split $push_them_out_A] [expr $push_them_out_A_length -1 ]]
-
-		# set push_me_current_ID $push_me_current
-		set push_me_current_list [.phylo.canvas gettags $push_me_current]
-		set push_me_current_ID [lindex $push_me_current_list 0]
-		set second_tag [lindex $push_me_current_list 1]
-
-		set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-		set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-		set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-		set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-		set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-		set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-		# puts "$push_me_X1 $push_me_Y1 $push_me_X2 $push_me_Y2 $push_me_X $push_me_Y $push_me_current_ID PUSH COORDS"
-
-		if { $push_me_current_ID != $the_Node_A  && $second_tag == "node" } {
-		    # puts "$push_me_current PUSH ME OUT CURRENT"
-		    set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-		    set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-		    set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-		    # puts "$x_distance_AC_first $y_distance_AC_first $distance_between_A_C_first"
-		    # puts "$distance_between_A_C_first $repulsion_distance REPULSION"
-
-		    while {[expr $distance_between_A_C_first] < $repulsion_distance} {
-			set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$random_step_value"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$random_step_value"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "0"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$random_step_value"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$random_step_value"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-			# puts "I am above"
-
-			moveNode $push_me_current_ID $direction_X $direction_Y
-
-			update
-
-			# puts "$direction_X $direction_Y DIRECTION X Y"
-
-			# puts "I am below"
-
-			set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-			set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-			set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-			set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-			set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-			set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-			set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-			set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-			set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-			set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-			set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-			set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-			set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-			set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-			set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-			if { $the_Node_A_X <= 10 } {
-			    moveNode $the_Node_A 30 0
-			    update
-			}
-			if { $the_Node_A_Y <= 10 } {
-			    moveNode $the_Node_A 0 30
-			    update
-			}
-			if { $the_Node_A_X >= $iron_wall } {
-			    moveNode $the_Node_A -30 0
-			    update
-			}
-			if { $the_Node_A_Y >= $iron_wall} {
-			    moveNode $the_Node_A 0 -30
-			    update
-			}
-		    }
-		}
-		incr push_them_out_A_length -1
-	    }
-	    ##############  PUSH ME OUT END  ##############
-
-	    # puts "I am out"
-
-	    set the_Node_A $abc_tag$current_seq_ID_A
-	    set the_Node_B $abc_tag$current_seq_ID_B
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-	    set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-	    set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-	    set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-	    set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-	    set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-	    set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-	    set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-	    set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-	    if {[expr $distance_between_A_B_first] >= [expr $frucht_gold_precision*[expr ($edge_wight_coefficient - $current_identity*$current_identity)]] && $current_identity >= $level_of_similarity_6} {
-
-		set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$attraction_random_step"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$attraction_random_step"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$attraction_random_step"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-		set x_distance_AB_second abs([expr [expr $the_Node_A_X + $direction_X] - $the_Node_B_X])
-		set y_distance_AB_second abs([expr [expr $the_Node_A_Y + $direction_Y] - $the_Node_B_Y])
-		set distance_between_A_B_second hypot($x_distance_AB_second,$y_distance_AB_second)
-		if {[expr $distance_between_A_B_second - $distance_between_A_B_first] < 0} {
-		    moveNode $the_Node_A $direction_X $direction_Y
-		    update
-		}
-
-		set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-		set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-		set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-		set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-		set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-		set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-		set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-		set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-		set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-		set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-		set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-		set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-		set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-		set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-		set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-		if { $the_Node_A_X <= 10 } {
-		    moveNode $the_Node_A 30 0
-		    update
-		}
-		if { $the_Node_A_Y <= 10 } {
-		    moveNode $the_Node_A 0 30
-		    update
-		}
-		if { $the_Node_A_X >= $iron_wall } {
-		    moveNode $the_Node_A -30 0
-		    update
-		}
-		if { $the_Node_A_Y >= $iron_wall } {
-		    moveNode $the_Node_A 0 -30
-		    update
-		}
-	    }
-
-	    ### NODE B ###
-
-	    set the_Node_A $abc_tag$current_seq_ID_B
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    # puts "$the_Node_A_X1 $the_Node_A_Y1 $the_Node_A_X2 $the_Node_A_Y2 $the_Node_A_X $the_Node_A_Y $the_Node_A NODE_A COORDS"
-
-	    if {$the_Node_A == ""} {
-		continue
-	    }
-	    set the_Node_B $current_seq_ID_A
-	    if {$the_Node_B == ""} {
-		continue
-	    }
-	    ############## PUSH ME OUT BEGIN ##############
-
-	    set dummy_switch_random [expr rand()]
-
-	    if {$dummy_switch_random >= 0.75 && $frucht_gold_limit > 0} {
-		set dummy_switch "NO"
-	    } else {
-		set dummy_switch "YES"
-	    }
-
-	    set push_them_out_A [.phylo.canvas find enclosed \
-		[expr $the_Node_A_X - $repulsion_distance] [expr $the_Node_A_Y - $repulsion_distance] \
-		[expr $the_Node_A_X + $repulsion_distance] [expr $the_Node_A_Y + $repulsion_distance] ]
-
-	    set push_them_out_A_length [llength [split $push_them_out_A]]
-	    # puts "$push_them_out_A $push_them_out_A_length"
-
-	    # puts "$dummy_switch DUMMY SWITCH"
-
-	    while {$push_them_out_A_length > 0 && $dummy_switch == "YES"} {
-
-		set push_me_current [lindex [split $push_them_out_A] [expr $push_them_out_A_length -1 ]]
-
-		# set push_me_current_ID $push_me_current
-		set push_me_current_list [.phylo.canvas gettags $push_me_current]
-		set push_me_current_ID [lindex $push_me_current_list 0]
-		set second_tag [lindex $push_me_current_list 1]
-
-		set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-		set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-		set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-		set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-		set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-		set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-		# puts "$push_me_X1 $push_me_Y1 $push_me_X2 $push_me_Y2 $push_me_X $push_me_Y $push_me_current_ID PUSH COORDS"
-
-		if { $push_me_current_ID != $the_Node_A  && $second_tag == "node" } {
-		    # puts "$push_me_current PUSH ME OUT CURRENT"
-		    set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-		    set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-		    set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-		    # puts "$x_distance_AC_first $y_distance_AC_first $distance_between_A_C_first"
-		    # puts "$distance_between_A_C_first $repulsion_distance REPULSION"
-
-		    while {[expr $distance_between_A_C_first] < $repulsion_distance} {
-			set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$random_step_value"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$random_step_value"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "0"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$random_step_value"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$random_step_value"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-			# puts "I am above"
-
-			moveNode $push_me_current_ID $direction_X $direction_Y
-
-			update
-
-			# puts "$direction_X $direction_Y DIRECTION X Y"
-
-			# puts "I am below"
-
-			set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-			set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-			set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-			set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-			set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-			set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-			set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-			set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-			set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-			set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-			set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-			set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-			set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-			set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-			set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-			if { $the_Node_A_X <= 10 } {
-			    moveNode $the_Node_A 30 0
-			    update
-			}
-			if { $the_Node_A_Y <= 10 } {
-			    moveNode $the_Node_A 0 30
-			    update
-			}
-			if { $the_Node_A_X >= $iron_wall } {
-			    moveNode $the_Node_A -30 0
-			    update
-			}
-			if { $the_Node_A_Y >= $iron_wall} {
-			    moveNode $the_Node_A 0 -30
-			    update
-			}
-		    }
-		}
-		incr push_them_out_A_length -1
-	    }
-	    ##############  PUSH ME OUT END  ##############
-
-	    # puts "I am out"
-
-	    set the_Node_A $abc_tag$current_seq_ID_B
-	    set the_Node_B $abc_tag$current_seq_ID_A
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-	    set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-	    set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-	    set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-	    set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-	    set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-	    set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-	    set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-	    set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-	    if {[expr $distance_between_A_B_first] >= [expr $frucht_gold_precision*[expr ($edge_wight_coefficient - $current_identity*$current_identity)]] && $current_identity >= $level_of_similarity_6} {
-
-		set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$attraction_random_step"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$attraction_random_step"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$attraction_random_step"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-		set x_distance_AB_second abs([expr [expr $the_Node_A_X + $direction_X] - $the_Node_B_X])
-		set y_distance_AB_second abs([expr [expr $the_Node_A_Y + $direction_Y] - $the_Node_B_Y])
-		set distance_between_A_B_second hypot($x_distance_AB_second,$y_distance_AB_second)
-		if {[expr $distance_between_A_B_second - $distance_between_A_B_first] < 0} {
-		    moveNode $the_Node_A $direction_X $direction_Y
-		    update
-		}
-
-		set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-		set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-		set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-		set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-		set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-		set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-		set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-		set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-		set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-		set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-		set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-		set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-		set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-		set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-		set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-		if { $the_Node_A_X <= 10 } {
-		    moveNode $the_Node_A 30 0
-		    update
-		}
-		if { $the_Node_A_Y <= 10 } {
-		    moveNode $the_Node_A 0 30
-		    update
-		}
-		if { $the_Node_A_X >= $iron_wall } {
-		    moveNode $the_Node_A -30 0
-		    update
-		}
-		if { $the_Node_A_Y >= $iron_wall } {
-		    moveNode $the_Node_A 0 -30
-		    update
-		}
-	    }
-
-	    ################
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_A -fill $old_node_colour_A \
-		    -outline $old_node_fill_A
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_B -fill $old_node_colour_B \
-		    -outline $old_node_fill_B
-	    update
-	    ################
-	}
-	###############
-	bell
-	###############
-	incr frucht_gold_limit -1
-    }
-}
-
-proc Node_Painter {} {
-
-    destroy .node_painter
-    toplevel .node_painter
-    wm title .node_painter "Node Painter"
-    wm protocol .node_painter WM_DELETE_WINDOW "destroy .node_painter"
-    wm minsize .node_painter 470 260
-
-    global nodes_group1 
-    global nodes_group2 
-    global nodes_group3
-    global nodes_group4 
-    global nodes_group5 
-    global nodes_group6
-
-    set nodes_group1 "./Group/subgroup_1.txt"
-    set nodes_group2 "./Group/subgroup_2.txt"
-    set nodes_group3 "./Group/subgroup_3.txt"
-    set nodes_group4 "./Group/subgroup_4.txt"
-    set nodes_group5 "./Group/subgroup_5.txt"
-    set nodes_group6 "./Group/subgroup_6.txt"
-
-    global color_group1 
-    global color_group2 
-    global color_group3 
-    global color_group4 
-    global color_group5 
-    global color_group6
-
-    global outline_group1 
-    global outline_group2 
-    global outline_group3 
-    global outline_group4 
-    global outline_group5 
-    global outline_group6
-
-    set color_group1 "green3"
-    set color_group2 "orange"
-    set color_group3 "blue"
-    set color_group4 "red"
-    set color_group5 "violet"
-    set color_group6 "blue"
-
-    set outline_group1 "yellow"
-    set outline_group2 "yellow"
-    set outline_group3 "yellow"
-    set outline_group4 "yellow"
-    set outline_group5 "yellow"
-    set outline_group6 "cyan"
-
-    #####
-
-    label .node_painter.group_list -text "group list:" -bg gray -width 14
-    place .node_painter.group_list -x 120 -y 10
-
-    label .node_painter.fill_color -text "fill color:" -bg gray -width 10
-    place .node_painter.fill_color -x 250 -y 10
-
-    label .node_painter.outline_color -text "outline:" -bg gray -width 8
-    place .node_painter.outline_color -x 330 -y 10
-
-    #####
-    label .node_painter.select_group1_label -text "group1:" -bg gray -width 12
-    place .node_painter.select_group1_label -x 10 -y 40
-
-    entry .node_painter.select_group1_entry -relief sunken \
-	    -textvariable nodes_group1 -bg lightyellow -width 20
-    place .node_painter.select_group1_entry -x 105 -y 40
-
-    entry .node_painter.color_group1_entry -relief sunken \
-	    -textvariable color_group1 -bg lightyellow -width 8
-    place .node_painter.color_group1_entry -x 260 -y 40
-
-    entry .node_painter.outline_group1_entry -relief sunken \
-	    -textvariable outline_group1 -bg lightyellow -width 8
-    place .node_painter.outline_group1_entry -x 330 -y 40
-
-    button .node_painter.paint_group1 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color1}
-    place .node_painter.paint_group1 -x 400 -y 38
-    #####
-    label .node_painter.select_group2_label -text "group2:" -bg gray -width 12
-    place .node_painter.select_group2_label -x 10 -y 70
-
-    entry .node_painter.select_group2_entry -relief sunken \
-	    -textvariable nodes_group2 -bg lightyellow -width 20
-    place .node_painter.select_group2_entry -x 105 -y 70
-
-    entry .node_painter.color_group2_entry -relief sunken \
-	    -textvariable color_group2 -bg lightyellow -width 8
-    place .node_painter.color_group2_entry -x 260 -y 70
-
-    entry .node_painter.outline_group2_entry -relief sunken \
-	    -textvariable outline_group2 -bg lightyellow -width 8
-    place .node_painter.outline_group2_entry -x 330 -y 70
-
-    button .node_painter.paint_group2 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color2}
-    place .node_painter.paint_group2 -x 400 -y 68
-    #####
-    label .node_painter.select_group3_label -text "group3:" -bg gray -width 12
-    place .node_painter.select_group3_label -x 10 -y 100
-
-    entry .node_painter.select_group3_entry -relief sunken \
-	    -textvariable nodes_group3 -bg lightyellow -width 20
-    place .node_painter.select_group3_entry -x 105 -y 100
-
-    entry .node_painter.color_group3_entry -relief sunken \
-	    -textvariable color_group3 -bg lightyellow -width 8
-    place .node_painter.color_group3_entry -x 260 -y 100
-
-    entry .node_painter.outline_group3_entry -relief sunken \
-	    -textvariable outline_group3 -bg lightyellow -width 8
-    place .node_painter.outline_group3_entry -x 330 -y 100
-
-    button .node_painter.paint_group3 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color3}
-    place .node_painter.paint_group3 -x 400 -y 98
-    #####
-    label .node_painter.select_group4_label -text "group4:" -bg gray -width 12
-    place .node_painter.select_group4_label -x 10 -y 130
-
-    entry .node_painter.select_group4_entry -relief sunken \
-	    -textvariable nodes_group4 -bg lightyellow -width 20
-    place .node_painter.select_group4_entry -x 105 -y 130
-
-    entry .node_painter.color_group4_entry -relief sunken \
-	    -textvariable color_group4 -bg lightyellow -width 8
-    place .node_painter.color_group4_entry -x 260 -y 130
-
-    entry .node_painter.outline_group4_entry -relief sunken \
-	    -textvariable outline_group4 -bg lightyellow -width 8
-    place .node_painter.outline_group4_entry -x 330 -y 130
-
-    button .node_painter.paint_group4 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color4}
-    place .node_painter.paint_group4 -x 400 -y 128
-    #####
-    label .node_painter.select_group5_label -text "group5:" -bg gray -width 12
-    place .node_painter.select_group5_label -x 10 -y 160
-
-    entry .node_painter.select_group5_entry -relief sunken \
-	    -textvariable nodes_group5 -bg lightyellow -width 20
-    place .node_painter.select_group5_entry -x 105 -y 160
-
-    entry .node_painter.color_group5_entry -relief sunken \
-	    -textvariable color_group5 -bg lightyellow -width 8
-    place .node_painter.color_group5_entry -x 260 -y 160
-
-    entry .node_painter.outline_group5_entry -relief sunken \
-	    -textvariable outline_group5 -bg lightyellow -width 8
-    place .node_painter.outline_group5_entry -x 330 -y 160
-
-    button .node_painter.paint_group5 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color5}
-    place .node_painter.paint_group5 -x 400 -y 158
-    #####
-    label .node_painter.select_group6_label -text "group6:" -bg gray -width 12
-    place .node_painter.select_group6_label -x 10 -y 190
-
-    entry .node_painter.select_group6_entry -relief sunken \
-	    -textvariable nodes_group6 -bg lightyellow -width 20
-    place .node_painter.select_group6_entry -x 105 -y 190
-
-    entry .node_painter.color_group6_entry -relief sunken \
-	    -textvariable color_group6 -bg lightyellow -width 8
-    place .node_painter.color_group6_entry -x 260 -y 190
-
-    entry .node_painter.outline_group6_entry -relief sunken \
-	    -textvariable outline_group6 -bg lightyellow -width 8
-    place .node_painter.outline_group6_entry -x 330 -y 190
-
-    button .node_painter.paint_group6 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color6}
-    place .node_painter.paint_group6 -x 400 -y 188
-    #####
-
-    button .node_painter.howto -text "HowTo" -bg gray -width 8 -command {HowTo_Paint_Nodes}
-    place .node_painter.howto -x 20 -y 225
-
-    button .node_painter.dismiss -text "Dismiss" -bg gray -width 8 -command {destroy .node_painter}
-    place .node_painter.dismiss -x 140 -y 225
-}
-
-proc HowTo_Paint_Nodes {} {
-
-    destroy .how_to_paint
-    toplevel .how_to_paint
-    wm title .how_to_paint "HowTo Paint Nodes" 
-    wm protocol .how_to_paint WM_DELETE_WINDOW "destroy .how_to_paint"
-
-    label .how_to_paint.text -text "
-To paint nodes in different colors you need
-to set up lists of nodes belonging to distinct 
-groups and place them in \"Group\" directory. 
-By clicking \"paint\" program changes color 
-of nodes in a given list.
-"
-    button .how_to_paint.dismiss -text "Dismiss" \
-	-command "destroy .how_to_paint" -bg gray -width 8
-
-    pack .how_to_paint.text -padx 7 -pady 7
-    pack .how_to_paint.dismiss -padx 3 -pady 3
-}
-
-proc Change_Node_Color1 {} {
-
-    global abc_tag
-    global nodes_group1 
-    global color_group1
-    global outline_group1
-
-    set open_current_group [open $nodes_group1 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group1 -outline $outline_group1
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color2 {} {
-
-    global abc_tag
-    global nodes_group2 
-    global color_group2
-    global outline_group2
-
-    set open_current_group [open $nodes_group2 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group2 -outline $outline_group2
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color3 {} {
-
-    global abc_tag
-    global nodes_group3 
-    global color_group3
-    global outline_group3
-
-    set open_current_group [open $nodes_group3 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group3 -outline $outline_group3
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color4 {} {
-
-    global abc_tag
-    global nodes_group4 
-    global color_group4
-    global outline_group4
-
-    set open_current_group [open $nodes_group4 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group4 -outline $outline_group4
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color5 {} {
-
-    global abc_tag
-    global nodes_group5 
-    global color_group5
-    global outline_group5
-
-    set open_current_group [open $nodes_group5 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group5 -outline $outline_group5
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color6 {} {
-
-    global abc_tag
-    global nodes_group6 
-    global color_group6
-    global outline_group6
-
-    set open_current_group [open $nodes_group6 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group6 -outline $outline_group6
-    }
-    close $open_current_group
-    bell
-}
-
-proc Canvas_Editor {} {
-
-    destroy .c_editor
-    toplevel .c_editor
-
-    wm title .c_editor "Canvas Editor" 
-    wm protocol .c_editor WM_DELETE_WINDOW "destroy .c_editor"
-    wm minsize .c_editor 512 260
-
-    global selected_canvas
-    global font_color_canvas
-    global font_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-    global text_tag
-    global canvas_editor_text
-    global curX 
-    global curY 
-
-    set font_color_label $font_color_canvas
-    set selected_canvas ".phylo.canvas"
-    set canvas_editor_text "my lovely node"
-    set canvas_editor_font_type "helvetica"
-    set canvas_editor_font_size 12
-    set canvas_editor_font_style normal
-    set text_tag text_tag_01
-    set curX 125
-    set curY 125
-
-    global graph_style
-    global graph_tag
-    global graphX1 
-    global graphX2
-    global graphY1 
-    global graphY2
-    global graph_fill_color
-    global graph_outline_color
-
-    set graph_style "oval"
-    set graph_tag "graph_tag_01"
-    set graphX1 100 
-    set graphY1 100
-    set graphX2 24
-    set graphY2 24
-    set graph_fill_color ""
-    set graph_outline_color "white"
-
-    ###########################################################################
-
-    label .c_editor.select_text_label -text "select text:" -bg yellow3 -width 12
-    place .c_editor.select_text_label -x 10 -y 10
-
-    entry .c_editor.select_text_entry -relief sunken \
-	    -textvariable canvas_editor_text -bg gold -width 22
-    place .c_editor.select_text_entry -x 105 -y 10
-
-    label .c_editor.select_canvas -text "select canvas:" -bg gray -width 14
-    place .c_editor.select_canvas -x 280 -y 10
-
-    entry .c_editor.select_canvas_entry -relief sunken \
-	    -textvariable selected_canvas -bg lightblue -width 15
-    place .c_editor.select_canvas_entry -x 390 -y 10
-
-    ########################
-
-    label .c_editor.text_color_label -text "text color:" -bg gray -width 12
-    place .c_editor.text_color_label -x 10 -y 40
-
-    entry .c_editor.text_color_entry -relief sunken \
-	    -textvariable font_color_label -bg lightyellow -width 20
-    place .c_editor.text_color_entry -x 105 -y 40
-
-    label .c_editor.select_graph_label -text "Graphical Label:" -bg yellow3 -width 18
-    place .c_editor.select_graph_label -x 330 -y 40
-
-    ########################
-
-    label .c_editor.text_type_label -text "font type:" -bg gray -width 12
-    place .c_editor.text_type_label -x 10 -y 70
-
-    entry .c_editor.text_type_entry -relief sunken \
-	    -textvariable canvas_editor_font_type -bg lightyellow -width 20
-    place .c_editor.text_type_entry -x 105 -y 70
-
-    label .c_editor.graph_style_label -text "shape:" -bg gray -width 12
-    place .c_editor.graph_style_label -x 300 -y 70
-
-    entry .c_editor.graph_style_entry -relief sunken \
-	    -textvariable graph_style -bg lightyellow -width 14
-    place .c_editor.graph_style_entry -x 395 -y 70
-
-    ########################
-
-    label .c_editor.text_size_label -text "font size:" -bg gray -width 12
-    place .c_editor.text_size_label -x 10 -y 100
-
-    entry .c_editor.text_size_entry -relief sunken \
-	    -textvariable canvas_editor_font_size -bg lightyellow -width 20
-    place .c_editor.text_size_entry -x 105 -y 100
-
-    label .c_editor.graph_fill_label -text "fill:" -bg gray -width 12
-    place .c_editor.graph_fill_label -x 300 -y 100
-
-    entry .c_editor.graph_fill_entry -relief sunken \
-	    -textvariable graph_fill_color -bg lightyellow -width 14
-    place .c_editor.graph_fill_entry -x 395 -y 100
-
-    ########################
-
-    label .c_editor.text_style_label -text "font style:" -bg gray -width 12
-    place .c_editor.text_style_label -x 10 -y 130
-
-    entry .c_editor.text_style_entry -relief sunken \
-	    -textvariable canvas_editor_font_style -bg lightyellow -width 20
-    place .c_editor.text_style_entry -x 105 -y 130
-
-    label .c_editor.graph_outline_label -text "outline:" -bg gray -width 12
-    place .c_editor.graph_outline_label -x 300 -y 130
-
-    entry .c_editor.graph_outline_entry -relief sunken \
-	    -textvariable graph_outline_color -bg lightyellow -width 14
-    place .c_editor.graph_outline_entry -x 395 -y 130
-
-    ########################
-
-    label .c_editor.current_X_label -text "current X:" -bg gray -width 12
-    place .c_editor.current_X_label -x 10 -y 160
-
-    label .c_editor.current_Y_label -text "current Y:" -bg gray -width 12
-    place .c_editor.current_Y_label -x 10 -y 190
-
-    entry .c_editor.current_X_entry -relief sunken \
-	    -textvariable curX -bg lightyellow -width 20
-    place .c_editor.current_X_entry -x 105 -y 160
-
-    entry .c_editor.current_Y_entry -relief sunken \
-	    -textvariable curY -bg lightyellow -width 20
-    place .c_editor.current_Y_entry -x 105 -y 190
-
-    label .c_editor.graphX1 -text "X1" -bg gray -width 4
-    place .c_editor.graphX1 -x 300 -y 160
-
-    label .c_editor.graphY1 -text "Y1" -bg gray -width 4
-    place .c_editor.graphY1 -x 300 -y 190
-
-    label .c_editor.graphX2 -text "X2" -bg gray -width 4
-    place .c_editor.graphX2 -x 400 -y 160
-
-    label .c_editor.graphY2 -text "Y2" -bg gray -width 4
-    place .c_editor.graphY2 -x 400 -y 190
-
-    entry .c_editor.graphX1_entry -relief sunken \
-	    -textvariable graphX1 -bg lightyellow -width 6
-    place .c_editor.graphX1_entry -x 340 -y 160
-
-    entry .c_editor.graphY1_entry -relief sunken \
-	    -textvariable graphY1 -bg lightyellow -width 6
-    place .c_editor.graphY1_entry -x 340 -y 190
-
-    entry .c_editor.graphX2_entry -relief sunken \
-	    -textvariable graphX2 -bg lightyellow -width 6
-    place .c_editor.graphX2_entry -x 440 -y 160
-
-    entry .c_editor.graphY2_entry -relief sunken \
-	    -textvariable graphY2 -bg lightyellow -width 6
-    place .c_editor.graphY2_entry -x 440 -y 190
-
-    ########################
-
-    button .c_editor.submit_text -text "Add Text to Canvas" \
-	    -command {Place_Text_on_Canvas} -bg orange -width 17
-    place .c_editor.submit_text -x 20 -y 220
-
-    button .c_editor.submit_graphics -text "Add Label to Canvas" \
-	    -command {Add_Graphics_to_Canvas} -bg orange -width 17
-    place .c_editor.submit_graphics -x 340 -y 220
-
-    button .c_editor.how_to -text "HowTo" \
-	    -command {How_To_Edit_Canvas} -bg gray -width 6
-    place .c_editor.how_to -x 180 -y 220
-
-    button .c_editor.dismiss -text "Dismiss" \
-	    -command {destroy .c_editor} -bg gray -width 6
-    place .c_editor.dismiss -x 260 -y 220
-
-    ###########################################################################
-}
-
-proc Move_Text_Label { node xDist yDist } {
-
-    global selected_canvas 
-    global curX 
-    global curY
-
-    $selected_canvas move $node $xDist $yDist
-    incr curX $xDist
-    incr curY $yDist
-}
-
-proc Move_Graph_Label { node xDist1 yDist1 } {
-
-    global selected_canvas
-    global graphX1 
-    global graphX2
-    global graphY1 
-    global graphY2
-
-    $selected_canvas move $node $xDist1 $yDist1
-    incr graphX1 $xDist1
-    incr graphY1 $yDist1
-}
-
-proc Place_Text_on_Canvas {} {
-
-    global selected_canvas 
-    global text_tag
-    global curX 
-    global curY 
-    global canvas_editor_text
-    global font_color_canvas 
-    global font_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    $selected_canvas create text $curX $curY -text "$canvas_editor_text" \
-	-font "$canvas_editor_font_type $canvas_editor_font_size $canvas_editor_font_style" \
-	-anchor sw -fill $font_color_label -tags "$text_tag removable"
-
-    $selected_canvas bind $text_tag <Button-1> {
-	set curX [expr int(round([.phylo.canvas canvasx %x]))]
-	set curY [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-
-    $selected_canvas bind $text_tag <B1-Motion> {
-	Move_Text_Label [$selected_canvas find withtag current] \
-	[expr [expr int(round([.phylo.canvas canvasx %x]))] - $curX] \
-	[expr [expr int(round([.phylo.canvas canvasy %y]))] - $curY]
-    set curX [expr int(round([.phylo.canvas canvasx %x]))]
-    set curY [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-}
-
-proc Add_Graphics_to_Canvas {} {
-
-    global graph_style
-    global graph_tag
-    global graphX1 
-    global graphX2
-    global graphY1 
-    global graphY2
-    global graph_fill_color
-    global graph_outline_color
-    global selected_canvas
-
-    $selected_canvas create $graph_style $graphX1 $graphY1 \
-	[expr $graphX1 + $graphX2] \
-	[expr $graphY1 + $graphY2] \
-	-fill $graph_fill_color -outline $graph_outline_color -tags "$graph_tag removable"
-
-    $selected_canvas bind $graph_tag <Button-1> {
-    set graphX1 [expr int(round([.phylo.canvas canvasx %x]))]
-    set graphY1 [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-
-    $selected_canvas bind $graph_tag <B1-Motion> {
-	Move_Graph_Label [$selected_canvas find withtag current] \
-	[expr [expr int(round([.phylo.canvas canvasx %x]))] - $graphX1] \
-	[expr [expr int(round([.phylo.canvas canvasy %y]))] - $graphY1] 
-    set graphX1 [expr int(round([.phylo.canvas canvasx %x]))]
-    set graphY1 [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-}
-
-proc How_To_Edit_Canvas {} {
-
-    destroy .how_to_edit_canvas
-    toplevel .how_to_edit_canvas
-    wm title .how_to_edit_canvas "Canvas Editing HowTo" 
-    wm protocol .how_to_edit_canvas WM_DELETE_WINDOW "destroy .how_to_edit_canvas"
-
-    label .how_to_edit_canvas.text -text "
-By using this Canvas Editor you may edit and finish 
-your project by adding text and graphical labels over 
-the graph generated by PhyloGrapher. 
-By left-button mouse click you may move the text and 
-labels over PhyloGrapher canvas. By pressing \"Cntrl-d\" 
-key you may delete the text and labels you don't need.
-"
-    button .how_to_edit_canvas.dismiss -text "Dismiss" \
-	-command "destroy .how_to_edit_canvas" -bg gray -width 8
-
-    pack .how_to_edit_canvas.text -padx 7 -pady 7
-    pack .how_to_edit_canvas.dismiss -padx 3 -pady 3
-}
-
-proc Global_Configuration {} {
-
-    global object_fill_color
-    global object_fill_color_connect
-    global object_outline
-    global object_outline_connect
-    global object_shape
-    global object_x_size
-    global object_y_size
-
-    global canvas_background
-    global node_color_label
-    global edge_color_label
-    global font_color_canvas
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    global url_prefix
-    global url_suffix
-
-    global main_cursor_color
-    global input_type
-    global fake_edge_color
-
-    destroy .global_configuration
-
-    toplevel .global_configuration
-    .global_configuration config -bg black
-    wm title .global_configuration "Project Configuration"
-    wm protocol .global_configuration WM_DELETE_WINDOW "destroy .global_configuration"
-
-    label .global_configuration.l1 -text "Node fill color: " -bg black -fg lightblue
-    entry .global_configuration.e1 -relief sunken -textvariable object_fill_color \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l1 .global_configuration.e1
-
-    label .global_configuration.l2 -text "Node outline color: " -bg black -fg lightblue
-    entry .global_configuration.e2 -relief sunken -textvariable object_outline \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l2 .global_configuration.e2
-
-    label .global_configuration.l3 -text "Node color if connected: " -bg black -fg lightblue
-    entry .global_configuration.e3 -relief sunken -textvariable object_fill_color_connect \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l3 .global_configuration.e3
-
-    label .global_configuration.l4 -text "Node outline if connected: " -bg black -fg lightblue
-    entry .global_configuration.e4 -relief sunken -textvariable object_outline_connect \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l4 .global_configuration.e4
-
-    label .global_configuration.l5 -text "Node shape: " -bg black -fg lightblue
-    entry .global_configuration.e5 -relief sunken -textvariable object_shape \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l5 .global_configuration.e5
-
-    label .global_configuration.l6 -text "Node X dimension: " -bg black -fg lightblue
-    entry .global_configuration.e6 -relief sunken -textvariable object_x_size \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l6 .global_configuration.e6
-
-    label .global_configuration.l7 -text "Node Y dimension: " -bg black -fg lightblue
-    entry .global_configuration.e7 -relief sunken -textvariable object_y_size \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l7 .global_configuration.e7
-
-    label .global_configuration.l8 -text "Canvas background: " -bg black -fg lightblue
-    entry .global_configuration.e8 -relief sunken -textvariable canvas_background \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l8 .global_configuration.e8
-
-    label .global_configuration.l9 -text "Node label color: " -bg black -fg lightblue
-    entry .global_configuration.e9 -relief sunken -textvariable node_color_label \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l9 .global_configuration.e9
-
-    label .global_configuration.l10 -text "Edge label color: " -bg black -fg lightblue
-    entry .global_configuration.e10 -relief sunken -textvariable edge_color_label \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l10 .global_configuration.e10
-
-    label .global_configuration.l11 -text "Cursor color: " -bg black -fg lightblue
-    entry .global_configuration.e11 -relief sunken -textvariable main_cursor_color \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l11 .global_configuration.e11
-
-    label .global_configuration.l12 -text "URL prefix: " -bg black -fg lightblue
-    entry .global_configuration.e12 -relief sunken -textvariable url_prefix \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l12 .global_configuration.e12
-
-    label .global_configuration.l13 -text "URL suffix: " -bg black -fg lightblue
-    entry .global_configuration.e13 -relief sunken -textvariable url_suffix \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l13 .global_configuration.e13
-
-    label .global_configuration.l14a -text "Graph Drawing Mode: " -bg black -fg lightblue
-    label .global_configuration.l14b -text "" -bg black -fg lightblue
-    radiobutton .global_configuration.e14a -relief sunken -variable input_type \
-	    -text " From Data File " -value "DATA" -bg blue4 -fg gray80
-    radiobutton .global_configuration.e14b -relief sunken -variable input_type \
-	    -text " Manual Drawing " -value "MANUAL" -bg blue4 -fg gray80
-    grid .global_configuration.l14a .global_configuration.e14a
-    grid .global_configuration.l14b .global_configuration.e14b
-
-    label .global_configuration.l15 -text "Edge Color (Manual): " -bg black -fg lightblue
-    entry .global_configuration.e15 -relief sunken -textvariable fake_edge_color \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l15 .global_configuration.e15
-
-}
-
-proc Smith_Waterman {} {
-
-    set is_canvas_there [winfo exist .phylo.canvas]
-
-    destroy .smith_waterman
-
-    global fasta_to_run
-    global sw_node_A 
-    global sw_node_B
-    global database_dir
-    global database_ext
-    global smith_waterman_counter
-
-    set sw_node_A ""
-    set sw_node_B ""
-
-    set fasta_to_run "ssearch34"
-    set database_dir "./Database/TIGR/"
-    set database_ext "txt"
-    set smith_waterman_counter 0
-
-    toplevel .smith_waterman
-    .smith_waterman config -bg black
-    if {$is_canvas_there == 1} {
-	wm transient .smith_waterman .phylo.canvas
-    }
-    wm title .smith_waterman "Smith Waterman Search"
-    wm protocol .smith_waterman WM_DELETE_WINDOW "destroy .smith_waterman"
-
-    label .smith_waterman.db -text "database: " -bg black -fg lightblue
-    entry .smith_waterman.db_dir -relief sunken -textvariable database_dir \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .smith_waterman.db .smith_waterman.db_dir
-
-    label .smith_waterman.ext -text "file ext: " -bg black -fg lightblue
-    entry .smith_waterman.ext_entry -relief sunken -textvariable database_ext \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .smith_waterman.ext .smith_waterman.ext_entry
-
-    label .smith_waterman.fasta -text "program: " -bg black -fg lightblue
-    entry .smith_waterman.fasta2run -relief sunken -textvariable fasta_to_run \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .smith_waterman.fasta .smith_waterman.fasta2run
-
-    label .smith_waterman.label_A -text "Node A: " -bg black -fg lightblue
-    entry .smith_waterman.entry_A -relief sunken -textvariable sw_node_A \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .smith_waterman.label_A .smith_waterman.entry_A
-    
-    label .smith_waterman.label_B -text "Node B: " -bg black -fg lightblue
-    entry .smith_waterman.entry_B -relief sunken -textvariable sw_node_B \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .smith_waterman.label_B .smith_waterman.entry_B
-
-    label .smith_waterman.empty -text "" -bg black
-
-    button .smith_waterman.run_it -text "Show Alignment" \
-	    -command "Show_Alignment"
-
-    button .smith_waterman.dismiss -text "Dismiss" \
-	    -command {destroy .smith_waterman}
-
-    grid .smith_waterman.empty .smith_waterman.run_it -padx 3 -pady 3
-    grid .smith_waterman.empty .smith_waterman.dismiss -padx 3 -pady 3
-
-}
-
-proc Show_Alignment {} {
-
-    global sw_node_A 
-    global sw_node_B
-
-    global database_dir
-    global database_ext
-    global fasta_to_run
-    global smith_waterman_counter
-
-    incr smith_waterman_counter
-
-    exec $fasta_to_run -q -w 100 $database_dir$sw_node_A\.$database_ext $database_dir$sw_node_B\.$database_ext \
-	> ./Temp/ssearch_alignment_$smith_waterman_counter.tmp 
-
-    Display_Alignment
-}
-
-proc Display_Alignment {} {
-
-    # global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    global sw_node_A 
-    global sw_node_B
-    global fasta_to_run
-    global smith_waterman_counter
-
-    regsub {\..*} $sw_node_A "" sw_node_A_w
-    regsub {\..*} $sw_node_B "" sw_node_B_w
-
-    puts $sw_node_A\tvs\t$sw_node_B
-
-    # destroy .scrolled_alignment_$smith_waterman_counter
-    set t [Scrolled_Text_Fasta .scrolled_alignment_$smith_waterman_counter $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w -width 110 -height 40 -font "courier $canvas_editor_font_size $canvas_editor_font_style"]
-    set in [open "./Temp/ssearch_alignment_$smith_waterman_counter.tmp" r]
-    $t insert end [read $in]
-    close $in
-    wm title .scrolled_alignment_$smith_waterman_counter$sw_node_A_w$sw_node_B_w "$fasta_to_run Alignment of $sw_node_A vs $sw_node_B"
-    wm protocol .scrolled_alignment_$smith_waterman_counter$sw_node_A_w$sw_node_B_w WM_DELETE_WINDOW \
-	"destroy .scrolled_alignment_$smith_waterman_counter$sw_node_A_w$sw_node_B_w"
-
-    bell
-    # incr smith_waterman_counter
-}
-
-#############################################
-#             MAIN BODY                     #
-#############################################
-
-wm title . "PhyloGrapher"
-wm protocol . WM_DELETE_WINDOW "destroy ."
-wm minsize . 520 435
-. config -bg black
-
-global tcl_precision
-set tcl_precision 4
-
-set phylo_logo [image create photo -file ./Images/PhyloGrapherLogo.gif]
-label .phylo_logo -image $phylo_logo -bg black
-place .phylo_logo -x 24 -y 12
-
-# VARIABLES
-
-global abc_tag
-global canvas_background 
-global font_color_canvas
-global font_color_label
-global horizontal_size 
-global vertical_size
-global genes_range
-global graph_radius
-global genes_id_data_file 
-global matrix_data_file 
-global graph_data_file 
-global html_image_map 
-global edges_data_file
-global dots_coord_file
-global dots_coord_file_restore
-
-global level_of_similarity_1 
-global level_of_similarity_2 
-global level_of_similarity_3
-global level_of_similarity_4 
-global level_of_similarity_5 
-global level_of_similarity_6
-
-global color_of_similarity_1 
-global color_of_similarity_2 
-global color_of_similarity_3
-global color_of_similarity_4 
-global color_of_similarity_5 
-global color_of_similarity_6
-
-global thickness_of_similarity_1 
-global thickness_of_similarity_2 
-global thickness_of_similarity_3
-global thickness_of_similarity_4 
-global thickness_of_similarity_5 
-global thickness_of_similarity_6
-
-global edgeCounter
-global fake_identity_counter
-
-global canvas_editor_font_type
-global canvas_editor_font_size
-global canvas_editor_font_style
-
-global object_fill_color
-global object_fill_color_connect
-global object_outline
-global object_outline_connect
-global object_shape
-global object_x_size
-global object_y_size
-
-global node_color_label
-global edge_color_label
-global main_cursor_color
-
-global url_prefix
-global url_suffix
-
-global restore_speed
-global input_type
-global fake_edge_color
-
-set restore_speed "FAST"
-set input_type "DATA"
-set fake_edge_color "yellow"
-
-set object_fill_color "blue4"
-set object_outline "green4"
-set object_fill_color_connect "blue"
-set object_outline_connect "cyan"
-set object_shape "oval"
-# set object_shape "rect"
-set object_x_size 7
-set object_y_size 7
-
-set node_color_label "cyan"
-set edge_color_label "violet"
-set main_cursor_color "white"
-
-set canvas_editor_font_type "helvetica"
-set canvas_editor_font_size 12
-set canvas_editor_font_style "normal"
-
-set font_color_canvas white
-set edgeCounter 0
-set fake_identity_counter 1
-
-set level_of_similarity_1 0.90
-set level_of_similarity_2 0.80
-set level_of_similarity_3 0.75
-set level_of_similarity_4 0.70
-set level_of_similarity_5 0.65
-set level_of_similarity_6 0.60
-
-set color_of_similarity_1 "white"
-set color_of_similarity_2 "gold"
-set color_of_similarity_3 "orange"
-set color_of_similarity_4 "gray80"
-set color_of_similarity_5 "gray60"
-set color_of_similarity_6 "gray40"
-
-set thickness_of_similarity_1 3 
-set thickness_of_similarity_2 2
-set thickness_of_similarity_3 1
-set thickness_of_similarity_4 1
-set thickness_of_similarity_5 1
-set thickness_of_similarity_6 1
-
-set horizontal_size 700
-set canvas_background "black"
-
-set genes_id_data_file "./Matrix/My_ID_List.txt"
-set matrix_data_file "./Matrix/My_Matrix_File.txt"
-set post_script_file "phylo_postscript.ps"
-set html_image_map "phylo_image_map.html"
-set dots_coord_file "phylo_coords.txt"
-set dots_coord_file_restore "phylo_coords_r.txt"
-set edges_data_file "phylo_edges.txt"
-set genes_range 0
-
-set url_prefix "www.atgc.org"
-set url_suffix ""
-
-set abc_tag "abc_id_"
-
-# BUTTONS
-
-##########################################
-
-button .howto -text "HowTo" -command {HowTo_PhyloWebify} -bg blue4 -fg lightblue -width 7
-place .howto -x 320 -y 45
-
-button .about -text "About" -command {About_PhyloGrapher} -bg blue4 -fg lightblue -width 7
-place .about -x 320 -y 10
-
-button .exit -text "Exit" -command {destroy .} \
-	-bg gray30 -height 1 -fg gray75 -width 7
-place .exit -x 415 -y 10
-
-button .global_color_config -text "Config" -command {Global_Configuration} \
-	-bg blue4 -fg lightblue -width 7 -height 1
-place .global_color_config -x 415 -y 45
-
-button .extras -text "Extras" -command {Show_Extras} \
-	-bg blue4 -height 1 -fg lightblue -width 7
-place .extras -x 415 -y 80
-
-##########################################
-
-label .id_label -text "List of Genes:" -bg black -fg gray75 -width 13
-place .id_label -x 12 -y 90
-
-label .matrix_label -text "Matrix File:" -bg black -fg gray75 -width 12
-place .matrix_label -x 12 -y 120
-
-entry .id_entry -relief sunken -textvariable genes_id_data_file \
-	-bg blue4 -fg white -width 32 -insertbackground lightyellow
-place .id_entry -x 120 -y 90
-
-entry .matrix_entry -relief sunken -textvariable matrix_data_file \
-	-bg blue4 -fg white -width 32 -insertbackground lightyellow
-place .matrix_entry -x 120 -y 120
-
-button .generate_graph -text "Load Data into Memory" -command {Create_Graph_from_Data_MEMORY} \
-		-bg blue4 -fg cyan -width 20 -height 1
-place .generate_graph -x 60 -y 150
-
-label .gene_number_label -text "Number of Nodes:" -bg black -fg gray75 -width 16
-place .gene_number_label -x 373 -y 125
-
-label .gene_number_entry -textvariable genes_range -bg black -fg gold -width 16
-place .gene_number_entry -x 373 -y 145
-
-label .edges_number_label -text "Number of Edges:" -bg black -fg gray75 -width 16
-place .edges_number_label -x 373 -y 175
-
-label .edges_counter_label -textvariable edgeCounter -bg black -fg gold -width 16
-place .edges_counter_label -x 373 -y 195
-
-##########################################
-
-label .identity_color_map -text "Relationship Color Map:" \
-	-bg gray25 -fg gray80 -width 30
-place .identity_color_map -x 30 -y 190
-
-label .level_1 -text "1" -bg gray25 -fg gray80 -width 2
-place .level_1 -x 12 -y 220
-
-label .level_0 -text "1.0 -" -bg gray25 -fg white -width 5
-place .level_0 -x 45 -y 220
-
-entry .level_1_entry -relief sunken -textvariable level_of_similarity_1 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_1_entry -x 100 -y 220
-
-entry .color_1 -relief sunken -textvariable color_of_similarity_1 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_1 -x 155 -y 220
-
-entry .thick_1 -relief sunken -textvariable thickness_of_similarity_1 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_1 -x 245 -y 220
-###
-label .level_2 -text "2" -bg gray25 -fg gray80 -width 2
-place .level_2 -x 12 -y 250
-
-entry .level_1a_entry -relief sunken -textvariable level_of_similarity_1 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_1a_entry -x 45 -y 250
-
-entry .level_2_entry -relief sunken -textvariable level_of_similarity_2 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_2_entry -x 100 -y 250
-
-entry .color_2 -relief sunken -textvariable color_of_similarity_2 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_2 -x 155 -y 250
-
-entry .thick_2 -relief sunken -textvariable thickness_of_similarity_2 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_2 -x 245 -y 250
-###
-label .level_3 -text "3" -bg gray25 -fg gray80 -width 2
-place .level_3 -x 12 -y 280
-
-entry .level_2a_entry -relief sunken -textvariable level_of_similarity_2 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_2a_entry -x 45 -y 280
-
-entry .level_3_entry -relief sunken -textvariable level_of_similarity_3 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_3_entry -x 100 -y 280
-
-entry .color_3 -relief sunken -textvariable color_of_similarity_3 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_3 -x 155 -y 280
-
-entry .thick_3 -relief sunken -textvariable thickness_of_similarity_3 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_3 -x 245 -y 280
-###
-label .level_4 -text "4" -bg gray25 -fg gray80 -width 2
-place .level_4 -x 12 -y 310
-
-entry .level_3a_entry -relief sunken -textvariable level_of_similarity_3 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_3a_entry -x 45 -y 310
-
-entry .level_4_entry -relief sunken -textvariable level_of_similarity_4 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_4_entry -x 100 -y 310
-
-entry .color_4 -relief sunken -textvariable color_of_similarity_4 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_4 -x 155 -y 310
-
-entry .thick_4 -relief sunken -textvariable thickness_of_similarity_4 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_4 -x 245 -y 310
-###
-label .level_5 -text "5" -bg gray25 -fg gray80 -width 2
-place .level_5 -x 12 -y 340
-
-entry .level_4a_entry -relief sunken -textvariable level_of_similarity_4 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_4a_entry -x 45 -y 340
-
-entry .level_5_entry -relief sunken -textvariable level_of_similarity_5 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_5_entry -x 100 -y 340
-
-entry .color_5 -relief sunken -textvariable color_of_similarity_5 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_5 -x 155 -y 340
-
-entry .thick_5 -relief sunken -textvariable thickness_of_similarity_5 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_5 -x 245 -y 340
-###
-label .level_6 -text "6" -bg gray25 -fg gray80 -width 2
-place .level_6 -x 12 -y 370
-
-entry .level_5a_entry -relief sunken -textvariable level_of_similarity_5 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_5a_entry -x 45 -y 370
-
-entry .level_6_entry -relief sunken -textvariable level_of_similarity_6 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_6_entry -x 100 -y 370
-
-entry .color_6 -relief sunken -textvariable color_of_similarity_6 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_6 -x 155 -y 370
-
-entry .thick_6 -relief sunken -textvariable thickness_of_similarity_6 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_6 -x 245 -y 370
-###
-label .level_7 -text "no lines below:" -bg gray25 -fg gray80 -width 15
-place .level_7 -x 12 -y 400
-
-entry .level_6a_entry -relief sunken -textvariable level_of_similarity_6 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_6a_entry -x 140 -y 400
-
-##########################################
-
-label .image_size_label -text "vertical and horizontal\nimage size:" -bg gray25 -fg gray80 -width 20
-place .image_size_label -x 300 -y 235
-
-entry .image_size_entry -relief sunken -textvariable horizontal_size \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .image_size_entry -x 460 -y 240
-
-##########################################
-
-label .ps_file_label -text "PostScript file:" -bg gray25 -fg gray80 -width 20
-place .ps_file_label -x 300 -y 285
-
-entry .ps_file_entry -relief sunken -textvariable post_script_file \
-	-bg gray25 -fg white -width 20 -insertbackground lightyellow
-place .ps_file_entry -x 300 -y 315
-
-button .ps_button -text "Make\nPS" -bg blue4 -fg lightblue -width 3 -height 2 \
-	-command {
-    .phylo.canvas create rect 0 0 [expr $horizontal_size + 20] [expr $vertical_size + 20]\
-	-fill $canvas_background -outline $canvas_background -tag dummy_ps_background
-    .phylo.canvas lower dummy_ps_background
-    .phylo.canvas postscript -height $vertical_size -width $horizontal_size \
-	-x -1 -y 0 -file $post_script_file
-    bell
-    }
-place .ps_button -x 460 -y 290
-
-##########################################
-
-label .html_file_label -text "HTML image map:" -bg gray25 -fg gray80 -width 20
-place .html_file_label -x 300 -y 355
-
-entry .html_file_entry -relief sunken -textvariable html_image_map \
-	-bg gray25 -fg white -width 20 -insertbackground lightyellow
-place .html_file_entry -x 300 -y 385
-
-button .html -text "Make\nHTML" -command {HTML_Image_Map_Generator} \
-	-bg blue4 -fg lightblue -width 3 -height 2
-place .html -x 460 -y 360
-
-###########################################
-
-button .startup -text "Run" -command {PhyloGrapher_Canvas} \
-	-bg purple -fg yellow -width 8 -height 2
-place .startup -x 265 -y 160
-
-###########################################
-
-Global_Configuration
-
-############################################
-#                                          #
-#                THE END                   #
-#                                          #
-############################################

Deleted: trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Windows.tcl
===================================================================
--- trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Windows.tcl	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/PhyloGrapher_April_03_2003_Windows.tcl	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,3935 +0,0 @@
-#!/usr/bin/wish
-#
-######################################
-#                                    #
-#  PhyloGrapher by Alexander Kozik   #
-#      version: April 03 2003        #
-#                                    #
-#     Graph Visualisation Tool       #
-#                                    #
-######################################
-
-######################################
-#        LIST OF PROCEDURES          #
-######################################
-
-# About_PhyloGrapher
-# Add_Graphics_to_Canvas
-# Adj_List_Extraction
-# Adjacency_List
-# Build_Adjacency_List
-# Canvas_Editor
-# Change_Node_Color1
-# Change_Node_Color2
-# Change_Node_Color3
-# Change_Node_Color4
-# Change_Node_Color5
-# Change_Node_Color6
-# Create_Graph_A
-# Create_Graph_from_Data
-# Destroy_Alignment
-# Display_Alignment
-# Dots_Coord_Generator 
-# Dots_Coord_Restore
-# Dummy_Color_Movie
-# Edge_Counter
-# Edge_Degree_Counter
-# Edge_Degree_Counter_Movie
-# Events_Binding
-# Fasta_Save_As
-# Fasta_Search_Parser
-# Fruchterman_Rheingold
-# Gene_ID_Window
-# Generate_Graph_From_Matrix
-# Global_XY_Coords
-# HTML_Image_Map_Generator
-# HighLightEdge
-# HighLightEdge_Back
-# HighLight_Adjacent_Nodes
-# HighLight_Adjacent_Nodes_All
-# HighLight_Adjacent_Nodes_All_Loop
-# HowTo_Count_Edges
-# HowTo_Paint_Nodes
-# HowTo_PhyloWebify
-# How_To_Edit_Canvas
-# How_To_Save
-# Html_ScreenShot
-# Move_Graph_Label
-# Move_Text_Label
-# Node_Painter
-# Nodes_Coord_Dialog
-# PhyloGrapher_Canvas
-# Place_Text_on_Canvas
-# Plot_Genes_on_Canvas
-# Print_Edge_Weight
-# Print_Gene_ID
-# Save_Current_Fasta_Graph
-# Scrolled_Canvas
-# Scrolled_Canvas_Alignment
-# Scrolled_Text
-# Scrolled_Text_Fasta
-# Self_Organize
-# Shake_the_Node
-# Show_Alignment
-# Show_Extras
-# Smith_Waterman
-# clearName
-# clearWeight
-# highLightGene
-# highLightGene_Back
-# make_HTML
-# make_Nodes_Coords
-# mkEdge
-# mkNode
-# moveNode
-# moveNode_Slow
-# moveNode_Slow_Edges
-# showDegree
-# showName
-# showWeight
-
-######################################
-#         GLOBAL VARIABLES           #
-######################################
-
-# abc_tag
-# adj_highlight_color
-# adj_highlight_outline
-# adjacency_data_file
-# adjacency_data_file_open
-# already_done_nodes
-# attraction_random_step
-# canvas_background
-# canvas_editor_font_size
-# canvas_editor_font_style
-# canvas_editor_font_type
-# canvas_editor_text
-# color_group1
-# color_group2
-# color_group3
-# color_group4
-# color_group5
-# color_group6
-# color_of_similarity_1
-# color_of_similarity_2
-# color_of_similarity_3
-# color_of_similarity_4
-# color_of_similarity_5
-# color_of_similarity_6
-# curX
-# curY
-# current_adjacent_node
-# custom_node_counter
-# database_dir
-# database_ext
-# dots_coord_file
-# dots_coord_file_restore
-# dummy_adjacency_counter
-# edgeCounter
-# edgeFirst
-# edgeSecond
-# edge_color_label
-# edge_wight_coefficient
-# edges_data_file
-# entropy_factor
-# fake_identity_counter
-# fasta_to_run
-# font_color_canvas
-# font_color_label
-# frucht_gold_limit
-# frucht_gold_precision
-# genes_id_data_file
-# genes_range
-# graphX1
-# graphX2
-# graphY1
-# graphY2
-# graph_data_file
-# graph_fill_color
-# graph_outline_color
-# graph_radius
-# graph_style
-# graph_tag
-# horizontal_size
-# html_image_map
-# level_of_similarity_1
-# level_of_similarity_2
-# level_of_similarity_3
-# level_of_similarity_4
-# level_of_similarity_5
-# level_of_similarity_6
-# matrix_data_file
-# nodeX
-# nodeY
-# node_color_label
-# nodes_group1
-# nodes_group2
-# nodes_group3
-# nodes_group4
-# nodes_group5
-# nodes_group6
-# object_fill_color
-# object_fill_color_connect
-# object_outline
-# object_outline_connect
-# object_shape
-# object_x_size
-# object_y_size
-# random_step_value
-# repulsion_distance
-# selected_canvas
-# sim_curX
-# sim_curY
-# smith_waterman_counter
-# sw_node_A
-# sw_node_B
-# text_tag
-# thickness_of_similarity_1
-# thickness_of_similarity_2
-# thickness_of_similarity_3
-# thickness_of_similarity_4
-# thickness_of_similarity_5
-# thickness_of_similarity_6
-# vertical_size
-
-##########################
-#      GNU LICENSE       #
-##########################
-proc About_PhyloGrapher {} {
-
-    set phylo_logo [image create photo -file ./Images/PhyloGrapherLogo.gif]
-    set phylo_text "PhyloGrapher (Graph Visualization Tool)
-
-Copyright (C) 2001, 2002, 2003 University of California at Davis,
- Alexander Kozik
-    
-This program is free software. You can redistribute it and/or modify it 
-under the terms of the GNU General Public License ( http://www.gnu.org ) 
-as published by the Free Software Foundation; either version 2 of the 
-License, or (at your option) any later version.
-
-In other words, you are free to modify, copy, or redistribute this source 
-code and its documentation in any way you like, but you must distribute 
-all derivative versions as free software under the same terms that we 
-provided our code to you (i.e. the GNU General Public License). This 
-precludes any use of the code in proprietary or commercial software 
-unless your source code is made freely available.
-
-This program is distributed in the hope that it will be useful, 
-but WITHOUT ANY WARRANTY; without even the implied warranty of 
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
-See the GNU General Public License for more details. 
-
-You should have received a copy of the GNU General Public License along 
-with this PhyloGrapher release, in the file LICENSE; if not, write to the 
-Free Software Foundation, Inc., 675 Mass. Ave, Cambridge, MA 02139 USA."
-
-    destroy .phylo_about
-    toplevel .phylo_about 
-    wm transient .phylo_about .
-    wm title .phylo_about "About PhyloGrapher"
-    wm protocol .phylo_about WM_DELETE_WINDOW "destroy .phylo_about"
-
-    label .phylo_about.image -image $phylo_logo
-    label .phylo_about.text -text $phylo_text -justify center
-    button .phylo_about.ok -text "OK" -command "destroy .phylo_about"
-    grid .phylo_about.image -padx 7 -pady 7
-    grid .phylo_about.text -padx 2 -pady 2
-    grid .phylo_about.ok -padx 2 -pady 2
-}
-
-proc HowTo_PhyloWebify {} {
-
-    destroy .fly
-    set t [Scrolled_Text .fly -width 70 -height 40]
-    set in [open "README.txt" r]
-    $t insert end [read $in]
-    close $in
-    wm title .fly "HowTo PhyloWebify"
-    wm protocol .fly WM_DELETE_WINDOW "destroy .fly"
-}
-
-############ Scrolled Canvas ################
-#            ---------------                #
-#         Create Scrolled Canvas            #
-#                                           #
-#############################################
-proc Scrolled_Canvas { phylo args } {
-    toplevel $phylo
-
-    wm title $phylo "PhyloGrapher Canvas"
-    wm protocol $phylo WM_DELETE_WINDOW "destroy $phylo .geneid"
-
-    eval {canvas $phylo.canvas -xscrollcommand [list $phylo.xscroll set] \
-	  -yscrollcommand [list $phylo.yscroll set] \
-	  -highlightthickness 0 -borderwidth 0} $args
-    
-    scrollbar $phylo.xscroll -orient horizontal \
-	      -command [list $phylo.canvas xview]
-    scrollbar $phylo.yscroll -orient vertical \
-              -command [list $phylo.canvas yview]
-
-    grid $phylo.canvas $phylo.yscroll -sticky news
-    grid $phylo.xscroll -sticky ew
-    grid rowconfigure $phylo 0 -weight 1
-    grid columnconfigure $phylo 0 -weight 1
-    return $phylo.canvas
-}
-
-proc Scrolled_Canvas_Alignment { phylo sw_node_A sw_node_A_w sw_node_B sw_node_B_w fly args } {
-
-    global fasta_to_run
-    global smith_waterman_counter
-
-    destroy .fasta_save_as_$smith_waterman_counter
-    toplevel .fasta_save_as_$smith_waterman_counter
-    .fasta_save_as_$smith_waterman_counter config -bg black
-    wm transient .fasta_save_as_$smith_waterman_counter $fly$sw_node_A_w$sw_node_B_w.text
-    wm title .fasta_save_as_$smith_waterman_counter "Alignment of $sw_node_A vs $sw_node_B"
-    wm protocol .fasta_save_as_$smith_waterman_counter WM_DELETE_WINDOW "destroy .fasta_save_as_$smith_waterman_counter"
-
-    eval {canvas $phylo.canvas -xscrollcommand [list $phylo.xscroll set] \
-	  -yscrollcommand [list $phylo.yscroll set] \
-	  -highlightthickness 0 -borderwidth 0} $args
-    
-    scrollbar $phylo.xscroll -orient horizontal \
-	      -command [list $phylo.canvas xview]
-    scrollbar $phylo.yscroll -orient vertical \
-              -command [list $phylo.canvas yview]
-
-    grid $phylo.canvas $phylo.yscroll -sticky news
-    grid $phylo.xscroll -sticky ew
-    grid rowconfigure $phylo 0 -weight 1
-    grid columnconfigure $phylo 0 -weight 1
-    return $phylo.canvas
-}
-
-proc Scrolled_Text_Fasta { fly sw_node_A sw_node_A_w sw_node_B sw_node_B_w args} {
-
-    global smith_waterman_counter
-
-    toplevel $fly$sw_node_A_w$sw_node_B_w
-    eval {text $fly$sw_node_A_w$sw_node_B_w.text -wrap none \
-           -xscrollcommand [list $fly$sw_node_A_w$sw_node_B_w.xscroll set] \
-           -yscrollcommand [list $fly$sw_node_A_w$sw_node_B_w.yscroll set]} $args
-    scrollbar $fly$sw_node_A_w$sw_node_B_w.xscroll -orient horizontal \
-              -command [list $fly$sw_node_A_w$sw_node_B_w.text xview]
-    scrollbar $fly$sw_node_A_w$sw_node_B_w.yscroll -orient vertical \
-              -command [list $fly$sw_node_A_w$sw_node_B_w.text yview]
-    grid $fly$sw_node_A_w$sw_node_B_w.text $fly$sw_node_A_w$sw_node_B_w.yscroll -sticky news
-    grid $fly$sw_node_A_w$sw_node_B_w.xscroll -sticky news
-    grid rowconfigure $fly$sw_node_A_w$sw_node_B_w 0 -weight 1
-    grid columnconfigure $fly$sw_node_A_w$sw_node_B_w 0 -weight 1
-    Fasta_Search_Parser $fly $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w
-    return $fly$sw_node_A_w$sw_node_B_w.text
-}
-
-proc Fasta_Search_Parser {fly sw_node_A sw_node_A_w sw_node_B sw_node_B_w} {
-
-    global smith_waterman_counter
-
-    global database_dir
-    global database_ext
-
-    set fasta_to_parse "./Temp/ssearch_alignment_$smith_waterman_counter.tmp"
-    set fasta_to_parse_open [open $fasta_to_parse "r"]
-
-    set id_A_pattern "$database_dir$sw_node_A\.$database_ext\: "
-    set id_B_pattern "^\>\>$sw_node_B"
-    set aa_pattern   " aa"
-    set smith_waterman_pattern "Smith-Waterman score\: "
-
-    while {[gets $fasta_to_parse_open current_line_fasta] >= 0} {
-
-	if [regexp $id_A_pattern $current_line_fasta] {
-	    set id_A_aa_size $current_line_fasta
-	    regsub $id_A_pattern $id_A_aa_size "" id_A_aa_size
-	    regsub $aa_pattern $id_A_aa_size "" id_A_aa_size
-	    # puts ""
-	    # puts "$sw_node_A\t$id_A_aa_size"
-	}
-	if [regexp $id_B_pattern $current_line_fasta] {
-	    set id_B_aa_size $current_line_fasta
-	    regsub {\s+} $id_B_aa_size "" id_B_aa_size
-	    regsub $id_B_pattern $id_B_aa_size "" id_B_aa_size
-	    regsub {.*\(} $id_B_aa_size "" id_B_aa_size
-	    regsub { aa\)} $id_B_aa_size "" id_B_aa_size
-	    # puts "$sw_node_B\t$id_B_aa_size"
-	}
-	if [regexp $smith_waterman_pattern $current_line_fasta] {
-	    set smith_waterman_score $current_line_fasta
-	    set identity_score $current_line_fasta
-	    set overlap_value $current_line_fasta
-	    set overlap_seq_A_left $current_line_fasta
-	    set overlap_seq_A_right $current_line_fasta
-	    set overlap_seq_B_left $current_line_fasta
-	    set overlap_seq_B_right $current_line_fasta
-	    ####################
-	    regsub {Smith-Waterman score: } $smith_waterman_score "" smith_waterman_score
-	    regsub {;.*\)} $smith_waterman_score "" smith_waterman_score
-	    ####################
-	    regsub {% identity.*\)} $identity_score "" identity_score
-	    regsub {Smith-Waterman score:.*;} $identity_score "" identity_score
-	    regsub -all { } $identity_score "" identity_score
-	    ####################
-	    regsub { aa overlap.*\)} $overlap_value "" overlap_value
-	    regsub {Smith-Waterman score.*\) in } $overlap_value "" overlap_value
-	    regsub -all { } $overlap_value "" overlap_value
-	    ####################
-	    regsub {Smith-Waterman score.*\(} $overlap_seq_A_left "" overlap_seq_A_left
-	    regsub {\-.*} $overlap_seq_A_left "" overlap_seq_A_left
-	    regsub {Smith-Waterman score.*\(} $overlap_seq_A_right "" overlap_seq_A_right
-	    regsub {\:.*} $overlap_seq_A_right "" overlap_seq_A_right
-	    regsub {.*\-} $overlap_seq_A_right "" overlap_seq_A_right
-	    ####################
-	    regsub {Smith-Waterman score.*\:} $overlap_seq_B_left "" overlap_seq_B_left
-	    regsub {\-.*} $overlap_seq_B_left "" overlap_seq_B_left
-	    regsub {Smith-Waterman score.*\:} $overlap_seq_B_right "" overlap_seq_B_right
-	    regsub {.*\-} $overlap_seq_B_right "" overlap_seq_B_right
-	    regsub {\)} $overlap_seq_B_right "" overlap_seq_B_right
-	}
-    }
-    Fasta_Save_As $fly $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w $id_A_aa_size $id_B_aa_size \
-	    $smith_waterman_score $identity_score $overlap_value \
-	    $overlap_seq_A_left $overlap_seq_A_right $overlap_seq_B_left $overlap_seq_B_right
-}
-
-proc Fasta_Save_As {fly sw_node_A sw_node_A_w sw_node_B sw_node_B_w id_A_aa_size id_B_aa_size smith_waterman_score identity_score overlap_value overlap_seq_A_left overlap_seq_A_right overlap_seq_B_left overlap_seq_B_right} {
-
-    global fasta_to_run
-    global smith_waterman_counter
-
-    Scrolled_Canvas_Alignment .fasta_save_as_$smith_waterman_counter $sw_node_A $sw_node_A_w \
-	$sw_node_B $sw_node_B_w $fly -width 550 -height 210 \
-	-scrollregion "0 0 1200 400" -bg black ; # -bg $canvas_background
-
-    # black background on canvas
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect 0 0 1200 400 -fill black -outline black
-
-    # text labels on canvas
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 10 20 -text \
-	    "$sw_node_A\ - $id_A_aa_size aa \($overlap_seq_A_left \- $overlap_seq_A_right\)" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 10 40 -text \
-	    "$sw_node_B\ - $id_B_aa_size aa \($overlap_seq_B_left \- $overlap_seq_B_right\)" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 10 60 -text \
-	    "SW: $smith_waterman_score\; identity: $identity_score\; overlap: $overlap_value" -anchor sw -fill white
-
-    # graphical info
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    340 10 350 60 -fill gray50 -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    340 [expr 60 - ($identity_score/2)] 350 60 -fill gold -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 355 20 \
-	    -text "100%" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 355 43 \
-	    -text "50%" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 355 66 \
-	    -text "0%" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 327 80 \
-	    -text "identity" -anchor sw -fill gold
-
-    ##
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    270 10 280 60 -fill gray50 -outline white
-
-    set smith_waterman_bar [expr $smith_waterman_score/20]
-
-    if {$smith_waterman_bar > 50} {
-	set smith_waterman_bar 50
-    }
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    270 [expr 60 - $smith_waterman_bar] 280 60 -fill violet -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 285 20 \
-	    -text ">1000" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 285 43 \
-	    -text "500" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 285 66 \
-	    -text "100" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 262 80 \
-	    -text "S-W" -anchor sw -fill violet
-
-    ##
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    410 10 420 60 -fill gray50 -outline white
-
-    set overlap_bar [expr $overlap_value/20]
-
-    if {$overlap_bar > 50} {
-	set overlap_bar 50
-    }
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    410 [expr 60 - $overlap_bar] 420 60 -fill lightblue -outline white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 425 20 \
-	    -text ">1000" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 425 43 \
-	    -text "500" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 425 66 \
-	    -text "10" -anchor sw -fill gray
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text 397 80 \
-	    -text "overlap" -anchor sw -fill lightblue
-
-    # graphical alignment on canvas
-    set drawing_scale 3
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    10 100 [expr $id_A_aa_size/$drawing_scale + 10] 106 \
-	    -fill blue -outline green
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    [expr $overlap_seq_A_left/$drawing_scale + 10] 100 \
-	    [expr $overlap_seq_A_right/$drawing_scale + 10] 106 \
-	    -fill green -outline yellow
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10] 135 \
-	    [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10]] 141 \
-	    -fill red -outline orange
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    10 170 [expr $id_B_aa_size/$drawing_scale + 10] 176 \
-	    -fill blue -outline green
-
-    .fasta_save_as_$smith_waterman_counter.canvas create rect \
-	    [expr $overlap_seq_B_left/$drawing_scale + 10] 170 \
-	    [expr $overlap_seq_B_right/$drawing_scale + 10] 176 \
-	    -fill green -outline yellow
-
-    # lines connecting alignment
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr $overlap_seq_A_left/$drawing_scale + 10] 106 \
-	    [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10] 135 -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr $overlap_seq_A_right/$drawing_scale + 10] 106 \
-	     [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10]] 135 -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10] \
-	141 [expr $overlap_seq_B_left/$drawing_scale + 10] 170 -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create line \
-	    [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 10]] \
-	141 [expr $overlap_seq_B_right/$drawing_scale + 10] 170 -fill white
-
-    # text over alignment
-    .fasta_save_as_$smith_waterman_counter.canvas create text \
-	    [expr $id_A_aa_size/$drawing_scale + 20] 110 -text \
-	    "$sw_node_A" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text \
-	    [expr $overlap_value/$drawing_scale + [expr ($overlap_seq_A_left/$drawing_scale + $overlap_seq_B_left/$drawing_scale)/2 + 20]] 145 -text \
-	    "Alignment" -anchor sw -fill white
-
-    .fasta_save_as_$smith_waterman_counter.canvas create text \
-	    [expr $id_B_aa_size/$drawing_scale + 20] 180 -text \
-	    "$sw_node_B" -anchor sw -fill white
-
-    # puts ""
-    # puts [expr $id_A_aa_size/$drawing_scale]
-    # puts [expr $id_B_aa_size/$drawing_scale]
-
-    grid .fasta_save_as_$smith_waterman_counter.canvas
-
-    # buttons
-    button .fasta_save_as_$smith_waterman_counter.dismiss -text "Dismiss" \
-	-command "Destroy_Alignment $fly $sw_node_A_w $sw_node_B_w $smith_waterman_counter"
-    button .fasta_save_as_$smith_waterman_counter.saveas -text "Save as: $sw_node_A\_vs_$sw_node_B\.$fasta_to_run" \
-	-command \
-	"Save_Current_Fasta_Graph $smith_waterman_counter $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w $fasta_to_run"
-    label .fasta_save_as_$smith_waterman_counter.saveas_label -text \
-	    "$sw_node_A\_vs_$sw_node_B\.$fasta_to_run"
-    # grid .fasta_save_as_$smith_waterman_counter.saveas .fasta_save_as_$smith_waterman_counter.saveas_label \
-	#	-padx 2 -pady 4
-    grid .fasta_save_as_$smith_waterman_counter.saveas -padx 2 -pady 4
-    grid .fasta_save_as_$smith_waterman_counter.dismiss -padx 2 -pady 4
-}
-
-proc Save_Current_Fasta_Graph {smith_waterman_counter sw_node_A sw_node_A_w sw_node_B sw_node_B_w fasta_to_run} {
-
-    file copy -force ./Temp/ssearch_alignment_$smith_waterman_counter.tmp \
-	    ./Saved_Work/$sw_node_A\_vs_$sw_node_B\.$fasta_to_run
-
-    .fasta_save_as_$smith_waterman_counter.canvas postscript -file \
-	    ./Saved_Work/$sw_node_A\_vs_$sw_node_B\.$fasta_to_run.ps
-    bell
-}
-
-proc Destroy_Alignment {fly sw_node_A_w sw_node_B_w smith_waterman_counter} {
-
-    destroy .fasta_save_as_$smith_waterman_counter
-    destroy $fly$sw_node_A_w$sw_node_B_w
-}
-
-proc Scrolled_Text { fly args } {
-
-    toplevel $fly
-    eval {text $fly.text -wrap none \
-           -xscrollcommand [list $fly.xscroll set] \
-           -yscrollcommand [list $fly.yscroll set]} $args
-    scrollbar $fly.xscroll -orient horizontal \
-              -command [list $fly.text xview]
-    scrollbar $fly.yscroll -orient vertical \
-              -command [list $fly.text yview]
-    grid $fly.text $fly.yscroll -sticky news
-    grid $fly.xscroll -sticky news
-    grid rowconfigure $fly 0 -weight 1
-    grid columnconfigure $fly 0 -weight 1
-    button $fly.dismiss -text "Dismiss" -command "destroy $fly"
-    grid $fly.dismiss
-    
-    return $fly.text
-}
-
-proc mkNode {x y current_gene_ID} {
-
-    global abc_tag
-    global sw_node_A 
-    global sw_node_B
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-    global fake_identity_counter
-
-    global object_fill_color
-    global object_outline
-    global object_shape
-    global object_x_size
-    global object_y_size
-
-    global input_type
-    global fake_edge_color
-
-    set fill_color $object_fill_color
-    set outline_color $object_outline
-    set node_type "node"
-
-    if [regexp "Custom_Node" $current_gene_ID] {
-	set fill_color white
-	set outline_color red
-	set node_type "removable"
-    }
-    .phylo.canvas create $object_shape [expr $x-$object_x_size] [expr $y-$object_y_size] \
-	[expr $x+$object_x_size] [expr $y+$object_y_size] -fill $fill_color \
-	-outline $outline_color -tag $abc_tag$current_gene_ID
-
-    .phylo.canvas addtag $node_type withtag $abc_tag$current_gene_ID
-
-    set nodeX($abc_tag$current_gene_ID) $x
-    set nodeY($abc_tag$current_gene_ID) $y
-
-    set edgeFirst($abc_tag$current_gene_ID) {}
-    set edgeSecond($abc_tag$current_gene_ID) {}
-
-    .phylo.canvas bind $abc_tag$current_gene_ID <Button-1> {
-    set curX %x
-    set curY %y
-    }
-    .phylo.canvas bind $abc_tag$current_gene_ID <B1-Motion> {
-	moveNode [.phylo.canvas find withtag current] [expr %x-$curX] [expr %y-$curY]
-	set curX %x
-	set curY %y
-    }
-    bind .geneid.entry <Return> {
-	Shake_the_Node $abc_tag$current_gene_ID
-	showName $current_gene_ID .geneid.entry
-    }
-    # ON WINDOWS CHANGE TO <Double-1> #
-    .phylo.canvas bind $abc_tag$current_gene_ID <Double-1> {
-    # .phylo.canvas bind $abc_tag$current_gene_ID <Button-2> 
-	set curX [.phylo.canvas canvasx %x]
-	set curX [expr int(round($curX))]
-	set curY [.phylo.canvas canvasy %y]
-	set curY [expr int(round($curY))]
-	Print_Gene_ID $current_gene_ID $curX $curY
-    }
-    #################
-    bind .phylo.canvas <Control-a> {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	set sw_node_A $current_gene_ID
-    }
-    bind .phylo.canvas <Control-s> {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	set sw_node_B $current_gene_ID
-    }
-    #################
-    bind .phylo.canvas w {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill white
-    }
-    bind .phylo.canvas b {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill blue
-    }
-    bind .phylo.canvas c {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill cyan
-    }
-    bind .phylo.canvas s {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill blue4
-    }
-    bind .phylo.canvas g {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill green
-    }
-    bind .phylo.canvas o {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill orange
-    }
-    bind .phylo.canvas r {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill red
-    }
-    bind .phylo.canvas v {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill violet
-    }
-    bind .phylo.canvas p {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill purple
-    }
-    bind .phylo.canvas y {
-	.phylo.canvas find withtag $abc_tag$current_gene_ID
-	.phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill yellow
-    }
-    if { $node_type == "removable" && $input_type == "MANUAL" } {
-	bind .phylo.canvas 1 {
-	    set firstNode $current_gene_ID
-	    set tag_list [.phylo.canvas gettags $firstNode]
-	    set removable_tag [lindex $tag_list 1]
-	    puts $removable_tag
-	    set current_gene_ID_A $current_gene_ID
-	    .phylo.canvas itemconfigure $abc_tag$current_gene_ID_A -fill purple
-	}
-    }
-    if { $node_type == "removable" && $input_type == "MANUAL" } {
-	bind .phylo.canvas 2 {
-	    set curNode [.phylo.canvas find withtag $abc_tag$current_gene_ID]
-	    set tag_list [.phylo.canvas gettags $curNode]
-	    set removable_tag [lindex $tag_list 1]
-	    puts $removable_tag
-	    set curNode $current_gene_ID
-	    set current_gene_ID_B $current_gene_ID
-	    set fill_color $fake_edge_color
-	    set line_thickness 2
-	    set fake_identity "fake_identity"
-	    set fake_identity_value "0"
-	    if { ($firstNode != "") && ($curNode != "") } {
-		mkEdge $firstNode $curNode $fill_color $line_thickness $current_gene_ID_A $current_gene_ID_B \
-		    $fake_identity\_$fake_identity_counter $fake_identity_value
-		.phylo.canvas itemconfigure $abc_tag$current_gene_ID_B -fill purple
-		incr fake_identity_counter
-	    }
-	}
-    }
-    .phylo.canvas bind $abc_tag$current_gene_ID <Enter> "showName $current_gene_ID .geneid.entry"
-    .phylo.canvas bind $abc_tag$current_gene_ID <Leave> "clearName .geneid.entry .geneid.degree_entry"
-    .phylo.canvas bind $abc_tag$current_gene_ID <Button-3> {
-	set curX %x
-	set curY %y
-	Shake_the_Node $abc_tag$current_gene_ID
-    }
-}
-
-proc mkEdge {first second fill_color line_thickness current_gene_ID_A current_gene_ID_B edge_tag current_gene_similarity} {
-
-    global abc_tag
-    global nodeX
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond 
-    global edgeCounter
-
-    set edge_type "real_edge"
-    if { $current_gene_similarity == 0 } {
-	set edge_type "removable"
-    }
-
-    set current_gene_similarity [expr int(round($current_gene_similarity*100))]
-    set edge [.phylo.canvas create line $nodeX($abc_tag$first) $nodeY($abc_tag$first) \
-	    $nodeX($abc_tag$second) $nodeY($abc_tag$second) -fill $fill_color -width $line_thickness \
-	    -tags "$edge_tag\_$current_gene_similarity $edge_type"]
-
-    .phylo.canvas lower $edge
-
-    .phylo.canvas bind $edge_tag\_$current_gene_similarity <Enter> \
-	"HighLightEdge .phylo.canvas $edge_tag\_$current_gene_similarity $current_gene_similarity"
-    ###########################
-    .phylo.canvas bind $edge_tag\_$current_gene_similarity <Leave> \
-	"HighLightEdge_Back .phylo.canvas $edge_tag\_$current_gene_similarity $fill_color"
-    ###########################
-    # ON WINDOWS CHANGE TO <Double-1> #
-    .phylo.canvas bind $edge_tag\_$current_gene_similarity <Double-1> "Print_Edge_Weight $current_gene_similarity"
-    # .phylo.canvas bind $edge_tag\_$current_gene_similarity <Button-2> "Print_Edge_Weight $current_gene_similarity"
-    ###########################
-    lappend edgeFirst($abc_tag$first) $edge
-    lappend edgeSecond($abc_tag$second) $edge
-    update
-    .phylo.canvas lower dummy_ps_background
-    incr edgeCounter
-}
-
-proc moveNode_Slow {node xDist yDist} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    global tcl_precision
-
-    if {$node != "" && $node != $abc_tag} {
-	.phylo.canvas move $node $xDist $yDist
-	incr nodeX($node) $xDist
-	incr nodeY($node) $yDist
-	set edge_counter 0
-	foreach edge $edgeFirst($node) {
-	    .phylo.canvas coords $edge $nodeX($node) $nodeY($node) \
-		[lindex [.phylo.canvas coords $edge] 2] \
-		[lindex [.phylo.canvas coords $edge] 3]
-	    incr edge_counter
-	}
-	foreach edge $edgeSecond($node) {
-	    .phylo.canvas coords $edge [lindex [.phylo.canvas coords $edge] 0] \
-		[lindex [.phylo.canvas coords $edge] 1] \
-		$nodeX($node) $nodeY($node)
-	    incr edge_counter
-	}
-	showDegree $edge_counter .geneid.degree_entry
-    }
-}
-
-proc moveNode {node xDist yDist} {
-
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    global tcl_precision
-
-    .phylo.canvas raise $node
-
-    set tag_list [.phylo.canvas gettags $node]
-    set id_tag [lindex $tag_list 0]
-    # puts $id_tag
-    set node $id_tag
-
-    .phylo.canvas move $node $xDist $yDist
-    if {[info exists nodeX($node)] == 1 && [info exists nodeY($node)] == 1} {
-	incr nodeX($node) $xDist
-	incr nodeY($node) $yDist
-	foreach edge $edgeFirst($node) {
-	    .phylo.canvas coords $edge $nodeX($node) $nodeY($node) \
-		[lindex [.phylo.canvas coords $edge] 2] \
-		[lindex [.phylo.canvas coords $edge] 3]
-	}
-	foreach edge $edgeSecond($node) {
-	    .phylo.canvas coords $edge [lindex [.phylo.canvas coords $edge] 0] \
-		[lindex [.phylo.canvas coords $edge] 1] \
-		$nodeX($node) $nodeY($node)
-	}
-    }
-}
-
-proc Plot_Genes_on_Canvas { genes_range graph_radius } {
-
-    global nodes_array
-    global edges_array
-    global list_of_nodes
-    global list_of_edges
-    global object_x_size
-    global object_y_size
-    global error_status
-    global tcl_precision
-
-    puts "Tcl precision: $tcl_precision"
-
-    set tick 1
-    set radians_per_degree [expr 3.1416/180]
-    # set radians_per_degree [expr 3.141593/180]
-
-    if {[info exists list_of_nodes] != 1 || [info exists list_of_edges] != 1} {
-	puts "Load Data into Memory first, then click \"Run\" again"
-	.phylo.canvas create text 100 100 -text "Load Data into Memory first, then click \"Run\" again" -anchor sw -fill white
-	update
-	bell
-	set error_status 1
-    }
-
-    if {[info exists list_of_nodes] == 1 && [info exists list_of_edges] == 1} {
-	foreach current_node $list_of_nodes {
-	    set angle [expr $tick*(360.0001/$genes_range)]
-	    # set angle [expr $tick*(360.000001/$genes_range)]
-	    set current_gene_ID $current_node
-	    set pointX($tick) [expr int(round($graph_radius*sin($angle*$radians_per_degree))) \
-				   + $graph_radius + 35 + $object_x_size]
-	    set pointY($tick) [expr int(round($graph_radius*cos($angle*$radians_per_degree))) \
-				   + $graph_radius + 35 + $object_y_size]
-
-	    set dot_pointX($tick) [expr $pointX($tick) + 2]
-	    set dot_pointY($tick) [expr $pointY($tick) + 2]
-
-	    mkNode $dot_pointX($tick) $dot_pointY($tick) $current_gene_ID
-	    update
-	    incr tick
-	}
-    }
-}
-
-proc Create_Graph_from_Data_MEMORY {} {
-
-   ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-   # . config -cursor {watch white black}
-
-    global genes_id_data_file 
-    global matrix_data_file
-    global genes_range
-    global nodes_array
-    global edges_array
-    global list_of_nodes
-    global list_of_edges
-
-    set genes_range 0
-    if {[info exists list_of_nodes] == 1} {
-	unset list_of_nodes
-    }
-
-    set input_file_to_open_nodes [open "$genes_id_data_file" "r"]
-    set input_file_to_open_edges [open "$matrix_data_file" "r"]
-
-    while {[gets $input_file_to_open_nodes current_line] >= 0}  {
-
-        set current_seq_ID [lindex [split $current_line] 0]
-	puts "$current_seq_ID"
-	if {$genes_range == 0} {
-	    set list_of_nodes [lappend list_of_nodes $current_seq_ID]
-	    set nodes_array($current_seq_ID) $current_seq_ID
-	    incr genes_range
-	} else {
-	    set already_done [lsearch -exact $list_of_nodes $current_seq_ID]
-	    if {$already_done < 0 && $current_seq_ID != ""} {
-		set list_of_nodes [lappend list_of_nodes $current_seq_ID]
-		set nodes_array($current_seq_ID) $current_seq_ID
-		incr genes_range
-	    }
-	    if {$already_done >= 0 && $current_seq_ID != ""} {
-		puts "WARNING: $current_seq_ID duplicated"
-		bell
-		after 1500
-	    }
-	}
-	update
-    }
-    close $input_file_to_open_nodes
-    puts "Total Number of Nodes: $genes_range"
-    puts "Processing Matrix File"
-    after 100
-
-    set matrix_counter 0
-
-    if {[info exists list_of_edges] == 1} {
-	unset list_of_edges
-    }
-
-    while {[gets $input_file_to_open_edges current_line] >= 0}  {
-
-	    set id_A [lindex $current_line 0]
-	    set id_B [lindex $current_line 1]
-	    set idnt [lindex $current_line 2]
-
-	    set query1 [info exists matrix_array($id_A,$id_B)]
-	    # puts $query1
-	    set query2 [info exists matrix_array($id_B,$id_A)]
-	    # puts $query2
-	    if {$query1 == 0 && $query2 == 0} {
-		set matrix_array($id_A,$id_B) "$id_A\t$id_B\t$idnt"
-		set list_of_edges [lappend list_of_edges $matrix_array($id_A,$id_B)]
-		incr matrix_counter
-		puts $matrix_counter
-	    } else {
-		puts "WARNING: $current_line duplicated"
-		bell
-		after 1500
-	    }
-    }
-    close $input_file_to_open_edges
-    bell
-    # puts $list_of_edges
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # . config -cursor {top_left_arrow black white}
-}
-
-proc Create_Graph_from_Data_CANVAS {} {
-
-    # puts "I am here ... "
-
-    global main_cursor_color
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # .phylo.canvas config -cursor {watch white}
-
-    global abc_tag
-    global tcl_precision
-    global genes_range
-    global nodes_array
-    global edges_array
-    global list_of_nodes
-    global list_of_edges
-    global edgeCounter
-    global level_of_similarity_1 
-    global level_of_similarity_2 
-    global level_of_similarity_3
-    global level_of_similarity_4 
-    global level_of_similarity_5 
-    global level_of_similarity_6
-    global color_of_similarity_1 
-    global color_of_similarity_2 
-    global color_of_similarity_3
-    global color_of_similarity_4 
-    global color_of_similarity_5 
-    global color_of_similarity_6
-    global thickness_of_similarity_1
-    global thickness_of_similarity_2
-    global thickness_of_similarity_3
-    global thickness_of_similarity_4
-    global thickness_of_similarity_5
-    global thickness_of_similarity_6
-
-    global object_fill_color_connect
-    global object_outline_connect
-    global edge_label_counter
-
-    set edge_label_counter 0
-
-    foreach current_edge $list_of_edges {
-
-	set current_edge [split $current_edge]
-	set current_gene_ID_A [lindex $current_edge 0]
-	set current_gene_ID_B [lindex $current_edge 1]
-	set current_gene_similarity [lindex $current_edge 2]
-	# puts "$current_gene_ID_A\t$current_gene_ID_B\t$current_gene_similarity"
-
-	set fill_color white
-
-	if {$current_gene_similarity >= $level_of_similarity_1} {
-	    set fill_color $color_of_similarity_1
-	    set line_thickness $thickness_of_similarity_1
-	}
-	if {$current_gene_similarity >= $level_of_similarity_2 && $current_gene_similarity < $level_of_similarity_1} {
-	    set fill_color $color_of_similarity_2
-	    set line_thickness $thickness_of_similarity_2
-	}
-	if {$current_gene_similarity >= $level_of_similarity_3 && $current_gene_similarity < $level_of_similarity_2} {
-	    set fill_color $color_of_similarity_3
-	    set line_thickness $thickness_of_similarity_3
-	}
-	if {$current_gene_similarity >= $level_of_similarity_4 && $current_gene_similarity < $level_of_similarity_3} {
-	    set fill_color $color_of_similarity_4
-	    set line_thickness $thickness_of_similarity_4
-	}
-	if {$current_gene_similarity >= $level_of_similarity_5 && $current_gene_similarity < $level_of_similarity_4} {
-	    set fill_color $color_of_similarity_5
-	    set line_thickness $thickness_of_similarity_5
-	}
-	if {$current_gene_similarity >= $level_of_similarity_6 && $current_gene_similarity < $level_of_similarity_5} {
-	    set fill_color $color_of_similarity_6
-	    set line_thickness $thickness_of_similarity_6
-	}
-	if {$current_gene_similarity >= $level_of_similarity_6} {
-
-	set firstNode $current_gene_ID_A
-	set curNode $current_gene_ID_B
-
-	if {($firstNode != "") && ($curNode != "")} {
-	    set edge_tag "$edgeCounter"
-	    mkEdge $firstNode $curNode $fill_color $line_thickness \
-		$current_gene_ID_A $current_gene_ID_B \
-		$edge_tag $current_gene_similarity
-	    .phylo.canvas itemconfigure $abc_tag$curNode -fill $object_fill_color_connect \
-		    -outline $object_outline_connect
-	    .phylo.canvas itemconfigure $abc_tag$firstNode -fill $object_fill_color_connect \
-		    -outline $object_outline_connect
-	    unset current_gene_ID_B
-	    }
-	}
-    }
-    bell
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # .phylo.canvas config -cursor "tcross $main_cursor_color"
-}
-
-proc showWeight {current_edge_weight layer3} {
-    set is_it_there [winfo exists .geneid]
-    if {$is_it_there == "0"} {
-	Gene_ID_Window
-    }
-    $layer3 delete 0 end
-    $layer3 insert end $current_edge_weight
-}
-
-proc showName {current_gene_ID layer1} {
-
-    global current_adjacent_node
-    global main_cursor_color
-
-    set is_it_there [winfo exists .geneid]
-    if {$is_it_there == "0"} {
-	Gene_ID_Window
-    }
-    set adj_there [winfo exists .adjacency_list]
-    if {$adj_there == 1} {
-	set current_adjacent_node $current_gene_ID
-    }
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # .phylo.canvas config -cursor "plus $main_cursor_color"
-    $layer1 delete 0 end
-    $layer1 insert end $current_gene_ID
-}
-
-proc highLightGene { w tn } {
-
-    global abc_tag
-    global adj_highlight_color
-    global adj_highlight_outline
-
-    set old_node_colour [lindex [$w itemconfig $abc_tag$tn -fill] 4]
-    set old_node_fill [lindex [$w itemconfig $abc_tag$tn -outline] 4]
-    $w itemconfigure $abc_tag$tn -fill "$adj_highlight_color" -outline "$adj_highlight_outline"
-}
-
-proc highLightGene_Back { w tn old_node_colour old_node_fill } {
-
-    global abc_tag
-
-    $w itemconfigure $abc_tag$tn -fill $old_node_colour -outline $old_node_fill
-}
-
-proc HighLightEdge { w current current_gene_similarity} {
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # $w config -cursor {cross cyan}
-    $w itemconfigure $current -fill "red"
-    Global_XY_Coords $current
-    showWeight $current_gene_similarity .geneid.weight_entry
-
-}
-
-proc Global_XY_Coords {current} {
-
-    global sim_curX 
-    global sim_curY
-
-    .phylo.canvas bind $current <Motion> {
-	set sim_curX [.phylo.canvas canvasx %x]
-	set sim_curX [expr int(round($sim_curX))]
-	set sim_curY [.phylo.canvas canvasy %y]
-	set sim_curY [expr int(round($sim_curY))]
-    }
-}
-
-proc HighLightEdge_Back { w current fill_color} {
-
-    global main_cursor_color
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # $w config -cursor "tcross $main_cursor_color"
-
-    clearWeight .geneid.weight_entry
-    $w itemconfigure $current -fill $fill_color
-}
-
-proc clearName { layer1 layer2 } {
-
-    global main_cursor_color
-
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # .phylo.canvas config -cursor "tcross $main_cursor_color"
-    $layer1 delete 0 end
-    $layer2 delete 0 end
-}
-
-proc clearWeight { layer3 } {
-
-    $layer3 delete 0 end
-}
-
-proc showDegree {edge_counter layer2} {
-
-    global main_cursor_color
-
-    set is_it_there [winfo exists .geneid]
-    if {$is_it_there == "0"} {
-	Gene_ID_Window
-    }
-    ##### COMMENT ON WINDOWS CURSOR CONFIG #####
-    # .phylo.canvas config -cursor "plus $main_cursor_color"
-    $layer2 delete 0 end
-    $layer2 insert end $edge_counter
-}
-
-proc Dots_Coord_Generator  {} {
-
-    global list_of_nodes
-    global dots_coord_file
-
-    set nodes_coord_open [open $dots_coord_file "w"]
-
-    foreach current_gene_ID $list_of_nodes {
-	set the_Node $current_gene_ID
-	if {$the_Node == ""} {
-	    continue
-	}
-	make_Nodes_Coords $the_Node $nodes_coord_open $current_gene_ID
-    }
-    close $nodes_coord_open
-    bell
-}
-
-proc make_Nodes_Coords {the_Node nodes_coord_open current_gene_ID} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY
-
-    puts -nonewline $nodes_coord_open $current_gene_ID\t$nodeX($abc_tag$the_Node)\t$nodeY($abc_tag$the_Node)\n
-}
-
-proc Nodes_Coord_Dialog {} {
-
-    destroy .node_xy
-    toplevel .node_xy
-
-    wm title .node_xy "Node Coordinates" 
-    wm protocol .node_xy WM_DELETE_WINDOW "destroy .node_xy"
-    wm minsize .node_xy 360 150
-
-    global dots_coord_file 
-    global dots_coord_file_restore
-    global restore_speed
-
-    #####
-    label .node_xy.f_to_save_label -text "Save Coords to:" -width 14 -bg gray
-    place .node_xy.f_to_save_label -x 20 -y 20
-
-    entry .node_xy.f_to_save_entry  -relief sunken \
-	    -textvariable dots_coord_file -bg lightyellow -width 17
-    place .node_xy.f_to_save_entry -x 130 -y 20
-
-    button .node_xy.save -text "Save" -bg yellow3 \
-	    -width 6 -command {Dots_Coord_Generator}
-    place .node_xy.save -x 270 -y 18
-    #####
-    label .node_xy.f_restore_label -text "Restore Coords:" -width 14 -bg gray
-    place .node_xy.f_restore_label -x 20 -y 55
-
-    entry .node_xy.f_restore_entry  -relief sunken \
-	    -textvariable dots_coord_file_restore -bg lightyellow -width 17
-    place .node_xy.f_restore_entry -x 130 -y 55
-
-    label .node_xy.sp_restore_label -text "Restore Speed:" -width 14 -bg gray
-    place .node_xy.sp_restore_label -x 20 -y 90
-
-    radiobutton .node_xy.sp_restore_F -relief sunken -variable restore_speed \
-	    -text " FAST " -value "FAST"
-    radiobutton .node_xy.sp_restore_S -relief sunken -variable restore_speed \
-	    -text " SLOW " -value "SLOW"
-    place .node_xy.sp_restore_F -x 130 -y 90
-    place .node_xy.sp_restore_S -x 130 -y 120
-
-    button .node_xy.restore -text "Restore" -bg yellow3 \
-	    -width 6 -command {Dots_Coord_Restore}
-    place .node_xy.restore -x 270 -y 58
-    #####
-    button .node_xy.howto -text "HowTo" -bg gray -command {How_To_Save}
-    place .node_xy.howto -x 40 -y 150
-
-    button .node_xy.dismiss -text "Dismiss" -bg gray -command {destroy .node_xy}
-    place .node_xy.dismiss -x 250 -y 150
-}
-
-proc How_To_Save {} {
-
-    destroy .how_to_save
-    toplevel .how_to_save
-    wm title .how_to_save "HowTo Save and Restore" 
-    wm protocol .how_to_save WM_DELETE_WINDOW "destroy .how_to_save"
-
-    label .how_to_save.text -text "
-You may save coordinates of nodes for current 
-project and restore those coordinates when 
-you re-run new project with the same node's 
-ID set.
-WARNING! Only coordinates and node IDs are 
-saved. Labels or other graphics added 
-on canvas by hand are not saved in 
-\"phylo_coords.txt\" file.
-"
-    button .how_to_save.dismiss -text "Dismiss" \
-	-command "destroy .how_to_save" -bg gray -width 8
-
-    pack .how_to_save.text -padx 7 -pady 7
-    pack .how_to_save.dismiss -padx 3 -pady 3
-}
-
-proc Dots_Coord_Restore {} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY
-    global dots_coord_file_restore
-    global restore_speed
-
-    set f_open_restore [open $dots_coord_file_restore "r"]
-
-    while {[gets $f_open_restore current_line_coord] >= 0 } {
-	set current_gene_ID [lindex [split $current_line_coord] 0]
-	set coordinates_x [lindex [split $current_line_coord] 1]
-	set coordinates_y [lindex [split $current_line_coord] 2]
-	set the_Node $abc_tag$current_gene_ID
-	if {$the_Node == ""} {
-	    continue
-	}
-	set move_me_X [expr $coordinates_x - $nodeX($the_Node)]
-	set move_me_Y [expr $coordinates_y - $nodeY($the_Node)]
-	if {$move_me_X == 0 && $move_me_Y == 0} {
-	    continue
-	}
-	if { $restore_speed == "SLOW" } {
-	    if {$move_me_X > 0} {
-		while {$move_me_X > 0} {
-		    moveNode $the_Node 1 0
-		    incr move_me_X -1
-		    update
-		}
-	    }
-	    if {$move_me_X < 0} {
-		while {$move_me_X < 0} {
-		    moveNode $the_Node -1 0
-		    incr move_me_X 1
-		    update
-		}
-	    }
-	    if {$move_me_Y > 0} {
-		while {$move_me_Y > 0} {
-		    moveNode $the_Node 0 1
-		    incr move_me_Y -1
-		    update
-		}
-	    }
-	    if {$move_me_Y < 0} {
-		while {$move_me_Y < 0} {
-		    moveNode $the_Node 0 -1
-		    incr move_me_Y 1
-		    update
-		}
-	    }
-	} else {
-	    moveNode $the_Node $move_me_X $move_me_Y
-	    update
-	}
-    }
-    close $f_open_restore
-    bell
-}
-
-proc HTML_Image_Map_Generator {} {
-
-    global abc_tag
-    global html_image_map
-    global list_of_nodes
-
-    set html_image_map_open [open $html_image_map "w"]
-
-    puts $html_image_map_open "<!doctype html public \"-//w3c//dtd html 4.0//en\">
-<html>
-<head>
-<title>
-Web Page Title
-</title>
-</head>
-<body text=\"#fffccc\" bgcolor=\"#000077\" \
-link=\"#ffffcc\" vlink=\"#ffff55\" alink=\"#ffffff\">
-<font face=\"Arial, Helvetica\">
-<center>
-<h2>
-<font color = \"#ffffff\">
-Web Page Title
-</font>
-</h2>
-</center>
-<p>
-<br>
-<center>
-Web Page Description
-</center>
-<br>
-<center>
-
-<!-- Created with PhyloGrapher -->
-
-<img src=\"phylographer_image_01.gif\" vspace=\"10\" hspace=\"10\" \
-align=\"middle\" usemap=\"#phylographer\">
-
-<map name=\"phylographer\">
-"
-
-    foreach current_gene_ID $list_of_nodes {
-	set xy_node_coords [.phylo.canvas coords $abc_tag$current_gene_ID]
-	if {$xy_node_coords == ""} {
-	    continue
-	}
-	make_HTML $xy_node_coords $html_image_map_open $current_gene_ID
-    }
-
-    puts $html_image_map_open "
-</map>
-</center>
-<br>
-<br>
-Web Page Content Here
-<br>
-<br>
-</body>
-</html>
-"
-    close $html_image_map_open
-    bell
-}
-
-proc make_HTML {xy_node_coords html_image_map_open current_gene_ID} {
-
-    global url_prefix
-    global url_suffix
-
-    puts -nonewline $html_image_map_open "<area title=\"$current_gene_ID\" "
-    puts -nonewline $html_image_map_open "shape=\"RECT\" coords=\""
-    puts -nonewline $html_image_map_open "$xy_node_coords\" "
-    puts -nonewline $html_image_map_open "HREF=\"http\:\/\/$url_prefix\/"
-    puts -nonewline $html_image_map_open "$current_gene_ID"
-    puts -nonewline $html_image_map_open "$url_suffix"
-    puts -nonewline $html_image_map_open "\" target=\"_blank\">\n"
-}
-
-proc Print_Gene_ID {current_gene_ID curX curY} {
-
-    global node_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    set label_tag "label"
-
-    .phylo.canvas create text [expr $curX+3] [expr $curY-3] -text $current_gene_ID \
-	    -font "$canvas_editor_font_type $canvas_editor_font_size $canvas_editor_font_style" \
-	    -anchor sw -fill $node_color_label -tags "$current_gene_ID\_$label_tag removable"
-
-    .phylo.canvas bind $current_gene_ID\_$label_tag <Button-1> {
-    set curX %x
-    set curY %y
-    }
-    .phylo.canvas bind $current_gene_ID\_$label_tag <B1-Motion> {
-	moveNode [.phylo.canvas find withtag current] [expr %x-$curX] [expr %y-$curY]
-	set curX %x
-	set curY %y
-    }
-}
-
-proc Print_Edge_Weight {edge_tag} {
-
-    global edge_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-    global edge_label_counter
- 
-    global sim_curX 
-    global sim_curY
-
-    set curX $sim_curX
-    set curY $sim_curY
-
-    set label_tag "label"
-
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    .phylo.canvas create text [expr $curX+3] [expr $curY-3] -text "$edge_tag" \
-	    -font "$canvas_editor_font_type $canvas_editor_font_size $canvas_editor_font_style" \
-	    -anchor sw -fill $edge_color_label \
-	    -tag "$edge_tag\_$label_tag\_$edge_label_counter removable"
-
-    .phylo.canvas bind $edge_tag\_$label_tag\_$edge_label_counter <Button-1> {
-	set curX %x
-	set curY %y
-    }
-    .phylo.canvas bind $edge_tag\_$label_tag\_$edge_label_counter <B1-Motion> {
-	moveNode [.phylo.canvas find withtag current] [expr %x-$curX] [expr %y-$curY]
-	set curX %x
-	set curY %y
-    }
-    incr edge_label_counter
-}
-
-proc Gene_ID_Window {} {
-
-    destroy .geneid
-    toplevel .geneid
-    .geneid config -bg black
-    wm transient .geneid .phylo.canvas
-    wm title .geneid "Graph Info"
-    wm protocol .geneid WM_DELETE_WINDOW "destroy .geneid"
-
-    label .geneid.label -text "Node ID: " -bg black -fg lightblue
-    entry .geneid.entry -relief sunken -textvariable current_gene_ID \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .geneid.label .geneid.entry
-    
-    label .geneid.degree_label -text "Degree: " -bg black -fg lightblue
-    entry .geneid.degree_entry -relief sunken -textvariable current_gene_degree \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .geneid.degree_label .geneid.degree_entry
-
-    label .geneid.empty -text "" -bg black -fg lightblue
-    grid .geneid.empty
-
-    label .geneid.weight_label -text "Edge Weight: " -bg black -fg lightblue
-    entry .geneid.weight_entry -relief sunken -textvariable current_edge_weight \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .geneid.weight_label .geneid.weight_entry
-}
-
-proc Shake_the_Node {current_gene_ID} {
-
-    set k 20
-    set l 20
-    set m 20
-    set n 20
-    set o 20
-    set p 20
-
-    set old_node_colour [lindex [.phylo.canvas itemconfig $current_gene_ID -fill] 4]
-    set old_node_fill [lindex [.phylo.canvas itemconfig $current_gene_ID -outline] 4]
-    .phylo.canvas itemconfigure $current_gene_ID -fill "red" -outline "yellow"
-
-    while {$k >= 0} {
-	moveNode_Slow $current_gene_ID 0 -1
-	update
-	incr k -1
-    }
-    while {$l >= 0} {
-	moveNode_Slow $current_gene_ID 1 1
-	update
-	incr l -1
-    }
-    while {$m >= 0} {
-	moveNode_Slow $current_gene_ID -1 1
-	update
-	incr m -1
-    }
-    while {$n >= 0} {
-	moveNode_Slow $current_gene_ID -1 -1
-	update
-	incr n -1
-    }
-    while {$o >= 0} {
-	moveNode_Slow $current_gene_ID 1 -1
-	update
-	incr o -1
-    }
-    while {$p >= 0} {
-	moveNode_Slow $current_gene_ID 0 1
-	update
-	incr p -1
-    }
-    bell
-    .phylo.canvas itemconfigure $current_gene_ID -fill $old_node_colour -outline $old_node_fill
-    clearName .geneid.entry .geneid.degree_entry
-}
-
-proc Edge_Counter {} {
-
-    global edges_data_file
-
-    destroy .edge_counter_win
-    toplevel .edge_counter_win
-    wm title .edge_counter_win "Edge Counter"
-    wm protocol .edge_counter_win WM_DELETE_WINDOW "destroy .edge_counter_win"
-    wm minsize .edge_counter_win 300 200
-
-    label .edge_counter_win.input_file_label -text "output file:" -bg gray -width 12
-    place .edge_counter_win.input_file_label -x 20 -y 20
-
-    entry .edge_counter_win.input_file_entry -relief sunken \
-	    -textvariable edges_data_file -bg lightyellow -width 20
-    place .edge_counter_win.input_file_entry -x 115 -y 20
-
-    button .edge_counter_win.howto -text "HowTo" -bg gray -width 8 -command {HowTo_Count_Edges}
-    place .edge_counter_win.howto -x 60 -y 150
-
-    button .edge_counter_win.dismiss -text "Dismiss" -bg gray -width 8 -command {destroy .edge_counter_win}
-    place .edge_counter_win.dismiss -x 160 -y 150
-
-    button .edge_counter_win.doit -text "Count Edges" -bg orange -width 12 -command {Edge_Degree_Counter}
-    place .edge_counter_win.doit -x 140 -y 50
-
-}
-
-proc HowTo_Count_Edges {} {
-
-    destroy .how_to_edges
-    toplevel .how_to_edges
-    wm title .how_to_edges "HowTo Count Edges" 
-    wm protocol .how_to_edges WM_DELETE_WINDOW "destroy .how_to_edges"
-
-    label .how_to_edges.text -text "
-Each vertex may have some number of edges.
-Number of edges for given vertex is a 
-vertex degree. To generate file with the 
-list of vertex degree for all elements in 
-your graph file just click \"Count Edges\".
-Program will examine the current canvas 
-and generate a new file you specify.
-"
-    button .how_to_edges.dismiss -text "Dismiss" \
-	-command "destroy .how_to_edges" -bg gray -width 8
-
-    pack .how_to_edges.text -padx 7 -pady 7
-    pack .how_to_edges.dismiss -padx 3 -pady 3
-
-}
-
-proc Edge_Degree_Counter {} {
-
-    global abc_tag
-    global list_of_nodes
-    global edges_data_file
-
-    set edges_data_file_open [open $edges_data_file "w"]
-
-    foreach current_gene_ID $list_of_nodes {
-	set the_Node $current_gene_ID
-	if {$the_Node == ""} {
-	    continue
-	}
-	Edge_Degree_Counter_Movie $abc_tag$the_Node $edges_data_file_open $current_gene_ID
-    }
-    close $edges_data_file_open
-    bell
-    after 100
-    bell
-}
-
-proc Edge_Degree_Counter_Movie {the_Node edges_data_file_open current_gene_ID} {
-
-    global abc_tag
-
-    set k 0
-    set l 0
-    set m 0
-    set n 0
-    set o 0
-    set p 0
-
-    set old_node_colour [lindex [.phylo.canvas itemconfig $abc_tag$current_gene_ID -fill] 4]
-    set old_node_fill [lindex [.phylo.canvas itemconfig $abc_tag$current_gene_ID -outline] 4]
-    .phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill "red" -outline "yellow"
-
-    while {$k >= 0} {
-	moveNode_Slow $the_Node 0 -1 
-	update
-	incr k -1
-    }
-    while {$l >= 0} {
-	moveNode_Slow $the_Node 1 1 
-	update
-	incr l -1
-    }
-    while {$m >= 0} {
-	moveNode_Slow $the_Node -1 1 
-	update
-	incr m -1
-    }
-    while {$n >= 0} {
-	moveNode_Slow $the_Node -1 -1 
-	update
-	incr n -1
-    }
-    while {$o >= 0} {
-	moveNode_Slow $the_Node 1 -1 
-	update
-	incr o -1
-    }
-    while {$p >= 0} {
-	moveNode_Slow_Edges $the_Node 0 1 $edges_data_file_open $current_gene_ID
-	update
-	incr p -1
-    }
-    .phylo.canvas itemconfigure $abc_tag$current_gene_ID -fill $old_node_colour -outline $old_node_fill
-    clearName .geneid.entry .geneid.degree_entry
-}
-
-proc moveNode_Slow_Edges {node xDist yDist edges_data_file_open current_gene_ID} {
-
-    global abc_tag
-    global nodeX 
-    global nodeY 
-    global edgeFirst 
-    global edgeSecond
-
-    global tcl_precision
-
-    .phylo.canvas move $node $xDist $yDist
-    incr nodeX($node) $xDist
-    incr nodeY($node) $yDist
-    set edge_counter 0
-    foreach edge $edgeFirst($node) {
-	.phylo.canvas coords $edge $nodeX($node) $nodeY($node) \
-	[lindex [.phylo.canvas coords $edge] 2] \
-	[lindex [.phylo.canvas coords $edge] 3]
-	incr edge_counter
-    }
-    foreach edge $edgeSecond($node) {
-	.phylo.canvas coords $edge [lindex [.phylo.canvas coords $edge] 0] \
-	[lindex [.phylo.canvas coords $edge] 1] \
-	$nodeX($node) $nodeY($node)
-	incr edge_counter
-    }
-    showDegree $edge_counter .geneid.degree_entry
-    puts $edges_data_file_open $current_gene_ID\t$edge_counter
-}
-
-proc Events_Binding {} {
-
-    global list_of_nodes
-    global custom_node_counter
-    global edge_label_counter
-    global genes_range
-    global input_type
-
-    if { $input_type == "MANUAL" } {
-	set custom_node_counter 1
-	set edge_label_counter  0
-	bind .phylo.canvas <n> {
-	    set new_node "Custom_Node_$custom_node_counter"
-	    mkNode [expr int(round([.phylo.canvas canvasx %x]))] \
-		    [expr int(round([.phylo.canvas canvasy %y]))] $new_node
-	    set list_of_nodes [lappend list_of_nodes "Custom_Node_$custom_node_counter"]
-	    incr custom_node_counter
-	    incr genes_range
-	}
-    }
-
-    bind .phylo.canvas <Control-d> {
-	set curX %x
-	set curY %y
-	.phylo.canvas find withtag current
-	set current_tags_list [.phylo.canvas gettags "current"]
-	set delete_me_current [lindex $current_tags_list 1]
-	set third_tag [lindex $current_tags_list 2]
-	puts "$delete_me_current $third_tag"
-	if { $delete_me_current == "removable" } {
-	    .phylo.canvas delete current
-	}
-	clearName .geneid.entry .geneid.degree_entry
-    }
-}
-
-proc PhyloGrapher_Canvas {} {
-
-    destroy .phylo .geneid
-
-    global horizontal_size 
-    global vertical_size
-    global canvas_background 
-    global font_color_canvas
-    global genes_range 
-    global graph_radius
-    global edgeCounter
-    global object_x_size
-    global object_y_size
-    global error_status
-    global input_type
-
-    set error_status 0
-
-    global main_cursor_color
-
-    set edgeCounter 0
-
-    set vertical_size $horizontal_size
-    set graph_radius [expr $horizontal_size/2 - 45]
-
-    set scrollmax_x [expr $horizontal_size + 15 + $object_x_size]
-    set scrollmax_y [expr $vertical_size + 15 + $object_y_size]
-
-    Scrolled_Canvas .phylo -width 700 -height 700 \
-	-scrollregion "0 0 $scrollmax_x $scrollmax_y" -bg white ; # -bg $canvas_background
-
-    Dummy_Color_Movie
-
-    Gene_ID_Window
-
-    Html_ScreenShot $horizontal_size $vertical_size
-
-    puts "$input_type"
-
-    if { $input_type == "MANUAL" } {
-	set genes_range 0
-	focus .phylo.canvas
-    }
-
-    if { $input_type == "DATA" } {
-	Plot_Genes_on_Canvas $genes_range $graph_radius
-    }
-
-    if {$error_status == 0} {
-
-	Events_Binding
-
-	if { $input_type == "DATA" } {
-	    Create_Graph_from_Data_CANVAS
-	}
-
-	focus .phylo.canvas
-
-	##### COMMENT ON WINDOWS CURSOR CONFIG #####
-	# .phylo.canvas config -cursor "tcross $main_cursor_color"
-
-	.phylo.canvas create rect 0 0 $scrollmax_x $scrollmax_y \
-	    -fill $canvas_background -outline $canvas_background -tag dummy_ps_background
-	.phylo.canvas lower dummy_ps_background
-    }
-}
-
-proc Dummy_Color_Movie {} {
-
-    global canvas_background
-
-    .phylo.canvas create text 240 300 -fill black -text "PhyloGrapher" \
-	    -font "helvetica 32 bold" -anchor sw -tag phylo_banner
-
-    set q 100
-    while {$q >= 0} {
-	.phylo.canvas configure -bg gray$q
-	after 1
-	incr q -1
-	update
-    }
-    .phylo.canvas delete phylo_banner
-    .phylo.canvas configure -bg $canvas_background
-}
-
-proc Html_ScreenShot { horizontal_size vertical_size } {
-
-    global object_x_size
-    global object_y_size
-
-    .phylo.canvas create line 0 0 [expr $horizontal_size + $object_x_size + 5] 0 -fill gray50 
-    .phylo.canvas create line 0 0 0 [expr $vertical_size + $object_y_size] -fill gray50
-    .phylo.canvas create line   [expr $horizontal_size + $object_x_size + 5] 0 \
-	    [expr $horizontal_size + $object_x_size + 5]\
-	    [expr $vertical_size + $object_y_size] -fill gray50
-    .phylo.canvas create line 0 [expr $vertical_size + $object_y_size] \
-	    [expr $horizontal_size + $object_x_size +5]\
-	    [expr $vertical_size + $object_y_size] -fill gray50
-}
-
-proc Show_Extras {} {
-
-    destroy .extras_win
-    toplevel .extras_win
-    wm title .extras_win "Extras"
-    wm protocol .extras_win WM_DELETE_WINDOW "destroy .extras_win"
-    wm minsize .extras_win 330 200
-    .extras_win config -bg black
-
-    button .extras_win.canvas_ed -text "Canvas\nEditor" -command {Canvas_Editor} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.canvas_ed -x 20 -y 20
-
-    button .extras_win.node_ed -text "Node\nPainter" -command {Node_Painter} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.node_ed -x 120 -y 20
-
-    button .extras_win.node_coord -text "Node\nCoords" -command {Nodes_Coord_Dialog} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.node_coord -x 220 -y 20
-
-    button .extras_win.edges -text "Edge\nCounter" -command {Edge_Counter} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.edges -x 20 -y 70
-
-    button .extras_win.ssearch -text "Smith\nWaterman" -command {Smith_Waterman} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.ssearch -x 120 -y 70
-
-    button .extras_win.fruchterman -text "Fruchterman\nRheingold" -command {Fruchterman_Rheingold} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.fruchterman -x 220 -y 70
-
-    button .extras_win.adj_list -text "Adjacency\nList" -command {Adjacency_List} \
-	-bg blue4 -fg lightblue -width 9 -height 2
-    place .extras_win.adj_list -x 20 -y 120
-
-    button .extras_win.dismiss -text "Dismiss" -command {destroy .extras_win} \
-	-bg gray30 -fg gray75 -width 9 -height 2
-    place .extras_win.dismiss -x 220 -y 140
-
-}
-
-proc Adjacency_List {} {
-    destroy .adjacency_list
-    toplevel .adjacency_list
-    wm title .adjacency_list "Adjacency List"
-    wm protocol .adjacency_list WM_DELETE_WINDOW "destroy .adjacency_list"
-    wm minsize .adjacency_list 460 270
-    .adjacency_list config -bg black
-
-    global current_adjacent_node
-    global adjacency_data_file
-    global adj_highlight_color
-    global adj_highlight_outline
-
-    set adjacency_data_file "adjacency_data.txt"
-    set adj_highlight_color "green3"
-    set adj_highlight_outline "yellow"
-
-    label .adjacency_list.node_label -width 7 -text "Node:" -fg blue4
-    place .adjacency_list.node_label -x 10 -y 10
-
-    entry .adjacency_list.node_entry -width 15 -bg lightyellow -textvariable current_adjacent_node
-    place .adjacency_list.node_entry -x 70 -y 10
-
-    label .adjacency_list.fill_label -width 7 -text "fill:"
-    place .adjacency_list.fill_label -x 10 -y 40
-
-    entry .adjacency_list.highlight_colour -width 15 -bg lightyellow -textvariable adj_highlight_color
-    place .adjacency_list.highlight_colour -x 70 -y 40
-
-    label .adjacency_list.outline_label -width 7 -text "outline:"
-    place .adjacency_list.outline_label -x 10 -y 70
-
-    entry .adjacency_list.highlight_outline -width 15 -bg lightyellow -textvariable adj_highlight_outline
-    place .adjacency_list.highlight_outline -x 70 -y 70
-
-    button .adjacency_list.show -text "Highlight\nAdjacent Nodes" -bg orange \
-	    -command {HighLight_Adjacent_Nodes}
-    place .adjacency_list.show -x 30 -y 100
-
-    button .adjacency_list.show_all -text "Highlight All\nNodes in Group" -bg orange \
-	    -command {HighLight_Adjacent_Nodes_All}
-    place .adjacency_list.show_all -x 30 -y 150
-
-    label .adjacency_list.dsf -bg blue4 -fg yellow \
-	    -justify left -text \
-"By clicking on \"Highlight All Nodes in Group\"
-PhyloGrapher performs DFS algorithm for a 
-given node and highlights all connected 
-nodes in a group (connected graph)."
-
-    place .adjacency_list.dsf -x 10 -y 200
-
-    button .adjacency_list.build -text "Build Adjacency\nList" -bg lightblue \
-	    -command {Build_Adjacency_List}
-    place .adjacency_list.build -x 300 -y 185
-
-    button .adjacency_list.dismiss -text "Dismiss" -command {destroy .adjacency_list}
-    place .adjacency_list.dismiss -x 330 -y 235
-
-    label .adjacency_list.howto -bg blue4 -fg yellow \
-	    -justify left -text \
-"     About Adjacency List:
-To analyze adjacent nodes you need to 
-create adjacency list file first with 
-info about adjacent nodes to any given 
-node. As soon as the list is available, 
-by pointing a mouse cursor over any node 
-and clicking on \"Highlight Adjacent Nodes\" 
-you can highlight adjacent nodes."
-
-    place .adjacency_list.howto -x 200 -y 10
-
-    entry .adjacency_list.data_file -width 32 -bg lightyellow -textvariable adjacency_data_file
-    place .adjacency_list.data_file -x 200 -y 155
-}
-
-proc HighLight_Adjacent_Nodes {} {
-
-    global adjacency_data_file
-    global current_adjacent_node
-    global adj_highlight_color
-    global adj_highlight_outline
-
-    set found_the_id "NO"
-
-    set adjacency_data_file_open [open $adjacency_data_file "r"]
-    while {[gets $adjacency_data_file_open current_line] >= 0 && $found_the_id == "NO"} {
-	set current_first_id [lindex [split $current_line "|"] 0]
-	if {$current_first_id == $current_adjacent_node} {
-	    set found_the_id "YES"
-	    # puts $found_the_id
-	    # puts $current_adjacent_node
-	    # puts $current_line
-	    set current_line_length [llength [split $current_line "|"]]
-	    set k 0
-	    while {$k <= $current_line_length} {
-		set current_some_id [lindex [split $current_line "|"] $k]
-		if {$current_some_id != ""} {
-		    # puts $current_some_id
-		    highLightGene .phylo.canvas $current_some_id
-		    update
-		}
-		incr k
-	    }
-	    # puts $current_line_length
-	}
-    }
-    close $adjacency_data_file_open
-    bell
-}
-
-proc HighLight_Adjacent_Nodes_All {} {
-
-    global dummy_adjacency_counter
-    global already_done_nodes
-    global current_adjacent_node
-
-    set already_done_nodes {}
-    set already_done_nodes [lappend already_done_nodes $current_adjacent_node]
-    set dummy_adjacency_counter 1
-    HighLight_Adjacent_Nodes_All_Loop
-    bell
-}
-
-proc HighLight_Adjacent_Nodes_All_Loop {} {
-
-    global dummy_adjacency_counter
-    global adjacency_data_file
-    global current_adjacent_node
-    global adj_highlight_color
-    global adj_highlight_outline
-    global already_done_nodes
-
-    set found_the_id "NO"
-
-    set adjacency_data_file_open [open $adjacency_data_file "r"]
-    while {[gets $adjacency_data_file_open current_line] >= 0 && $found_the_id == "NO"} {
-	set current_first_id [lindex [split $current_line "|"] 0]
-	if {$current_first_id == $current_adjacent_node} {
-	    set found_the_id "YES"
-	    # puts $found_the_id
-	    # puts $current_adjacent_node
-	    # puts $current_line
-	    set current_line_length [llength [split $current_line "|"]]
-	    set k 0
-	    while {$k <= $current_line_length} {
-		set current_some_id [lindex [split $current_line "|"] $k]
-		set already_done_status [lsearch -exact $already_done_nodes $current_some_id]
-		if {$already_done_status == -1} {
-		    set already_done_nodes [lappend already_done_nodes $current_some_id]
-		}
-		if {$current_some_id != ""} {
-		    # puts $current_some_id
-		    highLightGene .phylo.canvas $current_some_id
-		    update
-		    if {$already_done_status == -1} {
-			set current_adjacent_node $current_some_id
-			HighLight_Adjacent_Nodes_All_Loop
-			puts "message from inner loop $dummy_adjacency_counter times"
-			incr dummy_adjacency_counter
-		    }
-		}
-		incr k
-	    }
-	    # puts $current_line_length
-	}
-    }
-    close $adjacency_data_file_open
-}
-
-proc Build_Adjacency_List {} {
-
-    global level_of_similarity_6
-    global adjacency_data_file 
-    global adjacency_data_file_open
-
-    global list_of_nodes
-
-    set adjacency_data_file_open [open $adjacency_data_file "w"]
-
-    set k 1
-    foreach current_id $list_of_nodes {
-        puts -nonewline $adjacency_data_file_open $current_id\|
-        puts $k
-	.adjacency_list.build config -bg blue -fg lightblue -text "Processing...\n$k"
-        Adj_List_Extraction $current_id
-        puts -nonewline $adjacency_data_file_open \n
-        incr k
-	update
-    }
-    close $adjacency_data_file_open
-    puts "Adjacency List Done!\n"
-    .adjacency_list.build config -bg lightblue -fg black -text "Build Adjacency\nList"
-    bell
-}
-
-proc Adj_List_Extraction {current_id} {
-
-    global edges_array
-    global list_of_edges
-
-    global adjacency_data_file_open
-    global level_of_similarity_6
-
-    foreach current_matrix_line $list_of_edges {
-	set current_matrix_line [split $current_matrix_line]
-        set matrix_id_A [lindex $current_matrix_line 0]
-        set matrix_id_B [lindex $current_matrix_line 1]
-        set current_sim_value [lindex $current_matrix_line 2]
-        if {$current_id == $matrix_id_A && $current_sim_value >= $level_of_similarity_6} {
-            puts -nonewline $adjacency_data_file_open $matrix_id_B\|
-        }
-        if {$current_id == $matrix_id_B && $current_sim_value >= $level_of_similarity_6} {
-            puts -nonewline $adjacency_data_file_open $matrix_id_A\|
-        }
-        if {$current_id != $matrix_id_A && $current_id != $matrix_id_B} {
-	    continue
-        }
-    }
-}
-
-proc Fruchterman_Rheingold {} {
-
-    destroy .frucht_gold
-    toplevel .frucht_gold
-    wm title .frucht_gold "Fruchterman Rheingold"
-    wm protocol .frucht_gold WM_DELETE_WINDOW "destroy .frucht_gold"
-    wm minsize .frucht_gold 440 240
-
-    global list_of_nodes
-    global list_of_edges
-
-    global attraction_random_step
-    global frucht_gold_precision
-    global frucht_gold_limit
-    global edge_wight_coefficient
-    global random_step_value
-    global repulsion_distance
-
-    set attraction_random_step 12
-    set frucht_gold_precision 100
-    set frucht_gold_limit 300
-    set edge_wight_coefficient 1
-    set random_step_value 12
-    set repulsion_distance 24
-
-    label .frucht_gold.attraction_random_step_label -text "attr step value:" -bg yellow3 -width 16
-    place .frucht_gold.attraction_random_step_label -x 10 -y 10
-
-    entry .frucht_gold.attraction_random_step_entry -relief sunken \
-	    -textvariable attraction_random_step -bg lightyellow -width 8
-    place .frucht_gold.attraction_random_step_entry -x 135 -y 10
-    #####
-    label .frucht_gold.random_step_label -text "repl step value:" -bg yellow3 -width 16
-    place .frucht_gold.random_step_label -x 10 -y 40
-
-    entry .frucht_gold.random_step_entry -relief sunken \
-	    -textvariable random_step_value -bg lightyellow -width 8
-    place .frucht_gold.random_step_entry -x 135 -y 40
-    #####
-    label .frucht_gold.rep_dist_label -text "repulsion dist:" -bg yellow3 -width 16
-    place .frucht_gold.rep_dist_label -x 10 -y 70
-
-    entry .frucht_gold.rep_dist_entry -relief sunken \
-	    -textvariable repulsion_distance -bg lightyellow -width 8
-    place .frucht_gold.rep_dist_entry -x 135 -y 70
-    #####
-    label .frucht_gold.precision_label -text "node distance K:" -bg gray -width 16
-    place .frucht_gold.precision_label -x 10 -y 100
-
-    entry .frucht_gold.precision_entry -relief sunken \
-	    -textvariable frucht_gold_precision -bg lightblue -width 8
-    place .frucht_gold.precision_entry -x 135 -y 100
-    #####
-    label .frucht_gold.edge_wight_coeff_label -text "edge weight K:" -bg gray -width 16
-    place .frucht_gold.edge_wight_coeff_label -x 10 -y 130
-
-    entry .frucht_gold.edge_wight_coeff_entry -relief sunken \
-	    -textvariable edge_wight_coefficient -bg lightblue -width 8
-    place .frucht_gold.edge_wight_coeff_entry -x 135 -y 130
-    #####
-    label .frucht_gold.iterations_label -text "\# of iterations:" -bg yellow3 -width 16
-    place .frucht_gold.iterations_label -x 10 -y 160
-
-    entry .frucht_gold.iterations_entry -relief sunken \
-	    -textvariable frucht_gold_limit -bg gold -width 8
-    place .frucht_gold.iterations_entry -x 135 -y 160
-    #####
-    button .frucht_gold.organize -text "Self Organize!" -bg orange \
-	    -command {Self_Organize}
-    place .frucht_gold.organize -x 20 -y 200
-
-    button .frucht_gold.dismiss -text "Dismiss" -command {destroy .frucht_gold}
-    place .frucht_gold.dismiss -x 300 -y 200
-    #####
-    label .frucht_gold.the_rule_label -bg blue4 -fg yellow \
-	    -justify left -text \
-"  Current Rule:
-
-\if dist AB >= K1 * (K2 - W^2)
-move the node on a distance 
-of attraction step value,
-repeat $frucht_gold_limit times.
-    where: 
-        dist AB: distance 
-        between nodes A and B
-        K1: node distance K
-        K2: edge weight K
-        W: edge weight value"
-
-   place .frucht_gold.the_rule_label -x 225 -y 10
-
-}
-
-proc Self_Organize {} {
-
-    global abc_tag
-    global list_of_nodes
-    global list_of_edges
-
-    global horizontal_size
-    global nodeX 
-    global nodeY
-    global attraction_random_step
-    global frucht_gold_precision
-    global frucht_gold_limit
-    global edge_wight_coefficient
-    global entropy_factor
-    global level_of_similarity_6
-    global genes_range
-    global random_step_value
-    global repulsion_distance
-
-    ### RANDOMIZATION ###
-    foreach the_Node $list_of_nodes {
-	set coordinates_x [expr int(round(rand()*$horizontal_size))]
-	set coordinates_y [expr int(round(rand()*$horizontal_size))]
-	set move_me_X [expr $coordinates_x - $nodeX($abc_tag$the_Node)]
-	set move_me_Y [expr $coordinates_y - $nodeY($abc_tag$the_Node)]
-	moveNode $abc_tag$the_Node $move_me_X $move_me_Y
-	update
-    }
-
-    set iron_wall [expr $horizontal_size - 10]
-
-    ### LOOP ###
-    while { $frucht_gold_limit >= 0 } {
-   
-	foreach current_line $list_of_edges {
-	    set current_seq_ID_A [lindex $current_line 0]
-	    set current_seq_ID_B [lindex $current_line 1]
-	    set current_identity [lindex $current_line 2]
-	    ################
-
-	    set old_node_colour_A [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_A -fill] 4]
-	    set old_node_fill_A [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_A -outline] 4]
-	    set old_node_colour_B [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_B -fill] 4]
-	    set old_node_fill_B [lindex [.phylo.canvas itemconfig $abc_tag$current_seq_ID_B -outline] 4]
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_A -fill "red" -outline "yellow"
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_B -fill "red" -outline "yellow"
-	    update
-	    ################
-
-	    ### NODE A ###
-
-	    set the_Node_A $abc_tag$current_seq_ID_A
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    # puts "$the_Node_A_X1 $the_Node_A_Y1 $the_Node_A_X2 $the_Node_A_Y2 $the_Node_A_X $the_Node_A_Y $the_Node_A NODE_A COORDS"
-
-	    if {$the_Node_A == ""} {
-		continue
-	    }
-	    set the_Node_B $current_seq_ID_B
-	    if {$the_Node_B == ""} {
-		continue
-	    }
-	    ############## PUSH ME OUT BEGIN ##############
-
-	    set dummy_switch_random [expr rand()]
-
-	    if {$dummy_switch_random >= 0.75 && $frucht_gold_limit > 0} {
-		set dummy_switch "NO"
-	    } else {
-		set dummy_switch "YES"
-	    }
-
-	    set push_them_out_A [.phylo.canvas find enclosed \
-		[expr $the_Node_A_X - $repulsion_distance] [expr $the_Node_A_Y - $repulsion_distance] \
-		[expr $the_Node_A_X + $repulsion_distance] [expr $the_Node_A_Y + $repulsion_distance] ]
-
-	    set push_them_out_A_length [llength [split $push_them_out_A]]
-	    # puts "$push_them_out_A $push_them_out_A_length"
-
-	    # puts "$dummy_switch DUMMY SWITCH"
-
-	    while {$push_them_out_A_length > 0 && $dummy_switch == "YES"} {
-
-		set push_me_current [lindex [split $push_them_out_A] [expr $push_them_out_A_length -1 ]]
-
-		# set push_me_current_ID $push_me_current
-		set push_me_current_list [.phylo.canvas gettags $push_me_current]
-		set push_me_current_ID [lindex $push_me_current_list 0]
-		set second_tag [lindex $push_me_current_list 1]
-
-		set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-		set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-		set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-		set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-		set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-		set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-		# puts "$push_me_X1 $push_me_Y1 $push_me_X2 $push_me_Y2 $push_me_X $push_me_Y $push_me_current_ID PUSH COORDS"
-
-		if { $push_me_current_ID != $the_Node_A  && $second_tag == "node" } {
-		    # puts "$push_me_current PUSH ME OUT CURRENT"
-		    set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-		    set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-		    set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-		    # puts "$x_distance_AC_first $y_distance_AC_first $distance_between_A_C_first"
-		    # puts "$distance_between_A_C_first $repulsion_distance REPULSION"
-
-		    while {[expr $distance_between_A_C_first] < $repulsion_distance} {
-			set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$random_step_value"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$random_step_value"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "0"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$random_step_value"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$random_step_value"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-			# puts "I am above"
-
-			moveNode $push_me_current_ID $direction_X $direction_Y
-
-			update
-
-			# puts "$direction_X $direction_Y DIRECTION X Y"
-
-			# puts "I am below"
-
-			set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-			set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-			set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-			set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-			set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-			set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-			set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-			set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-			set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-			set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-			set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-			set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-			set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-			set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-			set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-			if { $the_Node_A_X <= 10 } {
-			    moveNode $the_Node_A 30 0
-			    update
-			}
-			if { $the_Node_A_Y <= 10 } {
-			    moveNode $the_Node_A 0 30
-			    update
-			}
-			if { $the_Node_A_X >= $iron_wall } {
-			    moveNode $the_Node_A -30 0
-			    update
-			}
-			if { $the_Node_A_Y >= $iron_wall} {
-			    moveNode $the_Node_A 0 -30
-			    update
-			}
-		    }
-		}
-		incr push_them_out_A_length -1
-	    }
-	    ##############  PUSH ME OUT END  ##############
-
-	    # puts "I am out"
-
-	    set the_Node_A $abc_tag$current_seq_ID_A
-	    set the_Node_B $abc_tag$current_seq_ID_B
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-	    set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-	    set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-	    set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-	    set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-	    set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-	    set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-	    set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-	    set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-	    if {[expr $distance_between_A_B_first] >= [expr $frucht_gold_precision*[expr ($edge_wight_coefficient - $current_identity*$current_identity)]] && $current_identity >= $level_of_similarity_6} {
-
-		set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$attraction_random_step"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$attraction_random_step"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$attraction_random_step"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-		set x_distance_AB_second abs([expr [expr $the_Node_A_X + $direction_X] - $the_Node_B_X])
-		set y_distance_AB_second abs([expr [expr $the_Node_A_Y + $direction_Y] - $the_Node_B_Y])
-		set distance_between_A_B_second hypot($x_distance_AB_second,$y_distance_AB_second)
-		if {[expr $distance_between_A_B_second - $distance_between_A_B_first] < 0} {
-		    moveNode $the_Node_A $direction_X $direction_Y
-		    update
-		}
-
-		set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-		set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-		set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-		set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-		set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-		set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-		set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-		set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-		set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-		set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-		set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-		set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-		set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-		set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-		set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-		if { $the_Node_A_X <= 10 } {
-		    moveNode $the_Node_A 30 0
-		    update
-		}
-		if { $the_Node_A_Y <= 10 } {
-		    moveNode $the_Node_A 0 30
-		    update
-		}
-		if { $the_Node_A_X >= $iron_wall } {
-		    moveNode $the_Node_A -30 0
-		    update
-		}
-		if { $the_Node_A_Y >= $iron_wall } {
-		    moveNode $the_Node_A 0 -30
-		    update
-		}
-	    }
-
-	    ### NODE B ###
-
-	    set the_Node_A $abc_tag$current_seq_ID_B
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    # puts "$the_Node_A_X1 $the_Node_A_Y1 $the_Node_A_X2 $the_Node_A_Y2 $the_Node_A_X $the_Node_A_Y $the_Node_A NODE_A COORDS"
-
-	    if {$the_Node_A == ""} {
-		continue
-	    }
-	    set the_Node_B $current_seq_ID_A
-	    if {$the_Node_B == ""} {
-		continue
-	    }
-	    ############## PUSH ME OUT BEGIN ##############
-
-	    set dummy_switch_random [expr rand()]
-
-	    if {$dummy_switch_random >= 0.75 && $frucht_gold_limit > 0} {
-		set dummy_switch "NO"
-	    } else {
-		set dummy_switch "YES"
-	    }
-
-	    set push_them_out_A [.phylo.canvas find enclosed \
-		[expr $the_Node_A_X - $repulsion_distance] [expr $the_Node_A_Y - $repulsion_distance] \
-		[expr $the_Node_A_X + $repulsion_distance] [expr $the_Node_A_Y + $repulsion_distance] ]
-
-	    set push_them_out_A_length [llength [split $push_them_out_A]]
-	    # puts "$push_them_out_A $push_them_out_A_length"
-
-	    # puts "$dummy_switch DUMMY SWITCH"
-
-	    while {$push_them_out_A_length > 0 && $dummy_switch == "YES"} {
-
-		set push_me_current [lindex [split $push_them_out_A] [expr $push_them_out_A_length -1 ]]
-
-		# set push_me_current_ID $push_me_current
-		set push_me_current_list [.phylo.canvas gettags $push_me_current]
-		set push_me_current_ID [lindex $push_me_current_list 0]
-		set second_tag [lindex $push_me_current_list 1]
-
-		set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-		set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-		set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-		set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-		set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-		set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-		# puts "$push_me_X1 $push_me_Y1 $push_me_X2 $push_me_Y2 $push_me_X $push_me_Y $push_me_current_ID PUSH COORDS"
-
-		if { $push_me_current_ID != $the_Node_A  && $second_tag == "node" } {
-		    # puts "$push_me_current PUSH ME OUT CURRENT"
-		    set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-		    set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-		    set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-		    # puts "$x_distance_AC_first $y_distance_AC_first $distance_between_A_C_first"
-		    # puts "$distance_between_A_C_first $repulsion_distance REPULSION"
-
-		    while {[expr $distance_between_A_C_first] < $repulsion_distance} {
-			set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$random_step_value"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$random_step_value"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "0"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$random_step_value"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$random_step_value"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-			# puts "I am above"
-
-			moveNode $push_me_current_ID $direction_X $direction_Y
-
-			update
-
-			# puts "$direction_X $direction_Y DIRECTION X Y"
-
-			# puts "I am below"
-
-			set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-			set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-			set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-			set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-			set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-			set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-			set push_me_X1 [lindex [.phylo.canvas coords $push_me_current_ID] 0]
-			set push_me_Y1 [lindex [.phylo.canvas coords $push_me_current_ID] 1]
-			set push_me_X2 [lindex [.phylo.canvas coords $push_me_current_ID] 2]
-			set push_me_Y2 [lindex [.phylo.canvas coords $push_me_current_ID] 3]
-			set push_me_X [expr ($push_me_X1 + $push_me_X2)/2]
-			set push_me_Y [expr ($push_me_Y1 + $push_me_Y2)/2]
-
-			set x_distance_AC_first [expr abs([expr $the_Node_A_X - $push_me_X])]
-			set y_distance_AC_first [expr abs([expr $the_Node_A_Y - $push_me_Y])]
-			set distance_between_A_C_first [expr hypot($x_distance_AC_first,$y_distance_AC_first)]
-
-			if { $the_Node_A_X <= 10 } {
-			    moveNode $the_Node_A 30 0
-			    update
-			}
-			if { $the_Node_A_Y <= 10 } {
-			    moveNode $the_Node_A 0 30
-			    update
-			}
-			if { $the_Node_A_X >= $iron_wall } {
-			    moveNode $the_Node_A -30 0
-			    update
-			}
-			if { $the_Node_A_Y >= $iron_wall} {
-			    moveNode $the_Node_A 0 -30
-			    update
-			}
-		    }
-		}
-		incr push_them_out_A_length -1
-	    }
-	    ##############  PUSH ME OUT END  ##############
-
-	    # puts "I am out"
-
-	    set the_Node_A $abc_tag$current_seq_ID_B
-	    set the_Node_B $abc_tag$current_seq_ID_A
-
-	    set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-	    set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-	    set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-	    set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-	    set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-	    set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-	    set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-	    set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-	    set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-	    set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-	    set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-	    set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-	    set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-	    set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-	    set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-	    if {[expr $distance_between_A_B_first] >= [expr $frucht_gold_precision*[expr ($edge_wight_coefficient - $current_identity*$current_identity)]] && $current_identity >= $level_of_similarity_6} {
-
-		set random_direction_X [expr rand()]
-			if {$random_direction_X > 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			if {$random_direction_X < 0.5} {
-			    set direction_X "-$attraction_random_step"
-			}
-			if {$random_direction_X == 0.5} {
-			    set direction_X "$attraction_random_step"
-			}
-			set random_direction_Y [expr rand()]
-			if {$random_direction_Y > 0.5} {
-			    set direction_Y "$attraction_random_step"
-			}
-			if {$random_direction_Y < 0.5} {
-			    set direction_Y "-$attraction_random_step"
-			}
-			if {$random_direction_Y == 0.5} {
-			    set direction_Y "0"
-			}
-
-		set x_distance_AB_second abs([expr [expr $the_Node_A_X + $direction_X] - $the_Node_B_X])
-		set y_distance_AB_second abs([expr [expr $the_Node_A_Y + $direction_Y] - $the_Node_B_Y])
-		set distance_between_A_B_second hypot($x_distance_AB_second,$y_distance_AB_second)
-		if {[expr $distance_between_A_B_second - $distance_between_A_B_first] < 0} {
-		    moveNode $the_Node_A $direction_X $direction_Y
-		    update
-		}
-
-		set the_Node_A_X1 [lindex [.phylo.canvas coords $the_Node_A] 0]
-		set the_Node_A_Y1 [lindex [.phylo.canvas coords $the_Node_A] 1]
-		set the_Node_A_X2 [lindex [.phylo.canvas coords $the_Node_A] 2]
-		set the_Node_A_Y2 [lindex [.phylo.canvas coords $the_Node_A] 3]
-		set the_Node_A_X [expr ($the_Node_A_X1 + $the_Node_A_X2)/2]
-		set the_Node_A_Y [expr ($the_Node_A_Y1 + $the_Node_A_Y2)/2]
-
-		set the_Node_B_X1 [lindex [.phylo.canvas coords $the_Node_B] 0]
-		set the_Node_B_Y1 [lindex [.phylo.canvas coords $the_Node_B] 1]
-		set the_Node_B_X2 [lindex [.phylo.canvas coords $the_Node_B] 2]
-		set the_Node_B_Y2 [lindex [.phylo.canvas coords $the_Node_B] 3]
-		set the_Node_B_X [expr ($the_Node_A_X1 + $the_Node_B_X2)/2]
-		set the_Node_B_Y [expr ($the_Node_A_Y1 + $the_Node_B_Y2)/2]
-
-		set x_distance_AB_first [expr abs([expr $the_Node_A_X - $the_Node_B_X])]
-		set y_distance_AB_first [expr abs([expr $the_Node_A_Y - $the_Node_B_Y])]
-		set distance_between_A_B_first [expr hypot($x_distance_AB_first,$y_distance_AB_first)]
-
-		if { $the_Node_A_X <= 10 } {
-		    moveNode $the_Node_A 30 0
-		    update
-		}
-		if { $the_Node_A_Y <= 10 } {
-		    moveNode $the_Node_A 0 30
-		    update
-		}
-		if { $the_Node_A_X >= $iron_wall } {
-		    moveNode $the_Node_A -30 0
-		    update
-		}
-		if { $the_Node_A_Y >= $iron_wall } {
-		    moveNode $the_Node_A 0 -30
-		    update
-		}
-	    }
-
-	    ################
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_A -fill $old_node_colour_A \
-		    -outline $old_node_fill_A
-	    .phylo.canvas itemconfigure $abc_tag$current_seq_ID_B -fill $old_node_colour_B \
-		    -outline $old_node_fill_B
-	    update
-	    ################
-	}
-	###############
-	bell
-	###############
-	incr frucht_gold_limit -1
-    }
-}
-
-proc Node_Painter {} {
-
-    destroy .node_painter
-    toplevel .node_painter
-    wm title .node_painter "Node Painter"
-    wm protocol .node_painter WM_DELETE_WINDOW "destroy .node_painter"
-    wm minsize .node_painter 470 260
-
-    global nodes_group1 
-    global nodes_group2 
-    global nodes_group3
-    global nodes_group4 
-    global nodes_group5 
-    global nodes_group6
-
-    set nodes_group1 "./Group/subgroup_1.txt"
-    set nodes_group2 "./Group/subgroup_2.txt"
-    set nodes_group3 "./Group/subgroup_3.txt"
-    set nodes_group4 "./Group/subgroup_4.txt"
-    set nodes_group5 "./Group/subgroup_5.txt"
-    set nodes_group6 "./Group/subgroup_6.txt"
-
-    global color_group1 
-    global color_group2 
-    global color_group3 
-    global color_group4 
-    global color_group5 
-    global color_group6
-
-    global outline_group1 
-    global outline_group2 
-    global outline_group3 
-    global outline_group4 
-    global outline_group5 
-    global outline_group6
-
-    set color_group1 "green3"
-    set color_group2 "orange"
-    set color_group3 "blue"
-    set color_group4 "red"
-    set color_group5 "violet"
-    set color_group6 "blue"
-
-    set outline_group1 "yellow"
-    set outline_group2 "yellow"
-    set outline_group3 "yellow"
-    set outline_group4 "yellow"
-    set outline_group5 "yellow"
-    set outline_group6 "cyan"
-
-    #####
-
-    label .node_painter.group_list -text "group list:" -bg gray -width 14
-    place .node_painter.group_list -x 120 -y 10
-
-    label .node_painter.fill_color -text "fill color:" -bg gray -width 10
-    place .node_painter.fill_color -x 250 -y 10
-
-    label .node_painter.outline_color -text "outline:" -bg gray -width 8
-    place .node_painter.outline_color -x 330 -y 10
-
-    #####
-    label .node_painter.select_group1_label -text "group1:" -bg gray -width 12
-    place .node_painter.select_group1_label -x 10 -y 40
-
-    entry .node_painter.select_group1_entry -relief sunken \
-	    -textvariable nodes_group1 -bg lightyellow -width 20
-    place .node_painter.select_group1_entry -x 105 -y 40
-
-    entry .node_painter.color_group1_entry -relief sunken \
-	    -textvariable color_group1 -bg lightyellow -width 8
-    place .node_painter.color_group1_entry -x 260 -y 40
-
-    entry .node_painter.outline_group1_entry -relief sunken \
-	    -textvariable outline_group1 -bg lightyellow -width 8
-    place .node_painter.outline_group1_entry -x 330 -y 40
-
-    button .node_painter.paint_group1 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color1}
-    place .node_painter.paint_group1 -x 400 -y 38
-    #####
-    label .node_painter.select_group2_label -text "group2:" -bg gray -width 12
-    place .node_painter.select_group2_label -x 10 -y 70
-
-    entry .node_painter.select_group2_entry -relief sunken \
-	    -textvariable nodes_group2 -bg lightyellow -width 20
-    place .node_painter.select_group2_entry -x 105 -y 70
-
-    entry .node_painter.color_group2_entry -relief sunken \
-	    -textvariable color_group2 -bg lightyellow -width 8
-    place .node_painter.color_group2_entry -x 260 -y 70
-
-    entry .node_painter.outline_group2_entry -relief sunken \
-	    -textvariable outline_group2 -bg lightyellow -width 8
-    place .node_painter.outline_group2_entry -x 330 -y 70
-
-    button .node_painter.paint_group2 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color2}
-    place .node_painter.paint_group2 -x 400 -y 68
-    #####
-    label .node_painter.select_group3_label -text "group3:" -bg gray -width 12
-    place .node_painter.select_group3_label -x 10 -y 100
-
-    entry .node_painter.select_group3_entry -relief sunken \
-	    -textvariable nodes_group3 -bg lightyellow -width 20
-    place .node_painter.select_group3_entry -x 105 -y 100
-
-    entry .node_painter.color_group3_entry -relief sunken \
-	    -textvariable color_group3 -bg lightyellow -width 8
-    place .node_painter.color_group3_entry -x 260 -y 100
-
-    entry .node_painter.outline_group3_entry -relief sunken \
-	    -textvariable outline_group3 -bg lightyellow -width 8
-    place .node_painter.outline_group3_entry -x 330 -y 100
-
-    button .node_painter.paint_group3 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color3}
-    place .node_painter.paint_group3 -x 400 -y 98
-    #####
-    label .node_painter.select_group4_label -text "group4:" -bg gray -width 12
-    place .node_painter.select_group4_label -x 10 -y 130
-
-    entry .node_painter.select_group4_entry -relief sunken \
-	    -textvariable nodes_group4 -bg lightyellow -width 20
-    place .node_painter.select_group4_entry -x 105 -y 130
-
-    entry .node_painter.color_group4_entry -relief sunken \
-	    -textvariable color_group4 -bg lightyellow -width 8
-    place .node_painter.color_group4_entry -x 260 -y 130
-
-    entry .node_painter.outline_group4_entry -relief sunken \
-	    -textvariable outline_group4 -bg lightyellow -width 8
-    place .node_painter.outline_group4_entry -x 330 -y 130
-
-    button .node_painter.paint_group4 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color4}
-    place .node_painter.paint_group4 -x 400 -y 128
-    #####
-    label .node_painter.select_group5_label -text "group5:" -bg gray -width 12
-    place .node_painter.select_group5_label -x 10 -y 160
-
-    entry .node_painter.select_group5_entry -relief sunken \
-	    -textvariable nodes_group5 -bg lightyellow -width 20
-    place .node_painter.select_group5_entry -x 105 -y 160
-
-    entry .node_painter.color_group5_entry -relief sunken \
-	    -textvariable color_group5 -bg lightyellow -width 8
-    place .node_painter.color_group5_entry -x 260 -y 160
-
-    entry .node_painter.outline_group5_entry -relief sunken \
-	    -textvariable outline_group5 -bg lightyellow -width 8
-    place .node_painter.outline_group5_entry -x 330 -y 160
-
-    button .node_painter.paint_group5 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color5}
-    place .node_painter.paint_group5 -x 400 -y 158
-    #####
-    label .node_painter.select_group6_label -text "group6:" -bg gray -width 12
-    place .node_painter.select_group6_label -x 10 -y 190
-
-    entry .node_painter.select_group6_entry -relief sunken \
-	    -textvariable nodes_group6 -bg lightyellow -width 20
-    place .node_painter.select_group6_entry -x 105 -y 190
-
-    entry .node_painter.color_group6_entry -relief sunken \
-	    -textvariable color_group6 -bg lightyellow -width 8
-    place .node_painter.color_group6_entry -x 260 -y 190
-
-    entry .node_painter.outline_group6_entry -relief sunken \
-	    -textvariable outline_group6 -bg lightyellow -width 8
-    place .node_painter.outline_group6_entry -x 330 -y 190
-
-    button .node_painter.paint_group6 -text "paint" -bg yellow3 \
-	    -command {Change_Node_Color6}
-    place .node_painter.paint_group6 -x 400 -y 188
-    #####
-
-    button .node_painter.howto -text "HowTo" -bg gray -width 8 -command {HowTo_Paint_Nodes}
-    place .node_painter.howto -x 20 -y 225
-
-    button .node_painter.dismiss -text "Dismiss" -bg gray -width 8 -command {destroy .node_painter}
-    place .node_painter.dismiss -x 140 -y 225
-}
-
-proc HowTo_Paint_Nodes {} {
-
-    destroy .how_to_paint
-    toplevel .how_to_paint
-    wm title .how_to_paint "HowTo Paint Nodes" 
-    wm protocol .how_to_paint WM_DELETE_WINDOW "destroy .how_to_paint"
-
-    label .how_to_paint.text -text "
-To paint nodes in different colors you need
-to set up lists of nodes belonging to distinct 
-groups and place them in \"Group\" directory. 
-By clicking \"paint\" program changes color 
-of nodes in a given list.
-"
-    button .how_to_paint.dismiss -text "Dismiss" \
-	-command "destroy .how_to_paint" -bg gray -width 8
-
-    pack .how_to_paint.text -padx 7 -pady 7
-    pack .how_to_paint.dismiss -padx 3 -pady 3
-}
-
-proc Change_Node_Color1 {} {
-
-    global abc_tag
-    global nodes_group1 
-    global color_group1
-    global outline_group1
-
-    set open_current_group [open $nodes_group1 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group1 -outline $outline_group1
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color2 {} {
-
-    global abc_tag
-    global nodes_group2 
-    global color_group2
-    global outline_group2
-
-    set open_current_group [open $nodes_group2 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group2 -outline $outline_group2
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color3 {} {
-
-    global abc_tag
-    global nodes_group3 
-    global color_group3
-    global outline_group3
-
-    set open_current_group [open $nodes_group3 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group3 -outline $outline_group3
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color4 {} {
-
-    global abc_tag
-    global nodes_group4 
-    global color_group4
-    global outline_group4
-
-    set open_current_group [open $nodes_group4 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group4 -outline $outline_group4
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color5 {} {
-
-    global abc_tag
-    global nodes_group5 
-    global color_group5
-    global outline_group5
-
-    set open_current_group [open $nodes_group5 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group5 -outline $outline_group5
-    }
-    close $open_current_group
-    bell
-}
-proc Change_Node_Color6 {} {
-
-    global abc_tag
-    global nodes_group6 
-    global color_group6
-    global outline_group6
-
-    set open_current_group [open $nodes_group6 "r"]
-    while {[gets $open_current_group current_line_group] >= 0} {
-	.phylo.canvas itemconfigure $abc_tag$current_line_group -fill $color_group6 -outline $outline_group6
-    }
-    close $open_current_group
-    bell
-}
-
-proc Canvas_Editor {} {
-
-    destroy .c_editor
-    toplevel .c_editor
-
-    wm title .c_editor "Canvas Editor" 
-    wm protocol .c_editor WM_DELETE_WINDOW "destroy .c_editor"
-    wm minsize .c_editor 512 260
-
-    global selected_canvas
-    global font_color_canvas
-    global font_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-    global text_tag
-    global canvas_editor_text
-    global curX 
-    global curY 
-
-    set font_color_label $font_color_canvas
-    set selected_canvas ".phylo.canvas"
-    set canvas_editor_text "my lovely node"
-    set canvas_editor_font_type "helvetica"
-    set canvas_editor_font_size 12
-    set canvas_editor_font_style normal
-    set text_tag text_tag_01
-    set curX 125
-    set curY 125
-
-    global graph_style
-    global graph_tag
-    global graphX1 
-    global graphX2
-    global graphY1 
-    global graphY2
-    global graph_fill_color
-    global graph_outline_color
-
-    set graph_style "oval"
-    set graph_tag "graph_tag_01"
-    set graphX1 100 
-    set graphY1 100
-    set graphX2 24
-    set graphY2 24
-    set graph_fill_color ""
-    set graph_outline_color "white"
-
-    ###########################################################################
-
-    label .c_editor.select_text_label -text "select text:" -bg yellow3 -width 12
-    place .c_editor.select_text_label -x 10 -y 10
-
-    entry .c_editor.select_text_entry -relief sunken \
-	    -textvariable canvas_editor_text -bg gold -width 22
-    place .c_editor.select_text_entry -x 105 -y 10
-
-    label .c_editor.select_canvas -text "select canvas:" -bg gray -width 14
-    place .c_editor.select_canvas -x 280 -y 10
-
-    entry .c_editor.select_canvas_entry -relief sunken \
-	    -textvariable selected_canvas -bg lightblue -width 15
-    place .c_editor.select_canvas_entry -x 390 -y 10
-
-    ########################
-
-    label .c_editor.text_color_label -text "text color:" -bg gray -width 12
-    place .c_editor.text_color_label -x 10 -y 40
-
-    entry .c_editor.text_color_entry -relief sunken \
-	    -textvariable font_color_label -bg lightyellow -width 20
-    place .c_editor.text_color_entry -x 105 -y 40
-
-    label .c_editor.select_graph_label -text "Graphical Label:" -bg yellow3 -width 18
-    place .c_editor.select_graph_label -x 330 -y 40
-
-    ########################
-
-    label .c_editor.text_type_label -text "font type:" -bg gray -width 12
-    place .c_editor.text_type_label -x 10 -y 70
-
-    entry .c_editor.text_type_entry -relief sunken \
-	    -textvariable canvas_editor_font_type -bg lightyellow -width 20
-    place .c_editor.text_type_entry -x 105 -y 70
-
-    label .c_editor.graph_style_label -text "shape:" -bg gray -width 12
-    place .c_editor.graph_style_label -x 300 -y 70
-
-    entry .c_editor.graph_style_entry -relief sunken \
-	    -textvariable graph_style -bg lightyellow -width 14
-    place .c_editor.graph_style_entry -x 395 -y 70
-
-    ########################
-
-    label .c_editor.text_size_label -text "font size:" -bg gray -width 12
-    place .c_editor.text_size_label -x 10 -y 100
-
-    entry .c_editor.text_size_entry -relief sunken \
-	    -textvariable canvas_editor_font_size -bg lightyellow -width 20
-    place .c_editor.text_size_entry -x 105 -y 100
-
-    label .c_editor.graph_fill_label -text "fill:" -bg gray -width 12
-    place .c_editor.graph_fill_label -x 300 -y 100
-
-    entry .c_editor.graph_fill_entry -relief sunken \
-	    -textvariable graph_fill_color -bg lightyellow -width 14
-    place .c_editor.graph_fill_entry -x 395 -y 100
-
-    ########################
-
-    label .c_editor.text_style_label -text "font style:" -bg gray -width 12
-    place .c_editor.text_style_label -x 10 -y 130
-
-    entry .c_editor.text_style_entry -relief sunken \
-	    -textvariable canvas_editor_font_style -bg lightyellow -width 20
-    place .c_editor.text_style_entry -x 105 -y 130
-
-    label .c_editor.graph_outline_label -text "outline:" -bg gray -width 12
-    place .c_editor.graph_outline_label -x 300 -y 130
-
-    entry .c_editor.graph_outline_entry -relief sunken \
-	    -textvariable graph_outline_color -bg lightyellow -width 14
-    place .c_editor.graph_outline_entry -x 395 -y 130
-
-    ########################
-
-    label .c_editor.current_X_label -text "current X:" -bg gray -width 12
-    place .c_editor.current_X_label -x 10 -y 160
-
-    label .c_editor.current_Y_label -text "current Y:" -bg gray -width 12
-    place .c_editor.current_Y_label -x 10 -y 190
-
-    entry .c_editor.current_X_entry -relief sunken \
-	    -textvariable curX -bg lightyellow -width 20
-    place .c_editor.current_X_entry -x 105 -y 160
-
-    entry .c_editor.current_Y_entry -relief sunken \
-	    -textvariable curY -bg lightyellow -width 20
-    place .c_editor.current_Y_entry -x 105 -y 190
-
-    label .c_editor.graphX1 -text "X1" -bg gray -width 4
-    place .c_editor.graphX1 -x 300 -y 160
-
-    label .c_editor.graphY1 -text "Y1" -bg gray -width 4
-    place .c_editor.graphY1 -x 300 -y 190
-
-    label .c_editor.graphX2 -text "X2" -bg gray -width 4
-    place .c_editor.graphX2 -x 400 -y 160
-
-    label .c_editor.graphY2 -text "Y2" -bg gray -width 4
-    place .c_editor.graphY2 -x 400 -y 190
-
-    entry .c_editor.graphX1_entry -relief sunken \
-	    -textvariable graphX1 -bg lightyellow -width 6
-    place .c_editor.graphX1_entry -x 340 -y 160
-
-    entry .c_editor.graphY1_entry -relief sunken \
-	    -textvariable graphY1 -bg lightyellow -width 6
-    place .c_editor.graphY1_entry -x 340 -y 190
-
-    entry .c_editor.graphX2_entry -relief sunken \
-	    -textvariable graphX2 -bg lightyellow -width 6
-    place .c_editor.graphX2_entry -x 440 -y 160
-
-    entry .c_editor.graphY2_entry -relief sunken \
-	    -textvariable graphY2 -bg lightyellow -width 6
-    place .c_editor.graphY2_entry -x 440 -y 190
-
-    ########################
-
-    button .c_editor.submit_text -text "Add Text to Canvas" \
-	    -command {Place_Text_on_Canvas} -bg orange -width 17
-    place .c_editor.submit_text -x 20 -y 220
-
-    button .c_editor.submit_graphics -text "Add Label to Canvas" \
-	    -command {Add_Graphics_to_Canvas} -bg orange -width 17
-    place .c_editor.submit_graphics -x 340 -y 220
-
-    button .c_editor.how_to -text "HowTo" \
-	    -command {How_To_Edit_Canvas} -bg gray -width 6
-    place .c_editor.how_to -x 180 -y 220
-
-    button .c_editor.dismiss -text "Dismiss" \
-	    -command {destroy .c_editor} -bg gray -width 6
-    place .c_editor.dismiss -x 260 -y 220
-
-    ###########################################################################
-}
-
-proc Move_Text_Label { node xDist yDist } {
-
-    global selected_canvas 
-    global curX 
-    global curY
-
-    $selected_canvas move $node $xDist $yDist
-    incr curX $xDist
-    incr curY $yDist
-}
-
-proc Move_Graph_Label { node xDist1 yDist1 } {
-
-    global selected_canvas
-    global graphX1 
-    global graphX2
-    global graphY1 
-    global graphY2
-
-    $selected_canvas move $node $xDist1 $yDist1
-    incr graphX1 $xDist1
-    incr graphY1 $yDist1
-}
-
-proc Place_Text_on_Canvas {} {
-
-    global selected_canvas 
-    global text_tag
-    global curX 
-    global curY 
-    global canvas_editor_text
-    global font_color_canvas 
-    global font_color_label
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    $selected_canvas create text $curX $curY -text "$canvas_editor_text" \
-	-font "$canvas_editor_font_type $canvas_editor_font_size $canvas_editor_font_style" \
-	-anchor sw -fill $font_color_label -tags "$text_tag removable"
-
-    $selected_canvas bind $text_tag <Button-1> {
-	set curX [expr int(round([.phylo.canvas canvasx %x]))]
-	set curY [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-
-    $selected_canvas bind $text_tag <B1-Motion> {
-	Move_Text_Label [$selected_canvas find withtag current] \
-	[expr [expr int(round([.phylo.canvas canvasx %x]))] - $curX] \
-	[expr [expr int(round([.phylo.canvas canvasy %y]))] - $curY]
-    set curX [expr int(round([.phylo.canvas canvasx %x]))]
-    set curY [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-}
-
-proc Add_Graphics_to_Canvas {} {
-
-    global graph_style
-    global graph_tag
-    global graphX1 
-    global graphX2
-    global graphY1 
-    global graphY2
-    global graph_fill_color
-    global graph_outline_color
-    global selected_canvas
-
-    $selected_canvas create $graph_style $graphX1 $graphY1 \
-	[expr $graphX1 + $graphX2] \
-	[expr $graphY1 + $graphY2] \
-	-fill $graph_fill_color -outline $graph_outline_color -tags "$graph_tag removable"
-
-    $selected_canvas bind $graph_tag <Button-1> {
-    set graphX1 [expr int(round([.phylo.canvas canvasx %x]))]
-    set graphY1 [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-
-    $selected_canvas bind $graph_tag <B1-Motion> {
-	Move_Graph_Label [$selected_canvas find withtag current] \
-	[expr [expr int(round([.phylo.canvas canvasx %x]))] - $graphX1] \
-	[expr [expr int(round([.phylo.canvas canvasy %y]))] - $graphY1] 
-    set graphX1 [expr int(round([.phylo.canvas canvasx %x]))]
-    set graphY1 [expr int(round([.phylo.canvas canvasy %y]))]
-    }
-}
-
-proc How_To_Edit_Canvas {} {
-
-    destroy .how_to_edit_canvas
-    toplevel .how_to_edit_canvas
-    wm title .how_to_edit_canvas "Canvas Editing HowTo" 
-    wm protocol .how_to_edit_canvas WM_DELETE_WINDOW "destroy .how_to_edit_canvas"
-
-    label .how_to_edit_canvas.text -text "
-By using this Canvas Editor you may edit and finish 
-your project by adding text and graphical labels over 
-the graph generated by PhyloGrapher. 
-By left-button mouse click you may move the text and 
-labels over PhyloGrapher canvas. By pressing \"Cntrl-d\" 
-key you may delete the text and labels you don't need.
-"
-    button .how_to_edit_canvas.dismiss -text "Dismiss" \
-	-command "destroy .how_to_edit_canvas" -bg gray -width 8
-
-    pack .how_to_edit_canvas.text -padx 7 -pady 7
-    pack .how_to_edit_canvas.dismiss -padx 3 -pady 3
-}
-
-proc Global_Configuration {} {
-
-    global object_fill_color
-    global object_fill_color_connect
-    global object_outline
-    global object_outline_connect
-    global object_shape
-    global object_x_size
-    global object_y_size
-
-    global canvas_background
-    global node_color_label
-    global edge_color_label
-    global font_color_canvas
-    global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    global url_prefix
-    global url_suffix
-
-    global main_cursor_color
-    global input_type
-    global fake_edge_color
-
-    destroy .global_configuration
-
-    toplevel .global_configuration
-    .global_configuration config -bg black
-    wm title .global_configuration "Project Configuration"
-    wm protocol .global_configuration WM_DELETE_WINDOW "destroy .global_configuration"
-
-    label .global_configuration.l1 -text "Node fill color: " -bg black -fg lightblue
-    entry .global_configuration.e1 -relief sunken -textvariable object_fill_color \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l1 .global_configuration.e1
-
-    label .global_configuration.l2 -text "Node outline color: " -bg black -fg lightblue
-    entry .global_configuration.e2 -relief sunken -textvariable object_outline \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l2 .global_configuration.e2
-
-    label .global_configuration.l3 -text "Node color if connected: " -bg black -fg lightblue
-    entry .global_configuration.e3 -relief sunken -textvariable object_fill_color_connect \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l3 .global_configuration.e3
-
-    label .global_configuration.l4 -text "Node outline if connected: " -bg black -fg lightblue
-    entry .global_configuration.e4 -relief sunken -textvariable object_outline_connect \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l4 .global_configuration.e4
-
-    label .global_configuration.l5 -text "Node shape: " -bg black -fg lightblue
-    entry .global_configuration.e5 -relief sunken -textvariable object_shape \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l5 .global_configuration.e5
-
-    label .global_configuration.l6 -text "Node X dimension: " -bg black -fg lightblue
-    entry .global_configuration.e6 -relief sunken -textvariable object_x_size \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l6 .global_configuration.e6
-
-    label .global_configuration.l7 -text "Node Y dimension: " -bg black -fg lightblue
-    entry .global_configuration.e7 -relief sunken -textvariable object_y_size \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l7 .global_configuration.e7
-
-    label .global_configuration.l8 -text "Canvas background: " -bg black -fg lightblue
-    entry .global_configuration.e8 -relief sunken -textvariable canvas_background \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l8 .global_configuration.e8
-
-    label .global_configuration.l9 -text "Node label color: " -bg black -fg lightblue
-    entry .global_configuration.e9 -relief sunken -textvariable node_color_label \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l9 .global_configuration.e9
-
-    label .global_configuration.l10 -text "Edge label color: " -bg black -fg lightblue
-    entry .global_configuration.e10 -relief sunken -textvariable edge_color_label \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l10 .global_configuration.e10
-
-    label .global_configuration.l11 -text "Cursor color: " -bg black -fg lightblue
-    entry .global_configuration.e11 -relief sunken -textvariable main_cursor_color \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l11 .global_configuration.e11
-
-    label .global_configuration.l12 -text "URL prefix: " -bg black -fg lightblue
-    entry .global_configuration.e12 -relief sunken -textvariable url_prefix \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l12 .global_configuration.e12
-
-    label .global_configuration.l13 -text "URL suffix: " -bg black -fg lightblue
-    entry .global_configuration.e13 -relief sunken -textvariable url_suffix \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l13 .global_configuration.e13
-
-    label .global_configuration.l14a -text "Graph Drawing Mode: " -bg black -fg lightblue
-    label .global_configuration.l14b -text "" -bg black -fg lightblue
-    radiobutton .global_configuration.e14a -relief sunken -variable input_type \
-	    -text " From Data File " -value "DATA" -bg blue4 -fg gray80
-    radiobutton .global_configuration.e14b -relief sunken -variable input_type \
-	    -text " Manual Drawing " -value "MANUAL" -bg blue4 -fg gray80
-    grid .global_configuration.l14a .global_configuration.e14a
-    grid .global_configuration.l14b .global_configuration.e14b
-
-    label .global_configuration.l15 -text "Edge Color (Manual): " -bg black -fg lightblue
-    entry .global_configuration.e15 -relief sunken -textvariable fake_edge_color \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .global_configuration.l15 .global_configuration.e15
-
-}
-
-proc Smith_Waterman {} {
-
-    set is_canvas_there [winfo exist .phylo.canvas]
-
-    destroy .smith_waterman
-
-    global fasta_to_run
-    global sw_node_A 
-    global sw_node_B
-    global database_dir
-    global database_ext
-    global smith_waterman_counter
-
-    set sw_node_A ""
-    set sw_node_B ""
-
-    set fasta_to_run "ssearch34"
-    set database_dir "./Database/TIGR/"
-    set database_ext "txt"
-    set smith_waterman_counter 0
-
-    toplevel .smith_waterman
-    .smith_waterman config -bg black
-    if {$is_canvas_there == 1} {
-	wm transient .smith_waterman .phylo.canvas
-    }
-    wm title .smith_waterman "Smith Waterman Search"
-    wm protocol .smith_waterman WM_DELETE_WINDOW "destroy .smith_waterman"
-
-    label .smith_waterman.db -text "database: " -bg black -fg lightblue
-    entry .smith_waterman.db_dir -relief sunken -textvariable database_dir \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .smith_waterman.db .smith_waterman.db_dir
-
-    label .smith_waterman.ext -text "file ext: " -bg black -fg lightblue
-    entry .smith_waterman.ext_entry -relief sunken -textvariable database_ext \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .smith_waterman.ext .smith_waterman.ext_entry
-
-    label .smith_waterman.fasta -text "program: " -bg black -fg lightblue
-    entry .smith_waterman.fasta2run -relief sunken -textvariable fasta_to_run \
-	    -bg blue4 -fg gray80 -insertbackground lightyellow
-    grid .smith_waterman.fasta .smith_waterman.fasta2run
-
-    label .smith_waterman.label_A -text "Node A: " -bg black -fg lightblue
-    entry .smith_waterman.entry_A -relief sunken -textvariable sw_node_A \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .smith_waterman.label_A .smith_waterman.entry_A
-    
-    label .smith_waterman.label_B -text "Node B: " -bg black -fg lightblue
-    entry .smith_waterman.entry_B -relief sunken -textvariable sw_node_B \
-	    -bg blue4 -fg yellow -insertbackground lightyellow
-    grid .smith_waterman.label_B .smith_waterman.entry_B
-
-    label .smith_waterman.empty -text "" -bg black
-
-    button .smith_waterman.run_it -text "Show Alignment" \
-	    -command "Show_Alignment"
-
-    button .smith_waterman.dismiss -text "Dismiss" \
-	    -command {destroy .smith_waterman}
-
-    grid .smith_waterman.empty .smith_waterman.run_it -padx 3 -pady 3
-    grid .smith_waterman.empty .smith_waterman.dismiss -padx 3 -pady 3
-
-}
-
-proc Show_Alignment {} {
-
-    global sw_node_A 
-    global sw_node_B
-
-    global database_dir
-    global database_ext
-    global fasta_to_run
-    global smith_waterman_counter
-
-    incr smith_waterman_counter
-
-    exec $fasta_to_run -q -w 100 $database_dir$sw_node_A\.$database_ext $database_dir$sw_node_B\.$database_ext \
-	> ./Temp/ssearch_alignment_$smith_waterman_counter.tmp 
-
-    Display_Alignment
-}
-
-proc Display_Alignment {} {
-
-    # global canvas_editor_font_type
-    global canvas_editor_font_size
-    global canvas_editor_font_style
-
-    global sw_node_A 
-    global sw_node_B
-    global fasta_to_run
-    global smith_waterman_counter
-
-    regsub {\..*} $sw_node_A "" sw_node_A_w
-    regsub {\..*} $sw_node_B "" sw_node_B_w
-
-    puts $sw_node_A\tvs\t$sw_node_B
-
-    # destroy .scrolled_alignment_$smith_waterman_counter
-    set t [Scrolled_Text_Fasta .scrolled_alignment_$smith_waterman_counter $sw_node_A $sw_node_A_w $sw_node_B $sw_node_B_w -width 110 -height 40 -font "courier $canvas_editor_font_size $canvas_editor_font_style"]
-    set in [open "./Temp/ssearch_alignment_$smith_waterman_counter.tmp" r]
-    $t insert end [read $in]
-    close $in
-    wm title .scrolled_alignment_$smith_waterman_counter$sw_node_A_w$sw_node_B_w "$fasta_to_run Alignment of $sw_node_A vs $sw_node_B"
-    wm protocol .scrolled_alignment_$smith_waterman_counter$sw_node_A_w$sw_node_B_w WM_DELETE_WINDOW \
-	"destroy .scrolled_alignment_$smith_waterman_counter$sw_node_A_w$sw_node_B_w"
-
-    bell
-    # incr smith_waterman_counter
-}
-
-#############################################
-#             MAIN BODY                     #
-#############################################
-
-wm title . "PhyloGrapher"
-wm protocol . WM_DELETE_WINDOW "destroy ."
-wm minsize . 520 435
-. config -bg black
-
-global tcl_precision
-set tcl_precision 4
-
-set phylo_logo [image create photo -file ./Images/PhyloGrapherLogo.gif]
-label .phylo_logo -image $phylo_logo -bg black
-place .phylo_logo -x 24 -y 12
-
-# VARIABLES
-
-global abc_tag
-global canvas_background 
-global font_color_canvas
-global font_color_label
-global horizontal_size 
-global vertical_size
-global genes_range
-global graph_radius
-global genes_id_data_file 
-global matrix_data_file 
-global graph_data_file 
-global html_image_map 
-global edges_data_file
-global dots_coord_file
-global dots_coord_file_restore
-
-global level_of_similarity_1 
-global level_of_similarity_2 
-global level_of_similarity_3
-global level_of_similarity_4 
-global level_of_similarity_5 
-global level_of_similarity_6
-
-global color_of_similarity_1 
-global color_of_similarity_2 
-global color_of_similarity_3
-global color_of_similarity_4 
-global color_of_similarity_5 
-global color_of_similarity_6
-
-global thickness_of_similarity_1 
-global thickness_of_similarity_2 
-global thickness_of_similarity_3
-global thickness_of_similarity_4 
-global thickness_of_similarity_5 
-global thickness_of_similarity_6
-
-global edgeCounter
-global fake_identity_counter
-
-global canvas_editor_font_type
-global canvas_editor_font_size
-global canvas_editor_font_style
-
-global object_fill_color
-global object_fill_color_connect
-global object_outline
-global object_outline_connect
-global object_shape
-global object_x_size
-global object_y_size
-
-global node_color_label
-global edge_color_label
-global main_cursor_color
-
-global url_prefix
-global url_suffix
-
-global restore_speed
-global input_type
-global fake_edge_color
-
-set restore_speed "FAST"
-set input_type "DATA"
-set fake_edge_color "yellow"
-
-set object_fill_color "blue4"
-set object_outline "green4"
-set object_fill_color_connect "blue"
-set object_outline_connect "cyan"
-set object_shape "oval"
-# set object_shape "rect"
-set object_x_size 7
-set object_y_size 7
-
-set node_color_label "cyan"
-set edge_color_label "violet"
-set main_cursor_color "white"
-
-set canvas_editor_font_type "helvetica"
-set canvas_editor_font_size 12
-set canvas_editor_font_style "normal"
-
-set font_color_canvas white
-set edgeCounter 0
-set fake_identity_counter 1
-
-set level_of_similarity_1 0.90
-set level_of_similarity_2 0.80
-set level_of_similarity_3 0.75
-set level_of_similarity_4 0.70
-set level_of_similarity_5 0.65
-set level_of_similarity_6 0.60
-
-set color_of_similarity_1 "white"
-set color_of_similarity_2 "gold"
-set color_of_similarity_3 "orange"
-set color_of_similarity_4 "gray80"
-set color_of_similarity_5 "gray60"
-set color_of_similarity_6 "gray40"
-
-set thickness_of_similarity_1 3 
-set thickness_of_similarity_2 2
-set thickness_of_similarity_3 1
-set thickness_of_similarity_4 1
-set thickness_of_similarity_5 1
-set thickness_of_similarity_6 1
-
-set horizontal_size 700
-set canvas_background "black"
-
-set genes_id_data_file "./Matrix/My_ID_List.txt"
-set matrix_data_file "./Matrix/My_Matrix_File.txt"
-set post_script_file "phylo_postscript.ps"
-set html_image_map "phylo_image_map.html"
-set dots_coord_file "phylo_coords.txt"
-set dots_coord_file_restore "phylo_coords_r.txt"
-set edges_data_file "phylo_edges.txt"
-set genes_range 0
-
-set url_prefix "www.atgc.org"
-set url_suffix ""
-
-set abc_tag "abc_id_"
-
-# BUTTONS
-
-##########################################
-
-button .howto -text "HowTo" -command {HowTo_PhyloWebify} -bg blue4 -fg lightblue -width 7
-place .howto -x 320 -y 45
-
-button .about -text "About" -command {About_PhyloGrapher} -bg blue4 -fg lightblue -width 7
-place .about -x 320 -y 10
-
-button .exit -text "Exit" -command {destroy .} \
-	-bg gray30 -height 1 -fg gray75 -width 7
-place .exit -x 415 -y 10
-
-button .global_color_config -text "Config" -command {Global_Configuration} \
-	-bg blue4 -fg lightblue -width 7 -height 1
-place .global_color_config -x 415 -y 45
-
-button .extras -text "Extras" -command {Show_Extras} \
-	-bg blue4 -height 1 -fg lightblue -width 7
-place .extras -x 415 -y 80
-
-##########################################
-
-label .id_label -text "List of Genes:" -bg black -fg gray75 -width 13
-place .id_label -x 12 -y 90
-
-label .matrix_label -text "Matrix File:" -bg black -fg gray75 -width 12
-place .matrix_label -x 12 -y 120
-
-entry .id_entry -relief sunken -textvariable genes_id_data_file \
-	-bg blue4 -fg white -width 32 -insertbackground lightyellow
-place .id_entry -x 120 -y 90
-
-entry .matrix_entry -relief sunken -textvariable matrix_data_file \
-	-bg blue4 -fg white -width 32 -insertbackground lightyellow
-place .matrix_entry -x 120 -y 120
-
-button .generate_graph -text "Load Data into Memory" -command {Create_Graph_from_Data_MEMORY} \
-		-bg blue4 -fg cyan -width 20 -height 1
-place .generate_graph -x 60 -y 150
-
-label .gene_number_label -text "Number of Nodes:" -bg black -fg gray75 -width 16
-place .gene_number_label -x 373 -y 125
-
-label .gene_number_entry -textvariable genes_range -bg black -fg gold -width 16
-place .gene_number_entry -x 373 -y 145
-
-label .edges_number_label -text "Number of Edges:" -bg black -fg gray75 -width 16
-place .edges_number_label -x 373 -y 175
-
-label .edges_counter_label -textvariable edgeCounter -bg black -fg gold -width 16
-place .edges_counter_label -x 373 -y 195
-
-##########################################
-
-label .identity_color_map -text "Relationship Color Map:" \
-	-bg gray25 -fg gray80 -width 30
-place .identity_color_map -x 30 -y 190
-
-label .level_1 -text "1" -bg gray25 -fg gray80 -width 2
-place .level_1 -x 12 -y 220
-
-label .level_0 -text "1.0 -" -bg gray25 -fg white -width 5
-place .level_0 -x 45 -y 220
-
-entry .level_1_entry -relief sunken -textvariable level_of_similarity_1 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_1_entry -x 100 -y 220
-
-entry .color_1 -relief sunken -textvariable color_of_similarity_1 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_1 -x 155 -y 220
-
-entry .thick_1 -relief sunken -textvariable thickness_of_similarity_1 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_1 -x 245 -y 220
-###
-label .level_2 -text "2" -bg gray25 -fg gray80 -width 2
-place .level_2 -x 12 -y 250
-
-entry .level_1a_entry -relief sunken -textvariable level_of_similarity_1 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_1a_entry -x 45 -y 250
-
-entry .level_2_entry -relief sunken -textvariable level_of_similarity_2 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_2_entry -x 100 -y 250
-
-entry .color_2 -relief sunken -textvariable color_of_similarity_2 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_2 -x 155 -y 250
-
-entry .thick_2 -relief sunken -textvariable thickness_of_similarity_2 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_2 -x 245 -y 250
-###
-label .level_3 -text "3" -bg gray25 -fg gray80 -width 2
-place .level_3 -x 12 -y 280
-
-entry .level_2a_entry -relief sunken -textvariable level_of_similarity_2 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_2a_entry -x 45 -y 280
-
-entry .level_3_entry -relief sunken -textvariable level_of_similarity_3 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_3_entry -x 100 -y 280
-
-entry .color_3 -relief sunken -textvariable color_of_similarity_3 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_3 -x 155 -y 280
-
-entry .thick_3 -relief sunken -textvariable thickness_of_similarity_3 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_3 -x 245 -y 280
-###
-label .level_4 -text "4" -bg gray25 -fg gray80 -width 2
-place .level_4 -x 12 -y 310
-
-entry .level_3a_entry -relief sunken -textvariable level_of_similarity_3 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_3a_entry -x 45 -y 310
-
-entry .level_4_entry -relief sunken -textvariable level_of_similarity_4 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_4_entry -x 100 -y 310
-
-entry .color_4 -relief sunken -textvariable color_of_similarity_4 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_4 -x 155 -y 310
-
-entry .thick_4 -relief sunken -textvariable thickness_of_similarity_4 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_4 -x 245 -y 310
-###
-label .level_5 -text "5" -bg gray25 -fg gray80 -width 2
-place .level_5 -x 12 -y 340
-
-entry .level_4a_entry -relief sunken -textvariable level_of_similarity_4 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_4a_entry -x 45 -y 340
-
-entry .level_5_entry -relief sunken -textvariable level_of_similarity_5 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_5_entry -x 100 -y 340
-
-entry .color_5 -relief sunken -textvariable color_of_similarity_5 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_5 -x 155 -y 340
-
-entry .thick_5 -relief sunken -textvariable thickness_of_similarity_5 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_5 -x 245 -y 340
-###
-label .level_6 -text "6" -bg gray25 -fg gray80 -width 2
-place .level_6 -x 12 -y 370
-
-entry .level_5a_entry -relief sunken -textvariable level_of_similarity_5 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_5a_entry -x 45 -y 370
-
-entry .level_6_entry -relief sunken -textvariable level_of_similarity_6 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_6_entry -x 100 -y 370
-
-entry .color_6 -relief sunken -textvariable color_of_similarity_6 \
-	-bg gray25 -fg white -width 10 -insertbackground lightyellow
-place .color_6 -x 155 -y 370
-
-entry .thick_6 -relief sunken -textvariable thickness_of_similarity_6 \
-	-bg gray25 -fg white -width 3 -insertbackground lightyellow
-place .thick_6 -x 245 -y 370
-###
-label .level_7 -text "no lines below:" -bg gray25 -fg gray80 -width 15
-place .level_7 -x 12 -y 400
-
-entry .level_6a_entry -relief sunken -textvariable level_of_similarity_6 \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .level_6a_entry -x 140 -y 400
-
-##########################################
-
-label .image_size_label -text "vertical and horizontal\nimage size:" -bg gray25 -fg gray80 -width 20
-place .image_size_label -x 300 -y 235
-
-entry .image_size_entry -relief sunken -textvariable horizontal_size \
-	-bg gray25 -fg white -width 5 -insertbackground lightyellow
-place .image_size_entry -x 460 -y 240
-
-##########################################
-
-label .ps_file_label -text "PostScript file:" -bg gray25 -fg gray80 -width 20
-place .ps_file_label -x 300 -y 285
-
-entry .ps_file_entry -relief sunken -textvariable post_script_file \
-	-bg gray25 -fg white -width 20 -insertbackground lightyellow
-place .ps_file_entry -x 300 -y 315
-
-button .ps_button -text "Make\nPS" -bg blue4 -fg lightblue -width 3 -height 2 \
-	-command {
-    .phylo.canvas create rect 0 0 [expr $horizontal_size + 20] [expr $vertical_size + 20]\
-	-fill $canvas_background -outline $canvas_background -tag dummy_ps_background
-    .phylo.canvas lower dummy_ps_background
-    .phylo.canvas postscript -height $vertical_size -width $horizontal_size \
-	-x -1 -y 0 -file $post_script_file
-    bell
-    }
-place .ps_button -x 460 -y 290
-
-##########################################
-
-label .html_file_label -text "HTML image map:" -bg gray25 -fg gray80 -width 20
-place .html_file_label -x 300 -y 355
-
-entry .html_file_entry -relief sunken -textvariable html_image_map \
-	-bg gray25 -fg white -width 20 -insertbackground lightyellow
-place .html_file_entry -x 300 -y 385
-
-button .html -text "Make\nHTML" -command {HTML_Image_Map_Generator} \
-	-bg blue4 -fg lightblue -width 3 -height 2
-place .html -x 460 -y 360
-
-###########################################
-
-button .startup -text "Run" -command {PhyloGrapher_Canvas} \
-	-bg purple -fg yellow -width 8 -height 2
-place .startup -x 265 -y 160
-
-###########################################
-
-Global_Configuration
-
-############################################
-#                                          #
-#                THE END                   #
-#                                          #
-############################################

Deleted: trunk/packages/phylographer/trunk/QUICK_START.txt
===================================================================
--- trunk/packages/phylographer/trunk/QUICK_START.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/QUICK_START.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,39 +0,0 @@
-1. Extract compressed archive.
-2. Go to folder PhyloGrapher_April_03_2003.
-3. on Linux run: PhyloGrapher_April_03_2003_Linux.tcl
-   on Windows run: PhyloGrapher_April_03_2003_Windows.tcl
-4. Click on "Load Data into Memory". Wait several seconds,
-   after "beep" signal you should see the number 245 under 
-   the label "Number of Nodes".
-5. Click "Run". Program should create the canvas with 
-   nodes (genes) on it.
-6. Click "Extras". On the new window click "Node Coords".
-7. Then click "Restore" and watch the movie.
-
-if FASTA package is installed on your computer then: 
-
-8. From "Extras" menu click on "Smith-Waterman". New window should appear.
-9. Point the mouse cursor on any node, press <Control-a>
-10. Point the mouse cursor on another node, press <Control-s>
-11. By clicking on "Show Alignment" PhyloGrapher should run FASTA
-    or SSEARCH of "node A" against of "node B" and display results of
-    search graphically highlighting the critical parameters of an alignment.
-
---------------------------------------------
-
-To test graph traversal (graph search) from extras choose
-"Adjacency List". Click on "Build Adjacency List". Then
-choose any node and click on "Highlight Adjacent Nodes" 
-or "Highlight All Nodes in Group".
-
---------------------------------------------
-
-To run PhyloGrapher in "Manual Drawing" mode (to draw custom graphs) 
-choose from "Project Configuration" window "Manual Drawing" option and 
-click "Run". The empty canvas should appear and using key "n" you can 
-create new node. To draw the edge from one node to another point mouse 
-over the first node and press "1" key, then point mouse over the second 
-node and press "2" key. New edge should appear.
-
---------------------------------------------
-

Deleted: trunk/packages/phylographer/trunk/README.status
===================================================================
--- trunk/packages/phylographer/trunk/README.status	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/README.status	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,7 +0,0 @@
----
-Format: 1
-Status: active
-Source: debmedrepo
-Comment: >
-  The source of this package is also in the Debian Med repository.
-

Added: trunk/packages/phylographer/trunk/README.status
===================================================================
--- trunk/packages/phylographer/trunk/README.status	                        (rev 0)
+++ trunk/packages/phylographer/trunk/README.status	2012-01-11 10:24:08 UTC (rev 9247)
@@ -0,0 +1,8 @@
+---
+Format: 1
+Status: removed
+SVNDeleteRevision: 9246
+Comment: >
+ This package was never released in Debian. If you really need to look at
+ that prepareation done to package phylographer again, please checkout
+ before revision 9246 of the Debian Med repository.

Deleted: trunk/packages/phylographer/trunk/README.txt
===================================================================
--- trunk/packages/phylographer/trunk/README.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/README.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,227 +0,0 @@
-PHYLOGRAPHER OVERVIEW:
-
-PhyloGrapher is a program designed to visualize and study 
-evolutionary relationships within families of homologous 
-genes or proteins (elements). PhyloGrapher is a drawing tool 
-that generates custom graphs for the given set of elements. 
-In general, it is possible to use PhyloGrapher to visualize 
-any type of relations between elements you want. 
-
-Each gene or protein on the PhyloGrapher's graph is represented 
-as a colored node (vertex) and connected to other nodes (vertices) 
-by lines (edges) of variable thickness and color based on the 
-similarity of genes or proteins (distance matrix). The position 
-of each node in the graph is flexible and adjusted by the user 
-to optimize visualization of the inter-relationships between the
-nodes. Consequently, the physical distances on the graph between 
-nodes have no information content unlike classical phylogenetic 
-trees. The level of similarity between genes or proteins on 
-PhyloGrapher's graphs is indicated by color and line thickness.
-
-BASIC ELEMENTS and CHARACTERISTICS of GRAPHS:
-
-The critical characteristics of graphs in general are 
-which dots are connected by which lines. 
-
-The basic elements and characteristics of a graph are its:   
-vertex (node), edge, degree of a vertex (the number of edges 
-that touch it), size (number of vertices), path (a route from 
-vertex to vertex), length of the path (number of edges in a path), 
-planar and non-planar graphs (graph is planar if it can be drawn 
-on a plane so that the edges intersect only at the vertices), 
-distance (shortest path), diameter (longest distance between two 
-vertices), isolated vertex (a vertex of degree zero), adjacent 
-vertices (connected by an edge), neighborhood (adjacent vertices) 
-and others (you may check links on PhyloGrapher web site). 
-A tree is a connected graph containing no cycles.
-
-GOALS TO ACHIEVE WHEN MANIPULATING THE GRAPH:
-
-You may use a variety of criteria to maximize readability 
-of the graph. In general, optimization goals can be:
-
-Minimize: edge crossings and graph area
-Maximize: symmetries and smallest angle between edges. 
-
-You may pay attention to basic elements of the graph, its 
-position and relationship (linkage), and make any kind of 
-scientific conclusion at your own risk. PhyloGrapher 
-is a GNU software, so the author is not responsible
-for anything what may happen. 
-
-INPUT FILES and PROGRAM OPERATION:
-
-To create the graph using PhyloGrapher you need to set up 
-two input files: 1. list of elements (genes or proteins) and 
-2. distance matrix file. Examine files under directory "Matrix". 
-Structure of those files is simple. By clicking on "Load Data Into 
-Memory" the program reads list of genes and matrix file and 
-creates data structure in the computer memory that will be used to 
-construct the graph on canvas by clicking on "Run". Examine all 
-those files to get the impression how it works. Nodes may be 
-assigned different colors representing different qualities 
-(e.g. species or linkage groups). You may paint nodes individually 
-or in "batch mode", click on "Node Painter" from "Extras".  
-
-PhyloGrapher initially generates non-organized graphs by placing 
-all elements in a circle in the same order as in the list of 
-elements in the input file and connecting related nodes by lines. 
-PhyloGrapher then allows you to move each node around by mouse 
-(click and drag) to get optimize interpretation (and esthetic).
-
-You may use Canvas Editor from "Extras" to finish editing 
-your graph. You may save coordinates of nodes for the future 
-project, click on "Node Coords" under "Extras".
-
-And finally, you may save your creature as postscript file, 
-or take the screenshot, if you like, and generate HTML 
-image map links for your favorite graph. 
-
-PROGRAM FUNCTIONALITY and
-KEY BINDINGS TO MANIPULATE THE IMAGE:
-
-Mouse: 
-left button - drag the node, 
-middle button - print node ID or edge weight on canvas
-(the same is a double left click on Windows version),
-right button - shake the node and view the degree.
- 
-Keyboard:
-"w" - change color of node to white
-"o" - change color of node to orange
-"r" - change color of node to red
-"g" - change color of node to green
-"c" - change color of node to cyan
-"b" - change color of node to blue
-"s" - change color of node to dark blue
-"v" - change color of node to violet
-"p" - change color of node to purple
-
-"Control-d" - delete object from canvas
-(You can not delete nodes and edges generated
-from data file).
-
-To find the node with given ID, print ID in Node Entry
-window and press Enter.
-
-You can change default font size of printed ID and edge weight
-by opening "Canvas Editor" from "Extras" and changing font
-size value in the corresponding window.
-
-You can use PhyloGrapher to draw custom graphs by switching into
-"Manual Mode". Choose from "Project Configuration" window 
-"Manual Drawing" option and click "Run". The empty canvas should
-appear and using key "n" you can create new node. To draw the edge
-from one node to another point mouse over the first node and press 
-"1" key, then point mouse over the second node and press "2" key.
-New edge should appear.
-
-Dive into a wonderland of shapes and patterns. 
-Be warned, it is addictive. Take care and good luck!
-
-GRAPHICAL FASTA/SSEARCH VIEWER:
-
-Current version of PhyloGrapher is highly integrated with
-Bill Pearson's FASTA/SSEARCH programs. You may run FASTA/SSEARCH
-in real time within PhyloGrapher program for given pair of sequences
-(nodes) (FASTA and SSEARCH should be installed on your computer, 
-see ftp://ftp.virginia.edu/pub/fasta).
-This feature allows the user to check different alignment parameters,
-such as Smith-Waterman score, identity value, overlap length.
-PhyloGrapher runs FASTA/SSEARCH and parses results of the search
-and represents all data graphically what simplify the validation
-of given alignment.
-
-To run FASTA/SSEARCH within PhyloGrapher:
-From "Extras" menu click on "Smith-Waterman". 
-New window should appear with following entry fields:
-   1. Database (directory where you store sequences in fasta format)
-   2. file extension (type of file extension of sequence files)
-   3. program (type of search to perform: SSEARCH by default or FASTA)
-   4. Node A ("query" sequence file)
-   5. Node B ("library" sequence file)
-Point mouse cursor over the "query" node (gene) and press <Control-a>,
-ID of node A in the corresponding entry window should appear. Then point 
-the mouse cursor over the "library" node (gene) and press <Control-s>,
-ID of node B in the corresponding entry window should appear. Then 
-click on "Show Alignment" and PhyloGrapher will run FASTA or SSEARCH
-with pair of sequences of your choice (node "A" vs node "B") and 
-display the graphical representation of the alignment.
-
-You can save results of search as a text file as well as a postscript
-file in the directory "Saved_Work", just click on "save as" button. 
-You can change font size of fasta output using "Canvas Editor".
-
-To install FASTA and SSEARCH programs on your computer go to
-Bill Pearson's ftp site (ftp://ftp.virginia.edu/pub/fasta) 
-and download current version of FASTA distribution corresponding
-to your computer platform.
- 
-   On Windows uncompress "zipped" FASTA file and copy 
-   executables fasta34.exe and ssearch34.exe into
-   main WINDOWS directory. Read FASTA documentation.
-
-   On Linux you need to compile FASTA source code to get 
-   executables fasta34 and ssearch34. For that, save 
-   Makefile.linux as Makefile, execute "make" program.
-   Copy fasta34 and ssearch34 into /usr/local/bin directory.
-   Read FASTA documentation.
-
-GRAPH TRAVERSAL (GRAPH SEARCH):
-
-Current version of PhyloGrapher has a graph traversal (graph
-search) functionality. For example, you may want to highlight
-all nodes belonging to a single group (connected graph), or 
-you like to select adjacent nodes to any given node. From "Extras"
-select "Adjacent nodes" and then generate adjacency list file 
-by clicking on "Build Adjacency List". Adjacency list is based 
-on the data of the "list" and "matrix" files from main menu. 
-Note, with different identity cutoff values ("no lines below...") 
-from main menu PhyloGrapher generates different adjacency lists.
-As soon as the adjacency list is available you can select the node
-you like to analyze by pointing the mouse cursor over the node.
-Then click on "Highlight Adjacent Nodes" to highlight adjacent
-nodes or "Highlight All Nodes in Group" to select all nodes
-belonging to a connected graph. In the last case PhyloGrapher
-performs Depth-First Search (DFS) and you can observe the 
-progress of search visually.
-
-GRAPH SELF ORGANIZATION:
-
-It was an attempt to implement a modified version of the
-Fruchterman-Rheingold algorithm to organize graph layout in
-automatic mode. From "Extras" choose "Fruchterman-Rheingold"
-and try to run it (Self Organize button) with default 
-data set (My_Matrix_File.txt) to get an impression what
-current version can achieve. Of course, it is too far 
-from perfection, however nodes move in the right direction,
-and form proper groups. You may play around with parameters
-to generate different graph's layouts.
-It is really in "beta" stage, do not complain.
-
-EXAMPLE DATA:
-
-Current version of PhyloGrapher contains example data for 
-three large gene families of Arabidopsis thaliana: NB-ARC 
-(nucleotide binding site containing proteins, putative resistance 
-genes), cytochrome P450 and putative protein kinases (PK-LRR).
-Protein sequences for selected subsets you can find under directory 
-"Database/TIGR". All sequences derived from TIGR database (www.tigr.org) 
-by September 2002. Because annotation, prediction of exon-intron structure, 
-is dynamic, protein sequences in this release of PhyloGrapher may not 
-correspond to current state of these sequences in TIGR or other databases. 
-This set is chosen as an example set and author is not responsible for 
-its regular update. For your own project you may want to create new 
-directory under directory "Database" and place a new set of sequences 
-there.
-
-Default set of genes "My_ID_List.txt" is a set of Arabidopsis cytochrome 
-P450 putative proteins. Corresponding matrix "My_Matrix_File.txt"
-was derived by parsing of the results of BLAST search. You can find 
-the parser under directory "Scripts".
-
-Good luck.
-
-Feedback and comments may be sent to Alexander Kozik,
-email: akozik at atgc.org
-http://www.atgc.org/PhyloGrapher/PhyloGrapher_Welcome.html

Deleted: trunk/packages/phylographer/trunk/adjacency_data.txt
===================================================================
--- trunk/packages/phylographer/trunk/adjacency_data.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/adjacency_data.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,245 +0,0 @@
-At1g01190.1|At2g46660.1|At3g61880.1|
-At1g01280.1|
-At1g01600.1|At4g00360.1|At2g45970.1|At1g63710.1|At5g58860.1|
-At1g05160.1|At2g32440.1|
-At1g11600.1|
-At1g11610.1|At2g30750.1|At2g30770.1|At5g24960.1|At5g24950.1|
-At1g11680.1|At2g17330.1|
-At1g12740.1|
-At1g13080.1|At3g26170.1|At3g26180.1|
-At1g13090.1|At1g13100.1|At3g26830.1|At1g13110.1|At3g26210.1|
-At1g13100.1|At1g13090.1|At1g13110.1|At3g26830.1|At3g26210.1|
-At1g13110.1|At1g13090.1|At1g13100.1|At3g26210.1|At3g26190.1|At3g26830.1|
-At1g13140.1|At1g13150.1|At3g26125.1|
-At1g13150.1|At1g13140.1|At3g26125.1|
-At1g13710.1|At1g74110.1|
-At1g16400.1|At1g16410.1|
-At1g16410.1|At1g16400.1|
-At1g17060.1|
-At1g19630.1|
-At1g24540.1|At3g26125.1|
-At1g28430.1|At4g15330.1|
-At1g31800.1|
-At1g33720.1|At2g45550.1|At2g45570.1|At2g45560.1|At1g33730.1|At2g45560.2|
-At1g33730.1|At1g33720.1|At2g45570.1|At2g45550.1|At2g45560.1|At2g45560.2|
-At1g34540.1|At3g56630.1|
-At1g47620.1|At4g32170.1|At4g39510.1|At5g02900.1|At4g39500.1|At1g47630.1|
-At1g47630.1|At1g47620.1|At4g39510.1|At5g02900.1|At4g32170.1|At4g39500.1|At2g21910.1|At4g39480.1|
-At1g50520.1|At1g50560.1|
-At1g50560.1|At1g50520.1|At3g20100.1|At3g20120.1|At2g14100.1|At3g20140.1|At2g05180.1|
-At1g55940.1|
-At1g57750.1|At1g65340.1|At5g52320.1|
-At1g58260.1|
-At1g63710.1|At1g01600.1|At2g45970.1|At4g00360.1|At5g58860.1|
-At1g64900.1|At2g12190.1|At1g64950.1|At1g64940.1|At1g64930.1|At5g61320.1|
-At1g64930.1|At1g64900.1|At2g12190.1|At1g64950.1|At1g64940.1|At5g61320.1|
-At1g64940.1|At1g64900.1|At1g64930.1|At1g64950.1|At2g12190.1|At5g61320.1|
-At1g64950.1|At1g64900.1|At1g64930.1|At1g64940.1|At2g12190.1|At5g61320.1|
-At1g65340.1|At1g57750.1|At5g52320.1|
-At1g65670.1|At4g15300.1|At4g15396.1|At4g15393.1|At3g30290.1|
-At1g66540.1|At4g37340.1|At4g37360.1|At4g37370.1|At4g37320.1|At4g37330.1|At5g36220.1|At3g28740.1|At2g23190.1|
-At1g67110.1|At5g38450.1|
-At1g69500.1|
-At1g73340.1|
-At1g74110.1|At1g13710.1|
-At1g74540.1|At1g74550.1|
-At1g74550.1|At1g74540.1|
-At1g75130.1|
-At1g78490.1|At5g48000.1|
-At1g79370.1|
-At2g02580.1|At3g26330.1|At3g26320.1|At3g26300.1|At3g26310.1|At3g26290.1|At5g57260.1|
-At2g05180.1|At1g50560.1|At3g20090.1|At3g20960.1|At4g15360.1|At3g20130.1|At4g15350.1|At3g20120.1|At3g20080.1|At3g20940.1|At3g20100.1|At3g20950.1|At3g20140.1|At3g20110.1|At5g47990.1|At2g27000.1|At2g14100.1|At4g15330.1|At4g15380.1|At5g42580.1|At2g27010.1|
-At2g12190.1|At1g64900.1|At1g64930.1|At1g64940.1|At1g64950.1|At5g61320.1|
-At2g14100.1|At1g50560.1|At2g05180.1|At3g20090.1|At3g20100.1|At3g20140.1|At3g20960.1|At3g20130.1|At3g20120.1|At4g15350.1|At3g20080.1|At4g15360.1|At3g20940.1|At3g20110.1|At2g27000.1|At3g20950.1|At5g47990.1|At4g15380.1|At4g15330.1|At5g42580.1|At2g27010.1|
-At2g17330.1|At1g11680.1|
-At2g21910.1|At1g47630.1|At2g23180.1|At4g32170.1|At4g39500.1|
-At2g22330.1|At4g39950.1|
-At2g23180.1|At2g21910.1|At4g39480.1|At4g39490.1|At4g32170.1|At4g39500.1|
-At2g23190.1|At1g66540.1|At2g23220.1|At3g28740.1|At4g37370.1|At4g37320.1|At4g37330.1|At4g37360.1|At4g37340.1|
-At2g23220.1|At2g23190.1|At3g28740.1|At4g37370.1|At4g37330.1|At4g37320.1|
-At2g24180.1|
-At2g25160.1|
-At2g26170.1|
-At2g26710.1|
-At2g27000.1|At2g05180.1|At2g14100.1|At2g27010.1|At4g15350.1|At3g20950.1|At3g20140.1|At3g20130.1|At3g20940.1|At3g20080.1|At5g47990.1|At3g20090.1|At3g20120.1|At3g20100.1|At3g20960.1|At4g15360.1|At4g15380.1|At3g20110.1|At4g15330.1|At5g42580.1|
-At2g27010.1|At2g05180.1|At2g14100.1|At2g27000.1|At4g15350.1|At3g20950.1|At3g20140.1|At3g20960.1|At3g20080.1|At5g47990.1|At3g20120.1|At3g20130.1|At3g20100.1|At3g20090.1|At3g20940.1|At4g15360.1|At3g20110.1|
-At2g27690.1|
-At2g28850.1|At2g28860.1|At2g34500.1|At2g34490.1|
-At2g28860.1|At2g28850.1|At2g34500.1|At2g34490.1|
-At2g29090.1|At5g45340.1|At4g19230.1|
-At2g30490.1|
-At2g30750.1|At1g11610.1|At2g30770.1|At5g24960.1|At5g24950.1|At4g13310.1|
-At2g30770.1|At1g11610.1|At2g30750.1|At5g24960.1|At5g24950.1|At5g42590.1|At4g13310.1|At4g13290.1|
-At2g32440.1|At1g05160.1|
-At2g34490.1|At2g28850.1|At2g28860.1|At2g34500.1|
-At2g34500.1|At2g28850.1|At2g28860.1|At2g34490.1|
-At2g40890.1|
-At2g42250.1|
-At2g42850.1|
-At2g44890.1|At2g45510.1|
-At2g45510.1|At2g44890.1|
-At2g45550.1|At1g33720.1|At1g33730.1|At2g45570.1|At2g45560.1|At2g45560.2|
-At2g45560.1|At1g33720.1|At1g33730.1|At2g45550.1|At2g45570.1|At2g45560.2|
-At2g45560.2|At1g33720.1|At1g33730.1|At2g45550.1|At2g45560.1|At2g45570.1|
-At2g45570.1|At1g33720.1|At1g33730.1|At2g45550.1|At2g45560.1|At2g45560.2|
-At2g45580.1|
-At2g45970.1|At1g01600.1|At1g63710.1|At4g00360.1|At5g58860.1|
-At2g46660.1|At1g01190.1|At3g61880.1|
-At2g46950.1|At2g46960.1|At4g27710.1|
-At2g46960.1|At2g46950.1|At4g27710.1|
-At3g01900.1|
-At3g03470.1|
-At3g10560.1|At5g04630.1|At5g04660.1|At3g10570.1|
-At3g10570.1|At3g10560.1|At5g04660.1|At5g04630.1|
-At3g13730.1|
-At3g14610.1|At3g14660.1|At3g14650.1|At3g14690.1|At3g14640.1|At3g14630.1|At3g14680.1|
-At3g14620.1|
-At3g14630.1|At3g14610.1|At3g14690.1|At3g14660.1|At3g14650.1|At3g14680.1|At3g14640.1|
-At3g14640.1|At3g14610.1|At3g14630.1|At3g14660.1|At3g14690.1|At3g14650.1|At3g14680.1|
-At3g14650.1|At3g14610.1|At3g14630.1|At3g14640.1|At3g14660.1|At3g14690.1|At3g14680.1|
-At3g14660.1|At3g14610.1|At3g14630.1|At3g14640.1|At3g14650.1|At3g14690.1|At3g14680.1|
-At3g14680.1|At3g14610.1|At3g14630.1|At3g14640.1|At3g14650.1|At3g14660.1|At3g14690.1|
-At3g14690.1|At3g14610.1|At3g14630.1|At3g14640.1|At3g14650.1|At3g14660.1|At3g14680.1|
-At3g19270.1|
-At3g20080.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At4g15380.1|At3g20120.1|At3g20090.1|At4g15350.1|At3g20140.1|At3g20100.1|At3g20130.1|At3g20950.1|At3g20940.1|At3g20960.1|At5g47990.1|At3g20110.1|At4g15360.1|At4g15330.1|At5g42580.1|
-At3g20090.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20960.1|At4g15360.1|At3g20130.1|At3g20100.1|At3g20120.1|At4g15350.1|At3g20950.1|At3g20940.1|At3g20110.1|At3g20140.1|At5g47990.1|At4g15330.1|At5g42580.1|At4g15380.1|
-At3g20100.1|At1g50560.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20120.1|At3g20960.1|At4g15350.1|At3g20130.1|At3g20940.1|At5g47990.1|At3g20950.1|At3g20140.1|At3g20110.1|At4g15360.1|At4g15380.1|At4g15330.1|At5g42580.1|
-At3g20110.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20120.1|At3g20960.1|At3g20140.1|At4g15350.1|At3g20130.1|At3g20950.1|At4g15360.1|At3g20940.1|At5g47990.1|At4g15330.1|At4g15380.1|At5g42580.1|
-At3g20120.1|At1g50560.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20130.1|At3g20960.1|At3g20140.1|At4g15350.1|At5g47990.1|At3g20940.1|At3g20950.1|At4g15360.1|At4g15380.1|At4g15330.1|At5g42580.1|
-At3g20130.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20960.1|At3g20940.1|At4g15350.1|At4g15360.1|At3g20950.1|At3g20140.1|At5g47990.1|At4g15380.1|At4g15330.1|At5g42580.1|
-At3g20140.1|At1g50560.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At4g15350.1|At3g20960.1|At3g20950.1|At3g20940.1|At5g47990.1|At4g15360.1|At4g15380.1|At4g15330.1|At5g42580.1|
-At3g20940.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20950.1|At4g15350.1|At5g47990.1|At3g20960.1|At4g15360.1|At4g15380.1|At5g42580.1|
-At3g20950.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20940.1|At4g15350.1|At5g47990.1|At3g20960.1|At4g15360.1|At4g15380.1|At5g42580.1|
-At3g20960.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20940.1|At3g20950.1|At4g15360.1|At4g15350.1|At5g47990.1|At4g15330.1|At5g42580.1|At4g15380.1|
-At3g25180.1|
-At3g26125.1|At1g13140.1|At1g13150.1|At1g24540.1|
-At3g26150.1|At3g26160.1|At3g26170.1|At3g26180.1|
-At3g26160.1|At3g26150.1|At3g26170.1|At3g26180.1|
-At3g26170.1|At1g13080.1|At3g26150.1|At3g26160.1|At3g26180.1|
-At3g26180.1|At1g13080.1|At3g26150.1|At3g26160.1|At3g26170.1|At3g26200.1|
-At3g26190.1|At1g13110.1|At3g26200.1|At3g44250.1|At3g53280.1|At3g53300.1|At5g35715.1|At3g26210.1|At3g53290.1|At3g53305.1|
-At3g26200.1|At3g26180.1|At3g26190.1|At3g44250.1|At3g53280.1|At3g53300.1|At5g35715.1|At3g53290.1|At3g53305.1|
-At3g26210.1|At1g13090.1|At1g13100.1|At1g13110.1|At3g26190.1|At3g26830.1|
-At3g26220.1|At3g26230.1|At3g26280.1|At3g26270.1|
-At3g26230.1|At3g26220.1|At3g26270.1|At3g26280.1|
-At3g26270.1|At3g26220.1|At3g26230.1|At3g26280.1|
-At3g26280.1|At3g26220.1|At3g26230.1|At3g26270.1|
-At3g26290.1|At2g02580.1|At3g26300.1|At3g26310.1|At3g26330.1|At3g26320.1|At5g57260.1|
-At3g26300.1|At2g02580.1|At3g26290.1|At3g26310.1|At3g26330.1|At3g26320.1|At5g57260.1|
-At3g26310.1|At2g02580.1|At3g26290.1|At3g26300.1|At3g26330.1|At3g26320.1|At5g57260.1|
-At3g26320.1|At2g02580.1|At3g26290.1|At3g26300.1|At3g26310.1|At3g26330.1|At5g57260.1|
-At3g26330.1|At2g02580.1|At3g26290.1|At3g26300.1|At3g26310.1|At3g26320.1|At5g57260.1|
-At3g26830.1|At1g13090.1|At1g13100.1|At1g13110.1|At3g26210.1|
-At3g28740.1|At1g66540.1|At2g23190.1|At2g23220.1|At4g37370.1|At4g37320.1|At4g37360.1|At4g37340.1|At4g37330.1|At5g36220.1|
-At3g30180.1|At5g38970.1|
-At3g30290.1|At1g65670.1|At4g15300.1|At4g15396.1|At4g15393.1|
-At3g44250.1|At3g26190.1|At3g26200.1|At3g53280.1|At3g53300.1|At5g35715.1|At3g53290.1|At3g53305.1|
-At3g44970.1|
-At3g48270.1|At3g48310.1|At3g48290.1|At3g48320.1|At3g48280.1|At3g48300.1|
-At3g48280.1|At3g48270.1|At3g48290.1|At3g48310.1|At3g48320.1|At3g48300.1|
-At3g48290.1|At3g48270.1|At3g48280.1|At3g48310.1|At3g48320.1|At3g48300.1|
-At3g48300.1|At3g48270.1|At3g48280.1|At3g48290.1|At3g48310.1|At3g48320.1|
-At3g48310.1|At3g48270.1|At3g48280.1|At3g48290.1|At3g48300.1|At3g48320.1|
-At3g48320.1|At3g48270.1|At3g48280.1|At3g48290.1|At3g48300.1|At3g48310.1|
-At3g48520.1|At5g63450.1|
-At3g50660.1|
-At3g52970.1|
-At3g53130.1|
-At3g53280.1|At3g26190.1|At3g26200.1|At3g44250.1|At3g53300.1|At5g35715.1|At3g53290.1|At3g53305.1|
-At3g53290.1|At3g26190.1|At3g26200.1|At3g44250.1|At3g53280.1|At5g35715.1|At3g53300.1|At3g53305.1|
-At3g53300.1|At3g26190.1|At3g26200.1|At3g44250.1|At3g53280.1|At3g53290.1|At5g35715.1|At3g53305.1|
-At3g53305.1|At3g26190.1|At3g26200.1|At3g44250.1|At3g53280.1|At3g53290.1|At3g53300.1|At5g35715.1|
-At3g56630.1|At1g34540.1|
-At3g61035.1|
-At3g61040.1|
-At3g61880.1|At1g01190.1|At2g46660.1|
-At4g00360.1|At1g01600.1|At1g63710.1|At2g45970.1|At5g58860.1|
-At4g12300.1|At4g12310.1|At4g12320.1|
-At4g12310.1|At4g12300.1|At4g12320.1|
-At4g12320.1|At4g12300.1|At4g12310.1|
-At4g12330.1|At5g44620.1|
-At4g13290.1|At2g30770.1|At4g13310.1|At5g24960.1|At5g42590.1|
-At4g13310.1|At2g30750.1|At2g30770.1|At4g13290.1|At5g24960.1|At5g42590.1|At5g24950.1|
-At4g13770.1|At4g31500.1|
-At4g15110.1|
-At4g15300.1|At1g65670.1|At3g30290.1|At4g15396.1|At4g15393.1|
-At4g15310.1|
-At4g15330.1|At1g28430.1|At2g05180.1|At2g14100.1|At2g27000.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20960.1|At4g15360.1|At4g15350.1|At5g47990.1|
-At4g15350.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20940.1|At3g20950.1|At3g20960.1|At4g15330.1|At5g47990.1|At4g15360.1|At4g15380.1|At5g42580.1|
-At4g15360.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20940.1|At3g20950.1|At3g20960.1|At4g15330.1|At4g15350.1|At5g47990.1|At5g42580.1|
-At4g15380.1|At2g05180.1|At2g14100.1|At2g27000.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20940.1|At3g20950.1|At3g20960.1|At4g15350.1|At5g47990.1|
-At4g15393.1|At1g65670.1|At3g30290.1|At4g15300.1|At4g15396.1|
-At4g15396.1|At1g65670.1|At3g30290.1|At4g15300.1|At4g15393.1|
-At4g15440.1|
-At4g19230.1|At2g29090.1|At5g45340.1|
-At4g20240.1|
-At4g22690.1|At4g22710.1|
-At4g22710.1|At4g22690.1|
-At4g27710.1|At2g46950.1|At2g46960.1|
-At4g31500.1|At4g13770.1|
-At4g31940.1|At4g31970.1|At4g31950.1|
-At4g31950.1|At4g31940.1|At4g31970.1|
-At4g31970.1|At4g31940.1|At4g31950.1|
-At4g32170.1|At1g47620.1|At1g47630.1|At2g21910.1|At2g23180.1|At4g39500.1|At4g39510.1|At4g39480.1|At5g02900.1|At4g39490.1|
-At4g36220.1|At5g04330.1|
-At4g36380.1|
-At4g37310.1|
-At4g37320.1|At1g66540.1|At2g23190.1|At2g23220.1|At3g28740.1|At4g37330.1|At4g37370.1|At4g37340.1|At4g37360.1|At5g36220.1|
-At4g37330.1|At1g66540.1|At2g23190.1|At2g23220.1|At3g28740.1|At4g37320.1|At4g37370.1|At4g37360.1|At4g37340.1|At5g36220.1|
-At4g37340.1|At1g66540.1|At2g23190.1|At3g28740.1|At4g37320.1|At4g37330.1|At4g37360.1|At4g37370.1|At5g36220.1|
-At4g37360.1|At1g66540.1|At2g23190.1|At3g28740.1|At4g37320.1|At4g37330.1|At4g37340.1|At4g37370.1|At5g36220.1|
-At4g37370.1|At1g66540.1|At2g23190.1|At2g23220.1|At3g28740.1|At4g37320.1|At4g37330.1|At4g37340.1|At4g37360.1|At5g36220.1|
-At4g37400.1|At4g37410.1|At5g57220.1|At4g37430.1|
-At4g37410.1|At4g37400.1|At4g37430.1|At5g57220.1|
-At4g37430.1|At4g37400.1|At4g37410.1|At5g57220.1|
-At4g39480.1|At1g47630.1|At2g23180.1|At4g32170.1|At4g39490.1|At4g39510.1|At4g39500.1|
-At4g39490.1|At2g23180.1|At4g32170.1|At4g39480.1|At4g39500.1|
-At4g39500.1|At1g47620.1|At1g47630.1|At2g21910.1|At2g23180.1|At4g32170.1|At4g39480.1|At4g39490.1|At4g39510.1|At5g02900.1|
-At4g39510.1|At1g47620.1|At1g47630.1|At4g32170.1|At4g39480.1|At4g39500.1|At5g02900.1|
-At4g39950.1|At2g22330.1|
-At5g02900.1|At1g47620.1|At1g47630.1|At4g32170.1|At4g39500.1|At4g39510.1|
-At5g04330.1|At4g36220.1|
-At5g04630.1|At3g10560.1|At3g10570.1|At5g04660.1|
-At5g04660.1|At3g10560.1|At3g10570.1|At5g04630.1|
-At5g05260.1|At5g35917.1|
-At5g05690.1|
-At5g06900.1|
-At5g06905.1|
-At5g07990.1|
-At5g08250.1|At5g23190.1|
-At5g09970.1|
-At5g10600.1|At5g10610.1|
-At5g10610.1|At5g10600.1|
-At5g14400.1|
-At5g23190.1|At5g08250.1|
-At5g24900.1|At5g24910.1|
-At5g24910.1|At5g24900.1|
-At5g24950.1|At1g11610.1|At2g30750.1|At2g30770.1|At4g13310.1|At5g24960.1|At5g42590.1|
-At5g24960.1|At1g11610.1|At2g30750.1|At2g30770.1|At4g13290.1|At4g13310.1|At5g24950.1|At5g42590.1|
-At5g25120.1|At5g25130.1|At5g25140.1|At5g25180.1|
-At5g25130.1|At5g25120.1|At5g25140.1|At5g25180.1|
-At5g25140.1|At5g25120.1|At5g25130.1|At5g25180.1|
-At5g25180.1|At5g25120.1|At5g25130.1|At5g25140.1|
-At5g25900.1|
-At5g35715.1|At3g26190.1|At3g26200.1|At3g44250.1|At3g53280.1|At3g53290.1|At3g53300.1|At3g53305.1|
-At5g35917.1|At5g05260.1|
-At5g36110.1|At5g36140.1|
-At5g36140.1|At5g36110.1|
-At5g36220.1|At1g66540.1|At3g28740.1|At4g37320.1|At4g37330.1|At4g37340.1|At4g37360.1|At4g37370.1|
-At5g38450.1|At1g67110.1|
-At5g38970.1|At3g30180.1|
-At5g42580.1|At2g05180.1|At2g14100.1|At2g27000.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20940.1|At3g20950.1|At3g20960.1|At4g15350.1|At4g15360.1|At5g47990.1|
-At5g42590.1|At2g30770.1|At4g13290.1|At4g13310.1|At5g24950.1|At5g24960.1|
-At5g42650.1|
-At5g44620.1|At4g12330.1|
-At5g45340.1|At2g29090.1|At4g19230.1|
-At5g47990.1|At2g05180.1|At2g14100.1|At2g27000.1|At2g27010.1|At3g20080.1|At3g20090.1|At3g20100.1|At3g20110.1|At3g20120.1|At3g20130.1|At3g20140.1|At3g20940.1|At3g20950.1|At3g20960.1|At4g15330.1|At4g15350.1|At4g15360.1|At4g15380.1|At5g42580.1|
-At5g48000.1|At1g78490.1|
-At5g52320.1|At1g57750.1|At1g65340.1|
-At5g52400.1|
-At5g57220.1|At4g37400.1|At4g37410.1|At4g37430.1|
-At5g57260.1|At2g02580.1|At3g26290.1|At3g26300.1|At3g26310.1|At3g26320.1|At3g26330.1|
-At5g58860.1|At1g01600.1|At1g63710.1|At2g45970.1|At4g00360.1|
-At5g61320.1|At1g64900.1|At1g64930.1|At1g64940.1|At1g64950.1|At2g12190.1|
-At5g63450.1|At3g48520.1|
-At5g67310.1|

Deleted: trunk/packages/phylographer/trunk/phylo_P450_coords.txt
===================================================================
--- trunk/packages/phylographer/trunk/phylo_P450_coords.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/phylo_P450_coords.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,245 +0,0 @@
-At1g01190.1	63	184
-At1g01280.1	411	681
-At1g01600.1	343	624
-At1g05160.1	596	303
-At1g11600.1	441	681
-At1g11610.1	153	413
-At1g11680.1	403	653
-At1g12740.1	470	681
-At1g13080.1	414	80
-At1g13090.1	424	106
-At1g13100.1	424	155
-At1g13110.1	388	106
-At1g13140.1	449	637
-At1g13150.1	449	556
-At1g13710.1	684	588
-At1g16400.1	503	679
-At1g16410.1	539	679
-At1g17060.1	624	681
-At1g19630.1	650	678
-At1g24540.1	510	596
-At1g28430.1	257	268
-At1g31800.1	672	665
-At1g33720.1	631	280
-At1g33730.1	518	280
-At1g34540.1	598	678
-At1g47620.1	523	407
-At1g47630.1	524	520
-At1g50520.1	347	393
-At1g50560.1	357	360
-At1g55940.1	680	641
-At1g57750.1	323	615
-At1g58260.1	683	615
-At1g63710.1	409	583
-At1g64900.1	545	633
-At1g64930.1	545	542
-At1g64940.1	568	588
-At1g64950.1	651	541
-At1g65340.1	283	615
-At1g65670.1	45	238
-At1g66540.1	331	441
-At1g67110.1	227	661
-At1g69500.1	685	532
-At1g73340.1	685	504
-At1g74110.1	684	559
-At1g74540.1	663	497
-At1g74550.1	663	460
-At1g75130.1	686	477
-At1g78490.1	306	672
-At1g79370.1	686	446
-At2g02580.1	83	78
-At2g05180.1	386	366
-At2g12190.1	651	632
-At2g14100.1	449	350
-At2g17330.1	430	653
-At2g21910.1	355	466
-At2g22330.1	653	415
-At2g23180.1	415	466
-At2g23190.1	289	377
-At2g23220.1	228	378
-At2g24180.1	683	412
-At2g25160.1	684	388
-At2g26170.1	687	359
-At2g26710.1	685	337
-At2g27000.1	421	361
-At2g27010.1	471	328
-At2g27690.1	684	312
-At2g28850.1	662	324
-At2g28860.1	575	324
-At2g29090.1	303	567
-At2g30490.1	683	279
-At2g30750.1	96	356
-At2g30770.1	211	355
-At2g32440.1	560	303
-At2g34490.1	618	381
-At2g34500.1	619	343
-At2g40890.1	684	209
-At2g42250.1	682	180
-At2g42850.1	682	145
-At2g44890.1	684	233
-At2g45510.1	683	258
-At2g45550.1	611	242
-At2g45560.1	518	199
-At2g45560.2	631	199
-At2g45570.1	542	242
-At2g45580.1	682	116
-At2g45970.1	426	541
-At2g46660.1	96	145
-At2g46950.1	662	105
-At2g46960.1	625	142
-At3g01900.1	682	76
-At3g03470.1	679	51
-At3g10560.1	136	501
-At3g10570.1	138	538
-At3g13730.1	654	15
-At3g14610.1	578	169
-At3g14620.1	676	26
-At3g14630.1	580	79
-At3g14640.1	506	78
-At3g14650.1	600	23
-At3g14660.1	490	131
-At3g14680.1	490	22
-At3g14690.1	599	130
-At3g19270.1	631	13
-At3g20080.1	383	175
-At3g20090.1	484	305
-At3g20100.1	477	235
-At3g20110.1	484	257
-At3g20120.1	487	277
-At3g20130.1	460	213
-At3g20140.1	439	193
-At3g20940.1	411	181
-At3g20950.1	354	179
-At3g20960.1	328	191
-At3g25180.1	468	18
-At3g26125.1	475	596
-At3g26150.1	435	17
-At3g26160.1	394	16
-At3g26170.1	435	53
-At3g26180.1	394	53
-At3g26190.1	360	133
-At3g26200.1	360	51
-At3g26210.1	388	155
-At3g26220.1	609	470
-At3g26230.1	578	440
-At3g26270.1	609	512
-At3g26280.1	645	440
-At3g26290.1	98	20
-At3g26300.1	145	117
-At3g26310.1	56	117
-At3g26320.1	56	42
-At3g26330.1	145	41
-At3g26830.1	457	129
-At3g28740.1	259	401
-At3g30180.1	236	538
-At3g30290.1	70	238
-At3g44250.1	188	51
-At3g44970.1	131	15
-At3g48270.1	140	246
-At3g48280.1	159	216
-At3g48290.1	256	246
-At3g48300.1	235	217
-At3g48310.1	140	188
-At3g48320.1	256	187
-At3g48520.1	76	545
-At3g50660.1	166	14
-At3g52970.1	64	13
-At3g53130.1	37	18
-At3g53280.1	188	145
-At3g53290.1	248	18
-At3g53300.1	306	18
-At3g53305.1	306	169
-At3g56630.1	566	679
-At3g61035.1	21	37
-At3g61040.1	17	64
-At3g61880.1	35	145
-At4g00360.1	342	541
-At4g12300.1	561	368
-At4g12310.1	525	324
-At4g12320.1	494	369
-At4g12330.1	264	684
-At4g13290.1	153	298
-At4g13310.1	153	341
-At4g13770.1	19	528
-At4g15110.1	15	98
-At4g15300.1	107	207
-At4g15310.1	15	126
-At4g15330.1	288	268
-At4g15350.1	292	241
-At4g15360.1	294	299
-At4g15380.1	307	213
-At4g15393.1	16	207
-At4g15396.1	56	289
-At4g15440.1	12	177
-At4g19230.1	270	531
-At4g20240.1	13	151
-At4g22690.1	16	272
-At4g22710.1	16	303
-At4g27710.1	662	142
-At4g31500.1	19	563
-At4g31940.1	32	401
-At4g31950.1	90	402
-At4g31970.1	60	355
-At4g32170.1	391	520
-At4g36220.1	46	573
-At4g36380.1	19	340
-At4g37310.1	19	372
-At4g37320.1	305	411
-At4g37330.1	216	411
-At4g37340.1	210	497
-At4g37360.1	310	497
-At4g37370.1	261	486
-At4g37400.1	46	510
-At4g37410.1	81	432
-At4g37430.1	46	462
-At4g39480.1	478	508
-At4g39490.1	478	422
-At4g39500.1	391	407
-At4g39510.1	499	463
-At4g39950.1	619	414
-At5g02900.1	566	463
-At5g04330.1	46	610
-At5g04630.1	87	476
-At5g04660.1	182	476
-At5g05260.1	78	644
-At5g05690.1	19	603
-At5g06900.1	19	633
-At5g06905.1	31	658
-At5g07990.1	54	673
-At5g08250.1	88	579
-At5g09970.1	86	676
-At5g10600.1	73	607
-At5g10610.1	105	607
-At5g14400.1	113	678
-At5g23190.1	125	579
-At5g24900.1	143	647
-At5g24910.1	143	610
-At5g24950.1	211	275
-At5g24960.1	96	274
-At5g25120.1	144	562
-At5g25130.1	176	611
-At5g25140.1	176	576
-At5g25180.1	208	561
-At5g25900.1	140	679
-At5g35715.1	249	97
-At5g35917.1	111	644
-At5g36110.1	174	659
-At5g36140.1	203	658
-At5g36220.1	194	441
-At5g38450.1	227	629
-At5g38970.1	235	594
-At5g42580.1	307	325
-At5g42590.1	246	312
-At5g42650.1	171	682
-At5g44620.1	264	642
-At5g45340.1	270	593
-At5g47990.1	330	346
-At5g48000.1	281	672
-At5g52320.1	303	648
-At5g52400.1	338	680
-At5g57220.1	16	432
-At5g57260.1	117	78
-At5g58860.1	427	624
-At5g61320.1	634	588
-At5g63450.1	76	515
-At5g67310.1	366	681

Deleted: trunk/packages/phylographer/trunk/phylo_PK_LRR_coords.txt
===================================================================
--- trunk/packages/phylographer/trunk/phylo_PK_LRR_coords.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/phylo_PK_LRR_coords.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,206 +0,0 @@
-At1g04210.1	359	676
-At1g05700.1	476	526
-At1g06840.1	302	592
-At1g07550.1	350	505
-At1g07560.1	415	533
-At1g07650.1	402	671
-At1g08590.1	414	647
-At1g09970.1	408	631
-At1g12460.1	432	630
-At1g14390.1	432	673
-At1g17230.1	244	643
-At1g17750.1	620	317
-At1g24650.1	467	630
-At1g25320.1	475	627
-At1g27190.1	353	558
-At1g28440.1	492	618
-At1g29730.1	500	614
-At1g29740.1	508	609
-At1g29750.1	514	663
-At1g31420.1	524	599
-At1g34110.1	547	664
-At1g34210.1	621	169
-At1g34420.1	575	660
-At1g35710.1	133	185
-At1g48480.1	381	94
-At1g49100.1	526	393
-At1g50610.1	212	433
-At1g51790.1	608	657
-At1g51800.1	448	290
-At1g51810.1	317	464
-At1g51820.1	515	479
-At1g51850.1	496	507
-At1g51890.1	421	272
-At1g53420.1	612	504
-At1g53430.1	616	496
-At1g53440.1	621	488
-At1g53730.1	660	516
-At1g55610.1	568	258
-At1g56120.1	602	451
-At1g56130.1	635	454
-At1g56140.1	613	419
-At1g56145.1	641	436
-At1g60630.1	670	432
-At1g60800.1	541	185
-At1g62090.1	449	536
-At1g62950.1	432	595
-At1g63430.1	57	622
-At1g64210.1	151	218
-At1g66150.1	543	534
-At1g66830.1	654	363
-At1g67510.1	654	354
-At1g67720.1	654	344
-At1g68400.1	654	335
-At1g69990.1	291	550
-At1g71830.1	652	136
-At1g72180.1	683	457
-At1g72300.1	683	380
-At1g72460.1	677	357
-At1g73080.1	646	280
-At1g74360.1	680	334
-At1g75640.1	132	307
-At1g75820.1	226	271
-At1g78980.1	46	187
-At1g79620.1	681	308
-At2g01210.1	525	633
-At2g01820.1	539	578
-At2g01950.1	680	286
-At2g02220.1	678	258
-At2g02780.1	459	671
-At2g04300.1	533	414
-At2g07040.1	150	405
-At2g13790.1	619	45
-At2g13800.1	506	44
-At2g14440.1	509	363
-At2g15300.1	92	282
-At2g16250.1	135	356
-At2g19190.1	393	526
-At2g19210.1	371	519
-At2g19230.1	527	442
-At2g20850.1	34	154
-At2g23300.1	261	492
-At2g23950.1	461	83
-At2g24130.1	682	60
-At2g24230.1	227	615
-At2g25790.1	639	17
-At2g26330.1	201	498
-At2g26730.1	607	583
-At2g27060.1	605	13
-At2g28970.1	467	308
-At2g28990.1	400	268
-At2g31880.1	499	22
-At2g33170.1	278	636
-At2g35620.1	564	600
-At2g36570.1	478	26
-At2g37050.1	453	23
-At2g41820.1	425	26
-At2g42290.1	405	49
-At2g45340.1	173	636
-At3g02130.1	395	25
-At3g02880.1	366	56
-At3g03770.1	360	26
-At3g08680.1	569	554
-At3g13065.1	19	187
-At3g13380.1	568	225
-At3g14350.1	660	488
-At3g14840.2	599	491
-At3g17840.1	307	71
-At3g19700.1	409	596
-At3g20190.1	179	433
-At3g21340.1	329	491
-At3g23750.1	283	29
-At3g24240.1	267	55
-At3g24660.1	251	30
-At3g25560.1	458	118
-At3g28040.1	219	29
-At3g28450.1	303	504
-At3g42880.1	28	462
-At3g46340.1	293	332
-At3g46370.1	367	265
-At3g46400.1	332	285
-At3g46420.1	305	300
-At3g47090.1	164	101
-At3g47110.1	136	72
-At3g47570.1	56	114
-At3g47580.1	95	130
-At3g49670.1	186	253
-At3g50230.1	334	612
-At3g51740.1	138	128
-At3g53590.1	264	545
-At3g56100.1	125	142
-At3g56370.1	167	176
-At3g57830.1	408	125
-At4g03390.1	79	154
-At4g08850.1	102	170
-At4g12020.1	97	178
-At4g18640.1	111	456
-At4g20140.1	89	379
-At4g20270.1	184	296
-At4g22730.1	136	623
-At4g23740.1	121	220
-At4g28490.1	454	571
-At4g28650.1	386	647
-At4g29180.1	63	244
-At4g29450.1	60	253
-At4g29990.1	490	338
-At4g30520.1	470	151
-At4g31250.1	37	257
-At4g33430.1	652	79
-At4g34220.1	39	282
-At4g36180.1	47	307
-At4g37250.1	238	513
-At4g39270.1	45	325
-At4g39400.1	526	225
-At5g01890.1	214	176
-At5g01950.1	264	583
-At5g05160.1	607	524
-At5g06820.1	45	372
-At5g06940.1	46	381
-At5g07180.1	156	517
-At5g07280.1	48	400
-At5g10020.1	50	409
-At5g10290.1	542	31
-At5g14210.1	54	427
-At5g16000.1	503	177
-At5g16590.1	327	132
-At5g20480.1	89	70
-At5g20690.1	66	462
-At5g24100.1	69	471
-At5g25930.1	73	479
-At5g35390.1	150	448
-At5g37450.1	82	496
-At5g41180.1	57	571
-At5g43020.1	364	620
-At5g44700.1	89	457
-At5g45780.1	587	183
-At5g45800.1	107	535
-At5g45840.1	111	507
-At5g46330.1	119	549
-At5g48740.1	125	556
-At5g48940.1	239	120
-At5g49660.1	138	569
-At5g49760.1	145	576
-At5g49770.1	152	582
-At5g49780.1	159	588
-At5g51350.1	149	667
-At5g51560.1	174	599
-At5g53320.1	81	669
-At5g53890.1	46	668
-At5g56040.1	113	667
-At5g58150.1	206	618
-At5g58300.1	643	554
-At5g59650.1	290	359
-At5g59660.1	293	390
-At5g59670.1	308	441
-At5g59680.1	294	415
-At5g61480.1	198	669
-At5g62230.1	201	550
-At5g62710.1	245	670
-At5g63410.1	275	677
-At5g63710.1	482	57
-At5g63930.1	303	650
-At5g65240.1	581	32
-At5g65700.1	288	267
-At5g65710.1	313	675
-At5g67200.1	340	654
-At5g67280.1	223	475

Deleted: trunk/packages/phylographer/trunk/phylo_RGenes_coords.txt
===================================================================
--- trunk/packages/phylographer/trunk/phylo_RGenes_coords.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/phylo_RGenes_coords.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,166 +0,0 @@
-At1g10920.1	140	143
-At1g12210.1	372	653
-At1g12220.1	384	614
-At1g12280.1	395	651
-At1g12290.1	447	674
-At1g15890.1	186	474
-At1g17600.1	44	317
-At1g17610.1	19	342
-At1g17615.1	660	157
-At1g27170.1	493	665
-At1g27180.1	472	628
-At1g31540.1	373	310
-At1g33560.1	212	559
-At1g50180.1	527	672
-At1g51480.1	261	474
-At1g52660.1	654	595
-At1g53350.1	92	254
-At1g56510.1	514	472
-At1g56520.1	489	509
-At1g56540.1	546	509
-At1g57650.1	624	672
-At1g58390.1	556	564
-At1g58400.1	551	530
-At1g58410.1	570	505
-At1g58602.1	610	487
-At1g58807.1	570	596
-At1g58848.1	627	596
-At1g59124.1	646	513
-At1g59218.1	663	562
-At1g59620.1	561	674
-At1g59780.1	594	673
-At1g61180.1	658	490
-At1g61190.1	611	447
-At1g61300.1	646	427
-At1g61310.1	678	460
-At1g62630.1	647	412
-At1g63350.1	678	417
-At1g63360.1	651	389
-At1g63730.1	615	393
-At1g63740.1	630	372
-At1g63750.1	522	290
-At1g63870.1	451	290
-At1g63880.1	654	332
-At1g64070.1	479	265
-At1g65850.1	369	190
-At1g66090.1	519	394
-At1g69550.1	526	236
-At1g72840.1	675	315
-At1g72850.1	674	284
-At1g72860.1	671	255
-At1g72870.1	672	226
-At1g72890.1	676	167
-At1g72900.1	655	223
-At1g72910.1	673	198
-At1g72940.1	615	200
-At1g72950.1	621	134
-At2g16870.1	502	260
-At2g17050.1	673	138
-At2g17060.1	674	110
-At2g14080.1	537	190
-At3g04210.1	446	190
-At3g04220.1	564	146
-At3g07040.1	674	78
-At3g14460.1	658	54
-At3g14470.1	641	30
-At3g15700.1	655	631
-At3g25510.1	353	245
-At3g44400.1	539	85
-At3g44480.1	506	130
-At3g44630.1	506	98
-At3g44670.1	473	85
-At3g46530.1	469	53
-At3g46710.1	403	53
-At3g46730.1	436	93
-At3g50950.1	605	21
-At3g51560.1	577	20
-At3g51570.1	549	21
-At4g08450.1	355	390
-At4g09360.1	521	20
-At4g09420.1	491	20
-At4g09430.1	463	20
-At4g10780.1	437	20
-At4g11170.1	406	20
-At4g12010.1	376	20
-At4g12020.1	348	20
-At4g14370.1	470	446
-At4g16860.1	237	158
-At4g16890.1	301	33
-At4g16900.1	355	52
-At4g16920.1	281	182
-At4g16940.1	219	122
-At4g16950.1	339	162
-At4g16960.1	219	57
-At4g16990.1	245	33
-At4g19050.1	198	20
-At4g19060.1	169	20
-At4g19500.1	374	110
-At4g19510.1	317	21
-At4g19520.1	285	20
-At4g19530.1	260	20
-At4g26090.1	232	20
-At4g27190.1	143	21
-At4g27220.1	119	23
-At4g33300.1	237	591
-At4g36140.1	94	22
-At4g36150.1	65	24
-At5g04720.1	280	602
-At5g05400.1	38	31
-At5g11250.1	578	190
-At5g17680.1	29	61
-At5g17880.1	29	91
-At5g17890.1	27	120
-At5g17970.1	25	150
-At5g18350.1	25	176
-At5g18360.1	23	204
-At5g18370.1	22	233
-At5g22690.1	432	337
-At5g35450.1	92	183
-At5g36930.1	25	261
-At5g38340.1	293	253
-At5g38350.1	401	287
-At5g38850.1	609	300
-At5g40060.1	421	395
-At5g40090.1	21	310
-At5g40100.1	44	365
-At5g40910.1	130	385
-At5g40920.1	130	417
-At5g41540.1	126	290
-At5g41550.1	162	326
-At5g41740.1	96	326
-At5g41750.1	127	350
-At5g43470.1	175	183
-At5g43730.1	161	452
-At5g43740.1	161	505
-At5g44510.1	29	446
-At5g44870.1	29	478
-At5g45050.1	77	488
-At5g45060.1	67	517
-At5g45200.1	28	609
-At5g45210.1	43	649
-At5g45230.1	68	668
-At5g45240.1	100	666
-At5g45250.1	67	581
-At5g45260.1	161	533
-At5g45440.1	139	601
-At5g45490.1	139	570
-At5g46260.1	213	352
-At5g46270.1	231	280
-At5g46450.1	416	310
-At5g46470.1	427	443
-At5g46490.1	383	436
-At5g46510.1	305	471
-At5g46520.1	232	435
-At5g47250.1	155	674
-At5g47260.1	185	674
-At5g47280.1	236	632
-At5g48620.1	175	254
-At5g48770.1	216	674
-At5g48780.1	244	676
-At5g49140.1	271	676
-At5g51630.1	413	136
-At5g58120.1	474	338
-At5g63020.1	298	676
-At5g66630.1	325	676
-At5g66900.1	337	654
-At5g66910.1	339	622

Deleted: trunk/packages/phylographer/trunk/phylo_coords.txt
===================================================================
--- trunk/packages/phylographer/trunk/phylo_coords.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/phylo_coords.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,245 +0,0 @@
-At1g01190.1	63	184
-At1g01280.1	411	681
-At1g01600.1	343	624
-At1g05160.1	596	303
-At1g11600.1	441	681
-At1g11610.1	153	413
-At1g11680.1	403	653
-At1g12740.1	470	681
-At1g13080.1	414	80
-At1g13090.1	424	106
-At1g13100.1	424	155
-At1g13110.1	388	106
-At1g13140.1	449	637
-At1g13150.1	449	556
-At1g13710.1	684	588
-At1g16400.1	503	679
-At1g16410.1	539	679
-At1g17060.1	624	681
-At1g19630.1	650	678
-At1g24540.1	510	596
-At1g28430.1	257	268
-At1g31800.1	672	665
-At1g33720.1	631	280
-At1g33730.1	518	280
-At1g34540.1	598	678
-At1g47620.1	523	407
-At1g47630.1	524	520
-At1g50520.1	347	393
-At1g50560.1	357	360
-At1g55940.1	680	641
-At1g57750.1	323	615
-At1g58260.1	683	615
-At1g63710.1	409	583
-At1g64900.1	545	633
-At1g64930.1	545	542
-At1g64940.1	568	588
-At1g64950.1	651	541
-At1g65340.1	283	615
-At1g65670.1	45	238
-At1g66540.1	331	441
-At1g67110.1	227	661
-At1g69500.1	685	532
-At1g73340.1	685	504
-At1g74110.1	684	559
-At1g74540.1	663	497
-At1g74550.1	663	460
-At1g75130.1	686	477
-At1g78490.1	306	672
-At1g79370.1	686	446
-At2g02580.1	83	78
-At2g05180.1	386	366
-At2g12190.1	651	632
-At2g14100.1	449	350
-At2g17330.1	430	653
-At2g21910.1	355	466
-At2g22330.1	653	415
-At2g23180.1	415	466
-At2g23190.1	289	377
-At2g23220.1	228	378
-At2g24180.1	683	412
-At2g25160.1	684	388
-At2g26170.1	687	359
-At2g26710.1	685	337
-At2g27000.1	421	361
-At2g27010.1	471	328
-At2g27690.1	684	312
-At2g28850.1	662	324
-At2g28860.1	575	324
-At2g29090.1	303	567
-At2g30490.1	683	279
-At2g30750.1	96	356
-At2g30770.1	211	355
-At2g32440.1	560	303
-At2g34490.1	618	381
-At2g34500.1	619	343
-At2g40890.1	684	209
-At2g42250.1	682	180
-At2g42850.1	682	145
-At2g44890.1	684	233
-At2g45510.1	683	258
-At2g45550.1	611	242
-At2g45560.1	518	199
-At2g45560.2	631	199
-At2g45570.1	542	242
-At2g45580.1	682	116
-At2g45970.1	426	541
-At2g46660.1	96	145
-At2g46950.1	662	105
-At2g46960.1	625	142
-At3g01900.1	682	76
-At3g03470.1	679	51
-At3g10560.1	136	501
-At3g10570.1	138	538
-At3g13730.1	654	15
-At3g14610.1	578	169
-At3g14620.1	676	26
-At3g14630.1	580	79
-At3g14640.1	506	78
-At3g14650.1	600	23
-At3g14660.1	490	131
-At3g14680.1	490	22
-At3g14690.1	599	130
-At3g19270.1	631	13
-At3g20080.1	383	175
-At3g20090.1	484	305
-At3g20100.1	477	235
-At3g20110.1	484	257
-At3g20120.1	487	277
-At3g20130.1	460	213
-At3g20140.1	439	193
-At3g20940.1	411	181
-At3g20950.1	354	179
-At3g20960.1	328	191
-At3g25180.1	468	18
-At3g26125.1	475	596
-At3g26150.1	435	17
-At3g26160.1	394	16
-At3g26170.1	435	53
-At3g26180.1	394	53
-At3g26190.1	360	133
-At3g26200.1	360	51
-At3g26210.1	388	155
-At3g26220.1	609	470
-At3g26230.1	578	440
-At3g26270.1	609	512
-At3g26280.1	645	440
-At3g26290.1	98	20
-At3g26300.1	145	117
-At3g26310.1	56	117
-At3g26320.1	56	42
-At3g26330.1	145	41
-At3g26830.1	457	129
-At3g28740.1	259	401
-At3g30180.1	236	538
-At3g30290.1	70	238
-At3g44250.1	188	51
-At3g44970.1	131	15
-At3g48270.1	140	246
-At3g48280.1	159	216
-At3g48290.1	256	246
-At3g48300.1	235	217
-At3g48310.1	140	188
-At3g48320.1	256	187
-At3g48520.1	76	545
-At3g50660.1	166	14
-At3g52970.1	64	13
-At3g53130.1	37	18
-At3g53280.1	188	145
-At3g53290.1	248	18
-At3g53300.1	306	18
-At3g53305.1	306	169
-At3g56630.1	566	679
-At3g61035.1	21	37
-At3g61040.1	17	64
-At3g61880.1	35	145
-At4g00360.1	342	541
-At4g12300.1	561	368
-At4g12310.1	525	324
-At4g12320.1	494	369
-At4g12330.1	264	684
-At4g13290.1	153	298
-At4g13310.1	153	341
-At4g13770.1	19	528
-At4g15110.1	15	98
-At4g15300.1	107	207
-At4g15310.1	15	126
-At4g15330.1	288	268
-At4g15350.1	292	241
-At4g15360.1	294	299
-At4g15380.1	307	213
-At4g15393.1	16	207
-At4g15396.1	56	289
-At4g15440.1	12	177
-At4g19230.1	270	531
-At4g20240.1	13	151
-At4g22690.1	16	272
-At4g22710.1	16	303
-At4g27710.1	662	142
-At4g31500.1	19	563
-At4g31940.1	32	401
-At4g31950.1	90	402
-At4g31970.1	60	355
-At4g32170.1	391	520
-At4g36220.1	46	573
-At4g36380.1	19	340
-At4g37310.1	19	372
-At4g37320.1	305	411
-At4g37330.1	216	411
-At4g37340.1	210	497
-At4g37360.1	310	497
-At4g37370.1	261	486
-At4g37400.1	46	510
-At4g37410.1	81	432
-At4g37430.1	46	462
-At4g39480.1	478	508
-At4g39490.1	478	422
-At4g39500.1	391	407
-At4g39510.1	499	463
-At4g39950.1	619	414
-At5g02900.1	566	463
-At5g04330.1	46	610
-At5g04630.1	87	476
-At5g04660.1	182	476
-At5g05260.1	78	644
-At5g05690.1	19	603
-At5g06900.1	19	633
-At5g06905.1	31	658
-At5g07990.1	54	673
-At5g08250.1	88	579
-At5g09970.1	86	676
-At5g10600.1	73	607
-At5g10610.1	105	607
-At5g14400.1	113	678
-At5g23190.1	125	579
-At5g24900.1	143	647
-At5g24910.1	143	610
-At5g24950.1	211	275
-At5g24960.1	96	274
-At5g25120.1	144	562
-At5g25130.1	176	611
-At5g25140.1	176	576
-At5g25180.1	208	561
-At5g25900.1	140	679
-At5g35715.1	249	97
-At5g35917.1	111	644
-At5g36110.1	174	659
-At5g36140.1	203	658
-At5g36220.1	194	441
-At5g38450.1	227	629
-At5g38970.1	235	594
-At5g42580.1	307	325
-At5g42590.1	246	312
-At5g42650.1	171	682
-At5g44620.1	264	642
-At5g45340.1	270	593
-At5g47990.1	330	346
-At5g48000.1	281	672
-At5g52320.1	303	648
-At5g52400.1	338	680
-At5g57220.1	16	432
-At5g57260.1	117	78
-At5g58860.1	427	624
-At5g61320.1	634	588
-At5g63450.1	76	515
-At5g67310.1	366	681

Deleted: trunk/packages/phylographer/trunk/phylo_coords_r.txt
===================================================================
--- trunk/packages/phylographer/trunk/phylo_coords_r.txt	2012-01-11 10:21:36 UTC (rev 9246)
+++ trunk/packages/phylographer/trunk/phylo_coords_r.txt	2012-01-11 10:24:08 UTC (rev 9247)
@@ -1,245 +0,0 @@
-At1g01190.1	63	184
-At1g01280.1	411	681
-At1g01600.1	343	624
-At1g05160.1	596	303
-At1g11600.1	441	681
-At1g11610.1	153	413
-At1g11680.1	403	653
-At1g12740.1	470	681
-At1g13080.1	414	80
-At1g13090.1	424	106
-At1g13100.1	424	155
-At1g13110.1	388	106
-At1g13140.1	449	637
-At1g13150.1	449	556
-At1g13710.1	684	588
-At1g16400.1	503	679
-At1g16410.1	539	679
-At1g17060.1	624	681
-At1g19630.1	650	678
-At1g24540.1	510	596
-At1g28430.1	257	268
-At1g31800.1	672	665
-At1g33720.1	631	280
-At1g33730.1	518	280
-At1g34540.1	598	678
-At1g47620.1	523	407
-At1g47630.1	524	520
-At1g50520.1	347	393
-At1g50560.1	357	360
-At1g55940.1	680	641
-At1g57750.1	323	615
-At1g58260.1	683	615
-At1g63710.1	409	583
-At1g64900.1	545	633
-At1g64930.1	545	542
-At1g64940.1	568	588
-At1g64950.1	651	541
-At1g65340.1	283	615
-At1g65670.1	45	238
-At1g66540.1	331	441
-At1g67110.1	227	661
-At1g69500.1	685	532
-At1g73340.1	685	504
-At1g74110.1	684	559
-At1g74540.1	663	497
-At1g74550.1	663	460
-At1g75130.1	686	477
-At1g78490.1	306	672
-At1g79370.1	686	446
-At2g02580.1	83	78
-At2g05180.1	386	366
-At2g12190.1	651	632
-At2g14100.1	449	350
-At2g17330.1	430	653
-At2g21910.1	355	466
-At2g22330.1	653	415
-At2g23180.1	415	466
-At2g23190.1	289	377
-At2g23220.1	228	378
-At2g24180.1	683	412
-At2g25160.1	684	388
-At2g26170.1	687	359
-At2g26710.1	685	337
-At2g27000.1	421	361
-At2g27010.1	471	328
-At2g27690.1	684	312
-At2g28850.1	662	324
-At2g28860.1	575	324
-At2g29090.1	303	567
-At2g30490.1	683	279
-At2g30750.1	96	356
-At2g30770.1	211	355
-At2g32440.1	560	303
-At2g34490.1	618	381
-At2g34500.1	619	343
-At2g40890.1	684	209
-At2g42250.1	682	180
-At2g42850.1	682	145
-At2g44890.1	684	233
-At2g45510.1	683	258
-At2g45550.1	611	242
-At2g45560.1	518	199
-At2g45560.2	631	199
-At2g45570.1	542	242
-At2g45580.1	682	116
-At2g45970.1	426	541
-At2g46660.1	96	145
-At2g46950.1	662	105
-At2g46960.1	625	142
-At3g01900.1	682	76
-At3g03470.1	679	51
-At3g10560.1	136	501
-At3g10570.1	138	538
-At3g13730.1	654	15
-At3g14610.1	578	169
-At3g14620.1	676	26
-At3g14630.1	580	79
-At3g14640.1	506	78
-At3g14650.1	600	23
-At3g14660.1	490	131
-At3g14680.1	490	22
-At3g14690.1	599	130
-At3g19270.1	631	13
-At3g20080.1	383	175
-At3g20090.1	484	305
-At3g20100.1	477	235
-At3g20110.1	484	257
-At3g20120.1	487	277
-At3g20130.1	460	213
-At3g20140.1	439	193
-At3g20940.1	411	181
-At3g20950.1	354	179
-At3g20960.1	328	191
-At3g25180.1	468	18
-At3g26125.1	475	596
-At3g26150.1	435	17
-At3g26160.1	394	16
-At3g26170.1	435	53
-At3g26180.1	394	53
-At3g26190.1	360	133
-At3g26200.1	360	51
-At3g26210.1	388	155
-At3g26220.1	609	470
-At3g26230.1	578	440
-At3g26270.1	609	512
-At3g26280.1	645	440
-At3g26290.1	98	20
-At3g26300.1	145	117
-At3g26310.1	56	117
-At3g26320.1	56	42
-At3g26330.1	145	41
-At3g26830.1	457	129
-At3g28740.1	259	401
-At3g30180.1	236	538
-At3g30290.1	70	238
-At3g44250.1	188	51
-At3g44970.1	131	15
-At3g48270.1	140	246
-At3g48280.1	159	216
-At3g48290.1	256	246
-At3g48300.1	235	217
-At3g48310.1	140	188
-At3g48320.1	256	187
-At3g48520.1	76	545
-At3g50660.1	166	14
-At3g52970.1	64	13
-At3g53130.1	37	18
-At3g53280.1	188	145
-At3g53290.1	248	18
-At3g53300.1	306	18
-At3g53305.1	306	169
-At3g56630.1	566	679
-At3g61035.1	21	37
-At3g61040.1	17	64
-At3g61880.1	35	145
-At4g00360.1	342	541
-At4g12300.1	561	368
-At4g12310.1	525	324
-At4g12320.1	494	369
-At4g12330.1	264	684
-At4g13290.1	153	298
-At4g13310.1	153	341
-At4g13770.1	19	528
-At4g15110.1	15	98
-At4g15300.1	107	207
-At4g15310.1	15	126
-At4g15330.1	288	268
-At4g15350.1	292	241
-At4g15360.1	294	299
-At4g15380.1	307	213
-At4g15393.1	16	207
-At4g15396.1	56	289
-At4g15440.1	12	177
-At4g19230.1	270	531
-At4g20240.1	13	151
-At4g22690.1	16	272
-At4g22710.1	16	303
-At4g27710.1	662	142
-At4g31500.1	19	563
-At4g31940.1	32	401
-At4g31950.1	90	402
-At4g31970.1	60	355
-At4g32170.1	391	520
-At4g36220.1	46	573
-At4g36380.1	19	340
-At4g37310.1	19	372
-At4g37320.1	305	411
-At4g37330.1	216	411
-At4g37340.1	210	497
-At4g37360.1	310	497
-At4g37370.1	261	486
-At4g37400.1	46	510
-At4g37410.1	81	432
-At4g37430.1	46	462
-At4g39480.1	478	508
-At4g39490.1	478	422
-At4g39500.1	391	407
-At4g39510.1	499	463
-At4g39950.1	619	414
-At5g02900.1	566	463
-At5g04330.1	46	610
-At5g04630.1	87	476
-At5g04660.1	182	476
-At5g05260.1	78	644
-At5g05690.1	19	603
-At5g06900.1	19	633
-At5g06905.1	31	658
-At5g07990.1	54	673
-At5g08250.1	88	579
-At5g09970.1	86	676
-At5g10600.1	73	607
-At5g10610.1	105	607
-At5g14400.1	113	678
-At5g23190.1	125	579
-At5g24900.1	143	647
-At5g24910.1	143	610
-At5g24950.1	211	275
-At5g24960.1	96	274
-At5g25120.1	144	562
-At5g25130.1	176	611
-At5g25140.1	176	576
-At5g25180.1	208	561
-At5g25900.1	140	679
-At5g35715.1	249	97
-At5g35917.1	111	644
-At5g36110.1	174	659
-At5g36140.1	203	658
-At5g36220.1	194	441
-At5g38450.1	227	629
-At5g38970.1	235	594
-At5g42580.1	307	325
-At5g42590.1	246	312
-At5g42650.1	171	682
-At5g44620.1	264	642
-At5g45340.1	270	593
-At5g47990.1	330	346
-At5g48000.1	281	672
-At5g52320.1	303	648
-At5g52400.1	338	680
-At5g57220.1	16	432
-At5g57260.1	117	78
-At5g58860.1	427	624
-At5g61320.1	634	588
-At5g63450.1	76	515
-At5g67310.1	366	681




More information about the debian-med-commit mailing list