Commit 6318e0a5 authored by Yoann Dufresne's avatar Yoann Dufresne
Browse files

conflit merging

parents 697afec3 6da5aa14
data/
\ No newline at end of file
data/
art/
**/__pycache__/
.pytest_cache/
\ No newline at end of file
# 10X-deconvolve
Trying to deconvolve single tag assignment for multiple molecules
\ No newline at end of file
Trying to deconvolve single tag assignment for multiple molecules
## Scripts
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.
### 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).
## Run the tests
export PYTHONPATH=deconvolution/
pytest tests
export PYTHONPATH=
<?xml version='1.0' encoding='utf-8'?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<key attr.name="id" attr.type="string" for="edge" id="d4" />
<key attr.name="contigs" attr.type="string" for="edge" id="d3" />
<key attr.name="mi" attr.type="long" for="node" id="d2" />
<key attr.name="label" attr.type="string" for="node" id="d1" />
<key attr.name="mode" attr.type="string" for="graph" id="d0" />
<graph edgedefault="undirected">
<node id="7:94_47-MI1">
<data key="d1">7:94_47-MI1</data>
<data key="d2">1</data>
</node>
<node id="45:92_75">
<data key="d1">45:92_75</data>
<data key="d2">1</data>
</node>
<node id="16:93_91">
<data key="d1">16:93_91</data>
<data key="d2">1</data>
</node>
<node id="29:41_16">
<data key="d1">29:41_16</data>
<data key="d2">1</data>
</node>
<node id="39:26_97">
<data key="d1">39:26_97</data>
<data key="d2">1</data>
</node>
<node id="38:98_52">
<data key="d1">38:98_52</data>
<data key="d2">1</data>
</node>
<node id="42:48_39">
<data key="d1">42:48_39</data>
<data key="d2">1</data>
</node>
<node id="11:44_70-MI1">
<data key="d1">11:44_70-MI1</data>
<data key="d2">1</data>
</node>
<node id="43:1_46">
<data key="d1">43:1_46</data>
<data key="d2">1</data>
</node>
<node id="37:22_42">
<data key="d1">37:22_42</data>
<data key="d2">1</data>
</node>
<node id="25:99_90">
<data key="d1">25:99_90</data>
<data key="d2">1</data>
</node>
<node id="27:13_40">
<data key="d1">27:13_40</data>
<data key="d2">1</data>
</node>
<node id="20:72_96">
<data key="d1">20:72_96</data>
<data key="d2">1</data>
</node>
<node id="9:85_45-MI1">
<data key="d1">9:85_45-MI1</data>
<data key="d2">1</data>
</node>
<edge source="7:94_47-MI1" target="45:92_75">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="16:93_91">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="39:26_97">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="38:98_52">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="42:48_39">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="43:1_46">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="25:99_90">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="20:72_96">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="9:85_45-MI1">
<data key="d3" />
</edge>
<edge source="7:94_47-MI1" target="11:44_70-MI1">
<data key="d3" />
</edge>
<edge source="45:92_75" target="16:93_91">
<data key="d4">187</data>
</edge>
<edge source="45:92_75" target="20:72_96">
<data key="d4">212</data>
</edge>
<edge source="45:92_75" target="25:99_90">
<data key="d4">254</data>
</edge>
<edge source="16:93_91" target="25:99_90">
<data key="d4">186</data>
</edge>
<edge source="16:93_91" target="16:93_91">
<data key="d4">188</data>
</edge>
<edge source="16:93_91" target="20:72_96">
<data key="d4">189</data>
</edge>
<edge source="16:93_91" target="39:26_97">
<data key="d4">190</data>
</edge>
<edge source="29:41_16" target="27:13_40">
<data key="d4">264</data>
</edge>
<edge source="29:41_16" target="42:48_39">
<data key="d4">278</data>
</edge>
<edge source="29:41_16" target="37:22_42">
<data key="d4">279</data>
</edge>
<edge source="29:41_16" target="9:85_45-MI1">
<data key="d3" />
</edge>
<edge source="29:41_16" target="11:44_70-MI1">
<data key="d3" />
</edge>
<edge source="39:26_97" target="20:72_96">
<data key="d4">214</data>
</edge>
<edge source="39:26_97" target="25:99_90">
<data key="d4">255</data>
</edge>
<edge source="39:26_97" target="37:22_42">
<data key="d4">319</data>
</edge>
<edge source="39:26_97" target="38:98_52">
<data key="d4">325</data>
</edge>
<edge source="38:98_52" target="20:72_96">
<data key="d4">215</data>
</edge>
<edge source="38:98_52" target="25:99_90">
<data key="d4">256</data>
</edge>
<edge source="38:98_52" target="42:48_39">
<data key="d4">322</data>
</edge>
<edge source="42:48_39" target="27:13_40">
<data key="d4">266</data>
</edge>
<edge source="42:48_39" target="37:22_42">
<data key="d4">320</data>
</edge>
<edge source="42:48_39" target="43:1_46">
<data key="d4">332</data>
</edge>
<edge source="42:48_39" target="9:85_45-MI1">
<data key="d3" />
</edge>
<edge source="42:48_39" target="11:44_70-MI1">
<data key="d3" />
</edge>
<edge source="11:44_70-MI1" target="43:1_46">
<data key="d3" />
</edge>
<edge source="11:44_70-MI1" target="37:22_42">
<data key="d3" />
</edge>
<edge source="11:44_70-MI1" target="27:13_40">
<data key="d3" />
</edge>
<edge source="11:44_70-MI1" target="20:72_96">
<data key="d3" />
</edge>
<edge source="11:44_70-MI1" target="9:85_45-MI1">
<data key="d3" />
</edge>
<edge source="43:1_46" target="37:22_42">
<data key="d4">321</data>
</edge>
<edge source="43:1_46" target="9:85_45-MI1">
<data key="d3" />
</edge>
<edge source="37:22_42" target="27:13_40">
<data key="d4">267</data>
</edge>
<edge source="37:22_42" target="9:85_45-MI1">
<data key="d3" />
</edge>
<edge source="25:99_90" target="20:72_96">
<data key="d4">216</data>
</edge>
<data key="d0">static</data>
</graph>
</graphml>
This diff is collapsed.
<?xml version='1.0' encoding='utf-8'?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<graph edgedefault="undirected">
<node id="0" />
<node id="1" />
<node id="2" />
<node id="3" />
<node id="4" />
<node id="5" />
<node id="6" />
<node id="7" />
<node id="8" />
<node id="9" />
<node id="10" />
<node id="11" />
<node id="12" />
<node id="13" />
<node id="14" />
<node id="15" />
<node id="16" />
<node id="17" />
<node id="18" />
<node id="19" />
<node id="20" />
<node id="21" />
<node id="22" />
<node id="23" />
<node id="24" />
<node id="25" />
<node id="26" />
<node id="27" />
<node id="28" />
<node id="29" />
<node id="30" />
<node id="31" />
<node id="32" />
<node id="33" />
<node id="34" />
<node id="35" />
<node id="36" />
<node id="37" />
<node id="38" />
<node id="39" />
<node id="40" />
<node id="41" />
<node id="42" />
<node id="43" />
<node id="44" />
<node id="45" />
<node id="46" />
<node id="47" />
<node id="48" />
<node id="49" />
<node id="50" />
<node id="51" />
<node id="52" />
<node id="53" />
<node id="54" />
<node id="55" />
<node id="56" />
<node id="57" />
<node id="58" />
<node id="59" />
<node id="60" />
<node id="61" />
<node id="62" />
<node id="63" />
<node id="64" />
<node id="65" />
<node id="66" />
<node id="67" />
<node id="68" />
<node id="69" />
<node id="70" />
<node id="71" />
<node id="72" />
<node id="73" />
<node id="74" />
<node id="75" />
<node id="76" />
<node id="77" />
<node id="78" />
<node id="79" />
<node id="80" />
<node id="81" />
<node id="82" />
<node id="83" />
<node id="84" />
<node id="85" />
<node id="86" />
<node id="87" />
<node id="88" />
<node id="89" />
<node id="90" />
<node id="91" />
<node id="92" />
<node id="93" />
<node id="94" />
<node id="95" />
<node id="96" />
<node id="97" />
<node id="98" />
<node id="99" />
<edge source="0" target="1" />
<edge source="0" target="2" />
<edge source="0" target="3" />
<edge source="0" target="4" />
<edge source="1" target="2" />
<edge source="1" target="3" />
<edge source="1" target="4" />
<edge source="1" target="5" />
<edge source="2" target="3" />
<edge source="2" target="4" />
<edge source="2" target="5" />
<edge source="2" target="6" />
<edge source="3" target="4" />
<edge source="3" target="5" />
<edge source="3" target="6" />
<edge source="3" target="7" />
<edge source="4" target="5" />
<edge source="4" target="6" />
<edge source="4" target="7" />
<edge source="4" target="8" />
<edge source="5" target="6" />
<edge source="5" target="7" />
<edge source="5" target="8" />
<edge source="5" target="9" />
<edge source="6" target="7" />
<edge source="6" target="8" />
<edge source="6" target="9" />
<edge source="6" target="10" />
<edge source="7" target="8" />
<edge source="7" target="9" />
<edge source="7" target="10" />
<edge source="7" target="11" />
<edge source="8" target="9" />
<edge source="8" target="10" />
<edge source="8" target="11" />
<edge source="8" target="12" />
<edge source="9" target="10" />
<edge source="9" target="11" />
<edge source="9" target="12" />
<edge source="9" target="13" />
<edge source="10" target="11" />
<edge source="10" target="12" />
<edge source="10" target="13" />
<edge source="10" target="14" />
<edge source="11" target="12" />
<edge source="11" target="13" />
<edge source="11" target="14" />
<edge source="11" target="15" />
<edge source="12" target="13" />
<edge source="12" target="14" />
<edge source="12" target="15" />
<edge source="12" target="16" />
<edge source="13" target="14" />
<edge source="13" target="15" />
<edge source="13" target="16" />
<edge source="13" target="17" />
<edge source="14" target="15" />
<edge source="14" target="16" />
<edge source="14" target="17" />
<edge source="14" target="18" />
<edge source="15" target="16" />
<edge source="15" target="17" />
<edge source="15" target="18" />
<edge source="15" target="19" />
<edge source="16" target="17" />
<edge source="16" target="18" />
<edge source="16" target="19" />
<edge source="16" target="20" />
<edge source="17" target="18" />
<edge source="17" target="19" />
<edge source="17" target="20" />
<edge source="17" target="21" />
<edge source="18" target="19" />
<edge source="18" target="20" />
<edge source="18" target="21" />
<edge source="18" target="22" />
<edge source="19" target="20" />
<edge source="19" target="21" />
<edge source="19" target="22" />
<edge source="19" target="23" />
<edge source="20" target="21" />
<edge source="20" target="22" />
<edge source="20" target="23" />
<edge source="20" target="24" />
<edge source="21" target="22" />
<edge source="21" target="23" />
<edge source="21" target="24" />
<edge source="21" target="25" />
<edge source="22" target="23" />
<edge source="22" target="24" />
<edge source="22" target="25" />
<edge source="22" target="26" />
<edge source="23" target="24" />
<edge source="23" target="25" />
<edge source="23" target="26" />
<edge source="23" target="27" />
<edge source="24" target="25" />
<edge source="24" target="26" />
<edge source="24" target="27" />
<edge source="24" target="28" />
<edge source="25" target="26" />
<edge source="25" target="27" />
<edge source="25" target="28" />
<edge source="25" target="29" />
<edge source="26" target="27" />
<edge source="26" target="28" />
<edge source="26" target="29" />
<edge source="26" target="30" />
<edge source="27" target="28" />
<edge source="27" target="29" />
<edge source="27" target="30" />
<edge source="27" target="31" />
<edge source="28" target="29" />
<edge source="28" target="30" />
<edge source="28" target="31" />
<edge source="28" target="32" />
<edge source="29" target="30" />
<edge source="29" target="31" />
<edge source="29" target="32" />
<edge source="29" target="33" />
<edge source="30" target="31" />
<edge source="30" target="32" />
<edge source="30" target="33" />
<edge source="30" target="34" />
<edge source="31" target="32" />
<edge source="31" target="33" />
<edge source="31" target="34" />
<edge source="31" target="35" />
<edge source="32" target="33" />
<edge source="32" target="34" />
<edge source="32" target="35" />
<edge source="32" target="36" />
<edge source="33" target="34" />
<edge source="33" target="35" />
<edge source="33" target="36" />
<edge source="33" target="37" />
<edge source="34" target="35" />
<edge source="34" target="36" />
<edge source="34" target="37" />
<edge source="34" target="38" />
<edge source="35" target="36" />
<edge source="35" target="37" />
<edge source="35" target="38" />
<edge source="35" target="39" />
<edge source="36" target="37" />
<edge source="36" target="38" />
<edge source="36" target="39" />
<edge source="36" target="40" />
<edge source="37" target="38" />
<edge source="37" target="39" />
<edge source="37" target="40" />
<edge source="37" target="41" />
<edge source="38" target="39" />
<edge source="38" target="40" />
<edge source="38" target="41" />
<edge source="38" target="42" />
<edge source="39" target="40" />
<edge source="39" target="41" />
<edge source="39" target="42" />
<edge source="39" target="43" />
<edge source="40" target="41" />
<edge source="40" target="42" />
<edge source="40" target="43" />
<edge source="40" target="44" />
<edge source="41" target="42" />
<edge source="41" target="43" />
<edge source="41" target="44" />
<edge source="41" target="45" />
<edge source="42" target="43" />
<edge source="42" target="44" />
<edge source="42" target="45" />
<edge source="42" target="46" />
<edge source="43" target="44" />
<edge source="43" target="45" />
<edge source="43" target="46" />
<edge source="43" target="47" />
<edge source="44" target="45" />
<edge source="44" target="46" />
<edge source="44" target="47" />
<edge source="44" target="48" />
<edge source="45" target="46" />
<edge source="45" target="47" />
<edge source="45" target="48" />
<edge source="45" target="49" />
<edge source="46" target="47" />
<edge source="46" target="48" />
<edge source="46" target="49" />
<edge source="46" target="50" />
<edge source="47" target="48" />
<edge source="47" target="49" />
<edge source="47" target="50" />
<edge source="47" target="51" />
<edge source="48" target="49" />
<edge source="48" target="50" />
<edge source="48" target="51" />
<edge source="48" target="52" />
<edge source="49" target="50" />
<edge source="49" target="51" />
<edge source="49" target="52" />
<edge source="49" target="53" />
<edge source="50" target="51" />
<edge source="50" target="52" />
<edge source="50" target="53" />
<edge source="50" target="54" />
<edge source="51" target="52" />
<edge source="51" target="53" />
<edge source="51" target="54" />
<edge source="51" target="55" />
<edge source="52" target="53" />
<edge source="52" target="54" />
<edge source="52" target="55" />
<edge source="52" target="56" />
<edge source="53" target="54" />
<edge source="53" target="55" />
<edge source="53" target="56" />
<edge source="53" target="57" />
<edge source="54" target="55" />
<edge source="54" target="56" />
<edge source="54" target="57" />
<edge source="54" target="58" />
<edge source="55" target="56" />
<edge source="55" target="57" />
<edge source="55" target="58" />
<edge source="55" target="59" />
<edge source="56" target="57" />
<edge source="56" target="58" />
<edge source="56" target="59" />
<edge source="56" target="60" />
<edge source="57" target="58" />
<edge source="57" target="59" />
<edge source="57" target="60" />
<edge source="57" target="61" />
<edge source="58" target="59" />
<edge source="58" target="60" />
<edge source="58" target="61" />
<edge source="58" target="62" />
<edge source="59" target="60" />
<edge source="59" target="61" />
<edge source="59" target="62" />
<edge source="59" target="63" />
<edge source="60" target="61" />
<edge source="60" target="62" />
<edge source="60" target="63" />
<edge source="60" target="64" />
<edge source="61" target="62" />
<edge source="61" target="63" />
<edge source="61" target="64" />
<edge source="61" target="65" />