Commit 8b81babb authored by Administrator's avatar Administrator

Merge branch 'alex'

parents 832351f8 afd763af
{
"metadata": {
"name": "",
"signature": "sha256:a5146fbde2b6bf2e3ed4e2bdddfb62662f99272f26e82bf86110680ff3595332"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from node.models import Node, NodeType, Language\n",
"import parsing\n",
"from parsing.FileParsers import *"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"node = Node.objects.get(name=\"PubMed corpus\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fileparser = PubmedFileParser.PubmedFileParser(file='/var/www/gargantext/media/' + node.fichier.name)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fileparser.parse(node)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "Cannot assign \"24\": \"Node.user\" must be a \"User\" instance.",
"output_type": "pyerr",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-4-8c1443001599>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mfileparser\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparse\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnode\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32m/srv/gargantext/parsing/FileParsers/PubmedFileParser.py\u001b[0m in \u001b[0;36mparse\u001b[1;34m(self, parentNode, tag)\u001b[0m\n\u001b[0;32m 45\u001b[0m \u001b[0mlanguage\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_languages_iso3\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mmetadata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"language_iso3\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 46\u001b[0m \u001b[0mmetadata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmetadata\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 47\u001b[1;33m \u001b[0mguid\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmetadata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"doi\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 48\u001b[0m )\n\u001b[0;32m 49\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mdocument\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m/srv/gargantext/parsing/FileParsers/FileParser.py\u001b[0m in \u001b[0;36mcreate_document\u001b[1;34m(self, parentNode, title, contents, language, metadata, guid)\u001b[0m\n\u001b[0;32m 100\u001b[0m \u001b[0mmetadata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmetadata\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 101\u001b[0m \u001b[1;31m#resource = resource,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 102\u001b[1;33m \u001b[0mparent\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mparentNode\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 103\u001b[0m )\n\u001b[0;32m 104\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/base.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 403\u001b[0m \u001b[1;31m# \"user_id\") so that the object gets properly cached (and type\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 404\u001b[0m \u001b[1;31m# checked) by the RelatedObjectDescriptor.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 405\u001b[1;33m \u001b[0msetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfield\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrel_obj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 406\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 407\u001b[0m \u001b[0msetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfield\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mattname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mval\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/fields/related.py\u001b[0m in \u001b[0;36m__set__\u001b[1;34m(self, instance, value)\u001b[0m\n\u001b[0;32m 337\u001b[0m raise ValueError('Cannot assign \"%r\": \"%s.%s\" must be a \"%s\" instance.' %\n\u001b[0;32m 338\u001b[0m (value, instance._meta.object_name,\n\u001b[1;32m--> 339\u001b[1;33m self.field.name, self.field.rel.to._meta.object_name))\n\u001b[0m\u001b[0;32m 340\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mvalue\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 341\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0minstance\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_state\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdb\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: Cannot assign \"24\": \"Node.user\" must be a \"User\" instance."
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"node.children.all()"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
\ No newline at end of file
{
"metadata": {
"name": "",
"signature": "sha256:3345ac991b0346b1dfd82386fdc2a59f39b2de9bf32d03ddfbeb565927cfe7ab"
"signature": "sha256:f40cd0083a2e4ad7d01d7cd7be66a75e339a993999b0ff7b8207b089c8c3b4e9"
},
"nbformat": 3,
"nbformat_minor": 0,
......@@ -51,7 +51,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"node = Node.objects.get(name=\"PubMed corpus\")"
"node = Node.objects.get(name=\"Pubmed Fukushima\")"
],
"language": "python",
"metadata": {},
......@@ -73,7 +73,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"fileparser.parse(node)\n"
"fileparser.parse(node)"
],
"language": "python",
"metadata": {},
......@@ -276,30 +276,428 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
"prompt_number": 22
},
{
"cell_type": "markdown",
"cell_type": "code",
"collapsed": false,
"input": [
"children = node.children.all()\n",
"children[0].metadata"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"{'title': 'A metagenomic survey of microbes in honey bee colony collapse disorder.',\n",
" 'doi': '',\n",
" 'language_iso3': 'eng',\n",
" 'journal': 'Science (New York, N.Y.)',\n",
" 'date_pub': '2007-10-12',\n",
" 'abstract': 'In colony collapse disorder (CCD), honey bee colonies inexplicably lose their workers. CCD has resulted in a loss of 50 to 90% of colonies in beekeeping operations across the United States. The observation that irradiated combs from affected colonies can be repopulated with naive bees suggests that infection may contribute to CCD. We used an unbiased metagenomic approach to survey microflora in CCD hives, normal hives, and imported royal jelly. Candidate pathogens were screened for significance of association with CCD by the examination of samples collected from several sites over a period of 3 years. One organism, Israeli acute paralysis virus of bees, was strongly correlated with CCD.'}"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from dateutil.parser import parse"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dates = [ parse(document.metadata['date_pub']) for document in node.children.all()]"
],
"language": "python",
"metadata": {},
"source": [
" Ng"
]
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "raw",
"cell_type": "code",
"collapsed": false,
"input": [
"dates"
],
"language": "python",
"metadata": {},
"source": []
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
"[datetime.datetime(2005, 11, 21, 0, 0),\n",
" datetime.datetime(2007, 7, 11, 0, 0),\n",
" datetime.datetime(2007, 10, 12, 0, 0),\n",
" datetime.datetime(2007, 10, 3, 0, 0),\n",
" datetime.datetime(2008, 2, 8, 0, 0),\n",
" datetime.datetime(2008, 6, 11, 0, 0),\n",
" datetime.datetime(2008, 9, 29, 0, 0),\n",
" datetime.datetime(2008, 7, 23, 0, 0),\n",
" datetime.datetime(2008, 11, 5, 0, 0),\n",
" datetime.datetime(2009, 2, 2, 0, 0),\n",
" datetime.datetime(2008, 12, 30, 0, 0),\n",
" datetime.datetime(2009, 3, 23, 0, 0),\n",
" datetime.datetime(2009, 2, 6, 0, 0),\n",
" datetime.datetime(2013, 6, 14, 0, 0),\n",
" datetime.datetime(2009, 9, 28, 0, 0),\n",
" datetime.datetime(2009, 8, 3, 0, 0),\n",
" datetime.datetime(2009, 10, 6, 0, 0),\n",
" datetime.datetime(2009, 11, 9, 0, 0),\n",
" datetime.datetime(2009, 11, 5, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2009, 11, 20, 0, 0),\n",
" datetime.datetime(2010, 2, 23, 0, 0),\n",
" datetime.datetime(2010, 1, 8, 0, 0),\n",
" datetime.datetime(2010, 5, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 13, 0, 0),\n",
" datetime.datetime(2010, 8, 16, 0, 0),\n",
" datetime.datetime(2010, 11, 9, 0, 0),\n",
" datetime.datetime(2010, 10, 25, 0, 0),\n",
" datetime.datetime(2010, 12, 28, 0, 0),\n",
" datetime.datetime(2010, 12, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 15, 0, 0),\n",
" datetime.datetime(2010, 11, 10, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 3, 2, 0, 0),\n",
" datetime.datetime(2011, 8, 8, 0, 0),\n",
" datetime.datetime(2011, 5, 2, 0, 0),\n",
" datetime.datetime(2011, 6, 20, 0, 0),\n",
" datetime.datetime(2011, 7, 6, 0, 0),\n",
" datetime.datetime(2011, 7, 8, 0, 0),\n",
" datetime.datetime(2011, 11, 7, 0, 0),\n",
" datetime.datetime(2011, 10, 27, 0, 0),\n",
" datetime.datetime(2011, 11, 28, 0, 0),\n",
" datetime.datetime(2011, 11, 10, 0, 0),\n",
" datetime.datetime(2012, 1, 11, 0, 0),\n",
" datetime.datetime(2012, 1, 12, 0, 0),\n",
" datetime.datetime(2012, 1, 24, 0, 0),\n",
" datetime.datetime(2013, 6, 12, 0, 0),\n",
" datetime.datetime(2012, 3, 2, 0, 0),\n",
" datetime.datetime(2012, 3, 6, 0, 0),\n",
" datetime.datetime(2012, 3, 19, 0, 0),\n",
" datetime.datetime(2012, 4, 20, 0, 0),\n",
" datetime.datetime(2012, 3, 30, 0, 0),\n",
" datetime.datetime(2012, 6, 25, 0, 0),\n",
" datetime.datetime(2012, 6, 8, 0, 0),\n",
" datetime.datetime(2012, 6, 21, 0, 0),\n",
" datetime.datetime(2012, 9, 5, 0, 0),\n",
" datetime.datetime(2012, 8, 28, 0, 0),\n",
" datetime.datetime(2012, 12, 28, 0, 0),\n",
" datetime.datetime(2012, 9, 21, 0, 0),\n",
" datetime.datetime(2012, 12, 31, 0, 0),\n",
" datetime.datetime(2013, 1, 28, 0, 0),\n",
" datetime.datetime(2013, 2, 18, 0, 0),\n",
" datetime.datetime(2013, 4, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 27, 0, 0),\n",
" datetime.datetime(2013, 7, 29, 0, 0),\n",
" datetime.datetime(2013, 6, 4, 0, 0),\n",
" datetime.datetime(2013, 6, 27, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 7, 18, 0, 0),\n",
" datetime.datetime(2013, 8, 16, 0, 0),\n",
" datetime.datetime(2013, 9, 5, 0, 0),\n",
" datetime.datetime(2013, 11, 11, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 10, 16, 0, 0),\n",
" datetime.datetime(2013, 12, 23, 0, 0),\n",
" datetime.datetime(2014, 1, 22, 0, 0),\n",
" datetime.datetime(2005, 11, 21, 0, 0),\n",
" datetime.datetime(2007, 7, 11, 0, 0),\n",
" datetime.datetime(2007, 10, 12, 0, 0),\n",
" datetime.datetime(2007, 10, 3, 0, 0),\n",
" datetime.datetime(2008, 2, 8, 0, 0),\n",
" datetime.datetime(2008, 6, 11, 0, 0),\n",
" datetime.datetime(2008, 9, 29, 0, 0),\n",
" datetime.datetime(2008, 7, 23, 0, 0),\n",
" datetime.datetime(2008, 11, 5, 0, 0),\n",
" datetime.datetime(2009, 2, 2, 0, 0),\n",
" datetime.datetime(2008, 12, 30, 0, 0),\n",
" datetime.datetime(2009, 3, 23, 0, 0),\n",
" datetime.datetime(2009, 2, 6, 0, 0),\n",
" datetime.datetime(2013, 6, 14, 0, 0),\n",
" datetime.datetime(2009, 9, 28, 0, 0),\n",
" datetime.datetime(2009, 8, 3, 0, 0),\n",
" datetime.datetime(2009, 10, 6, 0, 0),\n",
" datetime.datetime(2009, 11, 9, 0, 0),\n",
" datetime.datetime(2009, 11, 5, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2009, 11, 20, 0, 0),\n",
" datetime.datetime(2010, 2, 23, 0, 0),\n",
" datetime.datetime(2010, 1, 8, 0, 0),\n",
" datetime.datetime(2010, 5, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 13, 0, 0),\n",
" datetime.datetime(2010, 8, 16, 0, 0),\n",
" datetime.datetime(2010, 11, 9, 0, 0),\n",
" datetime.datetime(2010, 10, 25, 0, 0),\n",
" datetime.datetime(2010, 12, 28, 0, 0),\n",
" datetime.datetime(2010, 12, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 15, 0, 0),\n",
" datetime.datetime(2010, 11, 10, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 3, 2, 0, 0),\n",
" datetime.datetime(2011, 8, 8, 0, 0),\n",
" datetime.datetime(2011, 5, 2, 0, 0),\n",
" datetime.datetime(2011, 6, 20, 0, 0),\n",
" datetime.datetime(2011, 7, 6, 0, 0),\n",
" datetime.datetime(2011, 7, 8, 0, 0),\n",
" datetime.datetime(2011, 11, 7, 0, 0),\n",
" datetime.datetime(2011, 10, 27, 0, 0),\n",
" datetime.datetime(2011, 11, 28, 0, 0),\n",
" datetime.datetime(2011, 11, 10, 0, 0),\n",
" datetime.datetime(2012, 1, 11, 0, 0),\n",
" datetime.datetime(2012, 1, 12, 0, 0),\n",
" datetime.datetime(2012, 1, 24, 0, 0),\n",
" datetime.datetime(2013, 6, 12, 0, 0),\n",
" datetime.datetime(2012, 3, 2, 0, 0),\n",
" datetime.datetime(2012, 3, 6, 0, 0),\n",
" datetime.datetime(2012, 3, 19, 0, 0),\n",
" datetime.datetime(2012, 4, 20, 0, 0),\n",
" datetime.datetime(2012, 3, 30, 0, 0),\n",
" datetime.datetime(2012, 6, 25, 0, 0),\n",
" datetime.datetime(2012, 6, 8, 0, 0),\n",
" datetime.datetime(2012, 6, 21, 0, 0),\n",
" datetime.datetime(2012, 9, 5, 0, 0),\n",
" datetime.datetime(2012, 8, 28, 0, 0),\n",
" datetime.datetime(2012, 12, 28, 0, 0),\n",
" datetime.datetime(2012, 9, 21, 0, 0),\n",
" datetime.datetime(2012, 12, 31, 0, 0),\n",
" datetime.datetime(2013, 1, 28, 0, 0),\n",
" datetime.datetime(2013, 2, 18, 0, 0),\n",
" datetime.datetime(2013, 4, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 27, 0, 0),\n",
" datetime.datetime(2013, 7, 29, 0, 0),\n",
" datetime.datetime(2013, 6, 4, 0, 0),\n",
" datetime.datetime(2013, 6, 27, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 7, 18, 0, 0),\n",
" datetime.datetime(2013, 8, 16, 0, 0),\n",
" datetime.datetime(2013, 9, 5, 0, 0),\n",
" datetime.datetime(2013, 11, 11, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 10, 16, 0, 0),\n",
" datetime.datetime(2013, 12, 23, 0, 0),\n",
" datetime.datetime(2014, 1, 22, 0, 0)]"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"n = node.children.first()"
"journals = [ document.metadata['journal'] for document in node.children.all()]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"journals"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"['The Journal of general virology',\n",
" 'The Journal of general virology',\n",
" 'Science (New York, N.Y.)',\n",
" 'Ecology letters',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of virology',\n",
" 'Environmental microbiology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Experimental & applied acarology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Insect molecular biology',\n",
" 'Environmental microbiology reports',\n",
" 'Veterinary microbiology',\n",
" 'PloS one',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Applied and environmental microbiology',\n",
" 'Journal of economic entomology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Current biology : CB',\n",
" 'In vitro cellular & developmental biology. Animal',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of agricultural and food chemistry',\n",
" 'Current microbiology',\n",
" 'Medical hypotheses',\n",
" 'BioEssays : news and reviews in molecular, cellular and developmental biology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Environmental science & technology',\n",
" 'The Journal of general virology',\n",
" 'PloS one',\n",
" 'Journal of economic entomology',\n",
" 'PLoS pathogens',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Revista Argentina de microbiolog\u00eda',\n",
" 'PloS one',\n",
" 'Insect biochemistry and molecular biology',\n",
" 'The Veterinary quarterly',\n",
" 'Trends in microbiology',\n",
" 'International journal of environmental research and public health',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Die Naturwissenschaften',\n",
" 'Environmental microbiology reports',\n",
" 'PloS one',\n",
" 'Ecology and evolution',\n",
" 'PloS one',\n",
" 'Science (New York, N.Y.)',\n",
" 'Science (New York, N.Y.)',\n",
" 'Integrative and comparative biology',\n",
" 'Science (New York, N.Y.)',\n",
" 'PLoS pathogens',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'Preventive veterinary medicine',\n",
" 'Science (New York, N.Y.)',\n",
" 'Neurochemistry international',\n",
" 'Parasitology research',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Veterinary research',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Annals of allergy, asthma & immunology : official publication of the American College of Allergy, Asthma, & Immunology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Scientific American',\n",
" 'Nature',\n",
" 'Parasitology research',\n",
" 'Environmental microbiology reports',\n",
" 'Science (New York, N.Y.)',\n",
" 'Scientific American',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Human and ecological risk assessment : HERA',\n",
" 'mBio',\n",
" 'The Journal of general virology',\n",
" 'The Journal of general virology',\n",
" 'Science (New York, N.Y.)',\n",
" 'Ecology letters',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of virology',\n",
" 'Environmental microbiology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Experimental & applied acarology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Insect molecular biology',\n",
" 'Environmental microbiology reports',\n",
" 'Veterinary microbiology',\n",
" 'PloS one',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Applied and environmental microbiology',\n",
" 'Journal of economic entomology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Current biology : CB',\n",
" 'In vitro cellular & developmental biology. Animal',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of agricultural and food chemistry',\n",
" 'Current microbiology',\n",
" 'Medical hypotheses',\n",
" 'BioEssays : news and reviews in molecular, cellular and developmental biology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Environmental science & technology',\n",
" 'The Journal of general virology',\n",
" 'PloS one',\n",
" 'Journal of economic entomology',\n",
" 'PLoS pathogens',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Revista Argentina de microbiolog\u00eda',\n",
" 'PloS one',\n",
" 'Insect biochemistry and molecular biology',\n",
" 'The Veterinary quarterly',\n",
" 'Trends in microbiology',\n",
" 'International journal of environmental research and public health',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Die Naturwissenschaften',\n",
" 'Environmental microbiology reports',\n",
" 'PloS one',\n",
" 'Ecology and evolution',\n",
" 'PloS one',\n",
" 'Science (New York, N.Y.)',\n",
" 'Science (New York, N.Y.)',\n",
" 'Integrative and comparative biology',\n",
" 'Science (New York, N.Y.)',\n",
" 'PLoS pathogens',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'Preventive veterinary medicine',\n",
" 'Science (New York, N.Y.)',\n",
" 'Neurochemistry international',\n",
" 'Parasitology research',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Veterinary research',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Annals of allergy, asthma & immunology : official publication of the American College of Allergy, Asthma, & Immunology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Scientific American',\n",
" 'Nature',\n",
" 'Parasitology research',\n",
" 'Environmental microbiology reports',\n",
" 'Science (New York, N.Y.)',\n",
" 'Scientific American',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Human and ecological risk assessment : HERA',\n",
" 'mBio']"
]
}
],
"prompt_number": 21
},
{
"cell_type": "code",
......
......@@ -5,7 +5,7 @@ from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.template.loader import get_template
from django.template import Context
from documents.models import Project, Corpus, Document
#from documents.models import Project, Corpus, Document
from node.models import Node, NodeType
from django.contrib.auth.models import User
......@@ -15,6 +15,9 @@ from itertools import *
from django.db import connection
from django import forms
from collections import defaultdict
# SOME FUNCTIONS
def query_to_dicts(query_string, *query_args):
......@@ -151,28 +154,25 @@ def corpus(request, project_id, corpus_id):
number = corpus.children.count()
try:
sources = query_to_dicts('''select count(*), source
from node_node as t1
INNER JOIN documents_document_corpus as t2
ON ( t1.id = t2.document_id )
WHERE ( t1.user_id = %d AND t2.corpus_id = %d )
GROUP BY source
order by 1 DESC limit %d;''' % (request.user.pk, int(corpus_id), int(15)))
sources = defaultdict(int)
for document in documents.all():
sources[document.metadata['journal']] += 1
sources_donut = []
for source in sources.keys():
source_count = dict()
source_count['count'] = source['count']
try:
source_count['part'] = round(source_count['count'] * 100 / number)
except:
source_count['part'] = None
source_count['source'] = source['source']
sources_donut.append(source_count)
except:
pass
sources_donut = []
for s in sources:
ss = dict()
ss['count'] = s['count']
try:
ss['part'] = round(ss['count'] * 100 / number)
except:
ss['part'] = None
ss['source'] = s['source']
sources_donut.append(ss)
try:
first = documents.first().date
last = documents.last().date
......@@ -190,13 +190,14 @@ def corpus(request, project_id, corpus_id):
date_form = 'days'
try:
dates = query_to_dicts('''select to_char(t1.date, '%s'), count(*)
from documents_document as t1
INNER JOIN documents_document_corpus as t2
ON ( t1.id = t2.document_id )
WHERE ( t1.user_id = %d AND t2.corpus_id = %d )
group by to_char(t1.date, '%s')
order by 1 DESC;''' % (date_format, request.user.pk, int(corpus_id), date_format))
dates = dict()
# query_to_dicts('''select to_char(t1.date, '%s'), count(*)
# from documents_document as t1
# INNER JOIN documents_document_corpus as t2
# ON ( t1.id = t2.document_id )
# WHERE ( t1.user_id = %d AND t2.corpus_id = %d )
# group by to_char(t1.date, '%s')
# order by 1 DESC;''' % (date_format, request.user.pk, int(corpus_id), date_format))
except:
pass
......
File moved
# Paquets Debian a installer
sudo apt-get install python-virtualenv
sudo apt-cache search libpng
sudo apt-get install libpng12-dev
sudo apt-get install libpng-dev
apt-cache search freetype
apt-cache search freetype | grep dev
sudo apt-get install libfreetype6-dev
sudo apt-cache search python-dev
sudo apt-get install python-dev
sudo apt-get install libpq-dev
postgresql-contrib
libpq-dev
# rajouter david
#
#
#Paquets Debian a installer
# easy_install -U distribute (matplotlib)
#lxml
libffi-dev
......
from node.models import NodeType
from django.contrib.auth.models import User
user = User.objects.get(username="alexandre")
#NodeType.objects.all().delete()
NodeType(name="Root").save()
NodeType(name="Project").save()
type_root = NodeType(name="Root")
type_root.save()
type_project = NodeType(name="Project")
type_project.save()
NodeType(name="Corpus").save()
NodeType(name="Document").save()
from node.models import Project
Project(name="Projet sur les abeilles", user=user, type=type_project).save()
from node.models import DatabaseType
for bdd in ['Europresse', 'PubMed', 'Web Of Science (WOS), ISI format']:
DatabaseType(name=bdd).save()
......
......@@ -3,7 +3,7 @@
psql -d gargandb -f init.sql
sleep 2
./manage.py syncdb
../manage.py syncdb
sleep 2
./manage.py shell < init.py
../manage.py shell < init.py
from django.contrib import admin
from django.forms import ModelForm, ModelChoiceField
from nested_inlines.admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline
from node.models import NodeType, Language, Node, Project, Corpus, Document
from node.models import NodeType, Language, Node, Project, Corpus, Document, DatabaseType, Resource
class ResourceInLine(admin.TabularInline):
model = Resource
extra = 0
class NodeAdmin(admin.ModelAdmin):
exclude = ('user', 'path', 'depth', 'numchild')
......@@ -9,7 +14,7 @@ class NodeAdmin(admin.ModelAdmin):
search_fields = ('name',)
# list_filter = ('type',)
# date_hierarchy
# inlines = [CorpusInLine,]
#inlines = [ResourceInLine,]
#_nodetype_name = 'Project'
#_parent_nodetype_name = 'Root'
......@@ -50,7 +55,8 @@ class NodeAdmin(admin.ModelAdmin):
parent = nodeParent,\
user = request.user,\
name = obj.name,\
metadata= obj.metadata)
metadata= obj.metadata,\
resource = obj.resource)
#nodeParent.save()
#node.save()
......@@ -108,10 +114,11 @@ class LanguageAdmin(admin.ModelAdmin):
class Meta:
ordering = ['fullname',]
admin.site.register(NodeType)
admin.site.register(Resource)
admin.site.register(DatabaseType)
admin.site.register(Language, LanguageAdmin)
admin.site.register(NodeType)
admin.site.register(Project, ProjectAdmin)
admin.site.register(Corpus, CorpusAdmin)
admin.site.register(Document, DocumentAdmin)
......
......@@ -39,9 +39,10 @@ class Ngram(models.Model):
terms = models.CharField(max_length=255)
class Resource(models.Model):
user = models.ForeignKey(User)
guid = models.CharField(max_length=255)
bdd_type = models.ForeignKey(DatabaseType, blank=True, null=True)
#file = models.FileField(upload_to=upload_to, blank=True)
file = models.FileField(upload_to=upload_to, blank=True)
class NodeType(models.Model):
name = models.CharField(max_length=200)
......@@ -60,9 +61,8 @@ class Node(CTENode):
date = models.DateField(default=timezone.now, blank=True)
metadata = hstore.DictionaryField(blank=True)
fichier = models.FileField(upload_to=upload_to, blank=True)
#resource = models.ForeignKey(Resource, blank=True, null=True)
#ngrams = models.ManyToManyField(NGrams)
resource = models.ManyToManyField(Resource, blank=True)
ngrams = models.ManyToManyField(Ngram, blank=True)
def __str__(self):
......
......@@ -66,7 +66,7 @@
<div class="col-md-4">
<div class="jumbotron">
<h3>Catography</h3>
<h3>Cartography</h3>
<ol>
<li>Feature</li>
<li>Feature</li>
......
{
"metadata": {
"name": "",
"signature": "sha256:6df2ce47b09a6203b244f7b4dc27f3346901261b85922dd46bc54d669d6469a6"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from node.models import Node, NodeType, Language\n",
"import parsing\n",
"from parsing.FileParsers import *\n",
"from collections import defaultdict"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#from node.models import Language\n",
"#import pycountry\n",
"#for lang in pycountry.languages:\n",
"# try:\n",
"# Language(iso2=lang.alpha2, iso3=lang.terminology, fullname=lang.name, implemented=1).save()\n",
"# except:\n",
"# pass\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"node = Node.objects.get(name=\"Pubmed Fukushima\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fileparser = PubmedFileParser.PubmedFileParser(file='/var/www/gargantext/media/' + node.fichier.name)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fileparser.parse(node)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Warning: parsing empty text\n",
"Warning: parsing empty text\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Warning: parsing empty text"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"[<Node: Systemic spread and propagation of a plant-pathogenic virus in European honeybees, Apis mellifera.>,\n",
" <Node: A Causal Analysis of Observed Declines in Managed Honey Bees (Apis mellifera).>,\n",
" <Node: Non-specific dsRNA-mediated antiviral response in the honey bee.>,\n",
" <Node: In vitro infection of pupae with Israeli acute paralysis virus suggests disturbance of transcriptional homeostasis in honey bees (Apis mellifera).>,\n",
" <Node: Nosema ceranae has been present in Brazil for more than three decades infecting Africanized honey bees.>,\n",
" <Node: Return of the natives.>,\n",
" <Node: The road to pollinator health.>,\n",
" <Node: Do the honeybee pathogens Nosema ceranae and deformed wing virus act synergistically?>,\n",
" <Node: Essential oil from Eupatorium buniifolium leaves as potential varroacide.>,\n",
" <Node: Animal behaviour: brain food.>,\n",
" <Node: What's the buzz?>,\n",
" <Node: Nosema ceranae induced mortality in honey bees (Apis mellifera) depends on infection methods.>,\n",
" <Node: Rates of honeybee sting hypersensitivity in San Antonio during honeybee colony collapse disorder.>,\n",
" <Node: Healing power of honey.>,\n",
" <Node: Honey constituents up-regulate detoxification and immunity genes in the western honey bee Apis mellifera.>,\n",
" <Node: Nosema spp. infection and its negative effects on honey bees (Apis mellifera iberiensis) at the colony level.>,\n",
" <Node: Flight behavior and pheromone changes associated to Nosema ceranae infection of honey bee workers (Apis mellifera) in field conditions.>,\n",
" <Node: Clinical signs of deformed wing virus infection are predictive markers for honey bee colony losses.>,\n",
" <Node: The microsporidian parasites Nosema ceranae and Nosema apis are widespread in honeybee (Apis mellifera) colonies across Scotland.>,\n",
" <Node: A potential link among biogenic amines-based pesticides, learning and memory, and colony collapse disorder: a unique hypothesis.>,\n",
" <Node: Comment on \"A common pesticide decreases foraging success and survival in honey bees\".>,\n",
" <Node: Idiopathic brood disease syndrome and queen events as precursors of colony mortality in migratory beekeeping operations in the eastern United States.>,\n",
" <Node: Pathogen webs in collapsing honey bee colonies.>,\n",
" <Node: Asymptomatic presence of Nosema spp. in Spanish commercial apiaries.>,\n",
" <Node: Synergistic parasite-pathogen interactions mediated by host immunity can drive the collapse of honeybee colonies.>,\n",
" <Node: Global honey bee viral landscape altered by a parasitic mite.>,\n",
" <Node: Paratransgenesis: an approach to improve colony health and molecular insight in honey bees (Apis mellifera)?>,\n",
" <Node: Agriculture. Field research on bees raises concern about low-dose pesticides.>,\n",
" <Node: A common pesticide decreases foraging success and survival in honey bees.>,\n",
" <Node: Symbionts as major modulators of insect health: lactic acid bacteria and honeybees.>,\n",
" <Node: The habitat disruption induces immune-suppression and oxidative stress in honey bees.>,\n",
" <Node: Predictive markers of honey bee colony collapse.>,\n",
" <Node: Colony collapse disorder in Europe.>,\n",
" <Node: Pesticide exposure in honey bees results in increased levels of the gut pathogen Nosema.>,\n",
" <Node: Bromenshenk et al (PLoS One, 2011, 5(10):e13181) have claimed to have found peptides from an invertebrate iridovirus in bees.>,\n",
" <Node: A new threat to honey bees, the parasitic phorid fly Apocephalus borealis.>,\n",
" <Node: Detection of pesticides in active and depopulated beehives in Uruguay.>,\n",
" <Node: Bees brought to their knees: microbes affecting honey bee health.>,\n",
" <Node: From elephants to bees.>,\n",
" <Node: Evidence of a novel immune responsive protein in the Hymenoptera.>,\n",
" <Node: Lack of evidence for an association between Iridovirus and colony collapse disorder.>,\n",
" <Node: First report of Israeli acute paralysis virus in asymptomatic hives of Argentina.>,\n",
" <Node: Temporal analysis of the honey bee microbiome reveals four novel viruses and seasonal prevalence of known viruses, Nosema, and Crithidia.>,\n",
" <Node: A quantitative model of honey bee colony population dynamics.>,\n",
" <Node: Detection of honey bee (Apis mellifera) viruses with an oligonucleotide microarray.>,\n",
" <Node: Interpretation of data underlying the link between colony collapse disorder (CCD) and an invertebrate iridescent virus.>,\n",
" <Node: RNA viruses in hymenopteran pollinators: evidence of inter-Taxa virus transmission via pollen and potential impact on non-Apis hymenopteran species.>,\n",
" <Node: Large-scale field application of RNAi technology reducing Israeli acute paralysis virus disease in honey bees (Apis mellifera, Hymenoptera: Apidae).>,\n",
" <Node: Weighing risk factors associated with bee colony collapse disorder by classification and regression tree analysis.>,\n",
" <Node: Iridovirus and microsporidian linked to honey bee colony decline.>,\n",
" <Node: Varroa destructor is an effective vector of Israeli acute paralysis virus in the honeybee, Apis mellifera.>,\n",
" <Node: The plight of the bees.>,\n",
" <Node: Sudden deaths and colony population decline in Greek honey bee colonies.>,\n",
" <Node: Colony Collapse Disorder in context.>,\n",
" <Node: Vanishing honey bees: Is the dying of adult worker bees a consequence of short telomeres and premature aging?>,\n",
" <Node: Prevention of Chinese sacbrood virus infection in Apis cerana using RNA interference.>,\n",
" <Node: Refined methodology for the determination of neonicotinoid pesticides and their metabolites in honey bees and bee products by liquid chromatography-tandem mass spectrometry (LC-MS/MS).>,\n",
" <Node: Ecology. Clarity on honey bee collapse?>,\n",
" <Node: Medium for development of bee cell cultures (Apis mellifera: Hymenoptera: Apidae).>,\n",
" <Node: Bee mystery continues.>,\n",
" <Node: Deformed wing virus.>,\n",
" <Node: The Acute bee paralysis virus-Kashmir bee virus-Israeli acute paralysis virus complex.>,\n",
" <Node: Translocation of neonicotinoid insecticides from coated seeds to seedling guttation drops: a novel way of intoxication for bees.>,\n",
" <Node: Deformed wing virus implicated in overwintering honeybee colony losses.>,\n",
" <Node: Changes in transcript abundance relating to colony collapse disorder in honey bees (Apis mellifera).>,\n",
" <Node: Colony collapse disorder: a descriptive study.>,\n",
" <Node: A PCR method of detecting American Foulbrood (Paenibacillus larvae) in winter beehive wax debris.>,\n",
" <Node: Honeybee colony collapse due to Nosema ceranae in professional apiaries.>,\n",
" <Node: IAPV, a bee-affecting virus associated with Colony Collapse Disorder can be silenced by dsRNA ingestion.>,\n",
" <Node: Energetic stress in the honeybee Apis mellifera from Nosema ceranae infection.>,\n",
" <Node: A survey of honey bee colony losses in the U.S., fall 2007 to spring 2008.>,\n",
" <Node: A qualitative model of mortality in honey bee (Apis mellifera) colonies infested with tracheal mites (Acarapis woodi).>,\n",
" <Node: First detection of Israeli acute paralysis virus (IAPV) in France, a dicistrovirus affecting honeybees (Apis mellifera).>,\n",
" <Node: Does pathogen spillover from commercially reared bumble bees threaten wild pollinators?>,\n",
" <Node: How natural infection by Nosema ceranae causes honeybee colony collapse.>,\n",
" <Node: Genetic analysis of Israel acute paralysis virus: distinct clusters are circulating in the United States.>,\n",
" <Node: The latest buzz about colony collapse disorder.>,\n",
" <Node: Native bees provide insurance against ongoing honey bee losses.>,\n",
" <Node: A metagenomic survey of microbes in honey bee colony collapse disorder.>,\n",
" <Node: Vertical-transmission routes for deformed wing virus of honeybees (Apis mellifera).>,\n",
" <Node: RT-PCR analysis of Deformed wing virus in honeybees (Apis mellifera) and mites (Varroa destructor).>]"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from node.models import Ngram"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"children = node.children.all()\n",
"children[0].metadata"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"{'title': 'A metagenomic survey of microbes in honey bee colony collapse disorder.',\n",
" 'doi': '',\n",
" 'language_iso3': 'eng',\n",
" 'journal': 'Science (New York, N.Y.)',\n",
" 'date_pub': '2007-10-12',\n",
" 'abstract': 'In colony collapse disorder (CCD), honey bee colonies inexplicably lose their workers. CCD has resulted in a loss of 50 to 90% of colonies in beekeeping operations across the United States. The observation that irradiated combs from affected colonies can be repopulated with naive bees suggests that infection may contribute to CCD. We used an unbiased metagenomic approach to survey microflora in CCD hives, normal hives, and imported royal jelly. Candidate pathogens were screened for significance of association with CCD by the examination of samples collected from several sites over a period of 3 years. One organism, Israeli acute paralysis virus of bees, was strongly correlated with CCD.'}"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from dateutil.parser import parse"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dates = [ parse(document.metadata['date_pub']) for document in node.children.all()]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dates"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
"[datetime.datetime(2005, 11, 21, 0, 0),\n",
" datetime.datetime(2007, 7, 11, 0, 0),\n",
" datetime.datetime(2007, 10, 12, 0, 0),\n",
" datetime.datetime(2007, 10, 3, 0, 0),\n",
" datetime.datetime(2008, 2, 8, 0, 0),\n",
" datetime.datetime(2008, 6, 11, 0, 0),\n",
" datetime.datetime(2008, 9, 29, 0, 0),\n",
" datetime.datetime(2008, 7, 23, 0, 0),\n",
" datetime.datetime(2008, 11, 5, 0, 0),\n",
" datetime.datetime(2009, 2, 2, 0, 0),\n",
" datetime.datetime(2008, 12, 30, 0, 0),\n",
" datetime.datetime(2009, 3, 23, 0, 0),\n",
" datetime.datetime(2009, 2, 6, 0, 0),\n",
" datetime.datetime(2013, 6, 14, 0, 0),\n",
" datetime.datetime(2009, 9, 28, 0, 0),\n",
" datetime.datetime(2009, 8, 3, 0, 0),\n",
" datetime.datetime(2009, 10, 6, 0, 0),\n",
" datetime.datetime(2009, 11, 9, 0, 0),\n",
" datetime.datetime(2009, 11, 5, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2009, 11, 20, 0, 0),\n",
" datetime.datetime(2010, 2, 23, 0, 0),\n",
" datetime.datetime(2010, 1, 8, 0, 0),\n",
" datetime.datetime(2010, 5, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 13, 0, 0),\n",
" datetime.datetime(2010, 8, 16, 0, 0),\n",
" datetime.datetime(2010, 11, 9, 0, 0),\n",
" datetime.datetime(2010, 10, 25, 0, 0),\n",
" datetime.datetime(2010, 12, 28, 0, 0),\n",
" datetime.datetime(2010, 12, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 15, 0, 0),\n",
" datetime.datetime(2010, 11, 10, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 3, 2, 0, 0),\n",
" datetime.datetime(2011, 8, 8, 0, 0),\n",
" datetime.datetime(2011, 5, 2, 0, 0),\n",
" datetime.datetime(2011, 6, 20, 0, 0),\n",
" datetime.datetime(2011, 7, 6, 0, 0),\n",
" datetime.datetime(2011, 7, 8, 0, 0),\n",
" datetime.datetime(2011, 11, 7, 0, 0),\n",
" datetime.datetime(2011, 10, 27, 0, 0),\n",
" datetime.datetime(2011, 11, 28, 0, 0),\n",
" datetime.datetime(2011, 11, 10, 0, 0),\n",
" datetime.datetime(2012, 1, 11, 0, 0),\n",
" datetime.datetime(2012, 1, 12, 0, 0),\n",
" datetime.datetime(2012, 1, 24, 0, 0),\n",
" datetime.datetime(2013, 6, 12, 0, 0),\n",
" datetime.datetime(2012, 3, 2, 0, 0),\n",
" datetime.datetime(2012, 3, 6, 0, 0),\n",
" datetime.datetime(2012, 3, 19, 0, 0),\n",
" datetime.datetime(2012, 4, 20, 0, 0),\n",
" datetime.datetime(2012, 3, 30, 0, 0),\n",
" datetime.datetime(2012, 6, 25, 0, 0),\n",
" datetime.datetime(2012, 6, 8, 0, 0),\n",
" datetime.datetime(2012, 6, 21, 0, 0),\n",
" datetime.datetime(2012, 9, 5, 0, 0),\n",
" datetime.datetime(2012, 8, 28, 0, 0),\n",
" datetime.datetime(2012, 12, 28, 0, 0),\n",
" datetime.datetime(2012, 9, 21, 0, 0),\n",
" datetime.datetime(2012, 12, 31, 0, 0),\n",
" datetime.datetime(2013, 1, 28, 0, 0),\n",
" datetime.datetime(2013, 2, 18, 0, 0),\n",
" datetime.datetime(2013, 4, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 27, 0, 0),\n",
" datetime.datetime(2013, 7, 29, 0, 0),\n",
" datetime.datetime(2013, 6, 4, 0, 0),\n",
" datetime.datetime(2013, 6, 27, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 7, 18, 0, 0),\n",
" datetime.datetime(2013, 8, 16, 0, 0),\n",
" datetime.datetime(2013, 9, 5, 0, 0),\n",
" datetime.datetime(2013, 11, 11, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 10, 16, 0, 0),\n",
" datetime.datetime(2013, 12, 23, 0, 0),\n",
" datetime.datetime(2014, 1, 22, 0, 0),\n",
" datetime.datetime(2005, 11, 21, 0, 0),\n",
" datetime.datetime(2007, 7, 11, 0, 0),\n",
" datetime.datetime(2007, 10, 12, 0, 0),\n",
" datetime.datetime(2007, 10, 3, 0, 0),\n",
" datetime.datetime(2008, 2, 8, 0, 0),\n",
" datetime.datetime(2008, 6, 11, 0, 0),\n",
" datetime.datetime(2008, 9, 29, 0, 0),\n",
" datetime.datetime(2008, 7, 23, 0, 0),\n",
" datetime.datetime(2008, 11, 5, 0, 0),\n",
" datetime.datetime(2009, 2, 2, 0, 0),\n",
" datetime.datetime(2008, 12, 30, 0, 0),\n",
" datetime.datetime(2009, 3, 23, 0, 0),\n",
" datetime.datetime(2009, 2, 6, 0, 0),\n",
" datetime.datetime(2013, 6, 14, 0, 0),\n",
" datetime.datetime(2009, 9, 28, 0, 0),\n",
" datetime.datetime(2009, 8, 3, 0, 0),\n",
" datetime.datetime(2009, 10, 6, 0, 0),\n",
" datetime.datetime(2009, 11, 9, 0, 0),\n",
" datetime.datetime(2009, 11, 5, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2010, 1, 28, 0, 0),\n",
" datetime.datetime(2009, 11, 20, 0, 0),\n",
" datetime.datetime(2010, 2, 23, 0, 0),\n",
" datetime.datetime(2010, 1, 8, 0, 0),\n",
" datetime.datetime(2010, 5, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 13, 0, 0),\n",
" datetime.datetime(2010, 8, 16, 0, 0),\n",
" datetime.datetime(2010, 11, 9, 0, 0),\n",
" datetime.datetime(2010, 10, 25, 0, 0),\n",
" datetime.datetime(2010, 12, 28, 0, 0),\n",
" datetime.datetime(2010, 12, 20, 0, 0),\n",
" datetime.datetime(2010, 10, 15, 0, 0),\n",
" datetime.datetime(2010, 11, 10, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 1, 4, 0, 0),\n",
" datetime.datetime(2011, 3, 2, 0, 0),\n",
" datetime.datetime(2011, 8, 8, 0, 0),\n",
" datetime.datetime(2011, 5, 2, 0, 0),\n",
" datetime.datetime(2011, 6, 20, 0, 0),\n",
" datetime.datetime(2011, 7, 6, 0, 0),\n",
" datetime.datetime(2011, 7, 8, 0, 0),\n",
" datetime.datetime(2011, 11, 7, 0, 0),\n",
" datetime.datetime(2011, 10, 27, 0, 0),\n",
" datetime.datetime(2011, 11, 28, 0, 0),\n",
" datetime.datetime(2011, 11, 10, 0, 0),\n",
" datetime.datetime(2012, 1, 11, 0, 0),\n",
" datetime.datetime(2012, 1, 12, 0, 0),\n",
" datetime.datetime(2012, 1, 24, 0, 0),\n",
" datetime.datetime(2013, 6, 12, 0, 0),\n",
" datetime.datetime(2012, 3, 2, 0, 0),\n",
" datetime.datetime(2012, 3, 6, 0, 0),\n",
" datetime.datetime(2012, 3, 19, 0, 0),\n",
" datetime.datetime(2012, 4, 20, 0, 0),\n",
" datetime.datetime(2012, 3, 30, 0, 0),\n",
" datetime.datetime(2012, 6, 25, 0, 0),\n",
" datetime.datetime(2012, 6, 8, 0, 0),\n",
" datetime.datetime(2012, 6, 21, 0, 0),\n",
" datetime.datetime(2012, 9, 5, 0, 0),\n",
" datetime.datetime(2012, 8, 28, 0, 0),\n",
" datetime.datetime(2012, 12, 28, 0, 0),\n",
" datetime.datetime(2012, 9, 21, 0, 0),\n",
" datetime.datetime(2012, 12, 31, 0, 0),\n",
" datetime.datetime(2013, 1, 28, 0, 0),\n",
" datetime.datetime(2013, 2, 18, 0, 0),\n",
" datetime.datetime(2013, 4, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 2, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 29, 0, 0),\n",
" datetime.datetime(2013, 5, 27, 0, 0),\n",
" datetime.datetime(2013, 7, 29, 0, 0),\n",
" datetime.datetime(2013, 6, 4, 0, 0),\n",
" datetime.datetime(2013, 6, 27, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 7, 18, 0, 0),\n",
" datetime.datetime(2013, 8, 16, 0, 0),\n",
" datetime.datetime(2013, 9, 5, 0, 0),\n",
" datetime.datetime(2013, 11, 11, 0, 0),\n",
" datetime.datetime(2013, 9, 16, 0, 0),\n",
" datetime.datetime(2013, 10, 16, 0, 0),\n",
" datetime.datetime(2013, 12, 23, 0, 0),\n",
" datetime.datetime(2014, 1, 22, 0, 0)]"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"journals = [ document.metadata['journal'] for document in node.children.all()]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"journal_count = defaultdict(int)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 29
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for document in node.children.all():\n",
" journal_count[document.metadata['journal']] += 1"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"journal_count"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
"defaultdict(<class 'int'>, {'Annals of allergy, asthma & immunology : official publication of the American College of Allergy, Asthma, & Immunology': 2, 'PLoS pathogens': 4, 'Revista Argentina de microbiolog\u00eda': 2, 'Insect molecular biology': 2, 'BioEssays : news and reviews in molecular, cellular and developmental biology': 2, 'Neurochemistry international': 2, 'Insect biochemistry and molecular biology': 2, 'Science (New York, N.Y.)': 16, 'Experimental & applied acarology': 2, 'Trends in microbiology': 2, 'Current microbiology': 2, 'Journal of virology': 2, 'Scientific American': 4, 'Environmental microbiology': 2, 'Medical hypotheses': 2, 'Applied and environmental microbiology': 2, 'Die Naturwissenschaften': 2, 'Journal of agricultural and food chemistry': 2, 'The Veterinary quarterly': 2, 'Journal of invertebrate pathology': 22, 'Ecology letters': 2, 'Integrative and comparative biology': 2, 'PloS one': 28, 'Parasitology research': 4, 'Current biology : CB': 2, 'Molecular & cellular proteomics : MCP': 4, 'In vitro cellular & developmental biology. Animal': 2, 'Preventive veterinary medicine': 2, 'The Journal of general virology': 6, 'Veterinary microbiology': 2, 'Proceedings of the National Academy of Sciences of the United States of America': 6, 'Ecology and evolution': 2, 'Human and ecological risk assessment : HERA': 2, 'International journal of environmental research and public health': 2, 'Journal of economic entomology': 4, 'Environmental microbiology reports': 6, 'Environmental science & technology': 2, 'mBio': 2, 'Veterinary research': 2, 'Nature': 2})"
]
}
],
"prompt_number": 31
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"journals"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"['The Journal of general virology',\n",
" 'The Journal of general virology',\n",
" 'Science (New York, N.Y.)',\n",
" 'Ecology letters',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of virology',\n",
" 'Environmental microbiology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Experimental & applied acarology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Insect molecular biology',\n",
" 'Environmental microbiology reports',\n",
" 'Veterinary microbiology',\n",
" 'PloS one',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Applied and environmental microbiology',\n",
" 'Journal of economic entomology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Current biology : CB',\n",
" 'In vitro cellular & developmental biology. Animal',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of agricultural and food chemistry',\n",
" 'Current microbiology',\n",
" 'Medical hypotheses',\n",
" 'BioEssays : news and reviews in molecular, cellular and developmental biology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Environmental science & technology',\n",
" 'The Journal of general virology',\n",
" 'PloS one',\n",
" 'Journal of economic entomology',\n",
" 'PLoS pathogens',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Revista Argentina de microbiolog\u00eda',\n",
" 'PloS one',\n",
" 'Insect biochemistry and molecular biology',\n",
" 'The Veterinary quarterly',\n",
" 'Trends in microbiology',\n",
" 'International journal of environmental research and public health',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Die Naturwissenschaften',\n",
" 'Environmental microbiology reports',\n",
" 'PloS one',\n",
" 'Ecology and evolution',\n",
" 'PloS one',\n",
" 'Science (New York, N.Y.)',\n",
" 'Science (New York, N.Y.)',\n",
" 'Integrative and comparative biology',\n",
" 'Science (New York, N.Y.)',\n",
" 'PLoS pathogens',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'Preventive veterinary medicine',\n",
" 'Science (New York, N.Y.)',\n",
" 'Neurochemistry international',\n",
" 'Parasitology research',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Veterinary research',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Annals of allergy, asthma & immunology : official publication of the American College of Allergy, Asthma, & Immunology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Scientific American',\n",
" 'Nature',\n",
" 'Parasitology research',\n",
" 'Environmental microbiology reports',\n",
" 'Science (New York, N.Y.)',\n",
" 'Scientific American',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Human and ecological risk assessment : HERA',\n",
" 'mBio',\n",
" 'The Journal of general virology',\n",
" 'The Journal of general virology',\n",
" 'Science (New York, N.Y.)',\n",
" 'Ecology letters',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of virology',\n",
" 'Environmental microbiology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Experimental & applied acarology',\n",
" 'PloS one',\n",
" 'Journal of invertebrate pathology',\n",
" 'Insect molecular biology',\n",
" 'Environmental microbiology reports',\n",
" 'Veterinary microbiology',\n",
" 'PloS one',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Applied and environmental microbiology',\n",
" 'Journal of economic entomology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Current biology : CB',\n",
" 'In vitro cellular & developmental biology. Animal',\n",
" 'Science (New York, N.Y.)',\n",
" 'Journal of agricultural and food chemistry',\n",
" 'Current microbiology',\n",
" 'Medical hypotheses',\n",
" 'BioEssays : news and reviews in molecular, cellular and developmental biology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Environmental science & technology',\n",
" 'The Journal of general virology',\n",
" 'PloS one',\n",
" 'Journal of economic entomology',\n",
" 'PLoS pathogens',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Revista Argentina de microbiolog\u00eda',\n",
" 'PloS one',\n",
" 'Insect biochemistry and molecular biology',\n",
" 'The Veterinary quarterly',\n",
" 'Trends in microbiology',\n",
" 'International journal of environmental research and public health',\n",
" 'PloS one',\n",
" 'Molecular & cellular proteomics : MCP',\n",
" 'Die Naturwissenschaften',\n",
" 'Environmental microbiology reports',\n",
" 'PloS one',\n",
" 'Ecology and evolution',\n",
" 'PloS one',\n",
" 'Science (New York, N.Y.)',\n",
" 'Science (New York, N.Y.)',\n",
" 'Integrative and comparative biology',\n",
" 'Science (New York, N.Y.)',\n",
" 'PLoS pathogens',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'Preventive veterinary medicine',\n",
" 'Science (New York, N.Y.)',\n",
" 'Neurochemistry international',\n",
" 'Parasitology research',\n",
" 'Journal of invertebrate pathology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Veterinary research',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Proceedings of the National Academy of Sciences of the United States of America',\n",
" 'Annals of allergy, asthma & immunology : official publication of the American College of Allergy, Asthma, & Immunology',\n",
" 'Journal of invertebrate pathology',\n",
" 'Scientific American',\n",
" 'Nature',\n",
" 'Parasitology research',\n",
" 'Environmental microbiology reports',\n",
" 'Science (New York, N.Y.)',\n",
" 'Scientific American',\n",
" 'Journal of invertebrate pathology',\n",
" 'PloS one',\n",
" 'PloS one',\n",
" 'Human and ecological risk assessment : HERA',\n",
" 'mBio']"
]
}
],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for node_ngram in n.node_ngram_set.all():\n",
" print(node_ngram.ngram.terms)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n",
"Ngram object\n"
]
}
],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment