Newer
Older
# WORKING WITH BiTIA
To List available commands and options in bitia, execute `bitia --help`
<div id="termynal" data-termynal>
<span data-ty="input">python -m bitia --help </span>
<span data-ty>Usage: python -m bitia [OPTIONS] COMMAND [ARGS]...
<b>Callback</b>
<b><i>Options</i></b> <br><br>
<b>--verbose</b> [debug|info|warning] [default: VerbosityLevel.warning]<br>
<b>--plain</b> --no-plain [default: no-plain] <br>
<b>--server</b> TEXT [default: None] <br>
<b>--install-completion</b> Install completion for the current shell. <br>
<b>--show-completion</b> Show completion for the current shell, to copy it or customize the installation. <br>
<b>--help </b> Show this message and exit. <br>
<b><i>Commands</i></b> <br><br>
<b>checksum</b> value that represents the number of bits in a transmission message<br>
<b>create-container</b> Create container for the pipeline. The container starts running immediately on the server. Use command `logs` to stream the output. <br>
<b>list-container</b> List the remote server associated with the pipeline. <br>
<b>logs</b> Stream logs for the most recent run of a given pipeline. <br>
<b>run</b> Run a pipeline <br>
<b>submit</b> Submit your pipelin (url, directory, zip_file). <br>
<b>version</b> version information <br>
</span>
</div>
## Bitia run
<div id="termynal1" data-termynal>
<span data-ty="input"><b>python -m bitia run --help</span>
<span data-ty>
Usage: python -m bitia run [OPTIONS] USER_INPUT<br>
Run a pipeline<br>
<b><i>Arguments</i></b> <br><br>
\* <b>user_input</b> TEXT [default: None] [required]<br><br>
<i><b>Options</i></b> <br><br>
<b>--rerun</b> --no-rerun [default: no-rerun]
<b>--output-lines </b> TEXT<
<b>--help </b> Show this message and exit.
</span>
</div>
<span data-ty="input">bitia run "samtools convert <foo.fa|http://y.com/foo.fa>"</span>
- Checks for the input file `foo.fa` in the current working directory
- Download the input file from the given link `http://example.com/foo.fa` and name it `foo.fa`
- Add the given command `samtools convert <foo.fa|http://example.com/foo.fa` into a pipeline file.
- Extract the current working directory with the pipeline as a zip file that contains a unique hash and send it to the server `public.bitia.link`
- The BiTIA runner in the server will execute the pipeline by:
- Installing the given command `samtools`
- Downloading the given input file from the link `http://example.com/foo.fa` and name it `foo.fa`
- Executing the command `samtools convert foo.fa`
for `pipeline.sh`:
```bash
#!/usr/bin/env bash
fastqc *.gz
for file in *_1.fastq.gz
do
trim_galore --cores 8 --gzip --fastqc --max_n 2 --output_dir Trimmed_Data/ --paired $file ${file%_1.fastq.gz}_2.fastq.gz
done
hisat2-build -p 8 ./Homo_sapiens/UCSC/hg38/Sequence/WholeGenomeFasta/genome.fa index
```
- Extract the current working directory with the `pipeline.sh` as a zip file containing a unique hash and send it to the public `server.bitia.link`
- The BiTIA runner in the server will execute the pipeline .
- Installing the given commands `fastqc`, `trim_galore`,`hisat2`.
### 3. Running Directories with multiple required files
<span data-ty="input">bitia run work/</span>
<span data-ty="progress"></span>
</div>
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Here `work` directory has two files `main.bitia.sh` and `input_file_links.txt`
for `main.bitia.sh`:
```bash
#!/usr/bin/env bash
fastqc *.gz
for file in *_1.fastq.gz
do
trim_galore --cores 8 --gzip --fastqc --max_n 2 --output_dir Trimmed_Data/ --paired $file ${file%_1.fastq.gz}_2.fastq.gz
done
hisat2-build -p 8 ./Homo_sapiens/UCSC/hg38/Sequence/WholeGenomeFasta/genome.fa index
```
and `input_file_links.txt`
```bash
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR200/058/SRR20076358/SRR20076358_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR200/058/SRR20076358/SRR20076358_2.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR200/061/SRR20076361/SRR20076361_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR200/061/SRR20076361/SRR20076361_2.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR200/063/SRR20076363/SRR20076363_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR200/063/SRR20076363/SRR20076363_2.fastq.gz
```
The above code will:
- Extract the given directory with `main.bitia.sh` as a zip file containing a unique hash and send it to the public `server.bitia.link`
- The BiTIA runner in the server will execute the pipeline by:
- Downloading the given input files which are mentioned in `input_files.txt`.
- Installing the given commands `fastqc`, `trim_galore`,`hisat2`.
- Executing the commands given in the pipeline
- Displays the resulting output to the user console
<script type="text/javascript" src="https://raw.githack.com/tiangolo/fastapi/master/docs/en/docs/js/termynal.js" data-termynal-container="#termynal|#termynal1|#termynal2|#termynal3|#termynal4"></script>