{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ipyrad-analysis toolkit: clade_weights" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
(Reference only method)
\n", "\n", "The `clade_weights` tool is designed to analyze a **tree_table**, which can be generated using the `treeslider` ipyrad-analysis tool. This tool can quantify and generate plots of clade supports in sliding windows along the genome. This is similar to the TWISST software, for showing how different gene tree patterns vary along the genome. \n", "\n", "\n", "Key features:\n", "\n", "1. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Required software" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# conda install ipyrad -c bioconda\n", "# conda install toyplot -c eaton-lab" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "import ipyrad.analysis as ipa\n", "import toyplot\n", "\n", "from ipyrad.analysis.clade_weights import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Short Tutorial:\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Load the data" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "# the path to your CSV\n", "data = \"./analysis-treeslider/test.tree_table.csv\"" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "# check scaffold idx (row) against scaffold names\n", "self = ipa.clade_weights(\n", " data=data,\n", " name=\"test\",\n", " workdir=\"analysis-clade_weights\",\n", " imap={\n", " \"SE\": [\"virg\", \"mini\", \"gemi\"],\n", " \"CA\": [\"sagr\", \"oleo\"],\n", " \"WE\": [\"bran\", \"fusi-N\", \"fusi-S\"],\n", " #\"REF\": [\"reference\"],\n", " },\n", " minsupport=50,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### The tree table\n", "In the `treeslider` tool you have the option to collapse individuals from the same species or population into a single taxon using an `imap` dictionary. While that can be useful for reducing missing data or generating tree plots..." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
scaffoldstartendsitessnpssamplesmissingtree
02020000001326315590.0(sagr:0.00343708,(oleo:0.00266064,(mini:0.0020...
12200000040000001054411290.0(fusi-N:0.00441769,reference:0.0186764,((bran:...
224000000600000055444690.0(virg:0.00297301,fusi-N:0.00243431,(oleo:0.003...
32600000080000001277713890.0(fusi-N:0.00283693,(bran:0.00363545,reference:...
428000000100000001444116690.0(bran:0.00446094,reference:0.0119105,(fusi-S:0...
\n", "
" ], "text/plain": [ " scaffold start end sites snps samples missing \\\n", "0 2 0 2000000 13263 155 9 0.0 \n", "1 2 2000000 4000000 10544 112 9 0.0 \n", "2 2 4000000 6000000 5544 46 9 0.0 \n", "3 2 6000000 8000000 12777 138 9 0.0 \n", "4 2 8000000 10000000 14441 166 9 0.0 \n", "\n", " tree \n", "0 (sagr:0.00343708,(oleo:0.00266064,(mini:0.0020... \n", "1 (fusi-N:0.00441769,reference:0.0186764,((bran:... \n", "2 (virg:0.00297301,fusi-N:0.00243431,(oleo:0.003... \n", "3 (fusi-N:0.00283693,(bran:0.00363545,reference:... \n", "4 (bran:0.00446094,reference:0.0119105,(fusi-S:0... " ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.tree_table.head()" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parallel connection | oud: 4 cores\n", "[####################] 100% 0:00:07 | calculating tree weights \n" ] } ], "source": [ "self.run(auto=True, force=True)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'NoneType' object has no attribute 'rolling'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m toyplot.plot(\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclade_weights\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrolling\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m5\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwin_type\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"boxcar\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcenter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mheight\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m300\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mopacity\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.7\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m );\n", "\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'rolling'" ] } ], "source": [ "toyplot.plot(\n", " self.clade_weights.rolling(5, win_type=\"boxcar\", center=True).mean(), \n", " height=300,\n", " opacity=0.7,\n", ");" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# make empty clade weights table\n", "self.clade_weights = pd.DataFrame(\n", " {i: [0.] * self.tree_table.shape[0] for i in self.imap.keys()}\n", ")" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "treelist = self.tree_table.tree[:10].tolist()\n", "clades = self.imap\n", "idx = 0" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n", "{'virg', 'sagr', 'fusi-N', 'gemi', 'bran', 'mini', 'reference', 'fusi-S', 'oleo'}\n" ] } ], "source": [ "# iterate over trees\n", "for tidx, tree in enumerate(treelist):\n", "\n", " # get tips for this subtree\n", " tree = toytree.tree(tree)\n", " tips = set(tree.get_tip_labels()) \n", "\n", " # iterate over clades to test\n", " for name, clade in clades.items():\n", " \n", " idx = 0\n", " tsum = 0\n", " \n", " iclade = tips.intersection(set(clade))\n", " isamp = itertools.combinations(iclade, 2)\n", " oclade = tips.difference(iclade)\n", " osamp = itertools.combinations(oclade, 2)\n", "\n", " # iterate over quartets\n", " for ipair in isamp:\n", " for opair in osamp:\n", " quartet = set(list(ipair) + list(opair))\n", " todrop = set(tree.get_tip_labels()) - quartet\n", " dt = tree.drop_tips(todrop)\n", " tsum += clade_true(dt.unroot(), iclade)\n", " idx += 1\n", " \n", " print(tips)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
virgminigemi
00.00.00.0
10.00.00.0
20.00.00.0
30.00.00.0
40.00.00.0
50.00.00.0
60.00.00.0
70.00.00.0
80.00.00.0
90.00.00.0
\n", "
" ], "text/plain": [ " virg mini gemi\n", "0 0.0 0.0 0.0\n", "1 0.0 0.0 0.0\n", "2 0.0 0.0 0.0\n", "3 0.0 0.0 0.0\n", "4 0.0 0.0 0.0\n", "5 0.0 0.0 0.0\n", "6 0.0 0.0 0.0\n", "7 0.0 0.0 0.0\n", "8 0.0 0.0 0.0\n", "9 0.0 0.0 0.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clade_weights(treelist, clades, idx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### The tree table" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
scaffoldstartendsitessnpssamplesmissingtree
02020000001326315590.0(sagr:0.00343708,(oleo:0.00266064,(mini:0.0020...
12200000040000001054411290.0(fusi-N:0.00441769,reference:0.0186764,((bran:...
224000000600000055444690.0(virg:0.00297301,fusi-N:0.00243431,(oleo:0.003...
32600000080000001277713890.0(fusi-N:0.00283693,(bran:0.00363545,reference:...
428000000100000001444116690.0(bran:0.00446094,reference:0.0119105,(fusi-S:0...
\n", "
" ], "text/plain": [ " scaffold start end sites snps samples missing \\\n", "0 2 0 2000000 13263 155 9 0.0 \n", "1 2 2000000 4000000 10544 112 9 0.0 \n", "2 2 4000000 6000000 5544 46 9 0.0 \n", "3 2 6000000 8000000 12777 138 9 0.0 \n", "4 2 8000000 10000000 14441 166 9 0.0 \n", "\n", " tree \n", "0 (sagr:0.00343708,(oleo:0.00266064,(mini:0.0020... \n", "1 (fusi-N:0.00441769,reference:0.0186764,((bran:... \n", "2 (virg:0.00297301,fusi-N:0.00243431,(oleo:0.003... \n", "3 (fusi-N:0.00283693,(bran:0.00363545,reference:... \n", "4 (bran:0.00446094,reference:0.0119105,(fusi-S:0... " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights.tree_table.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parallel connection | oud: 4 cores\n", "[####################] 100% 0:00:02 | calculating tree weights \n" ] } ], "source": [ "weights.run(auto=True)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
virgminigemi
00.00.00.0
10.00.00.0
20.00.00.0
30.00.00.0
40.00.00.0
50.00.00.0
60.00.00.0
70.00.00.0
80.00.00.0
90.00.00.0
100.00.00.0
110.00.00.0
120.00.00.0
130.00.00.0
140.00.00.0
150.00.00.0
160.00.00.0
170.00.00.0
180.00.00.0
190.00.00.0
200.00.00.0
210.00.00.0
220.00.00.0
230.00.00.0
240.00.00.0
250.00.00.0
260.00.00.0
270.00.00.0
\n", "
" ], "text/plain": [ " virg mini gemi\n", "0 0.0 0.0 0.0\n", "1 0.0 0.0 0.0\n", "2 0.0 0.0 0.0\n", "3 0.0 0.0 0.0\n", "4 0.0 0.0 0.0\n", "5 0.0 0.0 0.0\n", "6 0.0 0.0 0.0\n", "7 0.0 0.0 0.0\n", "8 0.0 0.0 0.0\n", "9 0.0 0.0 0.0\n", "10 0.0 0.0 0.0\n", "11 0.0 0.0 0.0\n", "12 0.0 0.0 0.0\n", "13 0.0 0.0 0.0\n", "14 0.0 0.0 0.0\n", "15 0.0 0.0 0.0\n", "16 0.0 0.0 0.0\n", "17 0.0 0.0 0.0\n", "18 0.0 0.0 0.0\n", "19 0.0 0.0 0.0\n", "20 0.0 0.0 0.0\n", "21 0.0 0.0 0.0\n", "22 0.0 0.0 0.0\n", "23 0.0 0.0 0.0\n", "24 0.0 0.0 0.0\n", "25 0.0 0.0 0.0\n", "26 0.0 0.0 0.0\n", "27 0.0 0.0 0.0" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weights.clade_weights" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Enter window and slide arguments\n", "Here I select the scaffold *Qrob_Chr03* (`scaffold_idx`=2), and run 2Mb windows (`window_size`) non-overlapping (2Mb `slide_size`) across the entire scaffold. I use the default inference method \"raxml\", and modify its default arguments to run 100 bootstrap replicates. More details on modifying raxml params later. I set for it to skip windows with <10 SNPs (`minsnps`), and to filter sites within windows (`mincov`) to only include those that have coverage across all 9 clades, with samples grouped into clades using an `imap` dictionary." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# select a scaffold idx, start, and end positions\n", "ts = ipa.treeslider(\n", " name=\"test\",\n", " data=\"/home/deren/Downloads/ref_pop2.seqs.hdf5\",\n", " workdir=\"analysis-treeslider\",\n", " scaffold_idxs=2,\n", " window_size=2000000,\n", " slide_size=2000000,\n", " inference_method=\"raxml\",\n", " inference_args={\"N\": 100, \"T\": 4},\n", " minsnps=10,\n", " mincov=9,\n", " imap={\n", " \"reference\": [\"reference\"],\n", " \"virg\": [\"TXWV2\", \"LALC2\", \"SCCU3\", \"FLSF33\", \"FLBA140\"],\n", " \"mini\": [\"FLSF47\", \"FLMO62\", \"FLSA185\", \"FLCK216\"],\n", " \"gemi\": [\"FLCK18\", \"FLSF54\", \"FLWO6\", \"FLAB109\"],\n", " \"bran\": [\"BJSL25\", \"BJSB3\", \"BJVL19\"],\n", " \"fusi-N\": [\"TXGR3\", \"TXMD3\"],\n", " \"fusi-S\": [\"MXED8\", \"MXGT4\"],\n", " \"sagr\": [\"CUVN10\", \"CUCA4\", \"CUSV6\", \"CUMM5\"],\n", " \"oleo\": [\"CRL0030\", \"HNDA09\", \"BZBB1\", \"MXSA3017\", \"CRL0001\"],\n", " },\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### The tree inference command\n", "You can examine the command that will be called on each genomic window. By modifying the `inference_args` above we can modify this string. See examples later in this tutorial." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "raxmlHPC-PTHREADS-SSE3 -f a -T 2 -m GTRGAMMA -n ... -w ... -s ... -p 54321 -N 100 -x 12345\n" ] } ], "source": [ "# this is the tree inference command that will be used\n", "ts.show_inference_command()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Run tree inference jobs in parallel \n", "To run the command on every window across all available cores call the `.run()` command. This will automatically save checkpoints to a file of the tree_table as it runs, and can be restarted later if it interrupted." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parallel connection | oud: 4 cores\n", "building database: nwindows=28; minsnps=10\n", "[####################] 100% 0:01:35 | inferring trees \n" ] } ], "source": [ "ts.run(auto=True, force=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### The tree table\n", "Our goal is to fill the `.tree_table`, a pandas DataFrame where rows are genomic windows and the information content of each window is recorded, and a newick string tree is inferred and filled in for each. The tree table is also saved as a CSV formatted file in the workdir. You can re-load it later using Pandas. Below I demonstrate how to plot results from the tree_able. To examine how phylogenetic relationships vary across the genome see also the `clade_weights()` tool, which takes the tree_table as input. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
scaffoldstartendsitessnpssamplesmissingtree
02020000001326315590.0(sagr:0.00343708,(oleo:0.00266064,(mini:0.0020...
12200000040000001054411290.0(fusi-N:0.00441769,reference:0.0186764,((bran:...
224000000600000055444690.0(virg:0.00297301,fusi-N:0.00243431,(oleo:0.003...
32600000080000001277713890.0(fusi-N:0.00283693,(bran:0.00363545,reference:...
428000000100000001444116690.0(bran:0.00446094,reference:0.0119105,(fusi-S:0...
\n", "
" ], "text/plain": [ " scaffold start end sites snps samples missing \\\n", "0 2 0 2000000 13263 155 9 0.0 \n", "1 2 2000000 4000000 10544 112 9 0.0 \n", "2 2 4000000 6000000 5544 46 9 0.0 \n", "3 2 6000000 8000000 12777 138 9 0.0 \n", "4 2 8000000 10000000 14441 166 9 0.0 \n", "\n", " tree \n", "0 (sagr:0.00343708,(oleo:0.00266064,(mini:0.0020... \n", "1 (fusi-N:0.00441769,reference:0.0186764,((bran:... \n", "2 (virg:0.00297301,fusi-N:0.00243431,(oleo:0.003... \n", "3 (fusi-N:0.00283693,(bran:0.00363545,reference:... \n", "4 (bran:0.00446094,reference:0.0119105,(fusi-S:0... " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the tree table is automatically saved to disk as a CSV during .run()\n", "ts.tree_table.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Advanced: Plots tree results

\n", "\n", "#### Examine multiple trees\n", "\n", "You can select trees from the .tree column of the tree_table and plot them one by one using toytree, or any other tree drawing tool. Below I use toytree to draw a grid of the first 12 trees. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
virggemiminioleosagrfusi-Sfusi-Nbranreferenceminivirggemioleosagrfusi-Sbranfusi-Nreferenceminigemivirgsagroleofusi-Sfusi-Nbranreferencesagroleofusi-Nvirgminigemifusi-Sbranreferencefusi-Sfusi-Nbranvirgsagroleominigemireferenceoleosagrfusi-Nfusi-Sbranvirggemiminireferenceminigemivirgfusi-Sbranfusi-Noleosagrreferencefusi-Nbranminivirgfusi-Sgemioleosagrreferencevirggemiminisagrfusi-Sbranfusi-Noleoreferencefusi-Sfusi-Nminioleosagrbrangemivirgreferenceoleosagrvirgminigemifusi-Sfusi-Nbranreferenceminigemivirgfusi-Nsagrfusi-Soleobranreference
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# filter to only windows with >50 SNPS\n", "trees = ts.tree_table[ts.tree_table.snps > 50].tree.tolist()\n", "\n", "# load all trees into a multitree object\n", "mtre = toytree.mtree(trees)\n", "\n", "# root trees and collapse nodes with <50 bootstrap support\n", "mtre.treelist = [\n", " i.root(\"reference\").collapse_nodes(min_support=50)\n", " for i in mtre.treelist\n", "]\n", "\n", "# draw the first 12 trees in a grid\n", "mtre.draw_tree_grid(\n", " nrows=3, ncols=4, start=0,\n", " tip_labels_align=True,\n", " tip_labels_style={\"font-size\": \"9px\"},\n", ");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Draw cloud tree\n", "Using toytree you can easily draw a cloud tree of overlapping gene trees to visualize discordance. These typically look much better if you root the trees, order tips by their consensus tree order, and do not use edge lengths. See below for an example, and see the toytree documentation." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# filter to only windows with >50 SNPS (this could have been done in run)\n", "trees = ts.tree_table[ts.tree_table.snps > 50].tree.tolist()\n", "\n", "# load all trees into a multitree object\n", "mtre = toytree.mtree(trees)\n", "\n", "# root trees \n", "mtre.treelist = [i.root(\"reference\") for i in mtre.treelist]\n", "\n", "# infer a consensus tree to get best tip order\n", "ctre = mtre.get_consensus_tree()\n", "\n", "# draw the first 12 trees in a grid\n", "mtre.draw_cloud_tree(\n", " width=400,\n", " height=400, \n", " fixed_order=ctre.get_tip_labels(),\n", " use_edge_lengths=False,\n", ");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Advanced: Modify the raxml command

\n", "\n", "In this analysis I entered multiple scaffolds to create windows across each scaffold. I also entered a smaller slide size than window size so that windows are partially overlapping. The raxml command string was modified to perform 10 full searches with no bootstraps. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# select a scaffold idx, start, and end positions\n", "ts = ipa.treeslider(\n", " name=\"chr1_w500K_s100K\",\n", " data=data,\n", " workdir=\"analysis-treeslider\",\n", " scaffold_idxs=[0, 1, 2],\n", " window_size=500000,\n", " slide_size=100000,\n", " minsnps=10,\n", " inference_method=\"raxml\",\n", " inference_args={\"m\": \"GTRCAT\", \"N\": 10, \"f\": \"d\", 'x': None},\n", ")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "raxmlHPC-PTHREADS-SSE3 -f d -T 2 -m GTRCAT -n ... -w ... -s ... -p 54321 -N 10\n" ] } ], "source": [ "# this is the tree inference command that will be used\n", "ts.show_inference_command()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }