<commit_before># A simple version for tree building

# Architecture
## Similarity Calculation
file:     DistanceMeasure.py
function: GenerateDistanceFile()
input:    smile
output:   distance matrix

#o# Preparing input for RapidNJ
file:     DistanceMeasure.py
function: GenerateDistanceFile()
input:    distance matrix
output:   RapidNJ input ([PHYLIP format](http://www.mothur.org/wiki/Phylip-formatted_distance_matrix))

## Run RapidNJ
file:     RunRapidNJ.py
function: RunRapidNJ()
input:    filename for RapidNJ input
output:   newick tree format

## Newick to Dot
file:     RunGraphViz.py
function: WriteDotFile()
input:    newick file
output:   dot file

## run graphviz on dot
file:     RunGraphViz.py
function: SFDPonDot()
input:    dot filename
output:   dot filename

## convert dot file to json with combination of other info
file:     RunGraphViz.py
function: Dot2Dict()
input:    dot filename, other info
output:   json

## For adding other physical properties
file:     DistanceMeasure.py
function: AddLigEff, AddSLogP
input:    a json for server input, ligand profile dictionary
output:   a new json

## If you have additional columns in your input file, you can change INTEREST_COLUMN in Model.py<commit_msg>mege conflict<commit_after>Please check the document:

http://chemtreemap.readthedocs.org/en/latest/
{'fraction_non_alphanumeric': 0.07477341389728097, 'fraction_numerical': 0.0007552870090634441, 'mean_word_length': 4.430327868852459, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2081496', 'n_tokens_mistral': 415, 'n_tokens_neox': 398, 'n_words': 142}