README.md 1.53 KB
Newer Older
Yoann  DUFRESNE's avatar
Yoann DUFRESNE committed
1
2
# 10X-deconvolve

Yoann Dufresne's avatar
Yoann Dufresne committed
3
4
Trying to deconvolve single tag assignment for multiple molecules

5
## Scripts
Yoann Dufresne's avatar
Yoann Dufresne committed
6

7
8
9
10
11
12
13
14
15
For the majority of the scripts, argparse is used.
To know how to use it please use the -h option.

### Data simulation

* generate_fake_molecule_graph.py: Create a linear molecule graph, where the molecules are linked to the d molecules on their left and d molecules on their right.

* generate_fake_barcode_graph.py: Take a barcode graph as input (gexf formated) and outputs a barcode graph. The barcode graph is create by fusion of nodes from the molecule graph.

16
17
18
19
20
21
22
23
24
* use the snakefile "Snakemake_data_simu".
All the parameters can be an integer or a list of integer.
Each combination of parameter will generate a barcode graph
Config parameters:
  * n: the number of initial molecules
  * m: average number of node merged in each barcode
  * d: average coverage of a molecule in the initial graph
  * workdir: the directory to create and use as output

25
26
27
28
29
30
31
### Data structures and algorithms

* to_d2_graph.py: Mount a barcode graph into memory and create a d2 graph from it.

* evaluate.py: take a d2 graph gexf file and and analyse it. Look for an approximation of the longest correct path to reconstruct a molecule graph. Take as input a d2 graph where the truth is known in the node names (the format used to create fake data).

* analyse_d2_tsv.py: Take an tsv optimization file of a d2 graph and look for the variables coverage. Outputs the missing variables (if exists).
Yoann Dufresne's avatar
Yoann Dufresne committed
32
33
34

## Run the tests

35
    export PYTHONPATH=deconvolution/
Yoann Dufresne's avatar
Yoann Dufresne committed
36
    pytest tests
37
    export PYTHONPATH=