This document details the steps typically needed to start a new processing step
in an already started project. In addition to the mandatory steps, it also
details what you would do if you run screen
(a "window manager" for terminals)
or git
(version control system).
The example below uses program_name as the name of the program doing the heavy lifting for the new processing step.
-
screen: Open a new screen window:
<Ctrl-a>c
-
screen: Change name of the window: A
-
screen: Update .screenrc so that you automatically get the window next time you start screen.
$ vim .screenrc
# This is what you add to .screenrc
chdir $ROOT program_name
screen -t program_name
- Create the directory and cd into it:
$ mkdir program_name`
$ cd program_name
- Create a Makefile, looking something like this:
include ../biomakefiles/lib/make/makefile.program_name
STAT_ORDER = 00N00
NAME_OPTS = <program options, read the docs>
- git: Add the Makefile to the repository
$ git add Makefile
$ git status
-
Create symbolic links to input files
-
Find the target that makes all outputs from present input files in the library makefile, run
make -n
to check and then runmake
, possibly with parallel jobs (-j n
).
$ make -n target
-- CHECK --
$ make -j n target
- When
make
is done, in the library makefile (the one you included in the Makefile above, i.e.lib/make/makefile.program_name
) find the target that makes the statistics file and make that.
$ make program_name.stats.long.tsv
- Change to the root window/project root directory (assuming you're running screen; otherwise cd to the project root) and update global stats file.
$ make stats.long.tsv
- git: Add files to repository, commit and push
$ git status
# Possibly edit .gitignore in the root directory
$ git add … # Make sure you know that you're not adding large files
$ git commit -m “Message”
$ git push # Outside screen