locigenesis/README.md

76 lines
2.0 KiB
Markdown

# locigenesis
locigenesis is a tool that generates a human T-cell receptor (TCR), runs it through a sequence reader simulation tool and extracts CDR3.
The goal of this project is to generate both HVR sequences with and without sequencing errors, in order to create datasets for a Machine Learning algorithm.
<a id="orgb4db211"></a>
## Technologies
- [immuneSIM](https://github.com/GreiffLab/immuneSIM/): in silico generation of human and mouse BCR and TCR repertoires
- [CuReSim](http://www.pegase-biosciences.com/curesim-a-customized-read-simulator/): read simulator that mimics Ion Torrent sequencing
<a id="orgace1e30"></a>
## Installation
This project uses [Nix](https://nixos.org/) to ensure reproducible builds.
1. Install Nix (compatible with MacOS, Linux and [WSL](https://docs.microsoft.com/en-us/windows/wsl/about)):
curl -L https://nixos.org/nix/install | sh
1. Clone the repository:
git clone https://git.coolneng.duckdns.org/coolneng/locigenesis
1. Change the working directory to the project:
cd locigenesis
1. Enter the nix-shell:
nix-shell
After running these commands, you will find yourself in a shell that contains all the needed dependencies.
<a id="org531bad5"></a>
## Usage
An execution script that accepts 2 parameters is provided, the following command invokes it:
./generation.sh <number of sequences> <number of reads>
- <number of sequences>: an integer that specifies the number of different sequences to generate
- <number of reads>: an integer that specifies the number of reads to perform on each sequence
The script will generate 2 files under the data directory:
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left">HVR.fastq</td>
<td class="org-left">Contains the original CDR3 sequence</td>
</tr>
<tr>
<td class="org-left">CuReSim-HVR.fastq</td>
<td class="org-left">Contains CDR3 after the read simulation, with sequencing errors</td>
</tr>
</tbody>
</table>