Done!
That is done if you already launched via the Binder system. (And if you haven't, click here to do so.)
If you are new to running Circos, you'll want to stop reading this particular page and simply continue on to the next page in the series here ➡ to get started building up a simple image in steps.
The index page is meant to provide a way to access the content in a manner that parallels the official Circos site.
Others should find the items below address any remaining questions and provide an interface to run Circos.
This page is an amalgam meant to address the content of the following pages at the documentation site:
This distillation is largely possible because the involved issues are handled by Circos already working when these notebooks are launched via the Binder system. Additionally, the code for tutorials is present as well.
Because that is already handled, you'll want to stop reading this particular page and simply continue on to the next page in the series here ➡ to get started building up a simple image in steps.
For those of you already familiar with Circos and looking to see how to use it with this interface, continue on reading this page.
At any point you can use the +
button from the notebook toolbar above to add a cell and use Circos as if you are at the command line in that cell, executing cells by typing shift-enter
or pressing the Run
button on the toolbar. Alternatively, if you prefer to use the shell terminal directly, click the orange and gray Jupyter
logo at the top left left of this page and then from the dashboard that comes up, choose New
> Terminal
to launch a terminal window. Still, you may wish to review the commands in the cells below to see how to run things here.
Running the code in next cell will generate the example image discussed here. First, after changing to the pertinent directory, with a rm
command, we delete the original, stored version of the output file. Then we run the demonstration circos.conf
file by triggering the example run
script.
(Note, it will show many copies about Use of uninitialized value in subroutine entry at /home/jovyan/circos-0.69-6/bin/../lib/Circos/Configuration.pm line 781.
; however, the process still works.)
cd circos-0.69-6/example
rm circos.png #delete stored version
./run
Alternatively, after changing the working directory to circos-0.69-6/example
, the example command could be run via the command below and that will better mirror how other commands will be run where conf
files are in their own directories.
../bin/circos -conf etc/circos.conf > run.out
(Normally though, you wouldn't necessarily need the > run.out
part.)
Run the next cell. If things worked it will display some text; howeverm not text that reads tail: cannot open 'run.out' for reading: No such file or directory
.
head run.out
Additionally, you click in the cell immediately below this one and hit shift-enter
to refresh and see the generated image.
You can right click images displaying in the notebook and use Save Image As…
to save them to your local drive.
Alternatively, they can be downloaded from the Jupyter Dashboard after navigating to the location in the file hierarchy and then checking the checkbox next to the file name and then choosing Download
button that appears above the file listing.
As discussed above everything is all set up and one can verify the necessary Perl modules are installed, just as you would on a local installation as discussed here, by running the next command.
Hit shift-enter
in next cell to see all the modules Circos needs are installed.
cd circos-0.69-6/example
../bin/circos -modules
Things to keep in mind in this interface...
Keep in mind to treat the instance of your environment as ephemeral.
It is advisable to download or make a local copy of anything useful you generate ASAP.
In regards to security, the documentation warns, "You shouldn’t do anything on mybinder.org that you wouldn’t mind sharing with the world!". BinderHub can be delployed locally to serve more specialized needs, see here.
Subsequent notebooks...
If still looking for more guidance to using Circos with this interface, it is suggested you continue on with the next notebook in the series here ➡.
Technical note related to minor differences you'll see in subsequent notebooks:
This is rather technical, but I am explaining the situation here for those curious about the differences in running Circos within these set of active notebooks served via the Binder system as opposed to the command line, and those that might notice a slight difference between this notebook and subsequent ones. It boils down to the fact that in other notebooks in this series of notebooks, you'll need %%bash
at the start of cells where you are placing code to run Circos. If you want to understand why, continue on to the next paragraph.
You'll note that nothing was required in each cell, but the commands you'd normally use on the command line to run Circos. This first notebook page in the series accesses the command line directly. This can be determined by looking in the upper right corner, below, the Logout
button, and seeing there is Bash
indicating this notebook page is actually being run in a Bash
kernel, i.e., it is providing the computational engine enabling running code in the cells. In subsequent notebooks, however, a %%bash
tag is included at the start of most lines of code in order to trigger that redirect while taking advantage of the richer environment revealed by running the notebooks within the interactive Python kernel. This notebook being in the Bash
kernel was done for two reasons: (1) this made it possible for the initial commands presented to look familiar to those in the Circos documentation without the need to first introduce additional cruft, i.e., IPython magicks; and (2) since this will be the first notebook in the series of notebooks I wanted to provide the fastest, least cluttered route for those already using command line-based Circos to get back to running Circos after launching a session via Binder.