PhyloAcc is a mix of Python and C++ code with dependencies for each. As such, we do not support building from source as dependency 
                                installation will vary from system to system. Instead, we offer a pre-built package through 
                                bioconda which allows installation with the
                                package manager conda.
                            
                                This section outlines in detail the steps starting from installation of conda to installation of PhyloAcc. If you already have
                                experience with conda feel free to skip steps that you are familiar with.
                            
While we don't have a dedicated build for Windows up on bioconda yet, you can still install and run on your Windows PC via the Windows Subsystem for Linux. This essentially installs a Linux distribution within Windows so that you can install Linux progams and run Linux commands, and it works pretty seamlessly.
Check here for more info on installing WSL. And once you do you should be able to activate a bash shell within your Windows Powershell and follow the instructions below for Linux.
1. Installing conda and mamba
                                conda is a cross-platform package manager, as well as the name of the command-line tool to access conda channels. 
                                mamba is a reimplementation of the conda command-line tool and is much faster than conda. 
                                We recommend using mamba and will do so through this walkthrough, but you can use conda if you prefer. 
                                Simply replace mamba with conda in the commands below.
                            
                                            If you are on an institutional server or cluster, it is possible they already have mamba 
                                            (or conda) installed and activated. You can check this by simply running the command:
                                        
mamba --version
                                            If you see the text mamba X.X.X conda X.X.X, with each X being a number indicating the version, then mamba 
                                            and conda are already installed and you can skip to step 3!
                                        
To install conda and mamba, first navigate to the Miniforge3 repository page. Scroll down and you will see a table in the Download section titled Miniforge3, with links for different operating systems (OS). Click on the link that coincides with your OS to download the install file.
                                This should download a .sh file for Linux and OSX.
                            
                                Next, place the downloaded file in the location on your system where you want to install conda and mamba. If you are installing on a remote server, 
                                you'll to need either download on that system directly with a tool like wget or use another file transfer program to move 
                                the file over. You'll need to place this file somewhere on the remote system where you have permission to run programs, like your home directory.
                            
Finally, run the install script by running the command:
bash <filename>.sh
                                where <filename> is the name of the script. Follow the prompts and let the script run and mamba and conda should be installed! 
                                You will also need to restart your shell (re-login) for the changes to take effect.
                            
2. Setting up channels for bioconda
If this is your first time using conda or bioconda, you may have to set-up your channels. A channel is a remote host for different types of software. For instance, lots of biology related software is found in the bioconda channel and a lot of other software is found in the conda-forge channel. Since we are primarily interested in biological software, we want to make sure that bioconda has priority.
                                To set-up channels, you'll need a file in your home directory called .condarc with the following contents:
                            
channels:
  - conda-forge
  - bioconda
  - defaults
channel_priority: strictbioconda has instructions for automatically generating this file by running the following commands:
conda config --add channels defaults conda config --add channels bioconda conda config --add channels conda-forge conda config --set channel_priority strict
                                Finally, you can confirm that your .condarc file is set up correctly by running the command:
                            
cat ~/.condarcThe output should look like the yellow box above.
3. Creating a conda environment for PhyloAcc
                                conda is able to install and solve package dependencies by working in environments, self-contained file systems
                                where the current user has full permissions. To create a new enviornment, run:
                            
mamba create -n <environment name>
                                Where <environment name> is something descriptive for the purpose of the environment. For instance, for installing and running
                                PhyloAcc, I would call this one phyloacc-env:
                            
mamba create -n phyloacc-envFollow any prompts on the screen to create the environment.
4. Activating your PhyloAcc conda environment
Even though an envrionment has been created, to install software or run software you've already installed in it you must activate it:
mamba activate phyloacc-env
                                You might notice that your command prompt changes based on which environment you have activated. If you ever wish to exit an environment,
                                simply type mamba deactivate.
                            
5. Installing PhyloAcc from bioconda
Now that a conda environment is set up you are ready to install PhyloAcc from bioconda!
To install PhyloAcc, run the command:
mamba install phyloaccFollow the prompts on the screen and wait for the dependencies to install. Once finished, you should be ready to run PhyloAcc! To make sure, run the command:
phyloacc.py --versionwhich should print out the version info for PhyloAcc and:
phyloacc.py --depcheckwhich ensures that the C++ binaries are installed. If you get an error during either of these commands, or one of the dependency checks fails, you will have to troubleshoot the installation process.
1. conda: command not found
                                If you see the conda: command not found error when trying to install PhyloAcc it likely means:
                                
- conda isn't installed - See here for installation instructions
- conda or mamba hasn't been initialized - If you didn't say yes to the final prompt when installing Miniforge3 (conda and mamba), 
                                        your shell hasn't been setup yet. You may need to run mamba initand restart your shell. If you try to runmamba initand get the same error, you'll have to provide the full path to the mamba executable, which should be something like/where/you/installed/miniforge3/bin/mamba
2. conda cannot solve the environment
                                If the mamba install phyloacc command fails or hangs for a long time the program might be struggling
                                with installing dependencies given the current settings. To solve this, try the following:
                                
- 
                                        Make sure conda is up to date. To update conda, run the command: 
                                        conda update -n base -c defaults conda
- Make sure your channels are set-up to give bioconda priority
3. phyloacc.py: command not found
                                If you see the phyloacc.py: command not found error some time after you have successfully run the
                                mamba install phyloacc command, it likely means you aren't in the same environment as where you installed PhyloAcc. Make sure
                                you activate the correct conda environment.
                            
