Skip to content

The scRNAtools app

Luke Zappia edited this page Jan 12, 2021 · 4 revisions

The scRNA-tools app is an R command-line application for interacting with the scRNA-tools database. It is designed to make it easy to contribute to the database while maintaining database integrity. The app is also used to build the scRNA-tools website.

Running the app

After following the setup instructions the app can be run like so:

./scrntools CMD

Where command is the task you want to complete (described below). Run ./scrnatools --help to see the possible commands and options.

Note: We recommend running the app using ./scrnatools within the scRNA-tools repository directory rather than adding it to your PATH as it is only designed to work inside this directory and makes assumptions about where files are located.

Commands

The app has commands for performing various tasks. While they are briefly described here you also should refer to the contributing to the database page.

Add

Usage: ./scrnatools add

The add command is used to add a new tool to the database. It will take you through a series of prompts asking for the required information. The inbuilt checks should make sure that the information you supply matches what the database expects. At the end of the process the new tool will be saved to the database and the changes committed.

Update

Usage: ./scrnatools update [<name>]

Arguments:

  • name - Name of the tool to update

The update command is used to update a tool in the database. If you have not supplied a name you will be asked which tool you want to update and then you can select which properties to change. When you are done updating the changes will be saved to the database and committed.

Search

Usage: ./scrnatools search [<name>]

Arguments:

  • name - Name of the tool to search for

The search command looks for a tool in the database. If a single matching tool is found the details for that tool are printed, if multiple tools with similar names are found then just the names are returned.

Check

Usage: ./scrnatools check [--all]

Options:

  • --all - Whether to check all repositories (not just the new ones)

The check command checks to see if any of the tools currently in the database match any packages recently added to some major software repositories. If any matches are found you will be asked to confirm whether or not they are correct. Please take a look at the package page on the repository website before making a decision.

Build

Usage: ./scrnatools build

The build command takes the current database and uses it to construct the scRNA-tools website. The build steps include updating citation counts, creating data files and producing analysis plots. The resulting files are for local use only and should not be committed.

Archive

Usage: ./scrnatools archive [<name>]

Arguments:

  • name - Name of the tool to archive

The archive command is used to remove a tool from the database. All the details for the tool are saved to the database directory in case it needs to be restored (although there is no guarantee that will be (easily) possible in the future).

Restore

Usage: ./scrnatools restore

Arguments:

  • arc - The archive directory to restore

The restore command is the opposite of archive. It takes a tool that has been archived and attempts to restore it to the database.

Stats

Usage: ./scrnatools stats [--plot]

Options:

  • --plot - Whether to show plots

The stats command prints some basic statistics about the database. If the --plots flag is set it also print some ASCII plots, similar to the analysis plots on the website.

Categories

Usage: ./scrnatools categories

The categories command prints the current categories in the database and their descriptions.

Add category

Usage: ./scrnatools add_category

The add_category command is used to add a new category to the database. It will take you through a series of prompts asking for the required information. The inbuilt checks should make sure that the information you supply matches what the database expects. At the end of the process the new category will be saved to the database and the changes committed. NOTE: Additional changes will need to be manually made to the website before the new category is properly displayed.

Clone this wiki locally