Asimov Projects¶

Asimov manages sets of analyses by collecting them into projects. Projects collect setup and configuration information about analyses, results from analyses, and all of the auxilliary files and information required to run and monitor those analyses.

Creating a new project¶

When you create a new project, asimov will generate some new directories and files to allow it to organise and manage your work.

The easiest way to do this is by running

$ asimov init "Test project"

Which will convert the current directory into an asimov project directory, including producing the ledger file, and creating directories for results storage.

It is also possible to customise the project in a number of ways, including specifying alternative locations for the various subdirectories (though you should do this with care).

Todo

Add further information about customising project creation

Adding default analysis settings¶

Todo

Add documentation about default analysis settings.

The structure of a project¶

When you run asimov init in a directory it will create a few files and directories which allow it to track information about the project and all of the analyses which you’ll add to it.

.asimov/ledger.yml

This file is the ledger, which is a database of all of the analyses in the project.

.asimov/asimov.conf

This file is the configuration file for asimov, and contains information about the project itself and the computing environment.

Asimov will create a number of new directories when it’s creating a project.

results

This directory will contain an Asimov results store, and will be the location that results files are automatically copied to once Asimov has determined that the job has finished. Files stored here will be hashed and stored as read-only, to help prevent results files from becoming corrupted or over-written accidentally.

working

This directory will be used to store run directories for each analysis job (directories where the analysis is run) and can contain temporary files and logs related to the analysis.

checkouts

Asimov stores the files used to configure pipelines in git repositories, and these are stored in the checkouts directory. By default these repositories are local to your own machine, and the current asimov project.

pages

This directory is used to store html-format output from both asimov and the pipelines.

Customising a project¶

Sometimes it can be useful to change the default settings for a project. For example, you may want to move the pages directory to be located somewhere that is served by a web-server. The configuration of the project is handled by the .asimov/asimov.conf file, and by editing the configuration values in this file you can change asimov’s default behaviour.

You can also set the locations of these directories when creating the project using asimov init.

results

The results directory can be specified when creating the project using the --results option on the asimov init command, for example

$ asimov init --results /home/albert.einstein/results

if your results directory should be located in /home/albert.einstein/results, for example. It can also be changed in the configuration file, .asimov/asimov.conf in the root directory of the project by editing the value of [storage]/results_store

[storage]
results_store = /home/albert.einstein/results

Warning

Results stores

In order to prevent results becoming corrupted or overwritten, asimov enforces a specific layout on the results store directory, and it will expect this to be present. If you change the location of the results store after creating the project be sure to either copy the results directory from the current project to the new location first, or ensure that the new location is set up as a results store. For more information about doing this, see the Storage Interface guide.

Cloning projects¶

If you need to extend another analysis it might make sense to be able to get access to the settings which were used for its various events and analyses.

To do this asimov allows you to clone an existing project by running

$ asimov clone path/to/project

This will give you a local copy of most of that project, including results, but not the working directories and temporary files from the analyses.

© Copyright 2020-2024, Daniel Williams.
Created using Sphinx 7.2.6.