Do bioinformatics not sys-admining - run the playbook and get back to work !
Assume you know how to start new virtual machine (vm) instance and how to install and operate ansible.
- bring up a vm (AWS, NeCTAR, OpenStack, etc)
- set up your ssh-keys
- edit
hostfile to add vm ip address, editgroups_vars/allfiles to change vm username
ansible-playbook -i hosts all.ymlThis bio-ansible script is multi-potent as it can set up from scratch the whole army of servers with bioinformatics (genomic) focus or just install handful of selected tools. Depending on what you are trying to do you can run bio-ansible as a non privileged user, particular if you are just installing bio-tools. However you still might need to install some "common" dependencies and for that you might need sudo.
Also note that modules are ‘idempotent’, meaning if you run them again, they will make only the changes they must in order to bring the system to the desired state. This makes it very safe to rerun the same playbook multiple times. They won’t change things unless they have to change things.
Please note this this playbook is targeting linux operating systems, specifically ubuntu distribution.
It is safe to re-run the same playbook
-
set up your ssh-keys
-
git clone https://github.com/serine/bio-ansible.git -
edit
hostsfile to include your IP address into the right group -
edit
group/allfile to include your username asmain_guyvariable -
Running playbook:
- everything - need
sudoprivilege
ansible-playbook -i hosts all.yml- just the tools - don't need
sudo
ansible-playbook -i hosts bio.yml- just the dependencies - need
sudo
ansible-playbook -i hosts common.yml - everything - need
-
Alternatively you can install only particular tool
ansible-playbook -i hosts main.yml --tags samtools
ansible-playbook -i hosts main.yml --tags star
ansible-playbook -i hosts main.yml --tags subreadOR
ansible-playbook -i hosts main.yml --tags samtools,star,subreadYou can always add -v or -vvv options for verbose mode
- Playbook breakdown
- Full list of available tags
- List of required dependencies
- List of python pip packages
- List of supported talball packages
- To Do list
Because of the licenses some installation files need to be manually downloaded into tarballs directory. You need to manually download these packages and place them into roles/bio_tools/files/ directory. The playbook.yml going to skip installation of those packages if it doesn't find archived files in files directory.
There are scripts to download various databases in scripts/. These have deliberately not been added to ansible.
Download blast databases
cd /references/blast
sudo -u sw-installer $(which update_blastdb.pl) --passive --verbose '.*'