Maciej Bak
Swiss Institute of Bioinformatics
Short tutorial on how to turn your Android smartphone ( 📱) into a platform for scientific computing ( 🤖)
No root required.
The droid will have:
- GNU bash
- GNU make
- C and C++ compilers: gcc and clang
- Python interpreter as well as some useful packages: numpy, scipy, pandas, scikit-learn
- R interpreter as well as some useful packages: statmod, numDeriv, maxLik, tidyverse
- Vim text editor
- Cookiecutter template engine
- Snakemake workflow management system
Fancy runing some pipelines from your mobile?
The following commands have been assembled together from various sources over the internet. Most notably I should mention the repositories of its-pointless and a blog post by Conor Anderson.
"Termux is an Android terminal emulator and Linux environment application that works directly with no rooting or setup required."
Start with installing the app on your smartphone, preferably from Google Play.
In order to exchange files between Termux and the external world you need to grant the app access to the storage of your device. Please open Termux and type:
termux-setup-storageUpon execution Termux will create a symbolic link named storage under its $HOME directory. You may read more about the directory tree under the following question.
It would be convenient to have a 'shared space' where one could place input and gather output from. Create a directory that will bridge the app and the users:
mkdir storage/shared/TermuxFor this and the next step we assume that the smartphone has internet access.
Open Termux and install git with the following command:
pkg install -y gitAfter a successful installation please clone the repository:
git clone https://github.com/AngryMaciek/angry-droidIn order to install software specified on top please type:
bash angry-droid/setup.shIf no errors were raised during the installation you are good to go!
You may test the compilers, interpreters and packages by running:
bash angry-droid/test/test.shThis repository has been tested on Samsung Galaxy A5 2017 (SM-A520F); Android 8.0.0; Packages CPU architecture: aarch64.
MIT License