UniverSC desktop application is essentially a wrapper over the UniverSC script and provides a convenient and easy way to utilize the script, especially on Windows and Mac. Overview: On the top side of the application you will see 2 tabs "Build Script" and "Generate Reference File", which represent 2 different functionalities that can be run in parallel: Build Script tab: -On startup the application loads 2 preconfigured json files that dictate the supported technologies and parameters. Those json files can be edited if you want to create custom parameters and technologies defaults but make sure those are supported by the script first. -The technology dropdown allows you to select one of the supported technologies. When selecting one, the recommended will be loaded but you can change them freely. -"custom" technology has 2 additional parameters "barcode length" and "umi length" -For the sake of usability we have added 4 types of parameters: - File: which will open a file picker. - Directory: which will open a directory picker. - Drop-down: which will present predefined values. - Regular input: where you can type anything. -On the left of each parameter there is a "x" button which will delete that parameter and re-add it to the list of available parameters. -Below all of the parameters there is a "+" sign with which you can add more parameters to the current configuration (those will not be saved when closing the app). -On the bottom side there are 3 buttons: "Run Script", "View Script", "Output logs" -View script: allows you to visualize the script that will be run based on your technology and parameters configuration. This button is usefull for debugging purposes in case something does not work as intended. -Run script: will essentially run the script built based on your technology and parameters (the same one you can see by pressing the "view script" button). -Output logs: will contain the resulted log after running the script. This button is also usefull in case of an error because you can inspect it. Generate Reference File: -There are 3 fields that need filled when creating a new reference file: genome file, annotation file and genome name. Each field is described in the UniverSC script overview. -On the bottom side there are the same 3 buttons as in the previous tab: "Generate Reference", "View Script" and "Output logs" Windows / Mac version differences: Because the UniverSC uses cellranger which is only available on Linux, in order to have access to it on those 2 platforms a docker linux image is used. The UniverSC desktop application aside from building and running the script also manages the docker containers. -When starting the app you will see at the top a blue bar with a status message which indicates whether the docker connection is established or not. In order for the connection to be made 2 requirements must be met: -Docker must be running in the background. -The "tomkellygenetics/universc" image must be cloned locally, so docker can start creating containers upon it. -On the left side of the status message there is a "retry connection" button that you can use so you dont have to restart the application (let's say if you forgot to start docker before the app) Functionality differences: -In addition to the Linux version, here you will notice a few additional fields: -Use local output folder: -This section is present on both tabs and we highly recommend you use it. -In case you omit it, you will have to open the container CLI and manually copy the output yourself which can be tricky. -Make sure that you have enough space in this directory as the output can be very large. Also make sure you have writing permissions !! -After running the script, the application attempts to copy the output in the selected output directory. In case this fails you can also see the error with the "Output logs" button and the container will not be deleted in case you want to copy the output manually. -Delete container checkbox: if checked, if the script ran successfully and the output was copied then the container created for this "run" will be deleted. In case it is not checked then the container will be left lingering and should be manually deleted at some point. -The application cannot reuse old containers so if you are done with them (i.e. copying the output) you can safely delete them within the docker app.