Awesome Research Tools¶
A list of tools for research. Also available on http://tools.kausalflow.com/tools/.
Version Control System¶
First things first, everyone should know version control system, aka VCS. VCS helps us track changes in our documents as well as collaborations on the documents. Needless to say, version control is one of the most useful tools for scientists.
Online Git Service¶
- GitHub: the most popular platform for git with social and collaborations built-in.
- GitHub also provides GitHub Actions. With Actions one could automate processes.
- GitHub provides GitHub Pages. With GitHub Pages, on could host static files as well as Jekyll built websites.
- GitLab: similar to GitHub, GitLab provides git hosting, collaborations, social, automations, and more. GitLab can be both cloud-based and self-hosted using its open-source code.
- GitLab includes unlimited free private repositories.
- GitLab comes with a continuous integration tool that is more powerful than GitHub Actions.
- BitBucket: Alternative to GitHub and GitLab with free private repositories.
Self-hosted Git Server¶
- GitLab: See above at Online Git Service.
- Gitea: Painless self-hosted Git service written in Go.
- Gogs: A painless self-hosted Git service.
Enterprise Git Service¶
- RhodeCode: Centralized control for distributed repositories. Mercurial, Git, and Subversion under a single roof.
Pomodoro Technique can be used to boost your productivity and probably improve your health. There are almost infinite choices for the tools.
- Pomotodo (
Chrome): A mix of todo list and pomodoro timer, with sync across devices and weekly report [Free].
- Tadam (
Mac): Simple and elegant pomodoro timer [USD$ 4.99].
- Productivity Challenge Timer (
Android): Pomodoro timer with great gamification features [Free].
The GTD (Getting Things Done) method unloads the todo lists off the mind by recording them using external tools. It allows one to focus on one active task instead of on all of them (Wikipedia). Tasks can be classified in contexts (@home, @computer, @office, etc), time of action (now, next actions, scheduled or someday) and projects. Here we have a good pragmatic guide to GTD and here is a flowchart.
- Microsoft To Do (
Chrome OS): Almost perfect todo lists with cooperation and sharing.
- Google Keep(
- Evernote (
Win Store): Not so lightweight but still very good for managing life especially since it has got a lot of integrations from a lot of other services.
- Anydo (
iOS): Good because it has a very good daily review which can help users remember what to do.
- Todoist (
iOS): Todoist invented the karma system which keeps track of the tasks done.
- Taskade (
iOS): Taskade is a collaborative task list and outliner for team projects.
Mac): Date-focused note taking.
For self-hosted services, check out awesome-selfhosted on GitHub.
Math and Programming Online¶
There are many tools that allows use of code, perform numerical calculations or analytical derivation online.
- Google Colab: free jupyter notebook online. Google Colab also comes with free GPU hours.
- Free and powerful.
- Share and collaborate on the same notebook.
- Can be saved in GitHub or Google Drive.
- NextJournal: the notebook for reproducible research.
- Basically, NextJournal runs almost anything.
- Focusing on reproducibility.
- Kaggle: kaggle has built-in free jupyter notebook.
- One can also connect to Google BigQuery to access big data.
- Azure Notebooks: online jupyter notebooks.
- Datalore: online jupyter notebook by JetBrains.
- CoCalc (SageMathCloud): LaTeX, R, iPython Notebook, etc.
- SageMaker: AWS service with a lot of tools integrated. Sagemaker comes with the Sagemake Studio which provides jupyter notebook for programmer and other charting and data management tools.
- WolframAlpha: Excellent engine to do mathematical derivation online and search.
- Mathematica Online: Bring Mathematica to life in the cloud.
Plotting and Charting Online¶
While one could use these online jupyter notebooks mentioned above to make plots, there are many easy to use too that could be used for simple plotting.
- plot.ly: Online plotting with many cloud services integrated.
- Desmos: Graphs for functions.
- GeoGebra: very old but still very good. GeoGebra can be used for precise charting as well as calculations.
- graph.tk: Online plotting with rich features.
- Wolfram Alpha: Make graphs for functions, from your data and even more.
Nature hosts a list of recommended data repositories here.
General and Interdisciplinary¶
- DRYAD (
Lookup): The Dryad Digital Repository stores curated data.
- Figshare (
Lookup): Data sharing and storage
- Data.gov (
Lookup): Data by US Federal Government
- GenBank (
Lookup): Genetic sequence database
- National Centers for Environmental Information (
Lookup): Weather, climate, coasts, oceans, and geophysics etc
- GEOSS Portal (
Lookup): Earth science data
- US Virtual Astronomical Observatory (
- MAST: Barbara A. Mikulski Archive for Space Telescopes (
- Mikulski Archive for Space Telescopes (
Arts and Humanities¶
- Archaeology Data Service (
Lookup): Certified repository
- Open Energy Information (OpenEI) (
Lookup): Wiki of collections of energy information
- Inter-university Consortium for Political and Social Research (ICPSR) (
- Institute for Quantitative Social Science (IQSS) (
Pick a pleasing color for your presentations and notes.
Publishing and Sharing¶
Make use of GitHub to cooperate with others. GitHub pages is also good for hosting static contents. GitHub provides Education perks so students could get free pro version which comes with private repos.
Markdown is one of the best languages for writing. Check out these editor in Markdown section.
Make use of these programs for publishing:
- Sphinx: RestructuredText as source files, powerful, flexible and modularized.
- Gitbook: A new but promising tool for HTML, pdf, and epub with both online editors and local editors. Plugins like quizzes and math can be helpful to writing science.
- Git-scribe: Good for writing ebooks.
- Static Site Generator: For more please refer to Static Site Generator.
Sphinx Themes and configurations
- rtd theme: Developed by ReadtheDocs.org
- Alabaster: Clean and simple
- Some beautiful themes
- Bootstrap theme
Science Books Using Sphinx
Here are some examples of how sphinx can be used for research.
Just use Visual Studio Code.
- Hemingway App: Highlights complex sentences, point out passive voice, and suggests alternative words.
- proselint: A linter for English prose using advice from Garner's Modern American Usage and more.
- artbollocks-mode: Emacs minor mode for avoiding cliches and bad grammar when writing about art (or other topics).
cut_the_crap.py: Simple Python script to flag redundant words and gives alternative suggestions.
- textlint-rule-rousseau: A textlint rule to check English sentences using Rousseau.
- De-Jargonizer: Paste your article or upload file to analyze the amount of jargon in your writing.
Host your articles, notes and more. Research is also about communications.
- ReadtheDocs: Turn your reStructuredText source to HTML, PDF, and epub, all done online.
- GitHub pages: Integrated with Jekyll and turns markdown posts automatically. Jekyll is a tool for blogging.
- GitHub: Just put markdown, reStructuredText, PDF or IPython/Jupyter notebook files on GitHub. All these formats can be previewed online. The thing to mention is that the math in IPython notebook can be rendered on GitHub.
- Aerobatic: A powerful alternative to GitHub Pages.
- Surge: One command upload your static website to make it live. Surge also integrates GitHub hooks.
- Heroku: The one that needs no explanation.
- AWS: Amazon AWS provide student perks.
Other services such as Digital Ocean are also useful when it comes to dynamic websites and cloud computing.
Blog and CMS¶
Before doing the investigation on platforms, just remind yourself:
I want to write, not to run blogging software.
These programs are running on the server and can be hosted using these services.
- Ghost (
Node.js): Open, Simple, non-profit; write with markdown and live preview.
- Pico (
PHP): Lightweight cms, open source, no database.
- Dropplets (
PHP): Open source, simple, and elegant blog system; write in Markdown.
- Wordpress (
PHP): Very popular but requires a lot of maintenance.
These Blog/CMS software can be hosted on Digital Ocean.
Static Site Generator¶
Here is a nice website that tells you all the static site generators. Nonetheless here is a list of the most popular ones.
- Jekyll (Written in
Markdown): Jekyll is the most widely used one. The best part about Jekyll is that one just deploy to GitHub Pages by pushing the source to GitHub.
- Octopress (Written in
Markdown): Octopress is easier to use compared with Jekyll while being somewhat compatible with Jekyll.
- Hexo (Written in
Markdown): "A fast, simple & powerful blog framework" as they say on their website. It supports GFM.
- Pelican (Written in
AsciiDoc): Pelican is a modularized framework and is perfect for blogging.
- Pelican Svbtle Theme
- Nikola (Written in
PHP, etc): It takes in multiple input formats including reStructuredText and many others.
- Hugo(Written in
Markdown): Easy to use and really fast. It also supports more input formats through plugins.
The site generated by these programs can be hosted on GitHub Pages.
Notebooks for Researchers¶
- Findings: Your research assistant & lab notebook, all in one app.
Markdown, LaTeX, and reStructuredText are the three useful languages. In most cases, a tweakable text editor such as Visual Studio Code, aka vscode is good enough. In fact vscode comes with a enormous amount of extensions which can be used to build your own IDE.
- Hackmd.io (
Cloud): Basically ships with everything you expect from the most complete online markdown editor.
Cloud): StackEdit is a Markdown editor with many integrated services such as math (MathJax), Google Drive, Dropbox, and GitHub.
- CMD markdown(
Cloud): CMD is a Markdown editor with math (MathJax) support. What is special is that it keeps edit history. (Chinese UI.)
Cloud): Penflip is designed to be a GitHub for writers. It is Markdown-based and git like without math support.
Cloud): A much more powerful Markdown and LaTeX online editor that can be used to produce nice academic papers.
Cloud): Markdown editor but no math mode.
- Online Kramdown Editor(
Cloud): Just another Markdown editor without math support.
- Pandoc Markdown(
Cloud): Just another Markdown editor with math (MathJax) support.
Chrome): Markdown editor that integrates with Evernote, generates pdf and works offline. 马克飞象(
Chrome) is the Chinese version。
Chrome): A Markdown editor with math support, where images are inserted easily with one click, while your files are saved on Dropbox, GitHub, OneDrive or local disk. It generates pdf and HTML page and works offline using browser's local storage. One can even import LaTeX files.
Cloud): Markdown editor for scientific writing. Batteries included.
Win): Beautiful UI and in-situ live preview.
Linux): A powerful github flavored markdown editor with useful extensions. Math (mathjax) is supported.
Cloud): Just another online Markdown editor without math support.
Mac): Mou used to be the best Markdown editor on Mac. It is not bad but DO NOT preorder Mou 1.0. This project is dead, unofficially. 了解为什么死掉，请阅读此文。
- MarkdownPad (
Win): If you have no bad feelings about .NET, this is pretty good.
- ReText (
Linux): ReText one of the best, even on Linux. It also supports reStructuredText input.
- Madoko (
Cloud): LaTeX × Markdown ²
- eme (
Linux): Math support.
- Moeditor (
Linux): All purpose markdown editor.
Notebook softwares that you can write in Markdown:
- boostnote (
Linux): Math + Markdown, with snippet note support.
- Quiver (
iOS): Programmer's notebook, math + Markdown, code snippet.
- Findings (
Mac): Notebook for experimentalists, organized research materials and notes.
- Notion (
Android): Notetaking with kanban, math, calendar, table, etc.
- Agenda (
iOS): Notes and GTD.
Cloud): Dropbox and GitHub integration, preview, cooperation, simple UI. It also provides a lot of templates.
Cloud): Built in version control.
Cloud): Easy to use UI. Supports both Markdown and LaTeX.
Cloud): Just another online LaTeX and Markdown with plot compiler and collaborations.
Cloud): JaxEdit doesn't provide full LaTeX support but is good enough for simple LaTeX documents and slides.
You can also host one using your own machine.
- FlyLaTeX: A free, open source version of sharelatex
- ShareLaTeX Source Code: ShareLaTeX open sourced their codes. This is a great move I would say.
- TeXStudio - Cross-platform LaTeX editor that stems from TeXMaker.
- WinEdt - The LaTeX editor many people swear by.
- TeXnicCenter - A quite old but free and decent editor for LaTeX.
- LyX - Cross-platform WYSIWYM editor that uses LaTeX behind the scenes to render documents.
- TeXshop - No-nonsense editor for LaTeX documents which is included in MacTeX.
- TeXWorks - No-nonsense editor for LaTeX code, modeled after TeXShop, but this one is cross-platform.
Use IPython Notebook to help with your research. IPython Notebook can be previewed on GitHub directly. Here are some examples of how IPython notebook can be used.
- Scientific Python Lectures
- Reproduced Papers
- More: For more IPython notebook on GitHub please read this enormous list.
- Mind Manager
- KityMinder By Baidu : Chinese Interface
- my-mind: repo here.
- beautiful Mind: repo here
- Mindmup: repo here
- mindmaps: repo here
Concept Map and Diagrams¶
Keep The Notes¶
It's alway better to keep track the changes of your notes and git is a nice choice. Therefore, GitHub is the almost perfect place.
As for LaTeX, latexdiff is a tool for checking the diff.
Some programs allows you to keep the markdown notes on a server.
- Raneto: Raneto is an open source Knowledgebase platform that uses static Markdown files to power your Knowledgebase. This one has a nice looking.
- Realms: Git based wiki written in Python Inspired by Gollum, Ghost, and Dillinger. Basic authentication and registration included.
- Tiddlywiki: A unique non-linear notebook for capturing, organizing and sharing complex information.
- Some other static site generators.
For experimental research, eLabFTW made a online labnote system: eLabFTW.
Keep You Computer Awake¶
It is important to keep your computer awake during the presentation. Instead of changing the power options, the following tools can also do the job.
- Caffeine (
Mac): As simple as a single click.
- Amphetamine (
Mac): More configurations involved and more intelligent.
Online Load and Edit¶
- Prezi if you can.
- slides.com: Easy to use with remote controlled page presentation.
- Slideas: the easiest way to create a beautiful Markdown Presentation, with all the features you need.
- Google Drive: no introduction needed
- Sway: Microsoft
Use The Source¶
Requires a few front-end techniques.
Use colors to make your HTML feels better.
- Impress.js: more about it impress wiki page.
- Jimpress: A jQuery version of impress.js
- HTML5 Rocks
Python, Julia, R, Scala and more languages are supported in IPython/Jupyter Notebook which can also be used to give presentations.
Refer to math and programming online for cloud-based Jupyter Notebooks.
- Beamer: Shipped with standard LaTeX installations. A lot of themes has been invented. Start editing with one click on
- Mathematica slides can be made interactive.
The Power of SVG¶
Online SVG editors:
Local SVG editors:
- GitHub pages: For Html based slides.
- Speaker Deck by GitHub: PDF slides. Can be displayed online or embeded.
- Visual Studio Code, aka VS Code(
Plugins): same technology as atom but faster than atom, and Microsoft made.
Plugins): electron based editor with numerous plugins and easy modifications. Cross-platform with settings and plugins synchronized through the sync-settings plugin.
- Sublime Text(
Plugins): cross-platform, fast, and with plugins. Not free but can be freely used forever.
Free for Students,
Plugins): beautiful IDE's with many debugging and editing modes integrated.
Plugins): no words can describe the almighty vim.
- Vundle: the vim plugin manager
- vimrc from amix: "The ultimate Vim configuration: vimrc"
- Mathematica: One Software to Rule Them All
- iPython Notebook (
Python): a useful tool for inline calculation, making graphs and writing notes.
- wakari.io is a comercial one mostly aimed for data analysis.
- jiffylab is an open source one but not that well done.
- supervised-ipython-nbserver is a multiuser version of notebook using Django/Pinax.
- RStudio (
- scipy: scientific computing made easy
- SnakeViz: A nice tool for python debugging and performance improvement.
Coding is Fun¶
This might be not so straightforward but remember this. Reusing your own work doesn't protect you from plagiarism! Read more on
- Paperscape: Finding interesting papers.
- Peerus: Monitor specific topics or journal for new and relevant papers.
- SciRate: An front-end for arXiv with rates from readers.
- ArXiv Sanity Preserver: Accelerate research through arXiv specific for many things machine learning by Andrej Karpathy.
- Iris.ai: Explore scientific papers and how they connect to a paper of your choice.
- Publish or Perish: Retrieves and analyzes academic citations designed to empower individual academics to present their case for research impact to its best advantage.
- PubChase: Life sciences and medical literature recommendation engine.
Get Yourself A Citable Code for Anything¶
- Zenodo: Make anything from GitHub citable by getting a DOI code here.
Get Yourself A Unique and Persistent Digital Identifier¶
- orcid: Use your ORCID identifier in any research workflow to ensure you get credit for your work.
Add Citations to Your Code¶
- duecredit: Allows you to add decorators to Python functions that encode bibliographic details.
- Open Science Framework: A open science tool with a lot of integrations.
- ReadCube/Papers: A all platform app for reference mamagement, note-taking, and more. The former Papers has been rebanded as ReadCube Papers.
- Mendeley: A bibliography reference manager with cloud storage and BibTeX support.
- Zotero: An open source bibliography reference manager with syncing and BibTeX support.
- Zotero Style Repository: Find any style you need.
- JabRef: An open source bibliography reference manager for the BibTeX format.
- doi2bib: Retrieves a BibTeX entry from a DOI.
- crossref: Makes research outputs easy to find, cite, link, and assess.
- org-ref: Citations, cross-references, indexes, glossaries, and bibtex utitlies for org-mode in Emacs.
Tips for Researchers¶
- Ten Simple Rules by PLoS One: Series of quick "Ten Simple Rules" articles for research scientists to manage challenges in their careers. Number of articles are life-science specific, but rest the of articles are general enough for any researcher.
- Check the Academic Resources and Grey Literature List of the Awesome Open-Source Intelligence List for search engines to search for papers.
- Rainy Mood(
Web): rainy day rainy mood, simple but with excellent white noise; a new beautiful soundtrack each day
Mac): a rather simple but useful coffee shop noise library; premium has more three more soundtracks; elegant UI; scientific research powered
Web): Improve Focus, Relaxation & Sleep with audio brainwave training. Not free but worth every penny.
Mac): a handy white noise tool that stays in your Mac status bar.
- Noisli (
Chrome): free mixing of multiple tracks (which is similar to Soundrown but with much better UI). Users can save a customized setting for later use. I personally think this one has better fire sound tracks than soundrown.
Web): free mixing of multiple tracks
- Muji Sleep(
- A Soft Murmur(
Web): free mixing of multiple tracks; simple UI; Timer provided; Meander available
Web): a noise generator; a lot of choices (too many actually); detailed equalizer
- Rainy Cafe(
Web): not much to say just a combination of rainy mood and coffitivity
- Sleep Pillow(
Mac): click and play style preloaded scenes; easy to use; beautiful design
- A youtube audio track of coffee shop (really long)
- A youtube audio track of 10 hours rain fall
- TaoMix (
Android): sound mixings to concentrate
Web): to help you calming down
Web): raining and thunder
Web): music to boost your brain; paid services now
Some Other Related Stuff
- iSerenity: multiple choices but not that good (just my feeling).
- Rany by simply noise: just rain.
- Natural Sound player: many natural sounds, cool.
- NatureSoundsFor.Me: make your own track, so many kinds of sounds.
- White.Noise: several different tracks
- ambient mixer: make ambient sound easily
- white noise mp3s: listen and download
Forums and Q&A's¶
StackExchange.com is a good place for professional discussions. Here is an example.
- Biostars: StackOverflow style Q&A site for bioinformatics.
- NeuroStars: StackOverflow style Q&A site for neuroinformatics.
- SEQanswers: Forum for next generation sequencing community.
Open Source is great. Use git.
Generally, open licenses are part of
To choose a license, an easy way is to use
- Choose a License which helps you decide which license to use through several steps.
CC Licenses can be found at Creative Commons. For alternative badges or icons, check the following.
- Guokr Badge: Green CC License badges. (Documentation is in Chinese.)
Data Visualization and Graph Making¶
JS and jQuery
- D3 js (
- Highcharts (
js): Line charts, area charts, column and bar charts, pie charts, scatter and bubble charts and more.
- Flot (
- Raphaël (
- Paper.js (
- seaborn: statistical data visualization
- Plotnine: A Grammar of Graphics for Python
- ggplot for python
- plot.ly: Internet required, interactive plotting.
bokeh: Internet required, interactive plotting.
itermplot: An awesome iTerm2 backend for Matplotlib, so you can plot directly in your terminal.
Professional graphs should be made using professional tools.
Win Store): Geogebra is a very cool tool to make math graphs both 2D and 3D.
Linux): "A vector drawing editor for LaTeX."
Web): A web-tool for generation of box plots.
Linux,Win,Max,Solaris,FreeBSD): Open source graph visualization software.
- colorcet can be used to investigate colormaps.
Much much much better than Microsoft Word.
- wikibooks - LaTeX: A good manual.
- Detexify: find out what the symbol is by drawing online
- TeX Example (Tikz/PGF)
- Math into Type: This is a great book for math related typography. This is copyright material. Please DO NOT redistribute.
- plot in terminal
- asciinema: Command line recording.
- bashplot: plot in terminal.
- fuck: correct the command by typing in fuck.
- CC Search: Search engine for images under CC License.
- Unsplash: Free high resolution images.
- QR Code Generator: Adding a QR code to your poster can help you get more audience.
- SHIELDS.io: Make a beautiful badge by yourself.
- TitleCap: Not sure which word to capitalize in the title? TitleCap is right for you.
- On Being a Scientist: A guide to responsible conduct in research.
- DiRT Directory: Registry of digital research tools for scholarly use.
- Online Whiteboard: A simple online whiteboard that users can collaborate; Good for online meetings.
- MapInSeconds.com: Create maps with corresponding data quickly by copy-pasting from a spreadsheet.
- Unpay Wall: legally download research papers for free.
This is a CC BY-SA licensed project. Use the source! Keep the source open!