This post is an overview for how to use Gigantum to create and submit reproducible code.
Gigantum is a browser based application that streamlines the creation and sharing of reproducible work in Python & R. It integrates with Jupyter & RStudio to let you bundle the code, data, and software libraries required to run and reproduce your work.
Gigantum makes it easy for anybody to explore your results, and journals are running code review trials with Gigantum. This post gives simple instructions for Authors participating in one of those trials.
The Overall Process
The overall process for using Gigantum to submit code in support of a paper is simple:
- The Editor asks you to use Gigantum to submit your code, and you agree to it.
- You make an account and then create and configure a Gigantum Project with your code & data.
- You document the Project with a readme and check that your code runs properly.
- You privately publish your code to Gigantum Hub, get a Project URL, and send the URL to email@example.com.
If you are not doing heavy computation, then you can do everything on Gigantum Hub. However, if you need substantial compute power or compute time, then you can run Gigantum Client on laptops, workstations, or remote machines. The Client is open source and easy to install.
A Video Demonstration
The following video shows the process from start to finish using Gigantum Hub.
Steps for Using Gigantum Hub
Before you start, you should watch the video above. Also, remember that you can contact us anytime at firstname.lastname@example.org. Please include the manuscript number in the subject header.
Sign up for an account
- It is free and you just need a valid email. Go to the login page and it should be easy.
- You must verify your email address to use free compute on Gigantum Hub.
Create and Configure a Project
- Click "New Project" and provide a name and short description.
- Note: The Project name must include the manuscript number.
- Select a base
- Note: There are preconfigured bases (e.g. the Python3 Data Science Quick-Start base) that contain commonly used packages.
- When the base loads, go to the Environment tab to install packages via pip, conda or apt.
- Note: You can also use Docker commands to further customize the environment. See here.
- Add code in the Code tab and data in the Input Data tab via drag and drop or the file browser.
- Launch Jupyter or RStudio using the big blue button!
- Note: It will open in a new tab, but pop up blockers can interfere. Here is how to fix that.
- Edit your code to ensure the file paths reflect the directory structure of your data.
- Note: The Project root directory /mnt/labbook, contains three sub-directories, code, input, and output that correspond to the “Code”, “Input Data”, and “Output Data” tabs. You can use relative links from the code directory to ../input.
- Make sure to create a readme in the Overview tab.
- Note: The readme should indicate how to run your code and give a manifest of the code and data files in the Project. You DO NOT need to describe the environment because that is captured in the Environment tab.
- Run your notebooks as you normally do. If it runs for you then it will run for your reviewer!
Publish to Gigantum Hub, get a Project URL and send it to us
- If your code runs with no errors, then you should be ready to submit. Click Publish to push your code to Gigantum Hub. Make sure to keep it private.
- Then, get the URL and send it to email@example.com. You must include the manuscript number and journal name in the subject line.
A Few Tips
It is worth the time to watch the video above.
Save your work often in Jupyter or RStudio.
Publish your Project early, and then sync your work often.
Consult our docs for advanced features and tips.
Contact us any time at firstname.lastname@example.org.
This was a brief overview of how to use Gigantum to submit code for review. If you are a journal that wants to do a trial with us, contact us at email@example.com.
If you are a researcher, check out other user-friendly features in our docs:
- Publishing Projects to the cloud and adding collaborators
- Creating your own bases to use in Gigantum
- Using custom Docker commands to modify the environment;
- Using R and RStudio in Gigantum
- Gigantum Datasets
- Using CUDA with Nvidia GPUs