<commit_before>* bcgTree
Automatized phylogenetic tree building from bacterial core genomes.

[[doc/bcgTree.png]]

An article describing bcgTree is published in [[http://www.nrcresearchpress.com/doi/abs/10.1139/gen-2015-0175][Genome]].
If you use bcgTree for your research please cite: [[http://dx.doi.org/10.1139/gen-2015-0175][https://img.shields.io/badge/DOI-10.1139%2Fgen--2015--0175-blue.svg]]

Also please cite the external programs and the source of the HMMs (see Background section) if you use the default essential.hmm

If you like the tool consider voting for it on [[https://labworm.com/tool/bcgtree][LabWorm]].

See [[file:reproduce_results.org][this file]] for instructions on how to reproduce results from our article.
** Dependencies
Please note that some of the dependencies have their own Licenses.
*** Perl
To execute bcgTree [[https://www.perl.org/][perl5]] is required along with the following modules (should be part of the core installation, but also available via [[http://www.cpan.org/][cpan]]):
 - Getopt::Long
 - Pod::Usage
 - FindBin
 - File::Path
 - File::Spec
The following modules are included in this repo:
 - [[http://search.cpan.org/~mschilli/Log-Log4perl-1.46/lib/Log/Log4perl.pm][Log::Log4perl]] ([[file:lib/Log-Log4perl-1.46/LICENSE][Artistic License]])
 - [[http://search.cpan.org/~jstenzel/Getopt-ArgvFile-1.11/ArgvFile.pm][Getopt::ArgvFile]] ([[file:lib/Getopt-ArgvFile-1.11/README][Artistic License]])
 - [[https://github.com/BioInf-Wuerzburg/perl5lib-Fasta][perl5lib-Fasta]] ([[file:lib/perl5lib-Fasta/LICENSE][MIT License]])
 - [[https://github.com/BioInf-Wuerzburg/perl5lib-Fastq][perl5lib-Fastq]] ([[file:lib/perl5lib-Fastq/LICENSE][MIT License]])
 - [[https://github.com/BioInf-Wuerzburg/perl5lib-Verbose][perl5lib-Verbose]] ([[file:lib/perl5lib-Verbose/LICENSE][MIT License]])
*** Java
To use the graphical user interface a Java Runtime Environment ([[http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html][JRE]], tested with version 8) is required.
The following extra frameworks are used (included):
 - [[https://swingx.java.net/][SwingX]] 1.6.5 ([[http://www.gnu.org/copyleft/lesser.html][LGPL]])
*** External programs
bcgTree is a wrapper around multiple existing tools.
The following external programs are called by bcgTree and have to be installed.
The specified versions are the ones we used for testing (older versions might or might not work).
Newer versions should work (otherwise feel free to open an issue).
 - [[http://hmmer.org/][hmmsearch]] (HMMER version 3.1b1) - Eddy et al, 2010. HMMER3: a new generation of sequence homology search software.
 - [[http://www.drive5.com/muscle/][muscle]] (v3.8.31) - Edgar et al, 2004. MUSCLE: multiple sequence alignment with high accuracy and high throughput. Nucleic Acids Res. 32, 1792–1797.
 - [[http://molevol.cmima.csic.es/castresana/Gblocks.html][Gblocks]] (version 0.91b) - Castresana et al, 2000. Selection of conserved blocks from multiple alignments for their use in phylogenetic analysis. Mol. Biol. Evol. 17, 540–552.
 - [[http://sco.h-its.org/exelixis/web/software/raxml/][RAxML]] (version 8.2.4) - Stamatakis et al, 2014. RAxML version 8: A tool for phylogenetic analysis and post-analysis of large phylogenies. Bioinformatics 30, 1312–1313.
Additionally [[https://github.com/BioInf-Wuerzburg/SeqFilter][SeqFilter]] (Hackl et al, 2014. proovread: large-scale high-accuracy PacBio correction through iterative short read consensus. Bioinformatics 30, 3004-3011) is needed but it is included in this repo.
*** Data
There are two hmm files included in the data directory.
Both contain HMMs from [[ftp://ftp.tigr.org/pub/data/TIGRFAMs][TIGRFAM]] ([[ftp://ftp.tigr.org/pub/data/TIGRFAMs/COPYRIGHT][LGPL]]) and [[https://pfam.xfam.org/][PFAM]] ([[ftp://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam31.0/relnotes.txt][CC0]]).
The ubcg.hmm file is reproduced from [[https://www.ezbiocloud.net/tools/ubcg][UBCG]] as described in [[https://doi.org/10.1007/s12275-018-8014-6][Na, SI., Kim, Y.O., Yoon, SH. et al. J Microbiol. (2018) 56: 280.]]
** Installation
You can download the latest release from [[https://github.com/molbiodiv/bcgTree/releases][here]].
After extraction you can start the graphical interface by double clicking the bcgTree.jar file in the bcgTreeGUI folder.
Please remember to install the required external programms (see above).
Alternatively you can start the perl script bcgTree.pl in the bin folder from the command line.
Using the command line interface is the recommended way.
You can also clone the bcgTree git repository by executing the following commands:
#+BEGIN_SRC sh
git clone https://github.com/molbiodiv/bcgTree.git
# Now you can run bcgTree.pl
bcgTree/bin/bcgTree.pl --help<commit_msg>Update version numbers<commit_after>* bcgTree
Automatized phylogenetic tree building from bacterial core genomes.

[[doc/bcgTree.png]]

An article describing bcgTree is published in [[http://www.nrcresearchpress.com/doi/abs/10.1139/gen-2015-0175][Genome]].
If you use bcgTree for your research please cite: [[http://dx.doi.org/10.1139/gen-2015-0175][https://img.shields.io/badge/DOI-10.1139%2Fgen--2015--0175-blue.svg]]

Also please cite the external programs and the source of the HMMs (see Background section) if you use the default essential.hmm

If you like the tool consider voting for it on [[https://labworm.com/tool/bcgtree][LabWorm]].

See [[file:reproduce_results.org][this file]] for instructions on how to reproduce results from our article.
** Dependencies
Please note that some of the dependencies have their own Licenses.
*** Perl
To execute bcgTree [[https://www.perl.org/][perl5]] is required along with the following modules (should be part of the core installation, but also available via [[http://www.cpan.org/][cpan]]):
 - Getopt::Long
 - Pod::Usage
 - FindBin
 - File::Path
 - File::Spec
The following modules are included in this repo:
 - [[http://search.cpan.org/~mschilli/Log-Log4perl-1.46/lib/Log/Log4perl.pm][Log::Log4perl]] ([[file:lib/Log-Log4perl-1.46/LICENSE][Artistic License]])
 - [[http://search.cpan.org/~jstenzel/Getopt-ArgvFile-1.11/ArgvFile.pm][Getopt::ArgvFile]] ([[file:lib/Getopt-ArgvFile-1.11/README][Artistic License]])
 - [[https://github.com/BioInf-Wuerzburg/perl5lib-Fasta][perl5lib-Fasta]] ([[file:lib/perl5lib-Fasta/LICENSE][MIT License]])
 - [[https://github.com/BioInf-Wuerzburg/perl5lib-Fastq][perl5lib-Fastq]] ([[file:lib/perl5lib-Fastq/LICENSE][MIT License]])
 - [[https://github.com/BioInf-Wuerzburg/perl5lib-Verbose][perl5lib-Verbose]] ([[file:lib/perl5lib-Verbose/LICENSE][MIT License]])
*** Java
To use the graphical user interface a Java Runtime Environment ([[http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html][JRE]], tested with version 8) is required.
The following extra frameworks are used (included):
 - [[https://swingx.java.net/][SwingX]] 1.6.5 ([[http://www.gnu.org/copyleft/lesser.html][LGPL]])
*** External programs
bcgTree is a wrapper around multiple existing tools.
The following external programs are called by bcgTree and have to be installed.
The specified versions are the ones we used for testing (older versions might or might not work).
Newer versions should work (otherwise feel free to open an issue).
 - [[http://hmmer.org/][hmmsearch]] (HMMER version 3.3) - Eddy et al, 2010. HMMER3: a new generation of sequence homology search software.
 - [[http://www.drive5.com/muscle/][muscle]] (v3.8.1551) - Edgar et al, 2004. MUSCLE: multiple sequence alignment with high accuracy and high throughput. Nucleic Acids Res. 32, 1792–1797.
 - [[http://molevol.cmima.csic.es/castresana/Gblocks.html][Gblocks]] (version 0.91b) - Castresana et al, 2000. Selection of conserved blocks from multiple alignments for their use in phylogenetic analysis. Mol. Biol. Evol. 17, 540–552.
 - [[http://sco.h-its.org/exelixis/web/software/raxml/][RAxML]] (version 8.2.12) - Stamatakis et al, 2014. RAxML version 8: A tool for phylogenetic analysis and post-analysis of large phylogenies. Bioinformatics 30, 1312–1313.
Additionally [[https://github.com/BioInf-Wuerzburg/SeqFilter][SeqFilter]] (Hackl et al, 2014. proovread: large-scale high-accuracy PacBio correction through iterative short read consensus. Bioinformatics 30, 3004-3011) is needed but it is included in this repo.
*** Data
There are two hmm files included in the data directory.
Both contain HMMs from [[ftp://ftp.tigr.org/pub/data/TIGRFAMs][TIGRFAM]] ([[ftp://ftp.tigr.org/pub/data/TIGRFAMs/COPYRIGHT][LGPL]]) and [[https://pfam.xfam.org/][PFAM]] ([[ftp://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam31.0/relnotes.txt][CC0]]).
The ubcg.hmm file is reproduced from [[https://www.ezbiocloud.net/tools/ubcg][UBCG]] as described in [[https://doi.org/10.1007/s12275-018-8014-6][Na, SI., <NAME>., Yoon, SH. et al. J Microbiol. (2018) 56: 280.]]
** Installation
You can download the latest release from [[https://github.com/molbiodiv/bcgTree/releases][here]].
After extraction you can start the graphical interface by double clicking the bcgTree.jar file in the bcgTreeGUI folder.
Please remember to install the required external programms (see above).
Alternatively you can start the perl script bcgTree.pl in the bin folder from the command line.
Using the command line interface is the recommended way.
You can also clone the bcgTree git repository by executing the following commands:
#+BEGIN_SRC sh
git clone https://github.com/molbiodiv/bcgTree.git
# Now you can run bcgTree.pl
bcgTree/bin/bcgTree.pl --help
{'fraction_non_alphanumeric': 0.1369747899159664, 'fraction_numerical': 0.03949579831932773, 'mean_word_length': 4.759830611010284, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 26, 'lorem ipsum': 0, 'www.': 14, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '161800', 'n_tokens_mistral': 3474, 'n_tokens_neox': 3061, 'n_words': 922}