diff --git a/src/notebooks/Python Examples/GSC23 MGnify Workshop.ipynb b/src/notebooks/Python Examples/GSC23 MGnify Workshop.ipynb index 9e5f424..472dd12 100644 --- a/src/notebooks/Python Examples/GSC23 MGnify Workshop.ipynb +++ b/src/notebooks/Python Examples/GSC23 MGnify Workshop.ipynb @@ -65,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "ba4e90f6-7778-4d03-ae4f-05711d5d5c63", "metadata": { "tags": [] @@ -128,7 +128,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "80005880-ec79-4991-96b0-b1d8848eac99", "metadata": { "tags": [] @@ -219,27 +219,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "d1661765-bdf8-44b5-9c10-db0ffe7fb4d5", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Type a Study Accession [default: MGYS00001935] \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Using \"MGYS00001935\" as Study Accession\n" - ] - } - ], + "outputs": [], "source": [ "from lib.variable_utils import get_variable_from_link_or_input\n", "\n", @@ -261,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "5173ced5-e607-49a2-88d1-88c57d68baaf", "metadata": { "tags": [] @@ -287,220 +272,12 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "f1071967-42f7-4890-99dd-58d138ebffac", "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
typeidattributes.accessionattributes.analysis-statusattributes.experiment-typeattributes.analysis-summaryattributes.pipeline-versionattributes.is-privateattributes.complete-timeattributes.instrument-platformattributes.instrument-modelrelationships.sample.data.idrelationships.sample.data.typerelationships.run.data.idrelationships.run.data.typerelationships.study.data.idrelationships.study.data.type
0analysis-jobsMGYA00585242MGYA00585242completedamplicon[{'key': 'Submitted nucleotide sequences', 'value': '1474912'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '335618'}, {'key': 'Nucleotide sequences after length filtering', 'value': '335618'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '335618'}, {'key': 'Predicted SSU sequences', 'value': '335119'}, {'key': 'Predicted LSU sequences', 'value': '0'}]5.0False2021-07-23T09:20:39ILLUMINAIllumina HiSeq 2500ERS1871389samplesERR2098577runsMGYS00001935studies
1analysis-jobsMGYA00585243MGYA00585243completedamplicon[{'key': 'Submitted nucleotide sequences', 'value': '1178982'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '1060738'}, {'key': 'Nucleotide sequences after length filtering', 'value': '1060738'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '1060738'}, {'key': 'Predicted SSU sequences', 'value': '1049588'}, {'key': 'Predicted LSU sequences', 'value': '0'}]5.0False2021-07-23T09:22:00ILLUMINAIllumina HiSeq 2500ERS1871409samplesERR2098437runsMGYS00001935studies
2analysis-jobsMGYA00585244MGYA00585244completedamplicon[{'key': 'Submitted nucleotide sequences', 'value': '2285192'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '772970'}, {'key': 'Nucleotide sequences after length filtering', 'value': '772970'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '772970'}, {'key': 'Predicted SSU sequences', 'value': '772662'}, {'key': 'Predicted LSU sequences', 'value': '3'}]5.0False2021-07-23T09:24:06ILLUMINAIllumina MiSeqERS1871427samplesERR2098500runsMGYS00001935studies
3analysis-jobsMGYA00585245MGYA00585245completedamplicon[{'key': 'Submitted nucleotide sequences', 'value': '1863283'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '1679669'}, {'key': 'Nucleotide sequences after length filtering', 'value': '1679669'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '1679669'}, {'key': 'Predicted SSU sequences', 'value': '1674242'}, {'key': 'Predicted LSU sequences', 'value': '0'}]5.0False2021-07-23T09:25:40ILLUMINAIllumina HiSeq 2500ERS1871411samplesERR2098439runsMGYS00001935studies
4analysis-jobsMGYA00585246MGYA00585246completedamplicon[{'key': 'Submitted nucleotide sequences', 'value': '1244024'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '1110539'}, {'key': 'Nucleotide sequences after length filtering', 'value': '1110539'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '1110539'}, {'key': 'Predicted SSU sequences', 'value': '1107011'}, {'key': 'Predicted LSU sequences', 'value': '0'}]5.0False2021-07-23T09:27:22ILLUMINAIllumina HiSeq 2500ERS1871430samplesERR2098450runsMGYS00001935studies
\n", - "
" - ], - "text/plain": [ - " type id attributes.accession \\\n", - "0 analysis-jobs MGYA00585242 MGYA00585242 \n", - "1 analysis-jobs MGYA00585243 MGYA00585243 \n", - "2 analysis-jobs MGYA00585244 MGYA00585244 \n", - "3 analysis-jobs MGYA00585245 MGYA00585245 \n", - "4 analysis-jobs MGYA00585246 MGYA00585246 \n", - "\n", - " attributes.analysis-status attributes.experiment-type \\\n", - "0 completed amplicon \n", - "1 completed amplicon \n", - "2 completed amplicon \n", - "3 completed amplicon \n", - "4 completed amplicon \n", - "\n", - " attributes.analysis-summary \\\n", - "0 [{'key': 'Submitted nucleotide sequences', 'value': '1474912'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '335618'}, {'key': 'Nucleotide sequences after length filtering', 'value': '335618'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '335618'}, {'key': 'Predicted SSU sequences', 'value': '335119'}, {'key': 'Predicted LSU sequences', 'value': '0'}] \n", - "1 [{'key': 'Submitted nucleotide sequences', 'value': '1178982'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '1060738'}, {'key': 'Nucleotide sequences after length filtering', 'value': '1060738'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '1060738'}, {'key': 'Predicted SSU sequences', 'value': '1049588'}, {'key': 'Predicted LSU sequences', 'value': '0'}] \n", - "2 [{'key': 'Submitted nucleotide sequences', 'value': '2285192'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '772970'}, {'key': 'Nucleotide sequences after length filtering', 'value': '772970'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '772970'}, {'key': 'Predicted SSU sequences', 'value': '772662'}, {'key': 'Predicted LSU sequences', 'value': '3'}] \n", - "3 [{'key': 'Submitted nucleotide sequences', 'value': '1863283'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '1679669'}, {'key': 'Nucleotide sequences after length filtering', 'value': '1679669'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '1679669'}, {'key': 'Predicted SSU sequences', 'value': '1674242'}, {'key': 'Predicted LSU sequences', 'value': '0'}] \n", - "4 [{'key': 'Submitted nucleotide sequences', 'value': '1244024'}, {'key': 'Nucleotide sequences after format-specific filtering', 'value': '1110539'}, {'key': 'Nucleotide sequences after length filtering', 'value': '1110539'}, {'key': 'Nucleotide sequences after undetermined bases filtering', 'value': '1110539'}, {'key': 'Predicted SSU sequences', 'value': '1107011'}, {'key': 'Predicted LSU sequences', 'value': '0'}] \n", - "\n", - " attributes.pipeline-version attributes.is-private attributes.complete-time \\\n", - "0 5.0 False 2021-07-23T09:20:39 \n", - "1 5.0 False 2021-07-23T09:22:00 \n", - "2 5.0 False 2021-07-23T09:24:06 \n", - "3 5.0 False 2021-07-23T09:25:40 \n", - "4 5.0 False 2021-07-23T09:27:22 \n", - "\n", - " attributes.instrument-platform attributes.instrument-model \\\n", - "0 ILLUMINA Illumina HiSeq 2500 \n", - "1 ILLUMINA Illumina HiSeq 2500 \n", - "2 ILLUMINA Illumina MiSeq \n", - "3 ILLUMINA Illumina HiSeq 2500 \n", - "4 ILLUMINA Illumina HiSeq 2500 \n", - "\n", - " relationships.sample.data.id relationships.sample.data.type \\\n", - "0 ERS1871389 samples \n", - "1 ERS1871409 samples \n", - "2 ERS1871427 samples \n", - "3 ERS1871411 samples \n", - "4 ERS1871430 samples \n", - "\n", - " relationships.run.data.id relationships.run.data.type \\\n", - "0 ERR2098577 runs \n", - "1 ERR2098437 runs \n", - "2 ERR2098500 runs \n", - "3 ERR2098439 runs \n", - "4 ERR2098450 runs \n", - "\n", - " relationships.study.data.id relationships.study.data.type \n", - "0 MGYS00001935 studies \n", - "1 MGYS00001935 studies \n", - "2 MGYS00001935 studies \n", - "3 MGYS00001935 studies \n", - "4 MGYS00001935 studies " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "analyses.head()" ] @@ -523,23 +300,12 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "fd8ef42e-ea80-4a55-863e-12342dddab5a", "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "image/png": "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VEXe98nnWgiBy5cvG7yWgLwQGR0djb/++gurVq1C3bp1UaNGjWJre15FHVfAs4X3/G/zKSkp+tOWAEr91EB+i5OVlVWJ/o4lZcxjLm7dfv36YcaMGfj111+xfft2eHh4FBp07ty5g4yMDIPWhyePY2PecyuSCnXaoijdu3eHQqHAxIkTC6RRIQTu379f7DZ69OiBpKQkzJ8/v8Bt+dvs1asXtFotJk+eXGAdjUaDlJQUo2vPP/CevG9+2n788eTk5GDBggUG69WvXx9ubm5YunQpNBqNfvmqVasKNOv16tULt2/fxtKlSwvU8ejRI2RkZADIOy/5pPxvx0V9E+7UqRMAFJjdLj91d+7c+an3fZrCngchBObMmWP0th7fpkwmM/hWFRcXh82bN5fo/kqlEq+99hp++uknrFy5ErVq1TL4YNFqtQWa+j09PeHr66t//iIjI1G5cmX83//9H9LT0wvsI38omkKhQIcOHbB582bcuHFDf/v58+exc+fOYmtNS0szOC6AvCAhl8v1tRT2HKemppY4TD2Lx19nQgjMnz8fVlZWaNOmTaHrKxQK9OjRAxs2bMCZM2cK3P740L0nX+/W1taoXr06hBDIzc0ttrbvvvsODx8+1P++fv16xMfHF/hm/+KLL8Ld3R3Tp0/HgQMHnqvVoSRKclwBee8pxZ1+e1J+mD148KB+WUZGBr799tvnqLggT09PtGrVCosXL0Z8fHyB2wsb/loSdnZ2JX7/zZ/T52nr165dG7Vr18ayZcuwYcMG9O7du9DT2RqNxmDIdE5ODhYvXgwPDw9ERkYCKPl7bkVjVi0PU6ZMwccff4y4uDh069YNDg4OuHbtGjZt2oS33noLo0aNKnIb/fr1w3fffYeRI0fizz//RPPmzZGRkYHdu3dj6NChiI6ORsuWLfH222/jiy++wMmTJ9G+fXtYWVkhNjYW69atw5w5c9CzZ0+jao+IiIBCocD06dORmpoKGxsbtG7dGk2aNIGLiwv69++P999/HzKZDN9//32BcGRtbY0JEyZg+PDhaN26NXr16oW4uDisXLkSlStXNki7b7zxBn766Se888472LdvH5o2bQqtVosLFy7gp59+ws6dO1G/fn1MmjQJBw8eROfOnREYGIjExEQsWLAA/v7+aNas2VMfS506ddC/f38sWbJEf9rlzz//xLfffotu3boZ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "analyses.groupby('attributes.instrument-model').size().plot(kind='pie', autopct='%1.1f%%')\n", "plt.title('Percentages of analysed samples by instrument type');" @@ -587,328 +353,12 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "0fee9320-4354-47ce-afbc-e44b2ef09c50", "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
typeidattributes.accessionattributes.analysis-statusattributes.experiment-typeattributes.pipeline-versionattributes.is-privateattributes.complete-timeattributes.instrument-platformattributes.instrument-modelrelationships.sample.data.idrelationships.sample.data.typerelationships.run.data.idrelationships.run.data.typerelationships.study.data.idrelationships.study.data.typeSubmitted nucleotide sequencesNucleotide sequences after format-specific filteringNucleotide sequences after length filteringNucleotide sequences after undetermined bases filteringPredicted SSU sequencesPredicted LSU sequencesReads with predicted CDSReads with predicted RNAReads with InterProScan matchPredicted CDSPredicted CDS with InterProScan matchTotal InterProScan matches
0analysis-jobsMGYA00585242MGYA00585242completedamplicon5.0False2021-07-23T09:20:39ILLUMINAIllumina HiSeq 2500ERS1871389samplesERR2098577runsMGYS00001935studies14749123356183356183356183351190N/AN/AN/AN/AN/AN/A
1analysis-jobsMGYA00585243MGYA00585243completedamplicon5.0False2021-07-23T09:22:00ILLUMINAIllumina HiSeq 2500ERS1871409samplesERR2098437runsMGYS00001935studies117898210607381060738106073810495880N/AN/AN/AN/AN/AN/A
2analysis-jobsMGYA00585244MGYA00585244completedamplicon5.0False2021-07-23T09:24:06ILLUMINAIllumina MiSeqERS1871427samplesERR2098500runsMGYS00001935studies22851927729707729707729707726623N/AN/AN/AN/AN/AN/A
3analysis-jobsMGYA00585245MGYA00585245completedamplicon5.0False2021-07-23T09:25:40ILLUMINAIllumina HiSeq 2500ERS1871411samplesERR2098439runsMGYS00001935studies186328316796691679669167966916742420N/AN/AN/AN/AN/AN/A
4analysis-jobsMGYA00585246MGYA00585246completedamplicon5.0False2021-07-23T09:27:22ILLUMINAIllumina HiSeq 2500ERS1871430samplesERR2098450runsMGYS00001935studies124402411105391110539111053911070110N/AN/AN/AN/AN/AN/A
\n", - "
" - ], - "text/plain": [ - " type id attributes.accession \\\n", - "0 analysis-jobs MGYA00585242 MGYA00585242 \n", - "1 analysis-jobs MGYA00585243 MGYA00585243 \n", - "2 analysis-jobs MGYA00585244 MGYA00585244 \n", - "3 analysis-jobs MGYA00585245 MGYA00585245 \n", - "4 analysis-jobs MGYA00585246 MGYA00585246 \n", - "\n", - " attributes.analysis-status attributes.experiment-type \\\n", - "0 completed amplicon \n", - "1 completed amplicon \n", - "2 completed amplicon \n", - "3 completed amplicon \n", - "4 completed amplicon \n", - "\n", - " attributes.pipeline-version attributes.is-private attributes.complete-time \\\n", - "0 5.0 False 2021-07-23T09:20:39 \n", - "1 5.0 False 2021-07-23T09:22:00 \n", - "2 5.0 False 2021-07-23T09:24:06 \n", - "3 5.0 False 2021-07-23T09:25:40 \n", - "4 5.0 False 2021-07-23T09:27:22 \n", - "\n", - " attributes.instrument-platform attributes.instrument-model \\\n", - "0 ILLUMINA Illumina HiSeq 2500 \n", - "1 ILLUMINA Illumina HiSeq 2500 \n", - "2 ILLUMINA Illumina MiSeq \n", - "3 ILLUMINA Illumina HiSeq 2500 \n", - "4 ILLUMINA Illumina HiSeq 2500 \n", - "\n", - " relationships.sample.data.id relationships.sample.data.type \\\n", - "0 ERS1871389 samples \n", - "1 ERS1871409 samples \n", - "2 ERS1871427 samples \n", - "3 ERS1871411 samples \n", - "4 ERS1871430 samples \n", - "\n", - " relationships.run.data.id relationships.run.data.type \\\n", - "0 ERR2098577 runs \n", - "1 ERR2098437 runs \n", - "2 ERR2098500 runs \n", - "3 ERR2098439 runs \n", - "4 ERR2098450 runs \n", - "\n", - " relationships.study.data.id relationships.study.data.type \\\n", - "0 MGYS00001935 studies \n", - "1 MGYS00001935 studies \n", - "2 MGYS00001935 studies \n", - "3 MGYS00001935 studies \n", - "4 MGYS00001935 studies \n", - "\n", - " Submitted nucleotide sequences \\\n", - "0 1474912 \n", - "1 1178982 \n", - "2 2285192 \n", - "3 1863283 \n", - "4 1244024 \n", - "\n", - " Nucleotide sequences after format-specific filtering \\\n", - "0 335618 \n", - "1 1060738 \n", - "2 772970 \n", - "3 1679669 \n", - "4 1110539 \n", - "\n", - " Nucleotide sequences after length filtering \\\n", - "0 335618 \n", - "1 1060738 \n", - "2 772970 \n", - "3 1679669 \n", - "4 1110539 \n", - "\n", - " Nucleotide sequences after undetermined bases filtering \\\n", - "0 335618 \n", - "1 1060738 \n", - "2 772970 \n", - "3 1679669 \n", - "4 1110539 \n", - "\n", - " Predicted SSU sequences Predicted LSU sequences Reads with predicted CDS \\\n", - "0 335119 0 N/A \n", - "1 1049588 0 N/A \n", - "2 772662 3 N/A \n", - "3 1674242 0 N/A \n", - "4 1107011 0 N/A \n", - "\n", - " Reads with predicted RNA Reads with InterProScan match Predicted CDS \\\n", - "0 N/A N/A N/A \n", - "1 N/A N/A N/A \n", - "2 N/A N/A N/A \n", - "3 N/A N/A N/A \n", - "4 N/A N/A N/A \n", - "\n", - " Predicted CDS with InterProScan match Total InterProScan matches \n", - "0 N/A N/A \n", - "1 N/A N/A \n", - "2 N/A N/A \n", - "3 N/A N/A \n", - "4 N/A N/A " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Save all possible JSON keys into a list \"all_keys\"\n", "all_keys = [\n", @@ -961,601 +411,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "e1a219d6-26e5-4e7e-8c6c-571cb32ea9d6", "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
typeidattributes.accessionattributes.analysis-statusattributes.experiment-typeattributes.pipeline-versionattributes.is-privateattributes.complete-timeattributes.instrument-platformattributes.instrument-modelrelationships.sample.data.idrelationships.sample.data.typerelationships.run.data.idrelationships.run.data.typerelationships.study.data.idrelationships.study.data.typeSubmitted nucleotide sequencesNucleotide sequences after format-specific filteringNucleotide sequences after length filteringNucleotide sequences after undetermined bases filteringPredicted SSU sequencesPredicted LSU sequencesReads with predicted CDSReads with predicted RNAReads with InterProScan matchPredicted CDSPredicted CDS with InterProScan matchTotal InterProScan matches
2analysis-jobsMGYA00585244MGYA00585244completedamplicon5.0False2021-07-23T09:24:06ILLUMINAIllumina MiSeqERS1871427samplesERR2098500runsMGYS00001935studies22851927729707729707729707726623N/AN/AN/AN/AN/AN/A
12analysis-jobsMGYA00585254MGYA00585254completedamplicon5.0False2021-07-23T09:39:02ILLUMINAIllumina HiSeq 2500ERS1871398samplesERR2098533runsMGYS00001935studies9949537570227570227570227553793N/AN/AN/AN/AN/AN/A
13analysis-jobsMGYA00585255MGYA00585255completedamplicon5.0False2021-07-23T09:40:50ILLUMINAIllumina MiSeqERS1996201samplesERR2196988runsMGYS00001935studies6701744786994786994786994728955N/AN/AN/AN/AN/AN/A
17analysis-jobsMGYA00585259MGYA00585259completedamplicon5.0False2021-07-23T14:15:40ILLUMINAIllumina HiSeq 2500ERS1871471samplesERR2098506runsMGYS00001935studies13233027657897657897657897646455N/AN/AN/AN/AN/AN/A
21analysis-jobsMGYA00585263MGYA00585263completedamplicon5.0False2021-07-23T14:22:58ILLUMINAIllumina HiSeq 2500ERS1871374samplesERR2098570runsMGYS00001935studies11105775905055905055905055892301N/AN/AN/AN/AN/AN/A
.......................................................................................
243analysis-jobsMGYA00608340MGYA00608340completedmetagenomic5.0False2022-09-20T11:01:47ILLUMINAIllumina HiSeq 4000ERS1871393samplesERR2098379runsMGYS00001935studies622485682572296425722964257229642150939264250407538338812776564257300261282230322748978
244analysis-jobsMGYA00608341MGYA00608341completedmetagenomic5.0False2022-09-20T11:03:41ILLUMINAIllumina HiSeq 4000ERS1871423samplesERR2098403runsMGYS00001935studies6476875030469803304698033046980318363317602802448162320624499928646835625852410588518
245analysis-jobsMGYA00608342MGYA00608342completedmetagenomic5.0False2022-09-20T11:05:20ILLUMINAIllumina HiSeq 4000ERS1871373samplesERR2098367runsMGYS00001935studies5121770324766186247661862476618621370380412351843276618944354924051747946868316474824
246analysis-jobsMGYA00608343MGYA00608343completedmetagenomic5.0False2022-09-20T11:07:02ILLUMINAIllumina HiSeq 4000ERS1871401samplesERR2098385runsMGYS00001935studies496335292391377823913778239137783463152285199976649883126452852060804626499684440764
247analysis-jobsMGYA00608344MGYA00608344completedmetagenomic5.0False2022-09-20T11:08:51ILLUMINAIllumina HiSeq 4000ERS1871374samplesERR2098368runsMGYS00001935studies6255682832656692326566923265669230276531133117169810737413136590318755761317165322950127
\n", - "

108 rows × 28 columns

\n", - "
" - ], - "text/plain": [ - " type id attributes.accession \\\n", - "2 analysis-jobs MGYA00585244 MGYA00585244 \n", - "12 analysis-jobs MGYA00585254 MGYA00585254 \n", - "13 analysis-jobs MGYA00585255 MGYA00585255 \n", - "17 analysis-jobs MGYA00585259 MGYA00585259 \n", - "21 analysis-jobs MGYA00585263 MGYA00585263 \n", - ".. ... ... ... \n", - "243 analysis-jobs MGYA00608340 MGYA00608340 \n", - "244 analysis-jobs MGYA00608341 MGYA00608341 \n", - "245 analysis-jobs MGYA00608342 MGYA00608342 \n", - "246 analysis-jobs MGYA00608343 MGYA00608343 \n", - "247 analysis-jobs MGYA00608344 MGYA00608344 \n", - "\n", - " attributes.analysis-status attributes.experiment-type \\\n", - "2 completed amplicon \n", - "12 completed amplicon \n", - "13 completed amplicon \n", - "17 completed amplicon \n", - "21 completed amplicon \n", - ".. ... ... \n", - "243 completed metagenomic \n", - "244 completed metagenomic \n", - "245 completed metagenomic \n", - "246 completed metagenomic \n", - "247 completed metagenomic \n", - "\n", - " attributes.pipeline-version attributes.is-private \\\n", - "2 5.0 False \n", - "12 5.0 False \n", - "13 5.0 False \n", - "17 5.0 False \n", - "21 5.0 False \n", - ".. ... ... \n", - "243 5.0 False \n", - "244 5.0 False \n", - "245 5.0 False \n", - "246 5.0 False \n", - "247 5.0 False \n", - "\n", - " attributes.complete-time attributes.instrument-platform \\\n", - "2 2021-07-23T09:24:06 ILLUMINA \n", - "12 2021-07-23T09:39:02 ILLUMINA \n", - "13 2021-07-23T09:40:50 ILLUMINA \n", - "17 2021-07-23T14:15:40 ILLUMINA \n", - "21 2021-07-23T14:22:58 ILLUMINA \n", - ".. ... ... \n", - "243 2022-09-20T11:01:47 ILLUMINA \n", - "244 2022-09-20T11:03:41 ILLUMINA \n", - "245 2022-09-20T11:05:20 ILLUMINA \n", - "246 2022-09-20T11:07:02 ILLUMINA \n", - "247 2022-09-20T11:08:51 ILLUMINA \n", - "\n", - " attributes.instrument-model relationships.sample.data.id \\\n", - "2 Illumina MiSeq ERS1871427 \n", - "12 Illumina HiSeq 2500 ERS1871398 \n", - "13 Illumina MiSeq ERS1996201 \n", - "17 Illumina HiSeq 2500 ERS1871471 \n", - "21 Illumina HiSeq 2500 ERS1871374 \n", - ".. ... ... \n", - "243 Illumina HiSeq 4000 ERS1871393 \n", - "244 Illumina HiSeq 4000 ERS1871423 \n", - "245 Illumina HiSeq 4000 ERS1871373 \n", - "246 Illumina HiSeq 4000 ERS1871401 \n", - "247 Illumina HiSeq 4000 ERS1871374 \n", - "\n", - " relationships.sample.data.type relationships.run.data.id \\\n", - "2 samples ERR2098500 \n", - "12 samples ERR2098533 \n", - "13 samples ERR2196988 \n", - "17 samples ERR2098506 \n", - "21 samples ERR2098570 \n", - ".. ... ... \n", - "243 samples ERR2098379 \n", - "244 samples ERR2098403 \n", - "245 samples ERR2098367 \n", - "246 samples ERR2098385 \n", - "247 samples ERR2098368 \n", - "\n", - " relationships.run.data.type relationships.study.data.id \\\n", - "2 runs MGYS00001935 \n", - "12 runs MGYS00001935 \n", - "13 runs MGYS00001935 \n", - "17 runs MGYS00001935 \n", - "21 runs MGYS00001935 \n", - ".. ... ... \n", - "243 runs MGYS00001935 \n", - "244 runs MGYS00001935 \n", - "245 runs MGYS00001935 \n", - "246 runs MGYS00001935 \n", - "247 runs MGYS00001935 \n", - "\n", - " relationships.study.data.type Submitted nucleotide sequences \\\n", - "2 studies 2285192 \n", - "12 studies 994953 \n", - "13 studies 670174 \n", - "17 studies 1323302 \n", - "21 studies 1110577 \n", - ".. ... ... \n", - "243 studies 62248568 \n", - "244 studies 64768750 \n", - "245 studies 51217703 \n", - "246 studies 49633529 \n", - "247 studies 62556828 \n", - "\n", - " Nucleotide sequences after format-specific filtering \\\n", - "2 772970 \n", - "12 757022 \n", - "13 478699 \n", - "17 765789 \n", - "21 590505 \n", - ".. ... \n", - "243 25722964 \n", - "244 30469803 \n", - "245 24766186 \n", - "246 23913778 \n", - "247 32656692 \n", - "\n", - " Nucleotide sequences after length filtering \\\n", - "2 772970 \n", - "12 757022 \n", - "13 478699 \n", - "17 765789 \n", - "21 590505 \n", - ".. ... \n", - "243 25722964 \n", - "244 30469803 \n", - "245 24766186 \n", - "246 23913778 \n", - "247 32656692 \n", - "\n", - " Nucleotide sequences after undetermined bases filtering \\\n", - "2 772970 \n", - "12 757022 \n", - "13 478699 \n", - "17 765789 \n", - "21 590505 \n", - ".. ... \n", - "243 25722964 \n", - "244 30469803 \n", - "245 24766186 \n", - "246 23913778 \n", - "247 32656692 \n", - "\n", - " Predicted SSU sequences Predicted LSU sequences Reads with predicted CDS \\\n", - "2 772662 3 N/A \n", - "12 755379 3 N/A \n", - "13 472895 5 N/A \n", - "17 764645 5 N/A \n", - "21 589230 1 N/A \n", - ".. ... ... ... \n", - "243 21509 39264 25040753 \n", - "244 18363 31760 28024481 \n", - "245 21370 38041 23518432 \n", - "246 34631 52285 19997664 \n", - "247 30276 53113 31171698 \n", - "\n", - " Reads with predicted RNA Reads with InterProScan match Predicted CDS \\\n", - "2 N/A N/A N/A \n", - "12 N/A N/A N/A \n", - "13 N/A N/A N/A \n", - "17 N/A N/A N/A \n", - "21 N/A N/A N/A \n", - ".. ... ... ... \n", - "243 83388 12776564 25730026 \n", - "244 62320 6244999 28646835 \n", - "245 76618 9443549 24051747 \n", - "246 98831 2645285 20608046 \n", - "247 107374 13136590 31875576 \n", - "\n", - " Predicted CDS with InterProScan match Total InterProScan matches \n", - "2 N/A N/A \n", - "12 N/A N/A \n", - "13 N/A N/A \n", - "17 N/A N/A \n", - "21 N/A N/A \n", - ".. ... ... \n", - "243 12822303 22748978 \n", - "244 6258524 10588518 \n", - "245 9468683 16474824 \n", - "246 2649968 4440764 \n", - "247 13171653 22950127 \n", - "\n", - "[108 rows x 28 columns]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Create a new dataframe called filtered_analyses which will include all lines from the\n", "# transformed_analyses dataframe except for the ones where the value in the \"Predicted LSU sequences\"\n", @@ -1583,23 +444,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "6e0210f7-d788-48a7-b327-2763b8183bbb", "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "text/plain": [ - "108" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "filtered_analyses.shape[0]" ] @@ -1634,35 +484,12 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "269794af-c4c8-49c3-a832-8c0ce8a5241b", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Files available for analysis MGYA00585242:\n", - "ERR2098577_MERGED_FASTQ.fasta.gz: Processed nucleotide reads\n", - "ERR2098577_MERGED_FASTQ_SSU.fasta.gz: Reads encoding SSU rRNA\n", - "ERR2098577_MERGED_FASTQ_SSU_MAPSeq.mseq.gz: MAPseq SSU assignments\n", - "ERR2098577_MERGED_FASTQ_SSU_OTU.tsv: OTUs, counts and taxonomic assignments for SSU rRNA\n", - "ERR2098577_MERGED_FASTQ_SSU_OTU_TABLE_HDF5.biom: OTUs, counts and taxonomic assignments for SSU rRNA\n", - "ERR2098577_MERGED_FASTQ_SSU_OTU_TABLE_JSON.biom: OTUs, counts and taxonomic assignments for SSU rRNA\n", - "\n", - "Files available for analysis MGYA00585243:\n", - "ERR2098437_MERGED_FASTQ.fasta.gz: Processed nucleotide reads\n", - "ERR2098437_MERGED_FASTQ_SSU.fasta.gz: Reads encoding SSU rRNA\n", - "ERR2098437_MERGED_FASTQ_SSU_MAPSeq.mseq.gz: MAPseq SSU assignments\n", - "ERR2098437_MERGED_FASTQ_SSU_OTU.tsv: OTUs, counts and taxonomic assignments for SSU rRNA\n", - "ERR2098437_MERGED_FASTQ_SSU_OTU_TABLE_HDF5.biom: OTUs, counts and taxonomic assignments for SSU rRNA\n", - "ERR2098437_MERGED_FASTQ_SSU_OTU_TABLE_JSON.biom: OTUs, counts and taxonomic assignments for SSU rRNA\n" - ] - } - ], + "outputs": [], "source": [ "with APISession(\"https://www.ebi.ac.uk/metagenomics/api/v1\") as session:\n", " for analysisId in analyses.head(2)['attributes.accession']:\n", @@ -2123,7 +950,7 @@ "novel_prevotella_df = resources_df[resources_df['attributes.taxon-lineage'] == 'd__Bacteria;p__Bacteroidota;c__Bacteroidia;o__Bacteroidales;f__Bacteroidaceae;g__Prevotella;s__']\n", "# Plot the catalogues\n", "novel_prevotella_df.groupby('relationships.catalogue.data.id').size().plot(kind='pie', autopct='%1.0f%%')\n", - "plt.title('Catalogues where the novel Prevotella species are found');" + "plt.title('Catalogues where the novel Prevotella species are found');\n" ] }, {