# Working with BiTIA CLI
The three commands that are the core of BiTIA's functionality are:
- run
- submit
- logs



### Bitia run can be employed in following ways:

#### 1. Running commands

```bash
$ bitia run "samtools convert foo.fa#http://example.com/foo.fa"
```
The above code will: 
- Add the given command `samtools run 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 form the link  `http://example.com/foo.fa` and name it as `foo.fa`
    - executing the command `samtools convert foo.fa` 
- Display the resulting output to the user console

#### 2. Running Pipelines

```bash
$ bitia run pipeline.sh
```
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
```

The above code will:
- Extract the current working directory with the `pipeline.sh` as a zip file that contains a unique hash and sent it to the server `public.bitia.link`
- The BiTIA runner in the server will execute the pipeline 
    - Installing the given commands `fastqc`, `trim_galore`,`hisat2` .
    - executing the commands given in the pipeline
- Displays the resulting output to the user console