2018
    20.Juni-4.Juli
        + openmp support (max_of_diag,get_new_x,makeOrthogonal,normalize,getY)
        + bitscore integration in the convergence (weighted algebraic connectivity)
        + protein output is now sorted in descending degree-order (sort with comparator_pairDoubleUInt)
        + getConnectivity: special case checks now if the induced subgraph is complete (K_n)
        + added various test functions
    5. Juli
        + added kmere heuristic for splitting groups in proteinortho_clustering. After the calculation of an fiedler vector, the kmere heuristic splits the graph not only in the positive and negative entries of the vector but in k clusters. k=2 -> the original split (without the purity).  
    16. Juli
        + added LAPACK support for CC with less than 2^15 nodes (since it uses quadratic space -> (2^15)^2=2^30) for the calculation of the algebraic connectivity.
        + added all other proteinortho files to this repository.
        + graphMinusRemoveGraph.cpp implements proteinortho5_clean_edges2.pl in c++
    23.Juli
        + openMP support for laplacian declaration (for lapack).
        + 'make test' clean up.
        + jackhmmer, phmmer, diamond, usearch support.
    24 Juli
        + last integration.
        + phmmer+jackhmmer fix/workaround (there is no local identity in the output -> disabled).
        + proteinortho.pl : set cluster algorithm to weighted-mode as default.
    30. Juli
        + rapsearch integration.
        + proteinortho_clustering.cpp : -ramLapack is now -ram and is the threshold for laplace matrix + graph struct. 
        + added dynamic memory management (proteinortho.pl + clustering.cpp) using the free -m command (if exists) 
    31. Juli
        + rapsearch fix (wrong order of db and q)
        + purity is back, now 0.1 (and fallback function, if all nodes are below purity threshold -> remove purity for this connected component)
        + more options for proteinortho.pl -p=diamond-moresensitive|usearch-ublast
    9. Aug
        + topaz integeration.
        + all DBs now have the blastmode in name (colliding names) as well as the tmp files generated by the blastalgos.
    10. Aug
        + Orthology XML integration. Added the option -noxml for not generating the orthology XML format.
    13. Aug
        + bugfix usearch/ublast: removed the description from the gene name (formatU.pl). bugfix rapsearch: forced to create an output .m8 file if there are no hits found.
        + allowedAlphabet check in read_details in check_files. E.g. diamond expects aminoacid characters -> found a gene with only nucleotide characters -> WARNING. E.g. blastn+ expects nucleotide characters -> found non nucleotide characters -> ERROR.
    22. Aug
        + removed phmmer and jackhmmer. 
        + removed the -p=diamondmoresensitive option, since it is equivalent to -p=diamond -subpara='--moresensitive'.
#        + redesigned the multithreading system: 
#            -cpus=x -> spawn round(sqrt(x)) workerthreads with each ceil(sqrt(x)) (different for the last workerthread ...) cores for blast. 
#            removed threads_per_process function.
    8. Sep
        + proteinortho_clustering: introduced multithreading in partition_graph() -> generate k CC and compute the lapack dsyevx in parallel (1. Memory check 2. if a large CC is found -> 1 power iteration with all cores 3. else do k lapack.). New const variable lapack_power_threshold_n for determining large CC for the power iteration.   
    4. Okt
        + improvement in the memory calculations. 
        + BUGfix in the DFS calculation (recursion in c++ failed with segmentation fault if the recursion was too deep) -> now iteratively (memory ineffciently) with Queue
    10. Okt
        + DFS -> BFS
    18.  Okt
        + purity is now 1e-7, evalue 1e-8 (http://people.sc.fsu.edu/~jburkardt/c_src/power_method/power_method_prb.c)
        + kmere heuristic minNodes = 2^20 (~1e+6), kmere now checks if the "normal" split would result in a good partition.
    30. Okt
    	- removed the memory manager for proteinortho_clustering, instead a simple n threshold manages the power/lapack algorithms
    	+ now all CC are calculated for power/lapack (no frequent restart), dynamic for loop for lapack
    7. Nov
        + dsyevr instead of dsyevx (rrr algorithm now)
        + remove graph bugfix (each thread is now assigned an own ofstream (shared_ptr needed -> c++11 needed))
    13. Nov
        + OMP_PROC_BIND=close for multi-socket systems (change the cpu affinity of openmp to close -> each new thread spawn next to the last one, instead of randomly)
    15. Nov
        + Blat support (step=2), the evalues cannot be preset as a parameter but appear if -out=blast8 is set.
    16. Nov
        + proteinoprtho 6.0 alpha release
    28. Nov
        + Makefile update (lapack zipped,...)
    5. Dez
    	+ MCL integration (-mcl option in proteinortho.pl)
    	+ XML bugfix (species with . in the name did confuse the xml parser)
    6. Dez
        + MCL pre/postprocessing (src/do_mcl.pl)
        + double -> float in proteinortho_clustering.cpp
        + weights are unsigned shorts again (only the last commit was unsigned int) proteinortho_clustering.cpp
    10. Dez
	    + gff4fasta update: Test for additional naming schemes
    20.-21. Dez
        + src/do_mcl.pl performance increase, dev/blastgraph2CCblastgraphs.cpp improvement
        + orthoXML improvement (still not accepted by orthobechmarkproject)
    25. Dez
        + no lapack version (src/proteinortho_clustering_nolapack.cpp)
        + no cmake version (make all_nocmake, needs lapack installed)
    9. Jan
        + pow_n replaced with powLapD (graph density threshold instead of number of nodes)
    11. Jan
        + mmseq2 integration (proteinortho.pl) -p=mmseqsp or mmseqsn 
    22. Jan (uid:296)
        + BUGfix: weird sort behaviour dependant on locale (LC_All,LC_NUMERIC). Fix: $ENV{'LC_All'}='C';
    4. Feb (uid:724)
        + -ram is back for memory control of proteinortho_clustering (restricts the memory usage of LAPACK and the input graph), works also for proteinortho.pl -ram
    14. Mar (uid: 1034)
        + -tmp is now working better (tmp_dir now generates a directory with all temporary files inside)
        + read_details now checks if the input files are faa and fna type based on the -p algorithm (diamond only uses faa files etcpp) IF -checkfasta
    20. Mar (uid: 1174)
        + static versions (Linux/x64) of all binaries are now included in the repository
        + Makefile now compiles first against /usr/lib/liblapack statically then it tries to recompile src/lapack automatically with 'make'
    26. Apr (uid: 2239)
	+ now supports minspecies fully
	+ fix no lapack proteinortho
	+ po2html
    28. Apr (uid:2349)
	+ Makefile now builds in src/BUILDS/$uname depending on the system (Linux/Darvin). Now I can include precompiled binaries for mac and linus at the same time.
