{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Good Software - analysis notebook\n", "## Reproducing all panels from Figure 1\n", "\n", "<br />\n", "This notebook contains all Python code necessary to reproduce all panels from the Figure 1 of [our paper](./), starting from the raw dataset. If you are interested in reproducing our results, you can use Binder to get started immediately (no requirements). For more information, visit [our wiki page](./).\n", "\n", "**Github:** https://github.com/smangul1/good.software/wiki\n", "\n", "**Manuscript:** https://www.biorxiv.org/content/early/2018/10/25/452532\n", "\n", "**Twitter thread:** https://twitter.com/serghei_mangul/status/1055561147431043072" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Importing libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pylab as pl\n", "import numpy as np\n", "import pandas as pd\n", "import scikit_posthocs as sph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Some definitions" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Legend for link statuses\n", "legendStatus = { -1 : 'Time out', 1 : 'Accessible', 3 : 'Redirected', 4 : 'Broken' }\n", "\n", "# Colors for each status\n", "colors = { -1 : (0.96,0.65,0.51), 1 : (0.57,0.77,0.87), 3 : (0.02,0.44,0.69), 4 : (0.8,0.,0.13) }\n", "\n", "# Scheme 2:\n", "colors2 = { 'bg_unreach' : (1.0,0.8,0.6), \n", " 'fg_unreach' : (0.8,0.,0.), \n", " 'bg_accessb' : (0.7,1.0,0.7), \n", " 'fg_accessb' : (0.0,0.0,0.8)\n", " }\n", "\n", "# Will only consider these years\n", "initialYear = 2005" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Util functions" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def simpleaxis(ax):\n", " ax.spines['top'].set_visible(False)\n", " ax.spines['right'].set_visible(False)\n", " ax.get_xaxis().tick_bottom()\n", " ax.get_yaxis().tick_left()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Importing and parsing data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>type</th>\n", " <th>journal</th>\n", " <th>id</th>\n", " <th>year</th>\n", " <th>link</th>\n", " <th>code</th>\n", " <th>flag.uniqueness</th>\n", " <th>newtest</th>\n", " <th>oldcode</th>\n", " <th>concated</th>\n", " <th>httpsthing</th>\n", " <th>github.com</th>\n", " <th>0.690657769</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>15268767.0</td>\n", " <td>2004</td>\n", " <td>(http://discover.nci.nih.gov)</td>\n", " <td>-1</td>\n", " <td>0</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15268767(http://discover.nci.nih.gov)</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>15268767.0</td>\n", " <td>2004</td>\n", " <td>(http://dtp.nci.nih.gov)</td>\n", " <td>-1</td>\n", " <td>0</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15268767(http://dtp.nci.nih.gov)</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>21398627.0</td>\n", " <td>2011</td>\n", " <td>(http://globin.cse.psu.edu/html/docs/sim4.html</td>\n", " <td>-1</td>\n", " <td>0</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>21398627(http://globin.cse.psu.edu/html/docs/s...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>body</td>\n", " <td>BMC_Genomics</td>\n", " <td>11472633.0</td>\n", " <td>2001</td>\n", " <td>(http://rgd.mcw.edu/RHMAPSERVER/)</td>\n", " <td>-1</td>\n", " <td>0</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>11472633(http://rgd.mcw.edu/RHMAPSERVER/)</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>19426459.0</td>\n", " <td>2009</td>\n", " <td>(http://www.eumodic.org/documents/EMPReSSslim%...</td>\n", " <td>-1</td>\n", " <td>0</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>19426459(http://www.eumodic.org/documents/EMPR...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " type journal id year \\\n", "0 body BMC_Bioinformatics 15268767.0 2004 \n", "1 body BMC_Bioinformatics 15268767.0 2004 \n", "2 body Nucleic_Acids_Res 21398627.0 2011 \n", "3 body BMC_Genomics 11472633.0 2001 \n", "4 body BMC_Bioinformatics 19426459.0 2009 \n", "\n", " link code flag.uniqueness \\\n", "0 (http://discover.nci.nih.gov) -1 0 \n", "1 (http://dtp.nci.nih.gov) -1 0 \n", "2 (http://globin.cse.psu.edu/html/docs/sim4.html -1 0 \n", "3 (http://rgd.mcw.edu/RHMAPSERVER/) -1 0 \n", "4 (http://www.eumodic.org/documents/EMPReSSslim%... -1 0 \n", "\n", " newtest oldcode concated \\\n", "0 http -1.0 15268767(http://discover.nci.nih.gov) \n", "1 http -1.0 15268767(http://dtp.nci.nih.gov) \n", "2 http -1.0 21398627(http://globin.cse.psu.edu/html/docs/s... \n", "3 http -1.0 11472633(http://rgd.mcw.edu/RHMAPSERVER/) \n", "4 http -1.0 19426459(http://www.eumodic.org/documents/EMPR... \n", "\n", " httpsthing github.com 0.690657769 \n", "0 0 False NaN \n", "1 0 False NaN \n", "2 0 False NaN \n", "3 0 False NaN \n", "4 0 False NaN " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "links = pd.read_csv('eval.links.bulk.csv')\n", "links.head()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'pandas.core.frame.DataFrame'>\n", "RangeIndex: 48392 entries, 0 to 48391\n", "Data columns (total 13 columns):\n", "type 48392 non-null object\n", "journal 48392 non-null object\n", "id 48093 non-null float64\n", "year 48392 non-null int64\n", "link 48392 non-null object\n", "code 48392 non-null int64\n", "flag.uniqueness 48392 non-null int64\n", "newtest 30019 non-null object\n", "oldcode 30019 non-null float64\n", "concated 48392 non-null object\n", "httpsthing 48392 non-null int64\n", "github.com 48392 non-null bool\n", "0.690657769 0 non-null float64\n", "dtypes: bool(1), float64(3), int64(4), object(5)\n", "memory usage: 4.5+ MB\n" ] } ], "source": [ "links.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parsing from code into human-readable status:\n", "\n", "* -1 : time out\n", "* 0..299 : good\n", "* 300..399 : redirected\n", "* \\>= 400 : not found\n", "\n", "To make it easier, let's map these codes to -1 for time out, 1 for accessible, 3 for redirected, and 4 for not found." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "links = links[ links.year >= initialYear ]\n", "links['status'] = ( links['code'] // 100 )\n", "links.loc[ links['status'] > 4, 'status' ] = 4\n", "links.loc[ (links['status'] >= 0) & (links['status'] < 3), 'status' ] = 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at the histogram of statuses" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "statuses = np.array( links.status )\n", "\n", "\n", "f, ax = pl.subplots(1, 1)\n", "ax.hist( statuses, np.arange(-1.5,6,1), edgecolor=(0.2,0.2,0.2), lw=3, \n", " color=(0.2,0.6,1.0) )\n", "\n", "\n", "ax.set_ylabel('Count')\n", "ax.set_xticks([-1, 1, 3, 4])\n", "ax.set_xticklabels( ['Time out', 'Accessible', 'Redirected', 'Not found'], rotation=-45 )\n", "\n", "pl.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 5259 21953 13106 6957] [-1.2 -0.8 1.8 3.8 4.8]\n", "0.11124272871496563\n", "0.46436805922792174\n", "0.27722897937599156\n", "0.1471602326811211\n" ] } ], "source": [ "count, bin_values = np.histogram(statuses, bins = [-1.2,-0.8,1.8,3.8,4.8])\n", "\n", "print(count, bin_values)\n", "total = float(count.sum())\n", "\n", "for j in range(4):\n", " print(count[j]/total)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Filtering out repeated links" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To avoid using repeated links, let's create another dataframe." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(36702, 14)\n" ] }, { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>type</th>\n", " <th>journal</th>\n", " <th>id</th>\n", " <th>year</th>\n", " <th>link</th>\n", " <th>code</th>\n", " <th>newtest</th>\n", " <th>oldcode</th>\n", " <th>concated</th>\n", " <th>httpsthing</th>\n", " <th>github.com</th>\n", " <th>0.690657769</th>\n", " <th>status</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>2</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>21398627.0</td>\n", " <td>2011</td>\n", " <td>(http://globin.cse.psu.edu/html/docs/sim4.html</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>21398627(http://globin.cse.psu.edu/html/docs/s...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>19426459.0</td>\n", " <td>2009</td>\n", " <td>(http://www.eumodic.org/documents/EMPReSSslim%...</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>19426459(http://www.eumodic.org/documents/EMPR...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>16026597.0</td>\n", " <td>2005</td>\n", " <td>(http://www.fda.gov/cder/genomics/</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>16026597(http://www.fda.gov/cder/genomics/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>16026597.0</td>\n", " <td>2005</td>\n", " <td>(http://www.fda.gov/oc/initiatives/criticalpath/</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>16026597(http://www.fda.gov/oc/initiatives/cri...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>body</td>\n", " <td>PLoS_Comput_Biol</td>\n", " <td>22022247.0</td>\n", " <td>2011</td>\n", " <td>(http://www.ks.uiuc.edu/Development/MDTools/io...</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>22022247(http://www.ks.uiuc.edu/Development/MD...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " type journal id year \\\n", "2 body Nucleic_Acids_Res 21398627.0 2011 \n", "4 body BMC_Bioinformatics 19426459.0 2009 \n", "5 body BMC_Bioinformatics 16026597.0 2005 \n", "6 body BMC_Bioinformatics 16026597.0 2005 \n", "7 body PLoS_Comput_Biol 22022247.0 2011 \n", "\n", " link code newtest oldcode \\\n", "2 (http://globin.cse.psu.edu/html/docs/sim4.html -1 http -1.0 \n", "4 (http://www.eumodic.org/documents/EMPReSSslim%... -1 http -1.0 \n", "5 (http://www.fda.gov/cder/genomics/ -1 http -1.0 \n", "6 (http://www.fda.gov/oc/initiatives/criticalpath/ -1 http -1.0 \n", "7 (http://www.ks.uiuc.edu/Development/MDTools/io... -1 http -1.0 \n", "\n", " concated httpsthing github.com \\\n", "2 21398627(http://globin.cse.psu.edu/html/docs/s... 0 False \n", "4 19426459(http://www.eumodic.org/documents/EMPR... 0 False \n", "5 16026597(http://www.fda.gov/cder/genomics/ 0 False \n", "6 16026597(http://www.fda.gov/oc/initiatives/cri... 0 False \n", "7 22022247(http://www.ks.uiuc.edu/Development/MD... 0 False \n", "\n", " 0.690657769 status \n", "2 NaN -1 \n", "4 NaN -1 \n", "5 NaN -1 \n", "6 NaN -1 \n", "7 NaN -1 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uniqueLinks = links[ links['flag.uniqueness'] == 0 ]\n", "print(uniqueLinks.shape)\n", "uniqueLinks = uniqueLinks.drop(columns=['flag.uniqueness'])\n", "uniqueLinks.head()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>type</th>\n", " <th>journal</th>\n", " <th>id</th>\n", " <th>year</th>\n", " <th>link</th>\n", " <th>code</th>\n", " <th>newtest</th>\n", " <th>oldcode</th>\n", " <th>concated</th>\n", " <th>httpsthing</th>\n", " <th>github.com</th>\n", " <th>0.690657769</th>\n", " <th>status</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>6387</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608157.0</td>\n", " <td>2005</td>\n", " <td>www.human-siRNA-database.net</td>\n", " <td>301</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15608157www.human-siRNA-database.net</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>22888</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608157.0</td>\n", " <td>2005</td>\n", " <td>http://www.human-siRNA-database.net</td>\n", " <td>404</td>\n", " <td>http</td>\n", " <td>301.0</td>\n", " <td>15608157http://www.human-siRNA-database.net</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>1890</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608160.0</td>\n", " <td>2005</td>\n", " <td>http://infernal.wustl.edu/</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15608160http://infernal.wustl.edu/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>2814</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608160.0</td>\n", " <td>2005</td>\n", " <td>http://rfam.wustl.edu/</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15608160http://rfam.wustl.edu/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>17798</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608160.0</td>\n", " <td>2005</td>\n", " <td>http://www.sanger.ac.uk/Software/Rfam/</td>\n", " <td>301</td>\n", " <td>http</td>\n", " <td>301.0</td>\n", " <td>15608160http://www.sanger.ac.uk/Software/Rfam/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>341</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608162.0</td>\n", " <td>2005</td>\n", " <td>http://aosearch.cgb.ki.se</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15608162http://aosearch.cgb.ki.se</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>23661</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608162.0</td>\n", " <td>2005</td>\n", " <td>http://siRNA.cgb.ki.se</td>\n", " <td>503</td>\n", " <td>http</td>\n", " <td>301.0</td>\n", " <td>15608162http://siRNA.cgb.ki.se</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>307</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608164.0</td>\n", " <td>2005</td>\n", " <td>http://alpha.protres.ru/trnadbase</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15608164http://alpha.protres.ru/trnadbase</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>43622</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608164.0</td>\n", " <td>2005</td>\n", " <td>http://www.tRNA.uni-bayreuth.de</td>\n", " <td>200</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>15608164http://www.tRNA.uni-bayreuth.de</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>12125</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608166.0</td>\n", " <td>2005</td>\n", " <td>http://redpoll.pharmacy.ualberta.ca/CCDB</td>\n", " <td>301</td>\n", " <td>http</td>\n", " <td>301.0</td>\n", " <td>15608166http://redpoll.pharmacy.ualberta.ca/CCDB</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>14188</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608166.0</td>\n", " <td>2005</td>\n", " <td>http://www.cs.ualberta.ca/~bioinfo/PA/</td>\n", " <td>301</td>\n", " <td>http</td>\n", " <td>301.0</td>\n", " <td>15608166http://www.cs.ualberta.ca/~bioinfo/PA/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>14189</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608166.0</td>\n", " <td>2005</td>\n", " <td>http://www.cs.ualberta.ca/~bioinfo/PA/GOSUB</td>\n", " <td>301</td>\n", " <td>http</td>\n", " <td>301.0</td>\n", " <td>15608166http://www.cs.ualberta.ca/~bioinfo/PA/...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>36369</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608172.0</td>\n", " <td>2005</td>\n", " <td>http://otl.stanford.edu/</td>\n", " <td>200</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>15608172http://otl.stanford.edu/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>46290</th>\n", " <td>abstract</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608172.0</td>\n", " <td>2005</td>\n", " <td>http://motif.stanford.edu/eblocks/</td>\n", " <td>404</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>15608172http://motif.stanford.edu/eblocks/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>1326</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>15608174.0</td>\n", " <td>2005</td>\n", " <td>http://ekhidna.biocenter.helsinki.fi:8080/down...</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>15608174http://ekhidna.biocenter.helsinki.fi:8...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " type journal id year \\\n", "6387 body Nucleic_Acids_Res 15608157.0 2005 \n", "22888 abstract Nucleic_Acids_Res 15608157.0 2005 \n", "1890 body Nucleic_Acids_Res 15608160.0 2005 \n", "2814 abstract Nucleic_Acids_Res 15608160.0 2005 \n", "17798 abstract Nucleic_Acids_Res 15608160.0 2005 \n", "341 body Nucleic_Acids_Res 15608162.0 2005 \n", "23661 abstract Nucleic_Acids_Res 15608162.0 2005 \n", "307 abstract Nucleic_Acids_Res 15608164.0 2005 \n", "43622 abstract Nucleic_Acids_Res 15608164.0 2005 \n", "12125 body Nucleic_Acids_Res 15608166.0 2005 \n", "14188 body Nucleic_Acids_Res 15608166.0 2005 \n", "14189 abstract Nucleic_Acids_Res 15608166.0 2005 \n", "36369 abstract Nucleic_Acids_Res 15608172.0 2005 \n", "46290 abstract Nucleic_Acids_Res 15608172.0 2005 \n", "1326 body Nucleic_Acids_Res 15608174.0 2005 \n", "\n", " link code newtest \\\n", "6387 www.human-siRNA-database.net 301 http \n", "22888 http://www.human-siRNA-database.net 404 http \n", "1890 http://infernal.wustl.edu/ -1 http \n", "2814 http://rfam.wustl.edu/ -1 http \n", "17798 http://www.sanger.ac.uk/Software/Rfam/ 301 http \n", "341 http://aosearch.cgb.ki.se -1 http \n", "23661 http://siRNA.cgb.ki.se 503 http \n", "307 http://alpha.protres.ru/trnadbase -1 http \n", "43622 http://www.tRNA.uni-bayreuth.de 200 NaN \n", "12125 http://redpoll.pharmacy.ualberta.ca/CCDB 301 http \n", "14188 http://www.cs.ualberta.ca/~bioinfo/PA/ 301 http \n", "14189 http://www.cs.ualberta.ca/~bioinfo/PA/GOSUB 301 http \n", "36369 http://otl.stanford.edu/ 200 NaN \n", "46290 http://motif.stanford.edu/eblocks/ 404 NaN \n", "1326 http://ekhidna.biocenter.helsinki.fi:8080/down... -1 http \n", "\n", " oldcode concated httpsthing \\\n", "6387 -1.0 15608157www.human-siRNA-database.net 0 \n", "22888 301.0 15608157http://www.human-siRNA-database.net 0 \n", "1890 -1.0 15608160http://infernal.wustl.edu/ 0 \n", "2814 -1.0 15608160http://rfam.wustl.edu/ 0 \n", "17798 301.0 15608160http://www.sanger.ac.uk/Software/Rfam/ 0 \n", "341 -1.0 15608162http://aosearch.cgb.ki.se 0 \n", "23661 301.0 15608162http://siRNA.cgb.ki.se 0 \n", "307 -1.0 15608164http://alpha.protres.ru/trnadbase 0 \n", "43622 NaN 15608164http://www.tRNA.uni-bayreuth.de 0 \n", "12125 301.0 15608166http://redpoll.pharmacy.ualberta.ca/CCDB 0 \n", "14188 301.0 15608166http://www.cs.ualberta.ca/~bioinfo/PA/ 0 \n", "14189 301.0 15608166http://www.cs.ualberta.ca/~bioinfo/PA/... 0 \n", "36369 NaN 15608172http://otl.stanford.edu/ 0 \n", "46290 NaN 15608172http://motif.stanford.edu/eblocks/ 0 \n", "1326 -1.0 15608174http://ekhidna.biocenter.helsinki.fi:8... 0 \n", "\n", " github.com 0.690657769 status \n", "6387 False NaN 3 \n", "22888 False NaN 4 \n", "1890 False NaN -1 \n", "2814 False NaN -1 \n", "17798 False NaN 3 \n", "341 False NaN -1 \n", "23661 False NaN 4 \n", "307 False NaN -1 \n", "43622 False NaN 1 \n", "12125 False NaN 3 \n", "14188 False NaN 3 \n", "14189 False NaN 3 \n", "36369 False NaN 1 \n", "46290 False NaN 4 \n", "1326 False NaN -1 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "repeated_data = pd.concat(g for _, g in uniqueLinks.groupby(\"id\") if len(g) > 1)\n", "repeated_data.head(15)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'pandas.core.frame.DataFrame'>\n", "Int64Index: 36702 entries, 2 to 48391\n", "Data columns (total 13 columns):\n", "type 36702 non-null object\n", "journal 36702 non-null object\n", "id 36536 non-null float64\n", "year 36702 non-null int64\n", "link 36702 non-null object\n", "code 36702 non-null int64\n", "newtest 22872 non-null object\n", "oldcode 22872 non-null float64\n", "concated 36702 non-null object\n", "httpsthing 36702 non-null int64\n", "github.com 36702 non-null bool\n", "0.690657769 0 non-null float64\n", "status 36702 non-null int64\n", "dtypes: bool(1), float64(3), int64(4), object(5)\n", "memory usage: 3.7+ MB\n" ] } ], "source": [ "uniqueLinks.info()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>year</th>\n", " <th>code</th>\n", " <th>oldcode</th>\n", " <th>httpsthing</th>\n", " <th>0.690657769</th>\n", " <th>status</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>count</th>\n", " <td>3.653600e+04</td>\n", " <td>36702.000000</td>\n", " <td>36702.000000</td>\n", " <td>22872.000000</td>\n", " <td>36702.000000</td>\n", " <td>0.0</td>\n", " <td>36702.000000</td>\n", " </tr>\n", " <tr>\n", " <th>mean</th>\n", " <td>2.282358e+07</td>\n", " <td>2012.014332</td>\n", " <td>237.005531</td>\n", " <td>222.919902</td>\n", " <td>0.137813</td>\n", " <td>NaN</td>\n", " <td>1.772628</td>\n", " </tr>\n", " <tr>\n", " <th>std</th>\n", " <td>3.722272e+06</td>\n", " <td>3.483438</td>\n", " <td>116.124262</td>\n", " <td>134.608017</td>\n", " <td>0.345182</td>\n", " <td>NaN</td>\n", " <td>1.541269</td>\n", " </tr>\n", " <tr>\n", " <th>min</th>\n", " <td>1.560816e+07</td>\n", " <td>2005.000000</td>\n", " <td>-1.000000</td>\n", " <td>-1.000000</td>\n", " <td>0.000000</td>\n", " <td>NaN</td>\n", " <td>-1.000000</td>\n", " </tr>\n", " <tr>\n", " <th>25%</th>\n", " <td>1.978383e+07</td>\n", " <td>2009.000000</td>\n", " <td>200.000000</td>\n", " <td>-1.000000</td>\n", " <td>0.000000</td>\n", " <td>NaN</td>\n", " <td>1.000000</td>\n", " </tr>\n", " <tr>\n", " <th>50%</th>\n", " <td>2.318078e+07</td>\n", " <td>2012.000000</td>\n", " <td>200.000000</td>\n", " <td>301.000000</td>\n", " <td>0.000000</td>\n", " <td>NaN</td>\n", " <td>1.000000</td>\n", " </tr>\n", " <tr>\n", " <th>75%</th>\n", " <td>2.595065e+07</td>\n", " <td>2015.000000</td>\n", " <td>301.000000</td>\n", " <td>301.000000</td>\n", " <td>0.000000</td>\n", " <td>NaN</td>\n", " <td>3.000000</td>\n", " </tr>\n", " <tr>\n", " <th>max</th>\n", " <td>2.916934e+07</td>\n", " <td>2017.000000</td>\n", " <td>999.000000</td>\n", " <td>405.000000</td>\n", " <td>2.000000</td>\n", " <td>NaN</td>\n", " <td>4.000000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " id year code oldcode httpsthing \\\n", "count 3.653600e+04 36702.000000 36702.000000 22872.000000 36702.000000 \n", "mean 2.282358e+07 2012.014332 237.005531 222.919902 0.137813 \n", "std 3.722272e+06 3.483438 116.124262 134.608017 0.345182 \n", "min 1.560816e+07 2005.000000 -1.000000 -1.000000 0.000000 \n", "25% 1.978383e+07 2009.000000 200.000000 -1.000000 0.000000 \n", "50% 2.318078e+07 2012.000000 200.000000 301.000000 0.000000 \n", "75% 2.595065e+07 2015.000000 301.000000 301.000000 0.000000 \n", "max 2.916934e+07 2017.000000 999.000000 405.000000 2.000000 \n", "\n", " 0.690657769 status \n", "count 0.0 36702.000000 \n", "mean NaN 1.772628 \n", "std NaN 1.541269 \n", "min NaN -1.000000 \n", "25% NaN 1.000000 \n", "50% NaN 1.000000 \n", "75% NaN 3.000000 \n", "max NaN 4.000000 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uniqueLinks.describe()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Percent of repeated links: 22.4%\n" ] } ], "source": [ "print( 'Percent of repeated links: %.1f%%' % ( (1 - len(uniqueLinks)/len(links))*100. ) )" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEfCAYAAACJcFuFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XucXVV99/HPl8Rw03ANiAmYWILlUrUyIEhrVVTw0RpsxYYiBI0GEQEvReGh9dp4VxAVbARKUB8g3CRVUBBE2qcIDHiBcJEoCpEI4SKkIoHAt3+sNXAymSSTYc/sOeH7fr3ymn3WXvvMOidnzm+vu2wTERHRhPXaLkBERKw7ElQiIqIxCSoREdGYBJWIiGhMgkpERDQmQSUiIhqToBIREY1JUImIiMYkqERERGPGtl2Akbblllt68uTJbRcjIqKrXHfddffanrCmfM+4oDJ58mR6e3vbLkZERFeR9NvB5EvzV0RENCZBJSIiGpOgEhERjUlQiYiIxiSoREREYxJUIiKiMQkqERHRmGfcPJUYfXp6etouwpBlzlPEilJTiYiIxiSoREREY9L8FaPLrC5oTprTvc11EcMtNZWIiGhMgkpERDQmQSUiIhozbEFF0mmS7pF0Y7/0IyTdKmmBpM91pB8raWE9t09H+q6SbqjnTpSkmr6+pLNr+tWSJg/Xa4mIiMEZzprK6cC+nQmSXgVMA15ke2fgCzV9J2A6sHO95iRJY+plJwOzgKn1X99zzgQesL09cDzw2WF8LRERMQjDFlRsXwnc3y/5MOAztpfVPPfU9GnAWbaX2b4dWAjsLmkbYLztq2wbOAPYr+OaufX4XGDvvlpMRES0Y6T7VHYA/ro2V/1Y0m41fSJwZ0e+RTVtYj3un77CNbaXAw8CWwz0SyXNktQrqXfJkiWNvZiIiFjRSAeVscBmwB7A0cC8WrsYqIbh1aSzhnMrJtpzbPfY7pkwYY1bLEdExBCNdFBZBJzv4hrgCWDLmr5tR75JwF01fdIA6XReI2kssAkrN7dFRMQIGumg8h3g1QCSdgDGAfcC84HpdUTXFEqH/DW2FwNLJe1RazQHAxfW55oPzKjHbwEur/0uERHRkmFbpkXSmcArgS0lLQI+CpwGnFaHGT8KzKiBYIGkecBNwHLgcNuP16c6jDKSbEPg4voP4FTgm5IWUmoo04frtURExOAMW1CxfcAqTr1tFflnA7MHSO8Fdhkg/RFg/6dTxoiIaFZm1EdERGMSVCIiojEJKhER0ZgElYiIaEyCSkRENCZBJSIiGpOgEhERjUlQiYiIxiSoREREYxJUIiKiMQkqERHRmASViIhoTIJKREQ0JkElIiIak6ASERGNSVCJiIjGDFtQkXSapHvqLo/9z/2TJEvasiPtWEkLJd0qaZ+O9F0l3VDPnVi3FaZuPXx2Tb9a0uThei0RETE4w1lTOR3Yt3+ipG2B1wJ3dKTtRNkOeOd6zUmSxtTTJwOzKPvWT+14zpnAA7a3B44HPjssryIiIgZt2IKK7Sspe8f3dzzwIcAdadOAs2wvs307sBDYXdI2wHjbV9W97M8A9uu4Zm49PhfYu68WExER7RjRPhVJbwJ+Z/vn/U5NBO7seLyopk2sx/3TV7jG9nLgQWCLVfzeWZJ6JfUuWbLkab+OiIgY2IgFFUkbAccBHxno9ABpXk366q5ZOdGeY7vHds+ECRMGU9yIiBiCkayp/BkwBfi5pN8Ak4DrJT2XUgPZtiPvJOCumj5pgHQ6r5E0FtiEgZvbIiJihIxYULF9g+2tbE+2PZkSFF5q+/fAfGB6HdE1hdIhf43txcBSSXvU/pKDgQvrU84HZtTjtwCX136XiIhoyXAOKT4TuAp4oaRFkmauKq/tBcA84Cbg+8Dhth+vpw8DTqF03v8KuLimnwpsIWkh8AHgmGF5IRERMWhjh+uJbR+whvOT+z2eDcweIF8vsMsA6Y8A+z+9UkZERJMyoz4iIhqToBIREY1JUImIiMYkqERERGMSVCIiojEJKhER0ZgElYiIaEyCSkRENCZBJSIiGpOgEhERjUlQiYiIxiSoREREYxJUIiKiMQkqERHRmASViIhoTIJKREQ0Zjh3fjxN0j2SbuxI+7ykWyT9QtIFkjbtOHespIWSbpW0T0f6rpJuqOdOrNsKU7cePrumXy1p8nC9loiIGJzhrKmcDuzbL+1SYBfbLwJ+CRwLIGknYDqwc73mJElj6jUnA7Mo+9ZP7XjOmcADtrcHjgc+O2yvJCIiBmXYgortK4H7+6VdYnt5ffgTYFI9ngacZXuZ7dsp+9HvLmkbYLztq2wbOAPYr+OaufX4XGDvvlpMRES0o80+lXcAF9fjicCdHecW1bSJ9bh/+grX1ED1ILDFQL9I0ixJvZJ6lyxZ0tgLiIiIFbUSVCQdBywHvt2XNEA2ryZ9ddesnGjPsd1ju2fChAlrW9yIiBikEQ8qkmYAbwQOrE1aUGog23ZkmwTcVdMnDZC+wjWSxgKb0K+5LSIiRtaIBhVJ+wIfBt5k++GOU/OB6XVE1xRKh/w1thcDSyXtUftLDgYu7LhmRj1+C3B5R5CKiIgWjB2uJ5Z0JvBKYEtJi4CPUkZ7rQ9cWvvUf2L73bYXSJoH3ERpFjvc9uP1qQ6jjCTbkNIH09cPcyrwTUkLKTWU6cP1WiIiYnCGLajYPmCA5FNXk382MHuA9F5glwHSHwH2fzpljIiIZmVGfURENCZBJSIiGpOgEhERjUlQiYiIxiSoREREYxJUIiKiMQkqERHRmASViIhoTIJKREQ0JkElIiIak6ASERGNSVCJiIjGJKhERERjElQiIqIxCSoREdGYYQsqkk6TdI+kGzvSNpd0qaTb6s/NOs4dK2mhpFsl7dORvqukG+q5E+sOkNRdIs+u6VdLmjxcryUiIgZnOGsqpwP79ks7BrjM9lTgsvoYSTtRdm7cuV5zkqQx9ZqTgVmULYandjznTOAB29sDxwOfHbZXEhERgzJsQcX2lZRtfjtNA+bW47nAfh3pZ9leZvt2YCGwu6RtgPG2r6r7z5/R75q+5zoX2LuvFhMREe0Y6T6VrW0vBqg/t6rpE4E7O/ItqmkT63H/9BWusb0ceBDYYqBfKmmWpF5JvUuWLGnopURERH+jpaN+oBqGV5O+umtWTrTn2O6x3TNhwoQhFjEiItZk7Aj/vrslbWN7cW3auqemLwK27cg3Cbirpk8aIL3zmkWSxgKbsHJzW8QzWk9PT9tFGLLe3t62ixBDMKiaiqS9BpM2CPOBGfV4BnBhR/r0OqJrCqVD/praRLZU0h61v+Tgftf0PddbgMtrv0tERLRksM1fXxlk2pMknQlcBbxQ0iJJM4HPAK+VdBvw2voY2wuAecBNwPeBw20/Xp/qMOAUSuf9r4CLa/qpwBaSFgIfoI4ki4iI9qy2+UvSnsDLgQmSPtBxajwwZuCrCtsHrOLU3qvIPxuYPUB6L7DLAOmPAPuvrgwR0WFWFzQnzene5roo1tSnMg54ds33nI70hyhNThEREU9abVCx/WPgx5JOt/3bESpTRER0qcGO/lpf0hxgcuc1tl89HIWKiIjuNNigcg7wdUqH+eNryBsREc9Qgw0qy22fPKwliYiIrjfYIcX/Iek9krapKw1vLmnzYS1ZRER0ncHWVPomGR7dkWbgBc0WJyIiutmggortKcNdkIiI6H6DCiqSDh4o3fYZzRYnIiK62WCbv3brON6AMiv+esr+JhEREcDgm7+O6HwsaRPgm8NSooiI6FpD3U/lYcpKwhEREU8abJ/Kf/DUBlhjgB0pqwpHREQ8abB9Kl/oOF4O/Nb2olVljoiIZ6ZBNX/VhSVvoaxUvBnw6HAWKiIiutNgd358K3ANZf+StwJXS8rS9xERsYLBdtQfB+xme4btg4HdgX8Z6i+V9H5JCyTdKOlMSRvUpV8ulXRb/blZR/5jJS2UdKukfTrSd5V0Qz13Yt1yOCIiWjLYoLKe7Xs6Ht+3FteuQNJE4Eigx/YulI7/6ZTtgC+zPRW4rD5G0k71/M7AvsBJkvp2nTwZmEUZiTa1no+IiJYMNjB8X9IPJB0i6RDge8BFT+P3jgU2lDQW2Ai4C5gGzK3n5wL71eNpwFm2l9m+nbJX/e6StgHG277KtikTMfcjIiJas6Y96rcHtrZ9tKS/A/4KEHAV8O2h/ELbv5P0BeAO4E/AJbYvkbS17cU1z2JJW9VLJgI/6XiKRTXtsXrcP32g1zGLUqNhu+22G0qxIyJiENZUUzkBWApg+3zbH7D9fkot5YSh/MLaVzINmAI8D9hY0ttWd8kAaV5N+sqJ9hzbPbZ7JkyYsLZFjoiIQVpTUJls+xf9E233UrYWHorXALfbXmL7MeB84OXA3bVJi/qzrw9nEbBtx/WTKM1li+px//SIiGjJmoLKBqs5t+EQf+cdwB6SNqqjtfYGbgbm89S+LTOAC+vxfGC6pPUlTaF0yF9Tm8qWStqjPs/BHddEREQL1jSj/lpJ77L9jc5ESTOB64byC21fLelcyirHy4GfAnOAZwPz6nPfQZkTg+0FkuYBN9X8h9t+vD7dYcDplAB3cf0XEREtWVNQeR9wgaQDeSqI9ADjgDcP9Zfa/ijw0X7Jyyi1loHyzwZmD5DeC+wy1HJERESzVhtUbN8NvFzSq3jqy/t7ti8f9pJFRETXGex+Kj8CfjTMZYmIiC431P1UIiIiVpKgEhERjUlQiYiIxiSoREREYxJUIiKiMQkqERHRmASViIhoTIJKREQ0JkElIiIak6ASERGNSVCJiIjGJKhERERjElQiIqIxCSoREdGYVoKKpE0lnSvpFkk3S9pT0uaSLpV0W/25WUf+YyUtlHSrpH060neVdEM9d2LdVjgiIlrSVk3ly8D3bf858GLKHvXHAJfZngpcVh8jaSdgOrAzsC9wkqQx9XlOBmZR9q2fWs9HRERLRjyoSBoPvAI4FcD2o7b/AEwD5tZsc4H96vE04Czby2zfDiwEdpe0DTDe9lW2DZzRcU1ERLSgjZrKC4AlwL9L+qmkUyRtDGxtezFA/blVzT8RuLPj+kU1bWI97p++EkmzJPVK6l2yZEmzryYiIp40qO2Eh+F3vhQ4wvbVkr5MbepahYH6Sbya9JUT7TnAHICenp4B80TE6NLT09N2EQatt7e37SKMGm3UVBYBi2xfXR+fSwkyd9cmLerPezryb9tx/STgrpo+aYD0iIhoyYgHFdu/B+6U9MKatDdwEzAfmFHTZgAX1uP5wHRJ60uaQumQv6Y2kS2VtEcd9XVwxzUREdGCNpq/AI4Avi1pHPBr4O2UADdP0kzgDmB/ANsLJM2jBJ7lwOG2H6/PcxhwOrAhcHH9FxHrglmjvElpTvc0z42kVoKK7Z8BA/2P7L2K/LOB2QOk9wK7NFu6iIgYqsyoj4iIxiSoREREYxJUIiKiMQkqERHRmASViIhoTIJKREQ0JkElIiIak6ASERGNSVCJiIjGJKhERERjElQiIqIxCSoREdGYBJWIiGhMW0vfd51u2oWuv+xKFxEjJTWViIhoTIJKREQ0prXmL0ljgF7gd7bfKGlz4GxgMvAb4K22H6h5jwVmAo8DR9r+QU3flad2frwIOMq2h73wo31HOsiudBHRijZrKkcBN3c8Pga4zPZU4LL6GEk7AdOBnYF9gZNqQAI4GZhF2bd+aj0fEREtaSWoSJoEvAE4pSN5GjC3Hs8F9utIP8v2Mtu3AwuB3SVtA4y3fVWtnZzRcU1ERLSgrZrKCcCHgCc60ra2vRig/tyqpk8E7uzIt6imTazH/dNXImmWpF5JvUuWLGnmFURExEpGPKhIeiNwj+3rBnvJAGleTfrKifYc2z22eyZMmDDIXxsREWurjY76vYA3Sfo/wAbAeEnfAu6WtI3txbVp656afxGwbcf1k4C7avqkAdIjIqIlI15TsX2s7Um2J1M64C+3/TZgPjCjZpsBXFiP5wPTJa0vaQqlQ/6a2kS2VNIekgQc3HFNRES0YDTNqP8MME/STOAOYH8A2wskzQNuApYDh9t+vF5zGE8NKb64/ouIiJa0GlRsXwFcUY/vA/ZeRb7ZwOwB0nuBXYavhBERsTYyoz4iIhqToBIREY1JUImIiMYkqERERGMSVCIiojEJKhER0ZgElYiIaEyCSkRENCZBJSIiGpOgEhERjUlQiYiIxiSoREREYxJUIiKiMQkqERHRmASViIhoTBt71G8r6UeSbpa0QNJRNX1zSZdKuq3+3KzjmmMlLZR0q6R9OtJ3lXRDPXdi3QEyIiJa0kZNZTnwQds7AnsAh0vaCTgGuMz2VOCy+ph6bjqwM7AvcJKkMfW5TgZmUbYYnlrPR0RES9rYo36x7evr8VLgZmAiMA2YW7PNBfarx9OAs2wvs307sBDYXdI2wHjbV9k2cEbHNRER0YJW+1QkTQb+Erga2Nr2YiiBB9iqZpsI3Nlx2aKaNrEe90+PiIiWtBZUJD0bOA94n+2HVpd1gDSvJn2g3zVLUq+k3iVLlqx9YSMiYlBaCSqSnkUJKN+2fX5Nvrs2aVF/3lPTFwHbdlw+Cbirpk8aIH0ltufY7rHdM2HChOZeSERErKCN0V8CTgVutv2ljlPzgRn1eAZwYUf6dEnrS5pC6ZC/pjaRLZW0R33OgzuuiYiIFoxt4XfuBRwE3CDpZzXt/wKfAeZJmgncAewPYHuBpHnATZSRY4fbfrxedxhwOrAhcHH9FxERLRnxoGL7vxi4PwRg71VcMxuYPUB6L7BLc6WLiIinIzPqIyKiMQkqERHRmASViIhoTIJKREQ0JkElIiIak6ASERGNSVCJiIjGJKhERERjElQiIqIxCSoREdGYBJWIiGhMgkpERDQmQSUiIhqToBIREY1JUImIiMYkqERERGO6PqhI2lfSrZIWSjqm7fJERDyTdXVQkTQG+BrwemAn4ABJO7VbqoiIZy7ZbrsMQyZpT+Bjtvepj48FsP3pVV3T09Pj3t7etf5dPT09Qy1mRMSo8K53vYtDDz10SNdKus72Gr8Iuz2ovAXY1/Y76+ODgJfZfm+/fLOAWfXhC4FbR7Sga7YlcG/bhVhH5b0dPt303nZTWUer59uesKZMY0eiJMNIA6StFCVtzwHmDH9xhkZS72DuAGLt5b0dPt303nZTWbtdV/epAIuAbTseTwLuaqksERHPeN0eVK4FpkqaImkcMB2Y33KZIiKesbq6+cv2cknvBX4AjAFOs72g5WINxahtmlsH5L0dPt303nZTWbtaV3fUR0TE6NLtzV8RETGKJKhERERjElQinuEkbd52GWLdkaAyDCTtJmnvtsuxLpA00FykaIikNwD3Stq37bIMlqSXSHpN2+WIgSWoDI9nASdLel3bBelmkuQ6kkTStpL+vO0yrUskvR74HDAN+Hg3fF7r2n4/AU6StGnb5YmVJag0TNJ6tv8b+DjwTUn7tF2mLjZO0jhJxwNnATdJ2rrtQq0L6p3+icCetv8DOAM4TNL6o7V2KGk34MfAo8DFtv/QcpFiAF09T2U0sv2EpBcCWwP/CXxF0hG2f9By0bpKfQ8PAranLMczH7ja9t2tFmwdUGso3wO+ZvshSZOArYCf2V7WbukGVgPKD4EjgPHA1TX9pcCDtn/VYvGiQ4JKwyRNBd5GaQL7Z8ofwEmSNrB9YauF6wK1iWtP4LOUL5H3URYC/B5wXotFWydImgZ8CtgG+Laki4AllLv/77dZtlWRtCtwCXAU5UbtEuAVknYG3gqsJ+mTtpe2WMyoMvmxQTWgHEQJKJfY/lFNfykww/ZRbZZvtJO0EXA2cB3wOHAg8G5gIrC37Xf0y/9kn0usmaRnA1cCr7d9t6T9gcOBY4Hf2769X/7W319Jf0n5PLzX9kmS3kFptv8upexjgAtsX9tiMaNDgkpD6h32PwAbAD+wfUVN/wHwOduX1cfr2X6itYKOcjWwYPthSfsBXwauoCzFcx3w58B9tv+r5m/9i6+bdH7+JB0K7Gz7SEkbUxZnnQws67ghavX9rc2ge9k+rW7K90PK5+B/gGcD37L9s478+Ty0LM1fDZD0LODNwBbAubavrOlnUe6yL5e0vu1ltc8lH/xVsP1wx/F3JL0KeC3wJ+BVwGbAdpL+n+0T8j6unY6Ash7wTuD0GlA+DOxF+dJ+laQe259v+/21fStP7X/0YmATSnPdpsAXKE1fuwCb2f5P287fV7sy+qsBth8DTgHO7ggo51A6mf+CUkWfLelva36P1hE2o0m9S90WOAf4NXCq7bdQto/eR9JebZavy20O3EBpbvxr4DmUZtvltl8HvFrSji2WbyCvA15CGVTwZcrf138C76EMiHkPlL+v1koYqak0xfYSyh1UX5PXeGA3YCNKp/MBwGRJz7P9b/ngD8o9wG+BXYBbbf+k3oXeV3fzXGFIae5QB8/2vZLeV0d/vQq4D9gbmC9pd2Ap8EDnNaOg6fZCyqjKE4DnAhcAb7f9XUmTgfMk/dD2L6H0Idn+n7YK+0yVmkqDVEyk3PG9HNgQOI5yZ/Wyepd9aB3N8uQ1rRS2C9h+APgE8HPgNzV5TD13J/D3kqZL+rualhrgWqgBRZTdUu+vNe6/ozQ1/hx4sE46nVrzP1Gbzdoq783Ah+v//T7AF2tAEWVzvluBhyRtobK1+N6SNmyrvM9UCSoNcvE726+mBJRPA1OAD9leWO+mng28rN4Npqq+BjWwnAd8QNJBtpcDSDoZ+CDljvUYSUfV/Hk/10J9v86g3OwcaftPtg8GfgUcRpkfdEZf0xIws+Vmscfqz8146gbDwJdq2h+AfweOpuwM+9gAzxHDKM1fw2djShPYP9v+jaQXUZbEuBq4AzhB0pm2v9JmIbuB7QW1P+pvASR9Bngp8OJ693wuZfWC72YS3NqzfZOkA4HPSLoSuBvYmdIEdihwPXCBysKT2wEPAze3VNa+m4a5lHk2WwDPo9y8vYLyGXmM8t32GtvXtVHOZ7IMKR5GksbW3Sn/kjLh7EfASbb/R9K7gR1sf6DdUnYPSWNsPy7pVODrtq+VNL4242xWazWd+dPHshYkbWz7j5JeAcwG3u26k6qkKyg3Qz8AzgVeDdxl++ctlncHykTZP1L6V/6BMojj34D7gf2AL9l+pK0yPhOlpjK8npA0DvgIpYbSF1D+DHgR8LP+F+SLcLWeqMO3NwV6gGttP1TPTZT0V8ALgMW252V46dqx/cd6uAPwi1pDHAccQulnOb8O894K+CmwY1+gb6m8vwT6OuVfSRl6fjZwo+0/SLolc8JGXoLKMKof6EclvRN4pN4FvoCy3ISBUyT9PeUPdmPb5+SLcNXqe/KYpH8BzpW01Pa3VLYZeCdlYuRxlD6WrW1/Je/jkFwBvE/S24HXUJq75taA8g5KDeBQ4Mpac2x7VBiU//vltr/bl9AxJ0eUUWOivJ5FrpM7o3npqB8Btu+rAWUyZUmMMbYPpzSJfYlSfX+XpPfX/PkiXA3bN1FGKd0jaSywO3AtZQjsVpR29ZdLmpDRYGvP9kJK4OihzAX5ru2z6oiqVwJn2F5cz/WNCmv7ff4x8Nra1Nzfs4CvU+Y77Qt8o/ZxxjBIUBlZDwPLgQ9LOpoyL+BaYA/Kh/01tWkh1sD2LbYvoXyG/wq4oo66OwD4/8BvbS/pDNCj4Iuva9TA8jHKEkMXSnob5TN6ge1z6+NrJb2s5m975v3NlP6VgQZq7EyZQ/ZnlH7NlwAPDZAvGpCO+hHW11Qg6YuUJV2uqpMlbwemAgfYvqfdUnYPlbXCzgDOs31m7XP5FCWw3Au8DLjb9rdq/jQtriVJ04F/pKxocKGkdwHHAJdTmtB/bPv0Fou4SpL+hlLrWkJZ3fj5ts/rOD8amu7WKelTaUH94tucMkHyKuCNlFVXr0pAWTsuC09+HJgraaLtLwBHS3oOZROqRcB+tY/liwkoQ3IlsNT29yTNpMwBOYBSyx5HeX87d+kcFYFbZSOy11Kal0+2/YCkLevIy7ttX+Csxde4NH+NMNtPuMxc/hxwiKRZth+zvY/tf4YydLYvf1+TTZpuVs32DZQtBzaQNEllifdllDb/SylBe/c66g7I+7k2bN9VA8oMypJDB9q+xsUyyjI6B9ZO/FGxskGdSf8KyqrhXyxJOpqyQsOmwCdVVmluveluXZPmrxapbDJ0LPD5vvH+HXNbxgBPAFu57naYO6rVq+/ZLsDU2u5/IPAC25+sNZW7JT3HdTOnvJ9rpwblTWxfXx+vD3yHsmjqK4BvABfaPrG9Uj5F0gTgcdv31xGYfw182fb1taP+Y8BMys6RqbE0JM1fLarzAGa5Lvde23eX66mlyCcCz5d0ru2v5wO/enV46wPAv0p6AriTUhvctAaUjwF/Iely21/L+7l2XFcr6PjyPZPStPTfwJsoTWInSJrjUTDh0GWRV+rf01uBE2tA2ZAytPgBd0yYzeehGQkqLesIKKp3S+tThhk/SJklvJAyJ+MO2xe1WNSuYPuOOvfnbMreIA8BqCzzMotyt3qWpGW2T6nnNrH9YFtl7jYdX74PAkfaXirpYspw40f75x8FNYDHKMPN+77vXglMomxRjcrSNCfYPr+V0q1j0qcySnT80e1AWS7/34FLbd9CaWLYoDN/223Wo5nL0iKvowTnD9j+A/ATyqS+P1C2KX6+pA0kbQC8XXUl3hicere/NeW9BJhG2QL668B4STt2Djdu8/Nq+1HKiMDj6kjLGcCvbZ8v6Uxgo/4BJX9fQ5c+lVGmjlh5t8sy+X1DIk8D3kIZFrmFW1xvqdtIOgIYZ/uLkj4J/Mb2qfXcX9Rsi4FHgCfcsfNkrJ6knYB5wFcpw40fk/S6+vgKylJE3/YoWTRV0jaUGsottXZ1JjDZ9p71/GTKyhYL2itl90tNZfT5JeUu+sA6g/njlKVHFlPmChxdRzjlTmpwLgfeprKUy6OUOQvUu+iZwCG27wV2Ai6S9PzWStplXFY22J/S97eZyvpb3wLeaXsW5b1+l+o2D5Keo7KqcFvlXWz72hpQ3g9M6Qgo2wFvAD6ljgnI+Ttbe6mpjEJ1ZMpRlKXzTwduo8xm3omyqN8l7ZWu+9T38xOU/c0/TJkU+R5QQPnhAAAFeElEQVTK0u5zKM2NJ1Ha2E8D/phO28GTNM72o5LeB2xo+9OSNqpziLalLEu/PWWE2Dm2v9dyeUUZdbme7X9VWY/v1cDfUD4HvwJ2dl0fbBT0CXWVdNSPQrZ/oTJreWz9Y30nZamJc21fCiDp68BZtq+ojzetfQfRT30//8H2sjos9j2URTxPosxZOJnSof8r1+1n80WyVvo2wtqcp1o//gRlh85aO5kN3Nl2QKllsqT5lAmzT1CGRBs4Hvg1ZV7Lc1RWYP5hX59QPg+Dk+avUapOknxU0njgYMqaS30B5XOUWszy2iH6cWCGOiZNxopqQFmfsoy7gK8AW1A6ln8LXExZ3fiImj9fIIPU8V59G3iTpIP70mpz4seBy4A/SXpjS8Vcge0bKc1zm1EGHHyKsl/M5yifj6uBj0j6YM2fz8MgpaYy+o2jjPzqW8b7RMrd9b+67NjXC+xoe+MWy9gVamDpm5i3GXACZT2oU2zfJ+mXlI2eAKh9Afe7LK4Ya2D7Vkn/CLy5jg7bmBK077B9aJ0vskPnNW3WAGot6gRgS8qQ408Av6E0MS+ow6T/RXXzsjbK2I1SUxnlaifyIcBBkhYCu1JWjr1J0ucpfxALJO3fYjG7Rp0Q9wfKHelmlD1B7qunD6T0ryBpN8qEuffWYccxCLUGMNv2n4CvAbfbPrSengJMkfRBSQfU/G0PN/4dcCOlr+0BakCpp4+k3HivMJFTUr43VyM1lS5QA8hxlA/5N23fKOnLwBtsT65fejPaLWX3qENfDwXeTxliSg3QLwZeL2l74M2UdvYTRsPs8G5SJ/GOB55LmYSKpGmUoL0D8EHgo5K2sP3VtpuWXFZi+AQwwWUJfSTNoaxw/TJgnKQXU/o4/6tvkrLLumfRT0Z/dZG+D7Kkf6LsvNeTmeBDV+dZfAf4ObAdpY19E8pQ4/Uo60Td0ZE/nbVrQWVtu6Mp22nPBO6jTJKcC3yf0iF+FGW5lFHzvkr6FqXz/mWUPe/fSKllbQp8mbI8zfGUG47b2irnaJWg0mVUls0/kbIP99dUF6Bsu1zdStKWlNFLDwGTgcMoAeUjlC+W9YDN+0YtJbCsHUkb2H5E0veBo2q/yyWUIH6B7WP75W/t/a3NcFsDF1GWcnkuJSheSJnM+TDlJuRuntpi+fo2yjqapW2wy7gsm/9VyoS+lySgPD227621vZdQmmVMmcNwAGX72a2AoyQdVfMnoKyFGlA2okw87dvq928pG6tdLem5kt4s6VU1v2vTWRtlte3fA7vafgjYh/J5+O861HwSpU/zPhJQVilBpQvVjsQ32f5Z22VZhyyiLJB4AqU/5SPATZT5Qa8HpqljP5YYPJelb44DPiTpn2pfxFeB5wOfpjTlHi/pEEk7UNbo2r69EqM6PH8yZW7N/ZKeR9nt8hISUFYrHfVdqo5iiobYXiLpY7UTf0fKQpTn1aaaDSkBJ9vODpHtG+qyQ/tJ2pzSYT8ZuMj2OXUO0TnAjvWS57RT0jLQAEDSKcAcSY9Rlki6FPhGX2d+DCw1lYin9DUlbkqpoUBZD2ovymKTt7dSqnVErWF/yvb9lNrgONvn1NOvpPRhPQacafun7ZTyKTV4HET5LNxMCSitl2u0S0d9RD+SXki5az7B9mmdnccqG6mlxvI0SBpLGUX1M9vfkLQnZVTYGMoX9y9bLWA/tWa1XZqbBydBJWIAdTjsbEpguaLl4qxzJO0C/BtwPaUmeBFlbbt8cXe5BJWIVVB2hBxWKsvNH0lZzuX40VZDiaFJUIlYg8xNGT51ntDzbP+i7bJEMxJUIiKiMRn9FRERjUlQiYiIxiSoREREYxJUIiKiMQkqERHRmASViIhoTIJKREQ05n8BbGzZ53hgHrsAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "statuses = np.array( uniqueLinks.status )\n", "\n", "f, ax = pl.subplots(1, 1)\n", "ax.hist( statuses, np.arange(-1.5,6,1), edgecolor=(0.2,0.2,0.2), lw=3, \n", " color=(0.2,0.6,1.0) )\n", "\n", "\n", "ax.set_ylabel('Count')\n", "ax.set_xticks([-1, 1, 3, 4])\n", "ax.set_xticklabels( ['Time out', 'Accessible', 'Redirected', 'Not found'], rotation=-45 )\n", "\n", "pl.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(19209,)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.unique(uniqueLinks.id).shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fixing http -> https redirection\n", "\n", "Due to increased security awareness in the past few years, a number of links marked as redirections are in fact just changing the http protocol to https. We will not consider them as redirection, if the rest of the URL is the same." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# redirection_checking = pd.read_csv('http2https.redirected.csv', \n", "# header=None, names=['pubmed_id', 'url', 'status', 'https_redirect']\n", "# )\n", "# redirection_checking.head(10)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# for index, row in redirection_checking.iterrows():\n", "# if row['https_redirect'] == 'True' and uniqueLinks[ uniqueLinks.link == row['url']].shape[0] > 0:\n", "# idx = np.where(uniqueLinks.link == row['url'])[0][0]\n", "# uniqueLinks.iloc[idx,6] = 1" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>type</th>\n", " <th>journal</th>\n", " <th>id</th>\n", " <th>year</th>\n", " <th>link</th>\n", " <th>code</th>\n", " <th>newtest</th>\n", " <th>oldcode</th>\n", " <th>concated</th>\n", " <th>httpsthing</th>\n", " <th>github.com</th>\n", " <th>0.690657769</th>\n", " <th>status</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>2</th>\n", " <td>body</td>\n", " <td>Nucleic_Acids_Res</td>\n", " <td>21398627.0</td>\n", " <td>2011</td>\n", " <td>(http://globin.cse.psu.edu/html/docs/sim4.html</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>21398627(http://globin.cse.psu.edu/html/docs/s...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>19426459.0</td>\n", " <td>2009</td>\n", " <td>(http://www.eumodic.org/documents/EMPReSSslim%...</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>19426459(http://www.eumodic.org/documents/EMPR...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>16026597.0</td>\n", " <td>2005</td>\n", " <td>(http://www.fda.gov/cder/genomics/</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>16026597(http://www.fda.gov/cder/genomics/</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>body</td>\n", " <td>BMC_Bioinformatics</td>\n", " <td>16026597.0</td>\n", " <td>2005</td>\n", " <td>(http://www.fda.gov/oc/initiatives/criticalpath/</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>16026597(http://www.fda.gov/oc/initiatives/cri...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>body</td>\n", " <td>PLoS_Comput_Biol</td>\n", " <td>22022247.0</td>\n", " <td>2011</td>\n", " <td>(http://www.ks.uiuc.edu/Development/MDTools/io...</td>\n", " <td>-1</td>\n", " <td>http</td>\n", " <td>-1.0</td>\n", " <td>22022247(http://www.ks.uiuc.edu/Development/MD...</td>\n", " <td>0</td>\n", " <td>False</td>\n", " <td>NaN</td>\n", " <td>-1</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " type journal id year \\\n", "2 body Nucleic_Acids_Res 21398627.0 2011 \n", "4 body BMC_Bioinformatics 19426459.0 2009 \n", "5 body BMC_Bioinformatics 16026597.0 2005 \n", "6 body BMC_Bioinformatics 16026597.0 2005 \n", "7 body PLoS_Comput_Biol 22022247.0 2011 \n", "\n", " link code newtest oldcode \\\n", "2 (http://globin.cse.psu.edu/html/docs/sim4.html -1 http -1.0 \n", "4 (http://www.eumodic.org/documents/EMPReSSslim%... -1 http -1.0 \n", "5 (http://www.fda.gov/cder/genomics/ -1 http -1.0 \n", "6 (http://www.fda.gov/oc/initiatives/criticalpath/ -1 http -1.0 \n", "7 (http://www.ks.uiuc.edu/Development/MDTools/io... -1 http -1.0 \n", "\n", " concated httpsthing github.com \\\n", "2 21398627(http://globin.cse.psu.edu/html/docs/s... 0 False \n", "4 19426459(http://www.eumodic.org/documents/EMPR... 0 False \n", "5 16026597(http://www.fda.gov/cder/genomics/ 0 False \n", "6 16026597(http://www.fda.gov/oc/initiatives/cri... 0 False \n", "7 22022247(http://www.ks.uiuc.edu/Development/MD... 0 False \n", "\n", " 0.690657769 status \n", "2 NaN -1 \n", "4 NaN -1 \n", "5 NaN -1 \n", "6 NaN -1 \n", "7 NaN -1 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uniqueLinks.head()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 4360 16720 9789 5833] [-1.2 -0.8 1.8 3.8 4.8]\n", "0.11879461609721541\n", "0.45556100484987194\n", "0.26671571031551417\n", "0.1589286687373985\n" ] } ], "source": [ "statuses = uniqueLinks.status\n", "count, bin_values = np.histogram(statuses, bins = [-1.2,-0.8,1.8,3.8,4.8])\n", "\n", "print(count, bin_values)\n", "total = float(count.sum())\n", "\n", "for j in range(4):\n", " print(count[j]/total)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.2777232848346139" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(count[0]+count[-1])/total" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Constructing a dataframe with only abstracts" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'pandas.core.frame.DataFrame'>\n", "Int64Index: 7183 entries, 22 to 48382\n", "Data columns (total 13 columns):\n", "type 7183 non-null object\n", "journal 7183 non-null object\n", "id 7182 non-null float64\n", "year 7183 non-null int64\n", "link 7183 non-null object\n", "code 7183 non-null int64\n", "newtest 4185 non-null object\n", "oldcode 4185 non-null float64\n", "concated 7183 non-null object\n", "httpsthing 7183 non-null int64\n", "github.com 7183 non-null bool\n", "0.690657769 0 non-null float64\n", "status 7183 non-null int64\n", "dtypes: bool(1), float64(3), int64(4), object(5)\n", "memory usage: 736.5+ KB\n" ] } ], "source": [ "uniqueLinks_abs = uniqueLinks[ uniqueLinks.type == 'abstract' ]\n", "uniqueLinks_abs.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Number of entries per journal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, let's evaluate the number of entries detected per journal." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Journal name \t\t Count\n", "Nat_Biotechnol\t\t 180\n", "Genome_Med\t\t 352\n", "Nat_Methods\t\t 403\n", "Genome_Biol\t\t 904\n", "BMC_Syst_Biol\t\t 912\n", "Bioinformatics\t\t 3131\n", "PLoS_Comput_Bio\t\t 3226\n", "BMC_Bioinformat\t\t 6840\n", "BMC_Genomics\t\t 7651\n", "Nucleic_Acids_R\t\t 13103\n" ] } ], "source": [ "journals = np.array( uniqueLinks.journal )\n", "journalTitles = np.unique(journals)\n", "\n", "jhash = {}\n", "for jid,journal in enumerate(journalTitles):\n", " jhash[journal] = jid\n", "listxs = np.arange(0,11,1)\n", "\n", "journals_num = [ jhash[journal] for journal in journals ]\n", "\n", "counts, bins = np.histogram( journals_num, bins=listxs )\n", "\n", "newIDX = np.argsort(counts)\n", "\n", "f, ax = pl.subplots(1, 1)\n", "ax.barh( bins[0:-1], counts[newIDX], 0.8, edgecolor=(0.2,0.2,0.2), lw=2, \n", " color=(0.2,0.6,1.0) )\n", "\n", "ax.spines['bottom'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.get_xaxis().tick_top()\n", "ax.get_yaxis().tick_left()\n", "\n", "ax.text( 5000, 11.3, 'Entries count', fontsize=12 )\n", "\n", "ax.set_yticks( listxs )\n", "ax.set_yticklabels( journalTitles[newIDX], rotation=0, fontsize=12 )\n", "\n", "pl.show()\n", "\n", "print('Journal name \\t\\t Count')\n", "for jid,journal in enumerate(journalTitles[newIDX]):\n", " print('%s\\t\\t %d' %(journal[:15],counts[newIDX][jid]) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's also detect how many of them were usable (i.e. accessible or redirected)." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Journal name \t\t Count\n", "Nat_Biotechnol\t\t 149\n", "Genome_Med\t\t 312\n", "Nat_Methods\t\t 326\n", "BMC_Syst_Biol\t\t 638\n", "Genome_Biol\t\t 746\n", "Bioinformatics\t\t 2448\n", "PLoS_Comput_Bio\t\t 2529\n", "BMC_Bioinformat\t\t 4651\n", "BMC_Genomics\t\t 5699\n", "Nucleic_Acids_R\t\t 9011\n" ] } ], "source": [ "usable_links = uniqueLinks[(uniqueLinks.status == 1) | (uniqueLinks.status == 3)]\n", "journals = np.array( usable_links.journal )\n", "journalTitles = np.unique(journals)\n", "\n", "jhash = {}\n", "for jid,journal in enumerate(journalTitles):\n", " jhash[journal] = jid\n", "listxs = np.arange(0,11,1)\n", "\n", "journals_num = [ jhash[journal] for journal in journals ]\n", "\n", "counts, bins = np.histogram( journals_num, bins=listxs )\n", "\n", "newIDX = np.argsort(counts)\n", "\n", "f, ax = pl.subplots(1, 1)\n", "ax.barh( bins[0:-1], counts[newIDX], 0.8, edgecolor=(0.2,0.2,0.2), lw=2, \n", " color=(0.2,0.6,1.0) )\n", "\n", "ax.spines['bottom'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.get_xaxis().tick_top()\n", "ax.get_yaxis().tick_left()\n", "\n", "ax.text( 5000, 11.3, 'Entries count', fontsize=12 )\n", "\n", "ax.set_yticks( listxs )\n", "ax.set_yticklabels( journalTitles[newIDX], rotation=0, fontsize=12 )\n", "\n", "pl.show()\n", "\n", "print('Journal name \\t\\t Count')\n", "for jid,journal in enumerate(journalTitles[newIDX]):\n", " print('%s\\t\\t %d' %(journal[:15],counts[newIDX][jid]) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Number of entries per abstract" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Same for the number of abstracts" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Journal name \t\t Count\n", "Nat_Biotechnol\t\t 1\n", "Genome_Med\t\t 18\n", "Nat_Methods\t\t 20\n", "Genome_Biol\t\t 60\n", "BMC_Syst_Biol\t\t 104\n", "PLoS_Comput_Bio\t\t 259\n", "BMC_Genomics\t\t 386\n", "BMC_Bioinformat\t\t 1161\n", "Bioinformatics\t\t 1866\n", "Nucleic_Acids_R\t\t 3308\n" ] } ], "source": [ "journals = np.array( uniqueLinks_abs.journal )\n", "journalTitles = np.unique(journals)\n", "\n", "jhash = {}\n", "for jid,journal in enumerate(journalTitles):\n", " jhash[journal] = jid\n", "listxs = np.arange(0,11,1)\n", "\n", "journals_num = [ jhash[journal] for journal in journals ]\n", "\n", "counts, bins = np.histogram( journals_num, bins=listxs )\n", "\n", "newIDX = np.argsort(counts)\n", "\n", "f, ax = pl.subplots(1, 1)\n", "ax.barh( bins[0:-1], counts[newIDX], 0.8, edgecolor=(0.2,0.2,0.2), lw=2, \n", " color=(0.2,0.6,1.0) )\n", "\n", "ax.spines['bottom'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.get_xaxis().tick_top()\n", "ax.get_yaxis().tick_left()\n", "\n", "ax.text( 1200, 11.3, 'Entries count', fontsize=12 )\n", "\n", "ax.set_yticks( listxs )\n", "ax.set_yticklabels( journalTitles[newIDX], rotation=0, fontsize=12 )\n", "\n", "pl.show()\n", "\n", "print('Journal name \\t\\t Count')\n", "for jid,journal in enumerate(journalTitles[newIDX]):\n", " print('%s\\t\\t %d' %(journal[:15],counts[newIDX][jid]) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Number of of links per year" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "uLinks_year = uniqueLinks.groupby(['year', 'status']).agg('count')" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th></th>\n", " <th>type</th>\n", " <th>journal</th>\n", " <th>id</th>\n", " <th>link</th>\n", " <th>code</th>\n", " <th>newtest</th>\n", " <th>oldcode</th>\n", " <th>concated</th>\n", " <th>httpsthing</th>\n", " <th>github.com</th>\n", " <th>0.690657769</th>\n", " </tr>\n", " <tr>\n", " <th>year</th>\n", " <th>status</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th rowspan=\"4\" valign=\"top\">2005</th>\n", " <th>-1</th>\n", " <td>421</td>\n", " <td>421</td>\n", " <td>419</td>\n", " <td>421</td>\n", " <td>421</td>\n", " <td>421</td>\n", " <td>421</td>\n", " <td>421</td>\n", " <td>421</td>\n", " <td>421</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>400</td>\n", " <td>400</td>\n", " <td>399</td>\n", " <td>400</td>\n", " <td>400</td>\n", " <td>82</td>\n", " <td>82</td>\n", " <td>400</td>\n", " <td>400</td>\n", " <td>400</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>316</td>\n", " <td>316</td>\n", " <td>315</td>\n", " <td>316</td>\n", " <td>316</td>\n", " <td>316</td>\n", " <td>316</td>\n", " <td>316</td>\n", " <td>316</td>\n", " <td>316</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>428</td>\n", " <td>428</td>\n", " <td>414</td>\n", " <td>428</td>\n", " <td>428</td>\n", " <td>194</td>\n", " <td>194</td>\n", " <td>428</td>\n", " <td>428</td>\n", " <td>428</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th rowspan=\"4\" valign=\"top\">2006</th>\n", " <th>-1</th>\n", " <td>375</td>\n", " <td>375</td>\n", " <td>366</td>\n", " <td>375</td>\n", " <td>375</td>\n", " <td>375</td>\n", " <td>375</td>\n", " <td>375</td>\n", " <td>375</td>\n", " <td>375</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>424</td>\n", " <td>424</td>\n", " <td>424</td>\n", " <td>424</td>\n", " <td>424</td>\n", " <td>94</td>\n", " <td>94</td>\n", " <td>424</td>\n", " <td>424</td>\n", " <td>424</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>399</td>\n", " <td>399</td>\n", " <td>398</td>\n", " <td>399</td>\n", " <td>399</td>\n", " <td>399</td>\n", " <td>399</td>\n", " <td>399</td>\n", " <td>399</td>\n", " <td>399</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>384</td>\n", " <td>384</td>\n", " <td>377</td>\n", " <td>384</td>\n", " <td>384</td>\n", " <td>169</td>\n", " <td>169</td>\n", " <td>384</td>\n", " <td>384</td>\n", " <td>384</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th rowspan=\"4\" valign=\"top\">2007</th>\n", " <th>-1</th>\n", " <td>360</td>\n", " <td>360</td>\n", " <td>358</td>\n", " <td>360</td>\n", " <td>360</td>\n", " <td>360</td>\n", " <td>360</td>\n", " <td>360</td>\n", " <td>360</td>\n", " <td>360</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>435</td>\n", " <td>435</td>\n", " <td>430</td>\n", " <td>435</td>\n", " <td>435</td>\n", " <td>97</td>\n", " <td>97</td>\n", " <td>435</td>\n", " <td>435</td>\n", " <td>435</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>441</td>\n", " <td>441</td>\n", " <td>427</td>\n", " <td>441</td>\n", " <td>441</td>\n", " <td>441</td>\n", " <td>441</td>\n", " <td>441</td>\n", " <td>441</td>\n", " <td>441</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>405</td>\n", " <td>405</td>\n", " <td>404</td>\n", " <td>405</td>\n", " <td>405</td>\n", " <td>177</td>\n", " <td>177</td>\n", " <td>405</td>\n", " <td>405</td>\n", " <td>405</td>\n", " <td>0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " type journal id link code newtest oldcode concated \\\n", "year status \n", "2005 -1 421 421 419 421 421 421 421 421 \n", " 1 400 400 399 400 400 82 82 400 \n", " 3 316 316 315 316 316 316 316 316 \n", " 4 428 428 414 428 428 194 194 428 \n", "2006 -1 375 375 366 375 375 375 375 375 \n", " 1 424 424 424 424 424 94 94 424 \n", " 3 399 399 398 399 399 399 399 399 \n", " 4 384 384 377 384 384 169 169 384 \n", "2007 -1 360 360 358 360 360 360 360 360 \n", " 1 435 435 430 435 435 97 97 435 \n", " 3 441 441 427 441 441 441 441 441 \n", " 4 405 405 404 405 405 177 177 405 \n", "\n", " httpsthing github.com 0.690657769 \n", "year status \n", "2005 -1 421 421 0 \n", " 1 400 400 0 \n", " 3 316 316 0 \n", " 4 428 428 0 \n", "2006 -1 375 375 0 \n", " 1 424 424 0 \n", " 3 399 399 0 \n", " 4 384 384 0 \n", "2007 -1 360 360 0 \n", " 1 435 435 0 \n", " 3 441 441 0 \n", " 4 405 405 0 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uLinks_year.head(12)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Grouping by status and retrieving the percent for each status per year." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "tseries = {}\n", "for j,status in enumerate([-1, 1, 3, 4]):\n", " tseries[status] = np.array( uLinks_year.iloc[j::4].link )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 288x158.4 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "barsize=0.75\n", "\n", "f, ax = pl.subplots(1, 1, figsize=(4,2.2) )\n", "\n", "b = np.zeros( tseries[status].shape[0] )\n", "years = np.arange(2005,2018,1)\n", "\n", "for zlabel,status in enumerate([4,-1,1,3]):\n", " ax.bar( years, tseries[status] + b, barsize, label=legendStatus[status], \n", " color=colors[status], zorder=-1-zlabel )\n", " b += tseries[status]\n", "\n", "simpleaxis(ax)\n", "\n", "ax.set_ylabel(\"Number of links\")\n", "ax.set_yticks( np.arange(0,4001,1000) )\n", "ax.set_yticklabels( np.array( np.arange(0,4001,1000), dtype=int ), fontsize=8 )\n", "\n", "ax.set_xlabel(\"Year\")\n", "ax.set_xticks( np.arange( 2005,2020,3 ) )\n", "ax.set_xticklabels( np.arange( 2005,2020,3 ), fontsize=8 )\n", "\n", "pl.legend(bbox_to_anchor=(1,1.4), frameon=False, ncol=4, \n", " handletextpad=0.2, columnspacing=0.8, handlelength=1)\n", "\n", "pl.tight_layout()\n", "pl.savefig('NumLinks per year - all.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Percent of links per year" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Normalizing the number of links for each year." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "tseries_norm = np.zeros( tseries[-1].shape )\n", "for status in [-1, 1, 3, 4]:\n", " tseries_norm += tseries[status]" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAARsAAACkCAYAAACnxoo1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAFiVJREFUeJzt3Xu4XdO5x/HvLyESIS4VLXlcirhVKYISFE01PaduLVoNpTh1q1ufatFylEdLOVWXKqmqa1WpS6pOEG1IQl0ToqHaUqroQQhJRCT5nT/GWMnKtney19przbVm8n6eZz97rbHmHPOda8/17jHHmnMM2SaEEJqtV6sDCCEsHSLZhBAKEckmhFCISDYhhEJEsgkhFCKSTQihEJFsQgiFiGQTQihEJJsQQiEi2YQQCtH0ZCNprqRJkp6Q9LikHWpcf11JTzUrvlpJ+lDen0mSXpX0r6rnD7Q6PgBJpza5/n0kWdLGzdzOIrZ/pKSv5sdjJQ3pZJlDJF1SYEyV4/wpSb+TtHKN658h6Vv58ZmShjUgppUlHV3HevNjaaRlaln4Ma3XrRuptvZzqnr6ru1PAEj6LPBD4FPVy0vqbXtuLbE0yswbzurWPi1/wGkCsP0GUNmfM4Dpts9vWoD1ORX4waIWuGjC893a7+OGflSdFB8AjAe+DJxRa3A9ZfuyZtbf58Tbu/XezL5gr66O86uBY4Cz69m+7dM7K6/jc7IycDRwaT1xNFrRp1EDgDcBJO0i6Y+SfgVMzmXfzP8ZnpJ0QseVJa0naaKkbST1lnSepEckPSnpiKp6x0q6WdIzkq6X1NkHpuEkTa+K4T5Jv5H0rKRzJI2Q9LCkyZLWz8sNlPTbvA+PSBraSZ19Jf0yrzdR0q65fKH/3JLuyNs9B+iX/8te34R9XAEYChxGSjaV8m/nGJ/IMSBpA0ljqlq1lf0+qerv9v1c1l/S7/OyT0n6Ui4/R9KUvOz5uazjf94DJT2Q19u2k5gX+z432IPAoKrtf2B/c/l3Jf1F0hhgo6ryqyTtmx//Q9LpksYD+0laX9JoSY9JGldpXUr6sKRb8/v3hNIZxDnA+vlYOK+eWBqpppZNnfpJmgT0BdYAdqt6bVtgM9vPS9oa+BqwHSDgIUn3sSA5bQT8Gvia7UmSvg5Ms72NpOWACZLuzvVuCXwMeBmYQPpwjG/2jnawBbAJMBV4DrjC9raSjgeOBU4ALgQusD1e0trAXXmdascA2P54PrDulrRhVxu1fbKkb1T+yzbB3sBo289KmippK+DDuXw72zMlrZqXvR44x/atkvoCvSTtDgwm/e0FjJK0MzAQeNn2fwJIWinXsw+wsW2r61OT/rZ3yPVcCWzW4fXuvM8NIak38GngF/l5V/s7g5SstyR9Dh8HHuui2lm2d8z13QscafuvkrYjtVp2Ay4C7rO9T45hBeBk0uer0uJqRCx1KyLZVDcvtweukVQ5GB62/Xx+vCNwq+0ZedlbgJ2AUaQD8Xbgi7b/nJffHdi88h8AWIn0Rs7O9b6U65kErEvxyeYR26/kGP4OVBLhZGDX/HgYsKkWNLwGSFrR9jtV9ewIXAxg+xlJLwBdJpsCHAD8JD/+dX7eC/il7ZkAtqdKWhEYZPvWXDYL5h/wuwMTcx0rkP5u44DzJZ0L3GF7nKRlgFnAFZJ+D9zRRUw35G3cL2lAJ0mpO+9zT/WrOtYeA+7J5V3t74qk430mgKRRi6j7xrzMCsAOwE1V+7Jc/r0b8FWAfKo1TdIqHeppRCx1KyLZzGf7QUmrkZIHpIxasahTnWnAP0ktlEqyEXCs7buqF5S0C/BeVdFcCt7PrDqGeVXP57Egnl7A9rbfXUQ9Xb0vc1j4NLhvPUHWQtKHSAf1ZpIM9AYM/Db/XmjxrqoBfmj78k7q3xr4D+CHku62fWY+Lfo06T/vN1i4ZVzRcdsdn3fnfe6pd21/QtJKpKR4DKm10en+KnUTdHcwqcrnpBfwVg9arY2IpW6F9tnk04DewBudvHw/sLek5SX1JzWfx+XXZpOa6V+V9JVcdhdwlKRlc90b5vXK5G7SBwgASZ0dRPcDI/LrGwJrA38B/gF8QlIvSWuRmsYV71felwbbF7jG9jq217W9FvA86VTxUEnL5zhXtf028JKkvXPZcvn1u/KyK+TyQZJWl7QmMNP2dcD5wFZ5mZVs30k67ezqQ1bp39mRdGo9rcPr3XmfGyJv+zjgW/lv0On+kv6u+0jql1uBe3Sj7reB5yXtl+uSpC3yy/cCR+Xy3pIGAO+QWi0VDYulHkX22UDKrAfbnqsOfba2H5d0FfBwLrrC9kRJ6+bXZ0j6PHCPpBnAFaQm6+NKlb1GSkhlchzwU0lPkv4W9wNHdljmUuAySZNJrZlDbL8naQLpgz4ZeIp0nl0xEnhS0uO2RzQw3gNInY7Vfkvq/xgFPCppNnAn6Ruxg4DLJZ0JvA/sZ/tuSZsAD+ZjYDpwILABcJ6keXnZo0gflNtzf4+AE7uI602lyw4GAId28np33ueGycftE8CXbV/b2f7m4/1GYBLwAgv+sS7OCOBnkr4HLEs6lX0COB4YKekwUmv+qHwmMUHp0pH/tX1Sg2OpiWJY0BBCEeIK4hBCISLZhBAKEckmhFCISDYhhEJEsgkhFCKSTQihEJFsQgiFiGQTQihEJJsQQiEi2YQQChHJJoRQiEg2IYRCRLIJIRQikk0IoRCRbEIIhWjFcJl1UZobaCdgTeBd0oBRY2xPbWlgIYRuafuWjdKUJY8DpwD9SENi/h9pIPB7JF2dR8wPIbSxMrRs+gNDuxqsOo8nOxh4sdCoQgg1iWFB6zB8+HCPHj261WGE0A66PQFk259GdSRpD0kPKc3yt9h5jCWtqTQb46w8D1FlVsDxSrNlVmZnGKE0q+IdeWT6Lr3++uuN2ZkQliJtn2yqpqqoOAj4JLAVeeqKxZhKmnfoT7m+gcCueYbBJ0nTxyxLGm1/Z+Ba4IjGRB9CqChDn83ReaqW022/Spqs7mzSZG8vL27lPBPjrKqpY7YFxubHY4CvAFOAybbnKM11PLKhexBCaP9kY/uI3Lq5XNKjwGmkKUiXB86qo8qVgbfz42nAKl2ULURpbvGvA6y99ge//Opz4u3dDmD2BXv1eL1WrRvbbN42e7Juq+KtRdufRgHYfsL2XqRJtEYBa9geZfu9xazambdIk5mRf7/VRVnHGEbaHmJ7yMCBAzu+HEJYjLZPNpKOlDQxX2vTHxgOrCLpLkk71VHlI8Cn8uNhpL6cZ0nzV/euKgshNFDbJxvgaNtbkjqFT7I9x/ZFpInm91ncypKWzf0wW5DmOv4ocL+k8aS5o2+z/T7wc9K0owcDH5j0PoTQM23fZwP8S9JZpKuHn6kU2n4T+ObiVs6JZFiH4oeAczssdy3pm6gQQhOUIdnsBXyWNNn8PS2OJYRQpzIkmzVt/66rF/PX4oNsv1RgTCGEGpUh2ZwnqRdwO/AY8BrQF9gA2JV0wd5/A5FsQmhjbZ9sbO8naVNgBHAosAYwE3gauBM4O1+4F0JoY22fbABsTwG+2+o4Qgj1K8NX3yGEJUAkmxBCISLZhBAKUZpkI2mopP758YGSfixpnVbHFULontIkG+BnwMx8B/i3gReAa1obUgihu8qUbOY4jWG6F3Ch7QuBFVscUwihm0rx1Xf2jqRTgAOBnfMd2su2OKYQQjeVKdl8iTSq3mG2X83Tt5zX4pjmO3/fzVsdQghtrUynUVva/rHtcQC2XySN1lczScMljc0/r0jaW9K0qrJVGxp5CKFULZvTJL1n+w8Akr4D7AJcVmtFtkcDo3M9D5HGIp5se5eGRRtCWEiZks2ewB2STiKN1rdxLqubpPWAf9ueLmkTSeOACcApjgm1wlKiqC6A0iQb269L2pPUCnkM2LcBCeELwK358WDgTVJLaQ/SWMfzLW7A83q1qq8n+phC0do+2Uh6B6hOKn2A9YB9Jdn2IieUW4w9SAkH21Pz9m4DtqRDsrE9kjzFy5AhQ5baVk8kqVCvtk82tptyLY2kjwCzbb+Rr0yeZXsuMBSY3IxtNtrS8sHvyX624j1qRbxlOBbaPtlUkzQIWIequG3fX2d1e5EG5IJ0CnWlpBnAc6TBuEKDleEDEZqnNMlG0rmka22mAHNzsYG6ko3ty6seTyJN5xsCEImxGUqTbIC9gY3qnJguhNBiZbqo7zni9oQQSqtMLZuZwCRJ9wLzWze2j2tdSCGE7ipTshlFh6+jQwjlUZpkY/vqVscQQqhf2ycbSb+xvb+kySx8cR8AtuNrgxBKoO2TDXB8/v35lkYRQuiRtk82tl/Jv19odSwhhPq1fbLp5N6o+S8BPb03KoRQkLZPNs26NyqEUKwyXdQXQiixSDYhhEK0fbKRtFyrYwgh9Fzb99kADwJbSbrW9kGNqFDSusBDwNOkMW12z8ON7kWa/O4Q2+/XUufhL17X/YWHnlZL1SEsEcqQbPpIOhjYQdIXOr5o+5Y6673H9oEAkgYCu9reMQ+kvjdwU90RhxA+oAzJ5khgBLAyaRjPagbqTTa75gHObwGeBcbm8jGk+aki2YTQQG2fbGyPB8ZLetT2LxpU7SvAhqS7x28HBgD/zq9NA1bpuEKzBjwPYWnR9h3EVa6VdJykm/PPsZLqGt/G9nu2Z9ieA9wB/I2UcMi/3+pknZG2h9geMnDgwLp3IoSlVdu3bKpcSho869L8/CDgZ8DhtVYkaUXb7+SnQ4GLSadOPwKGAX/qcbTdFB3LYWlRpmSzje0tqp7/QdITdda1k6SzSKdR420/JOl+SeOBF4Gf9DTYIkSiCmVSpmQzV9L6tv8O82eznLuYdTpl+07gzg5l5wLn9jjKEEKnypRsTgL+KOk50k2Y6wBfa21I5RWtolC00iQb2/dKGgxsREo2z8RMCyGUR2mSDaRvkYAnWx1HCKF2pUo2ofXi9CvUq0zX2YQQSqw0ySbPF7XYshBCe2r70yhJfYHlgdUkrULqHIZ0pe+aLQsshFCTtk82wBHACaTE8hgLks3bwE9bFVQIoTZtn2xsXwhcKOlY2xe3Op5Qv3o7l6NTesnQ9smmwvbFknYA1qUqbtvXtCyoEEK3lSbZSLoWWB+YxILbFAxEsgmhBEqTbIAhwKa2O5tDKoTQ5krz1TfwFPCRVgcRQqhPmVo2qwFTJD1MGhoCANt71lqRpO2AC0inY4/aPlHSNGBiXuQLtqc2IObQYtG53D7KlGzOaGBdLwC72Z4l6XpJHwcm296lgdsIIVQpTbKxfZ+kdYDBtsdIWh7oXWddr1Y9nUNq4WySB0CfAJxSa9/Q01/5ZbeX3fqA+A8alj6l6bOR9F/AzcDluWgQcFsP69wcWM32FGAwsDNpsPOOsziEEHqoNC0b4BhgW9Lkctj+q6TV661M0qrAJcD+ub6pufw2YEtgVIflmzK7Qk9aRNGaCmVSpmTznu3ZUrpbQdIypOtsapbXvQ44yfarkvoDs2zPJQ2APrnjOrZHAiMBhgwZUvqv3yNRLVp0LDdeaU6jgPsknQr0k/QZ0iRyv6uzrv2AbYBzJY0FNgceyX02a5FO10IIDVSmls3JwGGkVscRpAHLr6inIts3ADd0KN6qR9EtJVrRIopW2JKhTMmmH3Cl7Z8DSOqdy2a2NKrQbUtL0ohTsM6V6TTqXlJyqehHmpc7hFACZWrZ9LU9vfLE9vR8rU0IXVpaWlNlUKaWzQxJ8/tVJG0NvNvCeEIINShTy+Z44CZJL+fnawBfamE8YQkWLaLGK0WykdQL6ANszMKT1L3f0sBCaLAluXO5FMnG9jxJ/2N7e9JQEyG0rWgVda4UySa7W9IXgVtiAK0QFlaGFlGZks03gf7AXEnvkk6lbHtAa8MKodyKSlSlSTa2V2x1DCE025J8ClaaZKN0B+YI4KO2z5K0FrCG7YdbHFoILVeGJFWaZANcCswDdgPOAqaTJqnbppVBhVB2RSWqMiWb7WxvJWkigO03JfVpdVAhhO4p0xXE7+ebLw0gaSCppdMwki6QNE7ShY2sN4RQrmRzEXArsLqks4HxwA8aVXm+FaK/7Z2APpLi9CyEBirNaZTt6yU9Bnya9LX33rafbuAmtmfBXeRjgE8CjzSw/hCWam2fbCT1BY4ENiANnHW57TlN2NTKwN/z42nAx5qwjRCWWm2fbICrgfeBccDngE2AE5qwnbeAygWCA/Lz+aoHPAemS/pLN+pcDXj9A6V5HOWa1bte99ctf7zN32ZP1itTvN09FkbbHt6tzbb7lf+SJtv+eH68DPCw7YYP4Zn7bI6wfYSkS4GrenoNj6RHbQ9pTITNF/E2V5nibUasZeggnn9nd5NOnyp1Pw7MyoOez4uLBUNorDKcRm0h6e38WKTZFd6mCfdG2T6+UXWFEBbW9snGdl1T7LaJka0OoEYRb3OVKd6Gx9r2fTYhhCVDGfpsQghLgEg2dZK0naQH8u0NF+SykySNl3S9pGVz2Yi83B2SBuSysZLuy793a/NYj5f0kKQHJW3f7FhrjPd2SW9JGla17qWSXpN0eBGx9jTeXL6mpFmSNmj3ePMxO1bSREm31bRh2/FTxw/wEdL0MgDXAzsBd+bn3yFN8bss6fqgZUiDs5+UXx8LLFOSWCeS/ikNAm5tl3jz4zWAM4BhVeuuARwCHN5O729X8ebyH+VjYoMyxJtfO7HW9zhaNnWy/artWfnpHNJ84WPz88rtDhsCk52+sq+UQbqBdIykX0tatc1j/RuwHOkK6zeaHWsN8WL7lU7W/UBZs/Uk3nxD8YrAP5oeaNaTeKvsCdxey3Yj2fSQpM1JV1u+BVS+op8GrEL6gHYsA9jX9i7AKOB7bR7rvcAzwN2km2ELs5h4206d8Z4AXNLk0DpV7/sraXXSZSev1bK9SDY9kFsllwCH0fntDp3eAmF7ai67FdisXWPN/TaHAoOB7YBzioi1m/G2lXrilbQysJbtPxcS5MLb7sn7uxc1tmogkk3d8q0T15H6Nl4l3SH+qfzyMOBPwLPAZnkcnkoZlc5XYCgLbv5sx1jnATNtzyb9x+vf7FhriLdt9CDejYDBkkYDnwEua3as0JD3d2+gts5hiA7iHnSyHQC8RjrXHUsaouI7pHF2fgX0ycsdBDwA/B5YKZc9SuqMvQcY1Oaxngo8CDwMfL7N3tuLgOeAx4Gv57LvAn8GpgCnt3u8VXVcRXEdxD15fwcAE+rZblzUF0IoRJxGhRAKEckmhFCISDYhhEJEsgkhFCKSTQihEJFsQltRMl7S56rK9s/XooQSi6++Q9uRtBlwE7Al0BuYBAy3XfcFkJKWcROHlQ2LF8kmtCVJPwJmkK5afsf2WZIOBo4B+pAuPvyG7XmSRgJbAf2AG22fmet4CbgcGA78xPZNLdiVkLX9sKBhqfV90pWrs4EhubWzD7CD7Tk5wXyZdMXryban5svw/yjpZttTcj0zbA9txQ6EhUWyCW3J9gxJNwLTbb+XB3DaBnhUae6ifsA/8+IHSDqMdDyvCWxKul0B4MZiIw9diWQT2tm8/ANpNo0rbZ9WvYCkwcDxwLa235J0HdC3apEZhUQaFiu+jQplMQbYX9JqAJI+JGlt0o2B7wBvS1oD+GwLYwyLEC2bUAq2J0v6PmmEw16kyQuPJN1BPwV4inSH8oTWRRkWJb6NCiEUIk6jQgiFiGQTQihEJJsQQiEi2YQQChHJJoRQiEg2IYRCRLIJIRQikk0IoRD/D7FgrmVlrhr3AAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 273.6x194.4 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "barsize=0.75\n", "\n", "f, ax = pl.subplots(1, 1, figsize=(3.8,2.7) )\n", "\n", "b = np.zeros( tseries[status].shape[0] )\n", "years = np.arange(2005,2018,1)\n", "\n", "for zlabel,status in enumerate([4,-1,1,3]):\n", " ax.bar( years, ( tseries[status]/tseries_norm + b )*100., \n", " barsize, label=legendStatus[status], \n", " color=colors[status], zorder=-1-zlabel )\n", " b += tseries[status]/tseries_norm\n", "\n", "simpleaxis(ax)\n", "\n", "ax.set_ylabel(\"Percent of links (%)\")\n", "ax.set_yticks( np.arange(0,101,25) )\n", "ax.set_yticklabels( np.array( np.arange(0,101,25), dtype=int ), fontsize=8 )\n", "\n", "ax.set_xlabel(\"Year\")\n", "ax.set_xlim(2004.3, 2017.7)\n", "ax.set_xticks( np.arange( 2005,2018,3 ) )\n", "ax.set_xticklabels( np.arange( 2005,2020,3 ), fontsize=8 )\n", "\n", "pl.legend(bbox_to_anchor=(1,1.4), frameon=False, ncol=4, \n", " handletextpad=0.2, columnspacing=0.6, handlelength=1)\n", "\n", "pl.tight_layout()\n", "pl.savefig('1a.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Number of links as function of time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Counting total number per year" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 244.8x144 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(3.4, 2.) )\n", "\n", "pl.plot( years, tseries[1] + tseries[3], 'o-', \n", " markersize=7, label='Accessible + Redirected', color=colors2['fg_accessb'],\n", " markeredgecolor=colors2['fg_accessb'], markerfacecolor=colors2['bg_accessb'] )\n", "pl.plot( years, tseries[-1] + tseries[4], 's-', \n", " markersize=6, label='Broken + Time out', color=colors2['fg_unreach'],\n", " markeredgecolor=colors2['fg_unreach'], markerfacecolor=colors2['bg_unreach'] )\n", "\n", "simpleaxis(ax)\n", "\n", "pl.ylabel('Number of links')\n", "pl.ylim(0,4050)\n", "\n", "pl.xlabel('Time (years)')\n", "pl.xlim(2004.5,2017.5)\n", "pl.xticks([2005,2010,2015])\n", "\n", "pl.legend(bbox_to_anchor=(0.9,1.5), frameon=False, handlelength=1.3)\n", "\n", "pl.savefig('1b.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ratio between accessible links in 2017 in reference to that in 2005" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ratio: 4.07\n", "Average growth ratio: 25.6%\n" ] } ], "source": [ "numAccessible = tseries[1] + tseries[3]\n", "\n", "ratio = numAccessible[-1] / numAccessible[0]\n", "print('Ratio: %.2f' % ratio)\n", "\n", "avgGrowthRatio = (numAccessible[-1] - numAccessible[0]) / (2017-2005) / numAccessible[0]\n", "print( 'Average growth ratio: %.1f%%' % (avgGrowthRatio*100) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ratio between unreachable links in 2017 in reference to that in 2005" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ratio: 0.39\n", "Average growth ratio: -5.1%\n" ] } ], "source": [ "numUnreachable = tseries[-1] + tseries[4]\n", "\n", "ratio = numUnreachable[-1] / numUnreachable[0]\n", "print('Ratio: %.2f' % ratio)\n", "\n", "\n", "avgGrowthRatio = (numUnreachable[-1] - numUnreachable[0]) / (2017-2005) / numUnreachable[0]\n", "print( 'Average growth ratio: %.1f%%' % (avgGrowthRatio*100) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Parsing Github and SourceForge" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "def count_status(statuses):\n", " count, bin_values = np.histogram(statuses, bins = [-1.2,-0.8,1.8,3.8,4.8])\n", "\n", " print(count, bin_values)\n", " total = float(count.sum())\n", "\n", " for j in range(4):\n", " print(count[j]/total)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 1553 188 43] [-1.2 -0.8 1.8 3.8 4.8]\n", "0.0\n", "0.8705156950672646\n", "0.10538116591928251\n", "0.024103139013452915\n", "[ 5 608 315 64] [-1.2 -0.8 1.8 3.8 4.8]\n", "0.005040322580645161\n", "0.6129032258064516\n", "0.3175403225806452\n", "0.06451612903225806\n", "[ 4355 14559 9286 5726] [-1.2 -0.8 1.8 3.8 4.8]\n", "0.12836762365147675\n", "0.42913989270765784\n", "0.27371337617166774\n", "0.16877910746919766\n" ] } ], "source": [ "find_github = lambda x: 'github.com' in x.link\n", "find_sourceforge = lambda x: ('sourceforge.net' in x.link) or ('.sf.net' in x.link)\n", "find_others = lambda x: ('github.com' not in x.link) and ('sourceforge.net' not in x.link) and ('.sf.net' not in x.link)\n", "\n", "# uniqLabs_github = uniqueLinks_abs[ uniqueLinks_abs.apply(find_github, axis=1) ]\n", "# uniqLabs_sourceforge = uniqueLinks_abs[ uniqueLinks_abs.apply(find_sourceforge, axis=1) ]\n", "# uniqLabs_others = uniqueLinks_abs[ uniqueLinks_abs.apply(find_others, axis=1) ]\n", "\n", "uniqLabs_github = uniqueLinks[ uniqueLinks.apply(find_github, axis=1) ]\n", "uniqLabs_sourceforge = uniqueLinks[ uniqueLinks.apply(find_sourceforge, axis=1) ]\n", "uniqLabs_others = uniqueLinks[ uniqueLinks.apply(find_others, axis=1) ]\n", "\n", "count_status(uniqLabs_github.status)\n", "count_status(uniqLabs_sourceforge.status)\n", "count_status(uniqLabs_others.status)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5475833911663602\n" ] } ], "source": [ "import scipy.stats as statsrich\n", "oddsratio, pvalue = statsrich.fisher_exact([[(3+86),(138)], [(1050+2521), (2135+897)]])\n", "print(oddsratio)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 108x100.8 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(1.5, 1.4) )\n", "\n", "# let's make sure the order is maintained:\n", "data_broken = np.array([0.16877910746919766, 0.06451612903225806, 0.024103139013452915])\n", "data_timeout = np.array([0.12836762365147675, 0.005040322580645161, 0])\n", "data_accessible = np.array([0.42913989270765784, 0.6129032258064516, 0.8705156950672646])\n", "data_redirected = np.array([0.27371337617166774, 0.3175403225806452, 0.10538116591928251])\n", "\n", "pl.bar( [0,1,2], 100*(data_broken+data_timeout+data_accessible+data_redirected), 0.7, color=colors[3], lw=1.3, capsize=8 )\n", "pl.bar( [0,1,2], 100*(data_broken+data_timeout+data_accessible), 0.7, color=colors[1], lw=1.3, capsize=8 )\n", "pl.bar( [0,1,2], 100*(data_broken+data_timeout), 0.7, color=colors[-1], lw=1.3, capsize=8 )\n", "pl.bar( [0,1,2], 100*(data_broken), 0.7, color=colors[4], lw=1.3, capsize=8 )\n", "\n", "ax.set_ylim(0,100)\n", "ax.set_ylabel('Percent of Links')\n", "\n", "ax.set_xlabel('')\n", "ax.set_xlim(-0.5,2.5)\n", "ax.set_xticks([0,1,2])\n", "ax.set_xticklabels( ['Others','Source\\nForge','GitHub'], \n", " rotation=-45, fontsize=9)\n", "\n", "simpleaxis(ax)\n", "\n", "pl.savefig('1f.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 144x115.2 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots(1, 1, figsize=(2.,1.6))\n", "\n", "data_broken = np.array([0.16877910746919766, 0.06451612903225806, 0.024103139013452915])*100\n", "data_timeout = np.array([0.12836762365147675, 0.005040322580645161, 0])*100\n", "\n", "data_unreachable = data_broken + data_timeout\n", "\n", "ax.barh( [0,1,2], data_unreachable, 0.6, edgecolor=(1.0,0.0,0.0), lw=0.1, color=(1.0,0.0,0.0) )\n", "\n", "ax.spines['top'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.get_xaxis().tick_bottom()\n", "ax.get_yaxis().tick_left()\n", "\n", "ax.text( -0.05, -1.5, 'Unreachable links (%)', fontsize=12 )\n", "\n", "ax.set_xticks( [0, 10, 20, 30] )\n", "ax.set_yticks( [0, 1, 2] )\n", "ax.set_yticklabels( ['Others', 'Source\\nForge', 'GitHub'], rotation=0, fontsize=11 )\n", "\n", "pl.savefig('1h.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "norm\n", "year\n", "2005 1565\n", "2006 1582\n", "2007 1641\n", "2008 2079\n", "2009 2835\n", "2010 2954\n", "2011 2783\n", "2012 2962\n", "2013 3232\n", "2014 4108\n", "2015 3844\n", "2016 3875\n", "2017 3242\n", "Name: type, dtype: int64\n", "github\n", "year\n", "2009 0.070547\n", "2010 0.507786\n", "2011 0.682716\n", "2012 1.553005\n", "2013 2.753713\n", "2014 5.209348\n", "2015 9.469303\n", "2016 13.006452\n", "Name: type, dtype: float64\n", "sf\n", "year\n", "2005 1.022364\n", "2006 2.085967\n", "2007 2.071907\n", "2008 2.308802\n", "2009 2.574956\n", "2010 3.588355\n", "2011 3.377650\n", "2012 4.287643\n", "2013 2.629950\n", "2014 3.042843\n", "2015 2.523413\n", "2016 2.606452\n", "2017 1.634793\n", "Name: type, dtype: float64\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 172.8x144 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "tseries_norm = uniqueLinks.groupby(['year']).agg('count').type\n", "tseries_GH = uniqLabs_github.groupby(['year']).agg('count').type[:-1]/tseries_norm[4:-1]*100\n", "years_gh = range(2009,2017)\n", "tseries_SF = uniqLabs_sourceforge.groupby(['year']).agg('count').type/tseries_norm[:]*100\n", "years_sf = range(2005,2018)\n", "\n", "print(\"norm\")\n", "print(tseries_norm)\n", "print(\"github\")\n", "print(tseries_GH)\n", "print(\"sf\")\n", "print(tseries_SF)\n", "\n", "f, ax = pl.subplots( 1, 1, figsize=(2.4, 2.) )\n", "\n", "\n", "gh_color=(0.0,0.0,0.5)\n", "gh_incolor=(0.3,0.8,1.0)\n", "pl.plot( years_gh, tseries_GH, 's-', zorder=2,\n", " markersize=5, label='GitHub', color=gh_color,\n", " markeredgecolor=gh_color, markerfacecolor=gh_incolor )\n", "\n", "sf_color=(0.8,0.0,0.0)\n", "sf_incolor=(1.0,0.8,0.8)\n", "pl.plot( years_sf, tseries_SF, 'o-', zorder=1,\n", " markersize=5, label='SourceForge', color=sf_color,\n", " markeredgecolor=sf_color, markerfacecolor=sf_incolor )\n", "\n", "simpleaxis(ax)\n", "\n", "pl.ylabel('Percent of links')\n", "pl.ylim(0,22)\n", "ax.set_xticks([2005, 2010, 2015])\n", "\n", "pl.xlabel('Year')\n", "pl.xlim(2004.5,2016.5)\n", "\n", "pl.legend(bbox_to_anchor=(0.85,1.), frameon=False, handlelength=1.3, fontsize=10)\n", "\n", "pl.savefig('1g.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Number of links per year - abstract only" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "uLinks_ya = uniqueLinks_abs.groupby(['year', 'status']).agg('count')\n", "\n", "tseries_abs = {}\n", "for j,status in enumerate([-1, 1, 3, 4]):\n", " tseries_abs[status] = np.array( uLinks_ya.iloc[j::4].link )" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 288x158.4 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "barsize=0.75\n", "\n", "f, ax = pl.subplots(1, 1, figsize=(4,2.2) )\n", "\n", "b = np.zeros( tseries_abs[status].shape[0] )\n", "years = np.arange(2005,2018,1)\n", "\n", "for zlabel,status in enumerate([4,-1,1,3]):\n", " ax.bar( years, tseries_abs[status] + b, barsize, label=legendStatus[status], \n", " color=colors[status], zorder=-1-zlabel )\n", " b += tseries_abs[status]\n", "\n", "simpleaxis(ax)\n", "\n", "ax.set_ylabel(\"Number of links\")\n", "#ax.set_yticks( np.arange(0,2001,500) )\n", "#ax.set_yticklabels( np.array( np.arange(0,2001,500), dtype=int ), fontsize=8 )\n", "\n", "ax.set_xlabel(\"Year\")\n", "ax.set_xticks( np.arange( 2005,2020,3 ) )\n", "ax.set_xticklabels( np.arange( 2005,2020,3 ), fontsize=8 )\n", "\n", "pl.legend(bbox_to_anchor=(1,1.4), frameon=False, ncol=4, \n", " handletextpad=0.2, columnspacing=0.8, handlelength=1)\n", "\n", "pl.tight_layout()\n", "pl.savefig('NumLinks per year - Abstract.pdf')" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "tseries_norm = np.zeros( tseries_abs[-1].shape )\n", "for status in [-1, 1, 3, 4]:\n", " tseries_norm += tseries_abs[status]" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 288x158.4 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "barsize=0.75\n", "\n", "f, ax = pl.subplots(1, 1, figsize=(4,2.2) )\n", "\n", "b = np.zeros( tseries_abs[status].shape[0] )\n", "years = np.arange(2005,2018,1)\n", "\n", "for zlabel,status in enumerate([4,-1,1,3]):\n", " ax.bar( years, 100*(tseries_abs[status] + b)/tseries_norm, barsize, \n", " label=legendStatus[status], \n", " color=colors[status], zorder=-1-zlabel )\n", " b += tseries_abs[status]\n", "\n", "simpleaxis(ax)\n", "\n", "ax.set_ylabel(\"Percent of links (%)\")\n", "ax.set_yticks( np.arange(0,101,25) )\n", "ax.set_yticklabels( np.array( np.arange(0,101,25), dtype=int ), fontsize=8 )\n", "\n", "ax.set_xlabel(\"Year\")\n", "ax.set_xticks( np.arange( 2005,2020,3 ) )\n", "ax.set_xticklabels( np.arange( 2005,2020,3 ), fontsize=8 )\n", "\n", "pl.legend(bbox_to_anchor=(1,1.4), frameon=False, ncol=4, \n", " handletextpad=0.2, columnspacing=0.8, handlelength=1)\n", "\n", "pl.tight_layout()\n", "pl.savefig('Percent per year - Abstract.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Status vs IF of current journal " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "List of journals considered in this study:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Nucleic_Acids_Res' 'BMC_Bioinformatics' 'PLoS_Comput_Biol'\n", " 'BMC_Genomics' 'Bioinformatics' 'Nat_Methods' 'Genome_Biol'\n", " 'BMC_Syst_Biol' 'Nat_Biotechnol' 'Genome_Med']\n" ] } ], "source": [ "journals = uniqueLinks.journal.unique()\n", "print( journals )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Impact factors were retrieved from this address: http://admin-apps.webofknowledge.com/JCR/JCR?RQ=HOME" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>year</th>\n", " <th>BMC_Genomics</th>\n", " <th>Nucleic_Acids_Res</th>\n", " <th>Bioinformatics</th>\n", " <th>BMC_Bioinformatics</th>\n", " <th>PLoS_Comput_Biol</th>\n", " <th>Genome_Biol</th>\n", " <th>BMC_Syst_Biol</th>\n", " <th>Nat_Biotechnol</th>\n", " <th>Nat_Methods</th>\n", " <th>Genome_Med</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>2016</td>\n", " <td>3.729</td>\n", " <td>10.162</td>\n", " <td>7.307</td>\n", " <td>2.448</td>\n", " <td>4.542</td>\n", " <td>11.908</td>\n", " <td>2.303</td>\n", " <td>41.667</td>\n", " <td>25.062</td>\n", " <td>7.071</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>2015</td>\n", " <td>3.867</td>\n", " <td>9.202</td>\n", " <td>5.766</td>\n", " <td>2.435</td>\n", " <td>4.587</td>\n", " <td>11.313</td>\n", " <td>2.208</td>\n", " <td>43.113</td>\n", " <td>25.328</td>\n", " <td>5.846</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>2014</td>\n", " <td>3.986</td>\n", " <td>9.112</td>\n", " <td>4.981</td>\n", " <td>2.576</td>\n", " <td>4.620</td>\n", " <td>10.810</td>\n", " <td>2.435</td>\n", " <td>41.514</td>\n", " <td>32.072</td>\n", " <td>5.809</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>2013</td>\n", " <td>4.041</td>\n", " <td>8.808</td>\n", " <td>4.621</td>\n", " <td>2.672</td>\n", " <td>4.829</td>\n", " <td>10.465</td>\n", " <td>2.853</td>\n", " <td>39.080</td>\n", " <td>25.953</td>\n", " <td>4.942</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>2012</td>\n", " <td>4.397</td>\n", " <td>8.278</td>\n", " <td>5.323</td>\n", " <td>3.024</td>\n", " <td>4.867</td>\n", " <td>10.288</td>\n", " <td>2.982</td>\n", " <td>32.438</td>\n", " <td>23.565</td>\n", " <td>3.906</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>2011</td>\n", " <td>4.073</td>\n", " <td>8.026</td>\n", " <td>5.468</td>\n", " <td>2.751</td>\n", " <td>5.215</td>\n", " <td>9.036</td>\n", " <td>3.148</td>\n", " <td>23.268</td>\n", " <td>19.276</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>2010</td>\n", " <td>4.206</td>\n", " <td>7.836</td>\n", " <td>4.877</td>\n", " <td>3.029</td>\n", " <td>5.515</td>\n", " <td>6.885</td>\n", " <td>3.565</td>\n", " <td>31.090</td>\n", " <td>20.721</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>2009</td>\n", " <td>3.759</td>\n", " <td>7.479</td>\n", " <td>4.926</td>\n", " <td>3.428</td>\n", " <td>5.759</td>\n", " <td>6.626</td>\n", " <td>4.064</td>\n", " <td>29.495</td>\n", " <td>16.874</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>2008</td>\n", " <td>3.926</td>\n", " <td>6.878</td>\n", " <td>4.328</td>\n", " <td>3.781</td>\n", " <td>5.895</td>\n", " <td>6.153</td>\n", " <td>3.706</td>\n", " <td>22.297</td>\n", " <td>13.651</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td>2007</td>\n", " <td>4.180</td>\n", " <td>6.954</td>\n", " <td>5.039</td>\n", " <td>3.493</td>\n", " <td>6.236</td>\n", " <td>6.589</td>\n", " <td>0.000</td>\n", " <td>22.848</td>\n", " <td>15.478</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>10</th>\n", " <td>2006</td>\n", " <td>4.029</td>\n", " <td>6.317</td>\n", " <td>4.894</td>\n", " <td>3.617</td>\n", " <td>4.914</td>\n", " <td>7.172</td>\n", " <td>0.000</td>\n", " <td>22.672</td>\n", " <td>14.959</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>11</th>\n", " <td>2005</td>\n", " <td>4.092</td>\n", " <td>7.552</td>\n", " <td>6.019</td>\n", " <td>4.958</td>\n", " <td>0.000</td>\n", " <td>9.712</td>\n", " <td>0.000</td>\n", " <td>22.738</td>\n", " <td>6.741</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>12</th>\n", " <td>2004</td>\n", " <td>3.250</td>\n", " <td>7.260</td>\n", " <td>5.742</td>\n", " <td>5.423</td>\n", " <td>0.000</td>\n", " <td>0.000</td>\n", " <td>0.000</td>\n", " <td>22.355</td>\n", " <td>0.000</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>13</th>\n", " <td>2003</td>\n", " <td>0.000</td>\n", " <td>6.575</td>\n", " <td>6.701</td>\n", " <td>0.000</td>\n", " <td>0.000</td>\n", " <td>0.000</td>\n", " <td>0.000</td>\n", " <td>17.721</td>\n", " <td>0.000</td>\n", " <td>0.000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " year BMC_Genomics Nucleic_Acids_Res Bioinformatics BMC_Bioinformatics \\\n", "0 2016 3.729 10.162 7.307 2.448 \n", "1 2015 3.867 9.202 5.766 2.435 \n", "2 2014 3.986 9.112 4.981 2.576 \n", "3 2013 4.041 8.808 4.621 2.672 \n", "4 2012 4.397 8.278 5.323 3.024 \n", "5 2011 4.073 8.026 5.468 2.751 \n", "6 2010 4.206 7.836 4.877 3.029 \n", "7 2009 3.759 7.479 4.926 3.428 \n", "8 2008 3.926 6.878 4.328 3.781 \n", "9 2007 4.180 6.954 5.039 3.493 \n", "10 2006 4.029 6.317 4.894 3.617 \n", "11 2005 4.092 7.552 6.019 4.958 \n", "12 2004 3.250 7.260 5.742 5.423 \n", "13 2003 0.000 6.575 6.701 0.000 \n", "\n", " PLoS_Comput_Biol Genome_Biol BMC_Syst_Biol Nat_Biotechnol Nat_Methods \\\n", "0 4.542 11.908 2.303 41.667 25.062 \n", "1 4.587 11.313 2.208 43.113 25.328 \n", "2 4.620 10.810 2.435 41.514 32.072 \n", "3 4.829 10.465 2.853 39.080 25.953 \n", "4 4.867 10.288 2.982 32.438 23.565 \n", "5 5.215 9.036 3.148 23.268 19.276 \n", "6 5.515 6.885 3.565 31.090 20.721 \n", "7 5.759 6.626 4.064 29.495 16.874 \n", "8 5.895 6.153 3.706 22.297 13.651 \n", "9 6.236 6.589 0.000 22.848 15.478 \n", "10 4.914 7.172 0.000 22.672 14.959 \n", "11 0.000 9.712 0.000 22.738 6.741 \n", "12 0.000 0.000 0.000 22.355 0.000 \n", "13 0.000 0.000 0.000 17.721 0.000 \n", "\n", " Genome_Med \n", "0 7.071 \n", "1 5.846 \n", "2 5.809 \n", "3 4.942 \n", "4 3.906 \n", "5 0.000 \n", "6 0.000 \n", "7 0.000 \n", "8 0.000 \n", "9 0.000 \n", "10 0.000 \n", "11 0.000 \n", "12 0.000 \n", "13 0.000 " ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFdata = pd.read_csv('impact_factors_timeseries.csv')\n", "IFdata = IFdata.fillna(0)\n", "IFdata" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "count = {}\n", "Z = np.zeros( (10) )\n", "for status in [1,3,-1,4]:\n", " count[status] = np.zeros( (10) )\n", "\n", "def journalID(journalName): \n", " if journalName in journals:\n", " return np.argwhere(journals == journalName)[0][0]\n", " else: return -1\n", "\n", "for index, row in uniqueLinks.iterrows():\n", " jid = journalID(row.journal)\n", " if jid != -1:\n", " count[row['status']][ jid ] += 1\n", " Z[ jid ] += 1\n", " \n", "\n", "# Normalizing\n", "for status in [1,3,-1,4]:\n", " count[status] /= Z" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "IFs = np.array( IFdata.iloc[0] )[1:]\n", "newIDX = np.argsort( IFs )\n", "IFs = IFs[newIDX]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 259.2x144 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "barsize=0.7\n", "\n", "f, ax = pl.subplots(1, 1, figsize=(3.6,2.0) )\n", "\n", "IFs_x = np.arange(10)\n", "\n", "ax.bar( IFs_x, count[4][newIDX], barsize, label='Broken', \n", " color=colors[4], zorder=-1 )\n", "b = np.copy( count[4][newIDX] )\n", "\n", "ax.bar( IFs_x, b+count[-1][newIDX], barsize, label='Time out', \n", " color=colors[-1], zorder=-2 )\n", "b += count[-1][newIDX]\n", "\n", "ax.bar( IFs_x, b+count[1][newIDX], barsize, label='Good', \n", " color=colors[1], zorder=-3 )\n", "b += count[1][newIDX]\n", "\n", "ax.bar( IFs_x, b+count[3][newIDX], barsize, label='Redirect',\n", " color=colors[3], zorder=-4 )\n", "\n", "simpleaxis(ax)\n", "\n", "ax.set_ylabel(\"Percent (%)\")\n", "ax.set_yticks( np.arange(0,1.1,0.25) )\n", "ax.set_yticklabels( np.array( np.arange(0,1.1,0.25)*100, dtype=int ), fontsize=8 )\n", "\n", "ax.set_xlabel(\"Current Impact Factor\")\n", "ax.set_xticks( IFs_x )\n", "ax.set_xticklabels( ['2.3','2.5','3.7','4.5','7.1','7.3','10','12','25','41'], \n", " fontsize=8, )\n", "\n", "pl.tight_layout()\n", "pl.savefig('Percent per IF.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Status vs IF - abstracts only" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "List of journals considered in this study:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Bioinformatics' 'BMC_Bioinformatics' 'Nucleic_Acids_Res' 'BMC_Genomics'\n", " 'BMC_Syst_Biol' 'PLoS_Comput_Biol' 'Genome_Med' 'Genome_Biol'\n", " 'Nat_Methods' 'Nat_Biotechnol']\n" ] } ], "source": [ "journals = uniqueLinks_abs.journal.unique()\n", "print( journals )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Impact factors were retrieved from this address: http://admin-apps.webofknowledge.com/JCR/JCR?RQ=HOME" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "count = {}\n", "Z = np.zeros( (10) )\n", "for status in [1,3,-1,4]:\n", " count[status] = np.zeros( (10) )\n", "\n", "def journalID(journalName): \n", " if journalName in journals:\n", " return np.argwhere(journals == journalName)[0][0]\n", " else: return -1\n", "\n", "for index, row in uniqueLinks_abs.iterrows():\n", " jid = journalID(row.journal)\n", " if jid != -1:\n", " count[row['status']][ jid ] += 1\n", " Z[ jid ] += 1\n", " \n", "\n", "# Normalizing\n", "for status in [1,3,-1,4]:\n", " count[status] /= Z" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "IFs = np.array( IFdata.iloc[0] )[1:]\n", "newIDX = np.argsort( IFs )\n", "IFs = IFs[newIDX]" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 252x158.4 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "barsize=0.7\n", "\n", "f, ax = pl.subplots(1, 1, figsize=(3.5,2.2) )\n", "\n", "IFs_x = np.arange(10)\n", "\n", "ax.bar( IFs_x, count[4][newIDX], barsize, label='Broken', \n", " color=colors[4], zorder=-1 )\n", "b = np.copy( count[4][newIDX] )\n", "\n", "ax.bar( IFs_x, b+count[-1][newIDX], barsize, label='Time out', \n", " color=colors[-1], zorder=-2 )\n", "b += count[-1][newIDX]\n", "\n", "ax.bar( IFs_x, b+count[1][newIDX], barsize, label='Good', \n", " color=colors[1], zorder=-3 )\n", "b += count[1][newIDX]\n", "\n", "ax.bar( IFs_x, b+count[3][newIDX], barsize, label='Redirect',\n", " color=colors[3], zorder=-4 )\n", "\n", "simpleaxis(ax)\n", "\n", "ax.set_ylabel(\"Percent (%)\")\n", "ax.set_yticks( np.arange(0,1.1,0.25) )\n", "ax.set_yticklabels( np.array( np.arange(0,1.1,0.25)*100, dtype=int ), fontsize=8 )\n", "\n", "ax.set_xlabel(\"Current Impact Factor\")\n", "ax.set_xticks( IFs_x )\n", "ax.set_xticklabels( ['2.3','2.5','3.7','4.5','7.1','7.3','10','12','25','41'], \n", " fontsize=8, )\n", "\n", "pl.tight_layout()\n", "pl.savefig('Percent per IF - abstracts.pdf')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Status vs IF at the time of publication" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "IFpub = {}\n", "for status in [1,3,-1,4]:\n", " IFpub[status] = []\n", "\n", "for index, row in uniqueLinks.iterrows():\n", " year = row.year\n", " if ( year >= 2003 ) and ( year <= 2017 ) :\n", " \n", " # there's no IF for 2017 yet\n", " if year == 2017: year = 2016\n", " \n", " yearIDX = -(year - 2003) + 13\n", " IF_at_time = IFdata[row.journal].iloc[ yearIDX ]\n", " IFpub[row.status].append( IF_at_time )" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 201.6x144 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(2.8, 2.0) )\n", "\n", "# let's make sure the order is maintained:\n", "data = [IFpub[4], IFpub[-1], IFpub[1], IFpub[3]]\n", "\n", "parts = ax.violinplot( data, [0,1,2,3], showmeans=False, showmedians=False, \n", " showextrema=False, widths=0.7, points=200 )\n", " \n", "colors_list = [colors[j] for j in [4, -1, 1, 3]]\n", "\n", "j = 0\n", "for pc in parts['bodies']:\n", " pc.set_facecolor(colors_list[j])\n", " pc.set_edgecolor( (0.2,0.2,0.2) )\n", " pc.set_edgecolors( (0.2,0.2,0.2) )\n", " pc.set_alpha(1)\n", " j += 1\n", " \n", "\n", "def buttpos(x): return [x-0.05,x+0.05]\n", "for j in range(4):\n", " pl.plot(buttpos(j), [np.mean(data[j])]*2, color=\"k\", \n", " linewidth=6, solid_capstyle=\"butt\", zorder=4)\n", "\n", "for j in range(4):\n", " ax.text( j-0.4, -2, 'n='+str(len(data[j])), fontsize=7 )\n", "\n", "ax.set_ylim(-3,14)\n", "ax.set_ylabel('Impact factor')\n", "\n", "ax.set_xlabel('')\n", "ax.set_xticks([0,1,2,3])\n", "ax.set_xticklabels( ['Broken','Timeout','Accessible','Redirected'], \n", " rotation=-25, fontsize=8 )\n", "pl.tight_layout()\n", "simpleaxis(ax)\n", "\n", "pl.savefig('1c_old.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "24.27790915038259 1.0928479654487711e-15\n", " type journal id link code newtest oldcode concated httpsthing \\\n", "year \n", "2005 390 390 390 390 390 245 245 390 390 \n", "2006 464 464 464 464 464 283 283 464 464 \n", "2007 428 428 428 428 428 268 268 428 428 \n", "2008 536 536 536 536 536 315 315 536 536 \n", "2009 729 729 729 729 729 424 424 729 729 \n", "2010 691 691 691 691 691 391 391 691 691 \n", "2011 592 592 592 592 592 324 324 592 592 \n", "2012 657 657 656 657 657 356 356 657 657 \n", "2013 668 668 668 668 668 372 372 668 668 \n", "2014 577 577 577 577 577 307 307 577 577 \n", "2015 524 524 524 524 524 310 310 524 524 \n", "2016 579 579 579 579 579 378 378 579 579 \n", "2017 348 348 348 348 348 212 212 348 348 \n", "\n", " github.com 0.690657769 status \n", "year \n", "2005 390 0 390 \n", "2006 464 0 464 \n", "2007 428 0 428 \n", "2008 536 0 536 \n", "2009 729 0 729 \n", "2010 691 0 691 \n", "2011 592 0 592 \n", "2012 657 0 657 \n", "2013 668 0 668 \n", "2014 577 0 577 \n", "2015 524 0 524 \n", "2016 579 0 579 \n", "2017 348 0 348 \n" ] } ], "source": [ "from scipy import stats\n", "f_value, p_value = stats.f_oneway(data[0], data[1], data[3], data[2])\n", "print(f_value, p_value)\n", "\n", "print(uniqueLinks_abs.groupby(['year']).agg('count'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Evolution of IF of each category over the years" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "IFpub = {}\n", "Z = {}\n", "for status in [1,3,-1,4]:\n", " IFpub[status] = np.zeros(12)\n", " Z[status] = np.zeros(12)\n", "\n", "for index, row in uniqueLinks.iterrows():\n", " year = row.year\n", " if ( year >= 2003 ) and ( year <= 2017 ) :\n", " \n", " # there's no IF for 2017 yet\n", " if year == 2017: year = 2016\n", " \n", " yearIDX = year - 2005\n", " IF_at_time = IFdata[row.journal].iloc[ yearIDX ]\n", " IFpub[row.status][yearIDX] += IF_at_time\n", " Z[row.status][yearIDX] += 1" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for s in [4,-1,1,3]:\n", " pl.plot( IFpub[s]/Z[s], color=colors[s] )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Retrieving altmetric data" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "def parseAltmetricData(filename):\n", "\n", " parsedData = {}\n", "\n", " inputfile = open( filename, 'r' )\n", "\n", " # skipping first row\n", " inputfile.readline()\n", "\n", " for line in inputfile:\n", "\n", " lineSplit = line.split('\\n')[0].split('[')\n", "\n", " ls_comma = lineSplit[0].split(',')\n", " pmid = int( ls_comma[0] )\n", " parsedData[pmid] = {}\n", "\n", " score = float( ls_comma[1] )\n", " parsedData[pmid]['score'] = score\n", "\n", " numReaders = int( ls_comma[2] )\n", " parsedData[pmid]['numReaders'] = numReaders\n", "\n", " cited = int( ls_comma[3] )\n", " parsedData[pmid]['cited'] = cited\n", "\n", " scopus = lineSplit[1][:-1]\n", " parsedData[pmid]['scopus'] = scopus\n", "\n", " return parsedData\n", "\n", "dictAltmetric = parseAltmetricData('./links.bulk.altmetric.csv')" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of Altmetric records: 13889 \n" ] } ], "source": [ "print( 'Number of Altmetric records: %d ' % (len(dictAltmetric.keys())) )" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "import matplotlib as mpl\n", "mpl.rcParams['hatch.linewidth'] = 3 # previous pdf hatch linewidth" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Altmetric score" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "scores = {}\n", "for status in [1,3,-1,4]:\n", " scores[status] = []\n", "\n", "for index, row in uniqueLinks.iterrows():\n", " if row.id in dictAltmetric.keys():\n", " numYears = (2018 - year)\n", " scores[ row.status ].append( dictAltmetric[row.id]['score'] )" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 252x108 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(3.5, 1.5) )\n", "\n", "# let's make sure the order is maintained:\n", "data = [scores[4], scores[-1], scores[1], scores[3]]\n", "\n", "parts = ax.violinplot( data, [0,1,2,3], showmeans=False, showmedians=False, \n", " showextrema=False, widths=0.7, points=500 )\n", "\n", "j = 0\n", "for pc in parts['bodies']:\n", " pc.set_facecolor(colors_list[j])\n", " pc.set_edgecolor( (0.2,0.2,0.2) )\n", " pc.set_edgecolors( (0.2,0.2,0.2) )\n", " pc.set_alpha(1)\n", " j += 1\n", " \n", "\n", "def buttpos(x): return [x-0.05,x+0.05]\n", "for j in range(4):\n", " pl.plot(buttpos(j), [np.mean(data[j])]*2, color=\"k\", \n", " linewidth=6, solid_capstyle=\"butt\", zorder=4)\n", "\n", "for j in range(4):\n", " ax.text( j-0.3, -2.5, 'n='+str(len(data[j])), fontsize=7 )\n", "\n", "ax.set_ylim(-4,30)\n", "ax.set_ylabel('Altmetric score')\n", "\n", "ax.set_xlabel('')\n", "ax.set_xticks([0,1,2,3])\n", "ax.set_xticklabels( ['Broken','Timeout','Accessible','Redirected'], \n", " rotation=-25, fontsize=8)\n", "\n", "simpleaxis(ax)\n", "\n", "pl.savefig('Altmetric Score vs status.pdf')" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 129.6x100.8 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(1.8, 1.4) )\n", "\n", "# let's make sure the order is maintained:\n", "data = [ np.mean(scores[4]), np.mean(scores[-1]), np.mean(scores[1] + scores[3]) ]\n", "vardata = [ np.std(scores[4])/np.sqrt(len(scores[4])), \n", " np.std(scores[-1])/np.sqrt(len(scores[-1])), \n", " np.std(scores[1] + scores[3])/np.sqrt(len(scores[1] + scores[3])) ]\n", "\n", "pl.bar( [0,1,2], data, 0.7, yerr=vardata, color=colors_list, \n", " edgecolor=[(0.2,0.2,0.2)]*3, lw=1.3, capsize=8 )\n", "\n", "pl.bar( [2], data[2:], 0.7, yerr=vardata[2:], color=colors_list[2:], hatch=\"//\",\n", " edgecolor=[(0.1,0.4,1.0)]*3, lw=1.5, capsize=8 )\n", "pl.bar( [2], data[2:], 0.7, yerr=vardata[2:], color='none',\n", " edgecolor=[(0.0,0.0,0.0)]*3, lw=1.5, capsize=8 )\n", "\n", "ax.set_ylabel('Altmetric score')\n", "ax.set_ylim(0,18)\n", "ax.set_yticks([0,5,10,15])\n", "\n", "ax.set_xlabel('')\n", "ax.set_xticks([0,1,2])\n", "ax.set_xlim(-0.5,2.5)\n", "ax.set_xticklabels( ['Broken','Timeout','Accessible'], \n", " rotation=-25, fontsize=9)\n", "\n", "ax.text(1.3, 18, '*', fontsize=12)\n", "ax.plot([2,2,0.5,0.5], [16,18,18,16], color='k', lw=1.5)\n", "ax.plot([1,0], [16,16], color='k', lw=1.5)\n", "\n", "simpleaxis(ax)\n", "\n", "pl.savefig('1c.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "KruskalResult(statistic=118.4228015588113, pvalue=1.6869222402985409e-25)\n", "[[-1.00000000e+00 5.16142689e-02 2.47344772e-17]\n", " [ 5.16142689e-02 -1.00000000e+00 4.15518624e-14]\n", " [ 2.47344772e-17 4.15518624e-14 -1.00000000e+00]]\n" ] } ], "source": [ "from scipy.stats.mstats import kruskalwallis\n", "print(kruskalwallis(scores[-1],scores[4],scores[1],scores[3]))\n", "\n", "lists = scores[-1]+scores[4]+scores[1]+scores[3]\n", "categories = len(scores[-1])*[-1]+len(scores[4])*[4]+len(scores[1]+scores[3])*[1]\n", "\n", "print(sph.posthoc_dunn([scores[-1],scores[4],(scores[1]+scores[3])], p_adjust='fdr_bh'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Altmetric number of readers" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [], "source": [ "scores = {}\n", "for status in [1,3,-1,4]:\n", " scores[status] = []\n", "\n", "for index, row in uniqueLinks.iterrows():\n", " if row.id in dictAltmetric.keys():\n", " numYears = (2018 - year)\n", " scores[ row.status ].append( dictAltmetric[row.id]['numReaders'] / numYears )" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 252x129.6 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(3.5, 1.8) )\n", "\n", "# let's make sure the order is maintained:\n", "data = [scores[4], scores[-1], scores[1], scores[3]]\n", "\n", "parts = ax.violinplot( data, [0,1,2,3], showmeans=True, showmedians=False, \n", " showextrema=False, widths=0.7, points=500 )\n", "\n", "j = 0\n", "for pc in parts['bodies']:\n", " pc.set_facecolor(colors_list[j])\n", " pc.set_edgecolor( (0.2,0.2,0.2) )\n", " pc.set_edgecolors( (0.2,0.2,0.2) )\n", " pc.set_alpha(1)\n", " j += 1\n", " \n", "\n", "def buttpos(x): return [x-0.05,x+0.05]\n", "for j in range(4):\n", " pl.plot(buttpos(j), [np.mean(data[j])]*2, color=\"k\", \n", " linewidth=6, solid_capstyle=\"butt\", zorder=4)\n", "\n", "# for j in range(4):\n", "# ax.text( j-0.4, -2, 'n='+str(len(data[j])), fontsize=7 )\n", "\n", "ax.set_ylim(0,20)\n", "ax.set_ylabel('Altmetric readership')\n", "\n", "ax.set_xlabel('')\n", "ax.set_xticks([0,1,2,3])\n", "ax.set_xticklabels( ['Broken','Timeout','Accessible','Redirected'], rotation=-25 )\n", "\n", "simpleaxis(ax)\n", "\n", "pl.savefig('Altmetric numReaders vs status.pdf')" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 129.6x100.8 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(1.8, 1.4) )\n", "\n", "# let's make sure the order is maintained:\n", "data = [ np.mean(scores[4]), np.mean(scores[-1]), np.mean(scores[1] + scores[3]) ]\n", "vardata = [ np.std(scores[4])/np.sqrt(len(scores[4])), \n", " np.std(scores[-1])/np.sqrt(len(scores[-1])), \n", " np.std(scores[1] + scores[3])/np.sqrt(len(scores[1] + scores[3])) ]\n", "\n", "colors=[(1.0,0.2,0.1),(1.0,0.6,0.2),(0.5,1.0,0.5)]\n", "pl.bar( [0,1,2], data, 0.7, yerr=vardata, color=colors_list, \n", " edgecolor=[(0.2,0.2,0.2)]*3, lw=1.3, capsize=8 )\n", "\n", "pl.bar( [2], data[2:], 0.7, yerr=vardata[2:], color=colors_list[2:], hatch=\"//\",\n", " edgecolor=[(0.1,0.4,1.0)]*3, lw=1.5, capsize=8 )\n", "pl.bar( [2], data[2:], 0.7, yerr=vardata[2:], color='none',\n", " edgecolor=[(0.0,0.0,0.0)]*3, lw=1.5, capsize=8 )\n", "\n", "\n", "ax.set_ylim(0,41)\n", "ax.set_ylabel('Altmetric \\n readership')\n", "\n", "ax.set_xlabel('')\n", "ax.set_xlim(-0.5,2.5)\n", "ax.set_xticks([0,1,2])\n", "ax.set_xticklabels( ['Broken','Timeout','Accessible'], \n", " rotation=-25, fontsize=9)\n", "\n", "ax.text(1.1, 40, '*', fontsize=12)\n", "ax.plot([2,2,0.5,0.5], [38,40,40,38], color='k', lw=1.5)\n", "ax.plot([1,0], [38,38], color='k', lw=1.5)\n", "\n", "simpleaxis(ax)\n", "\n", "pl.savefig('1e.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-1.00000000e+00 2.07209979e-01 1.16657681e-06]\n", " [ 2.07209979e-01 -1.00000000e+00 8.42073375e-15]\n", " [ 1.16657681e-06 8.42073375e-15 -1.00000000e+00]]\n" ] } ], "source": [ "lists = scores[-1]+scores[4]+scores[1]+scores[3]\n", "categories = len(scores[-1])*[-1]+len(scores[4])*[4]+len(scores[1]+scores[3])*[1]\n", "\n", "print(sph.posthoc_dunn([scores[-1],scores[4],(scores[1]+scores[3])], p_adjust='fdr_bh'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Altmetric citation" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [], "source": [ "scores = {}\n", "for status in [1,3,-1,4]:\n", " scores[status] = []\n", "\n", "for index, row in uniqueLinks.iterrows():\n", " if row.id in dictAltmetric.keys():\n", " numYears = (2018 - year)\n", " scores[ row.status ].append( dictAltmetric[row.id]['cited'] / numYears )" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 252x108 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(3.5, 1.5) )\n", "\n", "# let's make sure the order is maintained:\n", "data = [scores[4], scores[-1], scores[1], scores[3]]\n", "\n", "parts = ax.violinplot( data, [0,1,2,3], showmeans=False, showmedians=False, \n", " showextrema=False, widths=0.7, points=500 )\n", "\n", "j = 0\n", "for pc in parts['bodies']:\n", " pc.set_facecolor(colors_list[j])\n", " pc.set_edgecolor( (0.2,0.2,0.2) )\n", " pc.set_edgecolors( (0.2,0.2,0.2) )\n", " pc.set_alpha(1)\n", " j += 1\n", " \n", "\n", "def buttpos(x): return [x-0.05,x+0.05]\n", "for j in range(4):\n", " pl.plot(buttpos(j), [np.mean(data[j])]*2, color=\"k\", \n", " linewidth=6, solid_capstyle=\"butt\", zorder=4)\n", "\n", "# for j in range(4):\n", "# ax.text( j-0.4, -2, 'n='+str(len(data[j])), fontsize=7 )\n", "\n", "ax.set_ylim(0,9)\n", "ax.set_ylabel('Social media \\n citations per year')\n", "ax.set_yticks([0,2,4,6,8])\n", "\n", "ax.set_xlabel('')\n", "ax.set_xticks([0,1,2,3])\n", "ax.set_xticklabels( ['Broken','Timeout','Accessible','Redirected'], \n", " rotation=-25, fontsize=8 )\n", "\n", "simpleaxis(ax)\n", "\n", "pl.savefig('Altmetric Cited vs status.pdf')" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 129.6x100.8 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f, ax = pl.subplots( 1, 1, figsize=(1.8, 1.4) )\n", "\n", "# let's make sure the order is maintained:\n", "data = [ np.mean(scores[4]), np.mean(scores[-1]), np.mean(scores[1] + scores[3]) ]\n", "vardata = [ np.std(scores[4])/np.sqrt(len(scores[4])), \n", " np.std(scores[-1])/np.sqrt(len(scores[-1])), \n", " np.std(scores[1] + scores[3])/np.sqrt(len(scores[1] + scores[3])) ]\n", "\n", "colors=[(1.0,0.2,0.1),(1.0,0.6,0.2),(0.5,1.0,0.5)]\n", "pl.bar( [0,1,2], data, 0.7, yerr=vardata, color=colors_list, \n", " edgecolor=[(0.2,0.2,0.2)]*3, lw=1.3, capsize=8 )\n", "\n", "pl.bar( [2], data[2:], 0.7, yerr=vardata[2:], color=colors_list[2:], hatch=\"//\",\n", " edgecolor=[(0.1,0.4,1.0)]*3, lw=1.5, capsize=8 )\n", "pl.bar( [2], data[2:], 0.7, yerr=vardata[2:], color='none',\n", " edgecolor=[(0.0,0.0,0.0)]*3, lw=1.5, capsize=8 )\n", "\n", "\n", "ax.set_ylim(0,15)\n", "ax.set_ylabel('Social media \\n citations per year')\n", "\n", "ax.set_xlabel('')\n", "ax.set_xlim(-0.5,2.5)\n", "ax.set_xticks([0,1,2])\n", "ax.set_xticklabels( ['Broken','Timeout','Accessible'], \n", " rotation=-25, fontsize=9)\n", "\n", "\n", "# ax.text(1.3, 4.7, '*', fontsize=12)\n", "# ax.plot([2,2,0.5,0.5], [4,4.7,4.7,4], color='k', lw=1.5)\n", "# ax.plot([0,1], [4,4], color='k', lw=1.5)\n", "simpleaxis(ax)\n", "\n", "pl.savefig('1d.pdf',bbox_inches = \"tight\")" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "KruskalResult(statistic=746.4778493513235, pvalue=1.7515548139742244e-161)\n", "[[-1.00000000e+000 1.22907386e-007 9.65803244e-103]\n", " [ 1.22907386e-007 -1.00000000e+000 3.37058804e-076]\n", " [ 9.65803244e-103 3.37058804e-076 -1.00000000e+000]]\n" ] } ], "source": [ "lists = scores[-1]+scores[4]+scores[1]+scores[3]\n", "categories = len(scores[-1])*[-1]+len(scores[4])*[4]+len(scores[1]+scores[3])*[1]\n", "\n", "from scipy.stats.mstats import kruskalwallis\n", "print(kruskalwallis(scores[-1],scores[4],scores[1],scores[3]))\n", "\n", "print(sph.posthoc_dunn([scores[-1],scores[4],(scores[1]+scores[3])], p_adjust='fdr_bh'))\n" ] } ], "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.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }