From 3ec867aab34adbf66b8b8416224548741ee09921 Mon Sep 17 00:00:00 2001 From: bedroesb Date: Thu, 23 Jun 2022 13:47:14 +0200 Subject: [PATCH 01/11] start with nan fix --- .../templates/jinja_templates/ENA_template_samples.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ena_upload/templates/jinja_templates/ENA_template_samples.xml b/ena_upload/templates/jinja_templates/ENA_template_samples.xml index ee30272..49d97b3 100755 --- a/ena_upload/templates/jinja_templates/ENA_template_samples.xml +++ b/ena_upload/templates/jinja_templates/ENA_template_samples.xml @@ -1,11 +1,17 @@ {%- for key, value in attributes.items() %} {%- if value['cardinality'].lower() == 'mandatory' %} + {{key}} ${row['{{key}}']} @@ -31,6 +38,7 @@ def attributetest(row, column): {{value['units']}} {%- endif %} + {%- else %} From 10193ef7d49e4a3fcea1c027cabd90041e339b75 Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 10:36:34 +0200 Subject: [PATCH 02/11] instrument_model --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee33843..c14d3ff 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ Currently we refer to the [ENA Webin](https://wwwdev.ebi.ac.uk/ena/submit/webin/ | library_source | mandatory | The LIBRARY_SOURCE specifies the type of source material that is being sequenced. | yes | | library_selection | mandatory | Method used to enrich the target in the sequence library preparation | yes | | platform | mandatory | The PLATFORM record selects which sequencing platform and platform-specific runtime parameters. This will be determined by the Center. | yes | +| instrument_model | mandatory | Model of the sequencing instrument. | yes | | library_construction_protocol | optional | Free form text describing the protocol by which the sequencing library was constructed. | | From 5f15bb9377fc11d39446dcfed58a168a4b0778d3 Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 11:31:54 +0200 Subject: [PATCH 03/11] update templates --- .../ENA_template_samples_ERC000011.xml | 6 + .../ENA_template_samples_ERC000012.xml | 44 ++++++- .../ENA_template_samples_ERC000013.xml | 34 ++++- .../ENA_template_samples_ERC000014.xml | 34 ++++- .../ENA_template_samples_ERC000015.xml | 34 ++++- .../ENA_template_samples_ERC000016.xml | 34 ++++- .../ENA_template_samples_ERC000017.xml | 34 ++++- .../ENA_template_samples_ERC000018.xml | 34 ++++- .../ENA_template_samples_ERC000019.xml | 98 +++++++++----- .../ENA_template_samples_ERC000020.xml | 32 ++++- .../ENA_template_samples_ERC000021.xml | 96 +++++++++----- .../ENA_template_samples_ERC000022.xml | 36 +++++- .../ENA_template_samples_ERC000023.xml | 46 +++++-- .../ENA_template_samples_ERC000024.xml | 112 ++++++++++------ .../ENA_template_samples_ERC000025.xml | 74 +++++++---- .../ENA_template_samples_ERC000027.xml | 120 ++++++++++++------ .../ENA_template_samples_ERC000028.xml | 18 +++ .../ENA_template_samples_ERC000029.xml | 26 ++++ .../ENA_template_samples_ERC000030.xml | 44 ++++++- .../ENA_template_samples_ERC000031.xml | 68 +++++++++- .../ENA_template_samples_ERC000032.xml | 30 +++++ .../ENA_template_samples_ERC000033.xml | 24 ++++ .../ENA_template_samples_ERC000034.xml | 14 ++ .../ENA_template_samples_ERC000035.xml | 6 + .../ENA_template_samples_ERC000036.xml | 20 ++- .../ENA_template_samples_ERC000037.xml | 24 +++- .../ENA_template_samples_ERC000038.xml | 42 ++++++ .../ENA_template_samples_ERC000039.xml | 16 +++ .../ENA_template_samples_ERC000040.xml | 28 ++++ .../ENA_template_samples_ERC000041.xml | 14 +- .../ENA_template_samples_ERC000043.xml | 12 +- .../ENA_template_samples_ERC000044.xml | 16 +++ .../ENA_template_samples_ERC000045.xml | 12 ++ .../ENA_template_samples_ERC000047.xml | 48 +++++++ .../ENA_template_samples_ERC000048.xml | 50 ++++++++ .../ENA_template_samples_ERC000049.xml | 48 +++++++ .../ENA_template_samples_ERC000050.xml | 38 ++++++ .../ENA_template_samples_ERC000051.xml | 28 ++++ .../ENA_template_samples_ERC000052.xml | 30 ++++- .../ENA_template_samples_ERC000053.xml | 30 +++++ 40 files changed, 1328 insertions(+), 226 deletions(-) diff --git a/ena_upload/templates/ENA_template_samples_ERC000011.xml b/ena_upload/templates/ENA_template_samples_ERC000011.xml index 46cc304..fa392ff 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000011.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000011.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,55 +197,75 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (altitude) ${row['geographic location (altitude)']} m + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + air environmental package ${row['air environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -316,7 +346,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -382,21 +412,21 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC carbon dioxide ${row['carbon dioxide']} - µmol/L + µmol/L carbon monoxide ${row['carbon monoxide']} - µM/L + µM/L @@ -410,14 +440,14 @@ def attributetest(row, column): respirable particulate matter ${row['respirable particulate matter']} - µg/m3 + µg/m3 volatile organic compounds ${row['volatile organic compounds']} - µg/m3 + µg/m3 @@ -431,7 +461,7 @@ def attributetest(row, column): methane ${row['methane']} - µM/L + µM/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000013.xml b/ena_upload/templates/ENA_template_samples_ERC000013.xml index 3c64c53..cacdce4 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000013.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000013.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,30 +216,38 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + host-associated environmental package ${row['host-associated environmental package']} + geographic location (depth) @@ -233,18 +255,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -325,7 +353,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -438,7 +466,7 @@ def attributetest(row, column): host body temperature ${row['host body temperature']} - ºC + ºC @@ -463,7 +491,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000014.xml b/ena_upload/templates/ENA_template_samples_ERC000014.xml index f50f364..bf45c35 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000014.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000014.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -193,50 +203,68 @@ def attributetest(row, column): ${row['study completion status']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human-associated environmental package ${row['human-associated environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers @@ -315,7 +343,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -440,7 +468,7 @@ def attributetest(row, column): host body temperature ${row['host body temperature']} - ºC + ºC @@ -459,7 +487,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000015.xml b/ena_upload/templates/ENA_template_samples_ERC000015.xml index d71bbcd..c0fc0e5 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000015.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000015.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human gut environmental package ${row['human gut environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers @@ -303,7 +331,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -398,7 +426,7 @@ def attributetest(row, column): host body temperature ${row['host body temperature']} - ºC + ºC @@ -411,7 +439,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000016.xml b/ena_upload/templates/ENA_template_samples_ERC000016.xml index 54359ae..d6a2812 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000016.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000016.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human oral environmental package ${row['human oral environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers @@ -303,7 +331,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -392,7 +420,7 @@ def attributetest(row, column): host body temperature ${row['host body temperature']} - ºC + ºC @@ -405,7 +433,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000017.xml b/ena_upload/templates/ENA_template_samples_ERC000017.xml index cf08fb9..59fe549 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000017.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000017.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human skin environmental package ${row['human skin environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers @@ -303,7 +331,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -392,7 +420,7 @@ def attributetest(row, column): host body temperature ${row['host body temperature']} - ºC + ºC @@ -405,7 +433,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000018.xml b/ena_upload/templates/ENA_template_samples_ERC000018.xml index bfc2c5e..c92e145 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000018.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000018.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human vaginal environmental package ${row['human vaginal environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers @@ -303,7 +331,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -398,7 +426,7 @@ def attributetest(row, column): host body temperature ${row['host body temperature']} - ºC + ºC @@ -411,7 +439,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000019.xml b/ena_upload/templates/ENA_template_samples_ERC000019.xml index 1286b4c..dc3e426 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000019.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000019.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,52 +216,70 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + microbial mat/biofilm environmental package ${row['microbial mat/biofilm environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + geographic location (elevation) ${row['geographic location (elevation)']} m + source material identifiers @@ -315,7 +347,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -368,7 +400,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC @@ -388,7 +420,7 @@ def attributetest(row, column): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -402,7 +434,7 @@ def attributetest(row, column): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -416,21 +448,21 @@ def attributetest(row, column): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -450,7 +482,7 @@ def attributetest(row, column): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -464,49 +496,49 @@ def attributetest(row, column): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L methane ${row['methane']} - µM/L + µM/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -527,77 +559,77 @@ def attributetest(row, column): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -611,7 +643,7 @@ def attributetest(row, column): potassium ${row['potassium']} - µmol/L + µmol/L @@ -632,21 +664,21 @@ def attributetest(row, column): total carbon ${row['total carbon']} - µg/L + µg/L silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L @@ -667,21 +699,21 @@ def attributetest(row, column): sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000020.xml b/ena_upload/templates/ENA_template_samples_ERC000020.xml index 0de3257..08c65ff 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000020.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000020.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,30 +216,38 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + plant-associated environmental package ${row['plant-associated environmental package']} + geographic location (depth) @@ -233,18 +255,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -325,7 +353,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -439,7 +467,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000021.xml b/ena_upload/templates/ENA_template_samples_ERC000021.xml index fc3d24e..57c9d00 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000021.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000021.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,52 +216,70 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + sediment environmental package ${row['sediment environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + geographic location (elevation) ${row['geographic location (elevation)']} m + source material identifiers @@ -322,7 +354,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -347,7 +379,7 @@ def attributetest(row, column): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -361,7 +393,7 @@ def attributetest(row, column): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -375,21 +407,21 @@ def attributetest(row, column): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -409,7 +441,7 @@ def attributetest(row, column): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -423,49 +455,49 @@ def attributetest(row, column): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L methane ${row['methane']} - µM/L + µM/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -486,77 +518,77 @@ def attributetest(row, column): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -570,7 +602,7 @@ def attributetest(row, column): potassium ${row['potassium']} - µmol/L + µmol/L @@ -591,21 +623,21 @@ def attributetest(row, column): total carbon ${row['total carbon']} - µg/L + µg/L silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L @@ -626,21 +658,21 @@ def attributetest(row, column): sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000022.xml b/ena_upload/templates/ENA_template_samples_ERC000022.xml index 632f1ec..3547a63 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000022.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000022.xml @@ -1,11 +1,17 @@ ${row['profile position']} + project name ${row['project name']} + experimental factor @@ -178,10 +186,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -212,14 +222,18 @@ def attributetest(row, column): ${row['pooling of DNA extracts (if done)']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -227,52 +241,70 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + soil environmental package ${row['soil environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + geographic location (elevation) ${row['geographic location (elevation)']} m + source material identifiers @@ -444,7 +476,7 @@ def attributetest(row, column): mean annual and seasonal temperature ${row['mean annual and seasonal temperature']} - ºC + ºC @@ -551,7 +583,7 @@ def attributetest(row, column): total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000023.xml b/ena_upload/templates/ENA_template_samples_ERC000023.xml index a2270b1..97d43d4 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000023.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000023.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,38 +197,50 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + wastewater/sludge environmental package ${row['wastewater/sludge environmental package']} + geographic location (depth) @@ -226,18 +248,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers @@ -298,7 +326,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -400,7 +428,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC @@ -420,14 +448,14 @@ def attributetest(row, column): emulsions ${row['emulsions']} - µg/L + µg/L gaseous substances ${row['gaseous substances']} - µmol/L + µmol/L @@ -476,35 +504,35 @@ def attributetest(row, column): total phosphate ${row['total phosphate']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L phosphate ${row['phosphate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000024.xml b/ena_upload/templates/ENA_template_samples_ERC000024.xml index 52a5d60..0bb2f9f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000024.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000024.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,47 +216,63 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + water environmental package ${row['water environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -324,7 +354,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -404,14 +434,14 @@ def attributetest(row, column): downward PAR ${row['downward PAR']} - µE/m2/s + µE/m2/s photon flux ${row['photon flux']} - µmol/m2/s + µmol/m2/s @@ -425,7 +455,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC @@ -451,7 +481,7 @@ def attributetest(row, column): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -465,7 +495,7 @@ def attributetest(row, column): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -493,21 +523,21 @@ def attributetest(row, column): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -527,7 +557,7 @@ def attributetest(row, column): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -541,56 +571,56 @@ def attributetest(row, column): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved inorganic nitrogen ${row['dissolved inorganic nitrogen']} - µg/L + µg/L dissolved inorganic phosphorus ${row['dissolved inorganic phosphorus']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -611,84 +641,84 @@ def attributetest(row, column): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L particulate organic nitrogen ${row['particulate organic nitrogen']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -702,7 +732,7 @@ def attributetest(row, column): potassium ${row['potassium']} - µmol/L + µmol/L @@ -730,35 +760,35 @@ def attributetest(row, column): silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L soluble reactive phosphorus ${row['soluble reactive phosphorus']} - µmol/L + µmol/L sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L @@ -772,35 +802,35 @@ def attributetest(row, column): total dissolved nitrogen ${row['total dissolved nitrogen']} - µg/L + µg/L total inorganic nitrogen ${row['total inorganic nitrogen']} - µg/L + µg/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L total particulate carbon ${row['total particulate carbon']} - µmol/L + µmol/L total phosphorus ${row['total phosphorus']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000025.xml b/ena_upload/templates/ENA_template_samples_ERC000025.xml index 438646f..f989b14 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000025.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000025.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,30 +216,38 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + miscellaneous environmental package ${row['miscellaneous environmental package']} + geographic location (depth) @@ -233,18 +255,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -326,7 +354,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -372,7 +400,7 @@ def attributetest(row, column): temperature ${row['temperature']} - ºC + ºC @@ -385,21 +413,21 @@ def attributetest(row, column): ammonium ${row['ammonium']} - µmol/L + µmol/L bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -413,7 +441,7 @@ def attributetest(row, column): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -427,84 +455,84 @@ def attributetest(row, column): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -518,7 +546,7 @@ def attributetest(row, column): potassium ${row['potassium']} - µmol/L + µmol/L @@ -532,28 +560,28 @@ def attributetest(row, column): silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000027.xml b/ena_upload/templates/ENA_template_samples_ERC000027.xml index d14b20b..e7fbf11 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000027.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000027.xml @@ -1,11 +1,17 @@ ${row.sample_description} + Event Date/Time ${row['Event Date/Time']} + + Latitude Start ${row['Latitude Start']} DD + + Longitude Start ${row['Longitude Start']} DD + Latitude End @@ -50,19 +62,25 @@ def attributetest(row, column): DD + Depth ${row['Depth']} m + + Protocol Label ${row['Protocol Label']} + + project name ${row['project name']} + experimental factor @@ -220,34 +238,48 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + environmental package ${row['environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + Sampling Campaign ${row['Sampling Campaign']} + + Sampling Site ${row['Sampling Site']} + + Sampling Platform ${row['Sampling Platform']} + source material identifiers @@ -322,7 +354,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -331,20 +363,26 @@ def attributetest(row, column): ${row['sample storage location']} + Marine Region ${row['Marine Region']} + + Temperature ${row['Temperature']} - ºC + ºC + + Salinity ${row['Salinity']} psu + specific host @@ -416,14 +454,14 @@ def attributetest(row, column): downward PAR ${row['downward PAR']} - µE/m2/s + µE/m2/s photon flux ${row['photon flux']} - µmol/m2/s + µmol/m2/s @@ -463,7 +501,7 @@ def attributetest(row, column): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -477,7 +515,7 @@ def attributetest(row, column): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -505,21 +543,21 @@ def attributetest(row, column): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -539,7 +577,7 @@ def attributetest(row, column): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -553,56 +591,56 @@ def attributetest(row, column): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved inorganic nitrogen ${row['dissolved inorganic nitrogen']} - µg/L + µg/L dissolved inorganic phosphorus ${row['dissolved inorganic phosphorus']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -623,84 +661,84 @@ def attributetest(row, column): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L particulate organic nitrogen ${row['particulate organic nitrogen']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -714,7 +752,7 @@ def attributetest(row, column): potassium ${row['potassium']} - µmol/L + µmol/L @@ -735,35 +773,35 @@ def attributetest(row, column): silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L soluble reactive phosphorus ${row['soluble reactive phosphorus']} - µmol/L + µmol/L sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L @@ -777,35 +815,35 @@ def attributetest(row, column): total dissolved nitrogen ${row['total dissolved nitrogen']} - µg/L + µg/L total inorganic nitrogen ${row['total inorganic nitrogen']} - µg/L + µg/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L total particulate carbon ${row['total particulate carbon']} - µmol/L + µmol/L total phosphorus ${row['total phosphorus']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000028.xml b/ena_upload/templates/ENA_template_samples_ERC000028.xml index 3b8e283..a19e53b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000028.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000028.xml @@ -1,11 +1,17 @@ ${row.sample_description} + isolation_source ${row['isolation_source']} + lat_lon @@ -38,14 +46,18 @@ def attributetest(row, column): ${row['collected_by']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (region and locality) @@ -70,20 +82,24 @@ def attributetest(row, column): ${row['mating_type']} + host health state ${row['host health state']} + lab_host ${row['lab_host']} + host scientific name ${row['host scientific name']} + bio_material @@ -102,10 +118,12 @@ def attributetest(row, column): ${row['specimen_voucher']} + isolate ${row['isolate']} + sub_species diff --git a/ena_upload/templates/ENA_template_samples_ERC000029.xml b/ena_upload/templates/ENA_template_samples_ERC000029.xml index c315654..856efa3 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000029.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000029.xml @@ -1,11 +1,17 @@ ${row['country of travel']} + collected_by ${row['collected_by']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -67,20 +77,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -107,10 +123,12 @@ def attributetest(row, column): m3 + environmental_sample ${row['environmental_sample']} + mating_type @@ -166,10 +184,12 @@ def attributetest(row, column): ${row['host life stage']} + host health state ${row['host health state']} + host sex @@ -182,10 +202,12 @@ def attributetest(row, column): ${row['lab_host']} + host scientific name ${row['host scientific name']} + passage_history @@ -198,10 +220,12 @@ def attributetest(row, column): ${row['sample storage conditions']} + Is the sequenced pathogen host associated? ${row['Is the sequenced pathogen host associated?']} + bio_material @@ -220,10 +244,12 @@ def attributetest(row, column): ${row['specimen_voucher']} + isolate ${row['isolate']} + sub_species diff --git a/ena_upload/templates/ENA_template_samples_ERC000030.xml b/ena_upload/templates/ENA_template_samples_ERC000030.xml index 225b3b0..f81c1b9 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000030.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000030.xml @@ -1,11 +1,17 @@ ${row['Event Label']} + Event Date/Time Start ${row['Event Date/Time Start']} + Event Date/Time End ${row['Event Date/Time End']} + Latitude Start ${row['Latitude Start']} DD + + Longitude Start ${row['Longitude Start']} DD + Latitude End @@ -62,21 +74,25 @@ def attributetest(row, column): DD + Depth ${row['Depth']} m + Sample Collection Device ${row['Sample Collection Device']} + Protocol Label ${row['Protocol Label']} + Size Fraction Lower Threshold @@ -101,66 +117,88 @@ def attributetest(row, column): ${row['Last Update Date']} + project name ${row['project name']} + + environmental package ${row['environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + Sampling Campaign ${row['Sampling Campaign']} + + Sampling Station ${row['Sampling Station']} + + Sampling Platform ${row['Sampling Platform']} + + Marine Region ${row['Marine Region']} + + Salinity Sensor ${row['Salinity Sensor']} psu + Oxygen Sensor ${row['Oxygen Sensor']} - µmol/kg + µmol/kg Nitrate Sensor ${row['Nitrate Sensor']} - µmol/L + µmol/L + Temperature ${row['Temperature']} - ºC + ºC + Chlorophyll Sensor diff --git a/ena_upload/templates/ENA_template_samples_ERC000031.xml b/ena_upload/templates/ENA_template_samples_ERC000031.xml index dc8bc45..6b9c38c 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000031.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000031.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + built environment environmental package ${row['built environment environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + surface material @@ -249,56 +277,78 @@ def attributetest(row, column): ${row['indoor surface']} + indoor space ${row['indoor space']} + + filter type ${row['filter type']} + + heating and cooling system type ${row['heating and cooling system type']} + substructure type ${row['substructure type']} + light type ${row['light type']} + + building setting ${row['building setting']} + + building occupancy type ${row['building occupancy type']} + + space typical state ${row['space typical state']} + + typical occupant density ${row['typical occupant density']} + + occupancy at sampling ${row['occupancy at sampling']} + + occupant density at sampling ${row['occupant density at sampling']} + + ventilation type ${row['ventilation type']} + source material identifiers @@ -342,10 +392,12 @@ def attributetest(row, column): ${row['sample size sorting method']} + organism count ${row['organism count']} + specific host @@ -358,16 +410,20 @@ def attributetest(row, column): ${row['health or disease status of specific host']} + relative air humidity ${row['relative air humidity']} % + + absolute air humidity ${row['absolute air humidity']} kg + surface humidity @@ -375,16 +431,18 @@ def attributetest(row, column): % + air temperature ${row['air temperature']} - ºC + ºC + surface temperature ${row['surface temperature']} - ºC + ºC @@ -404,14 +462,16 @@ def attributetest(row, column): dew point ${row['dew point']} - ºC + ºC + carbon dioxide ${row['carbon dioxide']} - µmol/L + µmol/L + subspecific genetic lineage diff --git a/ena_upload/templates/ENA_template_samples_ERC000032.xml b/ena_upload/templates/ENA_template_samples_ERC000032.xml index eeee28a..bd55938 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000032.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000032.xml @@ -1,11 +1,17 @@ ${row['collection date']} + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -202,14 +210,18 @@ def attributetest(row, column): ${row['host disease outcome']} + host common name ${row['host common name']} + + host subject id ${row['host subject id']} + host age @@ -217,34 +229,48 @@ def attributetest(row, column): years + host health state ${row['host health state']} + + host sex ${row['host sex']} + + host scientific name ${row['host scientific name']} + + influenza test method ${row['influenza test method']} + + influenza test result ${row['influenza test result']} + + other pathogens tested ${row['other pathogens tested']} + + other pathogens test result ${row['other pathogens test result']} + influenza virus type @@ -275,14 +301,18 @@ def attributetest(row, column): ${row['lineage:swl (required for H1N1 viruses)']} + collector name ${row['collector name']} + + collecting institution ${row['collecting institution']} + receipt date diff --git a/ena_upload/templates/ENA_template_samples_ERC000033.xml b/ena_upload/templates/ENA_template_samples_ERC000033.xml index 1e556fa..240d6ec 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000033.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000033.xml @@ -1,11 +1,17 @@ ${row['collection date']} + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -106,14 +114,18 @@ def attributetest(row, column): ${row['host disease outcome']} + host common name ${row['host common name']} + + host subject id ${row['host subject id']} + host age @@ -121,38 +133,48 @@ def attributetest(row, column): years + host health state ${row['host health state']} + + host sex ${row['host sex']} + lab_host ${row['lab_host']} + host scientific name ${row['host scientific name']} + virus identifier ${row['virus identifier']} + collector name ${row['collector name']} + + collecting institution ${row['collecting institution']} + receipt date @@ -177,10 +199,12 @@ def attributetest(row, column): ${row['serotype (required for a seropositive sample)']} + isolate ${row['isolate']} + strain diff --git a/ena_upload/templates/ENA_template_samples_ERC000034.xml b/ena_upload/templates/ENA_template_samples_ERC000034.xml index e390b9f..4a4257d 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000034.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000034.xml @@ -1,11 +1,17 @@ ${row.sample_description} + tissue_type ${row['tissue_type']} + + sex ${row['sex']} + date of birth @@ -42,14 +52,18 @@ def attributetest(row, column): ${row['date of death']} + diagnosis ${row['diagnosis']} + + strain ${row['strain']} + tumor grading (OBI_0600002) diff --git a/ena_upload/templates/ENA_template_samples_ERC000035.xml b/ena_upload/templates/ENA_template_samples_ERC000035.xml index bca85be..f5dff09 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000035.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000035.xml @@ -1,11 +1,17 @@ ${row['nucleic acid amplification']} + investigation type ${row['investigation type']} + surveillance target ${row['surveillance target']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -96,7 +108,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -115,7 +127,7 @@ def attributetest(row, column): sample transportation temperature ${row['sample transportation temperature']} - °C + °C @@ -136,15 +148,17 @@ def attributetest(row, column): ${row['receipt date']} + sewage type ${row['sewage type']} + temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000037.xml b/ena_upload/templates/ENA_template_samples_ERC000037.xml index 92ce7af..92d9805 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000037.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000037.xml @@ -1,11 +1,17 @@ ${row['collected_by']} + collection date ${row['collection date']} + geographic location (altitude) @@ -70,20 +78,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -140,10 +154,12 @@ def attributetest(row, column): ${row['sample material processing']} + isolation and growth condition ${row['isolation and growth condition']} + propagation @@ -168,7 +184,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -183,14 +199,18 @@ def attributetest(row, column): ${row['sampling time point']} + plant structure ${row['plant structure']} + + plant developmental stage ${row['plant developmental stage']} + sampled age @@ -408,10 +428,12 @@ def attributetest(row, column): ${row['soil pH']} + plant growth medium ${row['plant growth medium']} + rooting conditions diff --git a/ena_upload/templates/ENA_template_samples_ERC000038.xml b/ena_upload/templates/ENA_template_samples_ERC000038.xml index 999ae65..2d8b4ff 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000038.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000038.xml @@ -1,11 +1,17 @@ ${row.sample_description} + Event Date/Time ${row['Event Date/Time']} + + Latitude Start ${row['Latitude Start']} DD + + Longitude Start ${row['Longitude Start']} DD + + Depth ${row['Depth']} m + Sample Collection Device ${row['Sample Collection Device']} + Protocol Label ${row['Protocol Label']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + Sampling Campaign ${row['Sampling Campaign']} + + Sampling Station ${row['Sampling Station']} + + Sampling Platform ${row['Sampling Platform']} + storage conditions (fresh/frozen/other) @@ -99,38 +127,52 @@ def attributetest(row, column): ${row['Marine Region']} + seabed habitat ${row['seabed habitat']} + + age ${row['age']} + + aquaculture origin ${row['aquaculture origin']} + + shellfish total weight ${row['shellfish total weight']} g + + shellfish soft tissue weight ${row['shellfish soft tissue weight']} g + + shell length ${row['shell length']} g + + shell width ${row['shell width']} g + adductor weight diff --git a/ena_upload/templates/ENA_template_samples_ERC000039.xml b/ena_upload/templates/ENA_template_samples_ERC000039.xml index 050f987..0a87b20 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000039.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000039.xml @@ -1,11 +1,17 @@ ${row.sample_description} + dev_stage ${row['dev_stage']} + subject exposure @@ -62,10 +70,12 @@ def attributetest(row, column): ${row['collection date']} + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -135,24 +145,30 @@ def attributetest(row, column): ${row['host scientific name']} + collector name ${row['collector name']} + + collecting institution ${row['collecting institution']} + sample storage conditions ${row['sample storage conditions']} + isolate ${row['isolate']} + strain diff --git a/ena_upload/templates/ENA_template_samples_ERC000040.xml b/ena_upload/templates/ENA_template_samples_ERC000040.xml index df4f44a..c0be1a7 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000040.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000040.xml @@ -1,11 +1,17 @@ ${row['Size Fraction Upper Threshold']} + target gene ${row['target gene']} + + target subfragment ${row['target subfragment']} + + pcr primers ${row['pcr primers']} + isolation_source @@ -58,10 +70,12 @@ def attributetest(row, column): ${row['collected_by']} + collection date ${row['collection date']} + geographic location (altitude) @@ -69,20 +83,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -96,28 +116,36 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + sample collection device or method ${row['sample collection device or method']} + environmental_sample ${row['environmental_sample']} + Salinity diff --git a/ena_upload/templates/ENA_template_samples_ERC000041.xml b/ena_upload/templates/ENA_template_samples_ERC000041.xml index d4debb3..1513258 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000041.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000041.xml @@ -1,11 +1,17 @@ DNA concentration ${row['DNA concentration']} - ng/µl + ng/µl @@ -101,7 +107,7 @@ def attributetest(row, column): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -120,7 +126,7 @@ def attributetest(row, column): sample transportation temperature ${row['sample transportation temperature']} - °C + °C @@ -147,10 +153,12 @@ def attributetest(row, column): ${row['links to additional analysis']} + isolate ${row['isolate']} + sub_species diff --git a/ena_upload/templates/ENA_template_samples_ERC000043.xml b/ena_upload/templates/ENA_template_samples_ERC000043.xml index fa53bd3..49c9847 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000043.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000043.xml @@ -1,11 +1,17 @@ sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -104,7 +110,7 @@ def attributetest(row, column): Temperature ${row['Temperature']} - ºC + ºC @@ -139,10 +145,12 @@ def attributetest(row, column): ${row['culture_collection']} + strain ${row['strain']} + Further Details diff --git a/ena_upload/templates/ENA_template_samples_ERC000044.xml b/ena_upload/templates/ENA_template_samples_ERC000044.xml index 1b9dc04..141b0a0 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000044.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000044.xml @@ -1,11 +1,17 @@ ${row['country of travel']} + collection_date ${row['collection_date']} + + collected_by ${row['collected_by']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (region and locality) @@ -82,14 +94,18 @@ def attributetest(row, column): ${row['host disease outcome']} + host scientific name ${row['host scientific name']} + + isolate ${row['isolate']} + sub_type diff --git a/ena_upload/templates/ENA_template_samples_ERC000045.xml b/ena_upload/templates/ENA_template_samples_ERC000045.xml index 69bbc61..9fdb609 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000045.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000045.xml @@ -1,11 +1,17 @@ ${row.sample_description} + collection_date ${row['collection_date']} + + isolation_source ${row['isolation_source']} + collected_by @@ -54,10 +64,12 @@ def attributetest(row, column): ${row['receipt date']} + isolate ${row['isolate']} + serotype diff --git a/ena_upload/templates/ENA_template_samples_ERC000047.xml b/ena_upload/templates/ENA_template_samples_ERC000047.xml index 694f674..2576c0f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000047.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000047.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -92,10 +100,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -114,10 +124,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + feature prediction @@ -154,26 +166,32 @@ def attributetest(row, column): ${row['tRNA extraction software']} + completeness score ${row['completeness score']} % + + completeness software ${row['completeness software']} + completeness approach ${row['completeness approach']} + contamination score ${row['contamination score']} % + contamination screening input @@ -192,10 +210,12 @@ def attributetest(row, column): ${row['decontamination software']} + binning software ${row['binning software']} + reassembly post binning @@ -209,36 +229,48 @@ def attributetest(row, column): ${row['MAG coverage software']} + assembly quality ${row['assembly quality']} + + investigation type ${row['investigation type']} + + binning parameters ${row['binning parameters']} + + taxonomic identity marker ${row['taxonomic identity marker']} + taxonomic classification ${row['taxonomic classification']} + isolation_source ${row['isolation_source']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -246,20 +278,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -273,18 +311,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -323,14 +367,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000048.xml b/ena_upload/templates/ENA_template_samples_ERC000048.xml index cbc8928..ef0a945 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000048.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000048.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -92,10 +100,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -114,10 +124,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + feature prediction @@ -154,26 +166,32 @@ def attributetest(row, column): ${row['tRNA extraction software']} + completeness score ${row['completeness score']} % + + completeness software ${row['completeness software']} + completeness approach ${row['completeness approach']} + contamination score ${row['contamination score']} % + contamination screening input @@ -192,56 +210,72 @@ def attributetest(row, column): ${row['decontamination software']} + assembly quality ${row['assembly quality']} + + investigation type ${row['investigation type']} + + taxonomic identity marker ${row['taxonomic identity marker']} + taxonomic classification ${row['taxonomic classification']} + sorting technology ${row['sorting technology']} + + single cell or viral particle lysis approach ${row['single cell or viral particle lysis approach']} + single cell or viral particle lysis kit protocol ${row['single cell or viral particle lysis kit protocol']} + WGA amplification approach ${row['WGA amplification approach']} + WGA amplification kit ${row['WGA amplification kit']} + collection_date ${row['collection_date']} + + isolation_source ${row['isolation_source']} + geographic location (altitude) @@ -249,20 +283,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -276,18 +316,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -326,14 +372,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000049.xml b/ena_upload/templates/ENA_template_samples_ERC000049.xml index 1ee4001..3f8a3c6 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000049.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000049.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -98,10 +106,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -120,10 +130,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + feature prediction @@ -186,14 +198,18 @@ def attributetest(row, column): ${row['MAG coverage software']} + assembly quality ${row['assembly quality']} + + investigation type ${row['investigation type']} + binning parameters @@ -242,30 +258,42 @@ def attributetest(row, column): ${row['WGA amplification kit']} + source of UViGs ${row['source of UViGs']} + + virus enrichment approach ${row['virus enrichment approach']} + + predicted genome type ${row['predicted genome type']} + + predicted genome structure ${row['predicted genome structure']} + + detection type ${row['detection type']} + + viral identification software ${row['viral identification software']} + vOTU classification approach @@ -296,14 +324,18 @@ def attributetest(row, column): ${row['host prediction estimated accuracy']} + isolation_source ${row['isolation_source']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -311,20 +343,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -338,18 +376,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -388,14 +432,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + specific host diff --git a/ena_upload/templates/ENA_template_samples_ERC000050.xml b/ena_upload/templates/ENA_template_samples_ERC000050.xml index 3c10c19..cc3eaca 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000050.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000050.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -86,10 +94,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -108,10 +118,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + 16S recovered @@ -174,10 +186,12 @@ def attributetest(row, column): ${row['decontamination software']} + binning software ${row['binning software']} + reassembly post binning @@ -197,14 +211,18 @@ def attributetest(row, column): ${row['assembly quality']} + investigation type ${row['investigation type']} + + binning parameters ${row['binning parameters']} + taxonomic identity marker @@ -217,14 +235,18 @@ def attributetest(row, column): ${row['taxonomic classification']} + isolation_source ${row['isolation_source']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -232,20 +254,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (depth) @@ -253,18 +281,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -303,14 +337,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000051.xml b/ena_upload/templates/ENA_template_samples_ERC000051.xml index 98f3247..592cb63 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000051.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000051.xml @@ -1,11 +1,17 @@ ${row.sample_description} + sample origin ${row['sample origin']} + + sample taxon name ${row['sample taxon name']} + + sample material ${row['sample material']} + + engrafted tumor sample passage ${row['engrafted tumor sample passage']} + engrafted tumor collection site ${row['engrafted tumor collection site']} + patient tumor site of collection ${row['patient tumor site of collection']} + + patient tumor type ${row['patient tumor type']} + + sample unique ID ${row['sample unique ID']} + engraftment host strain name ${row['engraftment host strain name']} + patient age at collection of tumor ${row['patient age at collection of tumor']} + + patient tumor diagnosis at time of collection ${row['patient tumor diagnosis at time of collection']} + + patient tumor primary site ${row['patient tumor primary site']} + was the PDX model humanised? ${row['was the PDX model humanised?']} + patient sex ${row['patient sex']} + SUBMISSION_TOOL ${tool_name} diff --git a/ena_upload/templates/ENA_template_samples_ERC000052.xml b/ena_upload/templates/ENA_template_samples_ERC000052.xml index 91a676c..a716cde 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000052.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000052.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + + sample volume or weight for DNA extraction ${row['sample volume or weight for DNA extraction']} ng + nucleic acid extraction @@ -49,14 +59,18 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + + reference host genome for decontamination ${row['reference host genome for decontamination']} + collection date @@ -96,16 +110,18 @@ def attributetest(row, column): years + trial timepoint ${row['trial timepoint']} years + sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -132,22 +148,30 @@ def attributetest(row, column): ${row['host disease status']} + host common name ${row['host common name']} + + host subject id ${row['host subject id']} + + host taxid ${row['host taxid']} + + host body site ${row['host body site']} + host length @@ -193,10 +217,12 @@ def attributetest(row, column): ${row['host diet']} + host diet treatment ${row['host diet treatment']} + host diet treatment concentration @@ -220,7 +246,7 @@ def attributetest(row, column): host storage container temperature ${row['host storage container temperature']} - °C + °C diff --git a/ena_upload/templates/ENA_template_samples_ERC000053.xml b/ena_upload/templates/ENA_template_samples_ERC000053.xml index 4ba9efa..c71382e 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000053.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000053.xml @@ -1,11 +1,17 @@ ${row.sample_description} + organism part ${row['organism part']} + + lifestage ${row['lifestage']} + + project name ${row['project name']} + tolid @@ -46,32 +58,44 @@ def attributetest(row, column): ${row['barcoding center']} + collected_by ${row['collected_by']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + + geographic location (region and locality) ${row['geographic location (region and locality)']} + identified_by @@ -92,10 +116,12 @@ def attributetest(row, column): m + habitat ${row['habitat']} + identifier_affiliation @@ -144,10 +170,12 @@ def attributetest(row, column): ${row['sample coordinator affiliation']} + sex ${row['sex']} + relationship @@ -160,10 +188,12 @@ def attributetest(row, column): ${row['symbiont']} + collecting institution ${row['collecting institution']} + GAL From ced6c3f63f04c9a09b8a37699884c9fae4e20d0d Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 18:24:15 +0200 Subject: [PATCH 04/11] updating xml templates --- .../templates/ENA_template_experiments.xml | 31 +++++++- ena_upload/templates/ENA_template_runs.xml | 10 ++- .../ENA_template_samples_ERC000011.xml | 17 +++-- .../ENA_template_samples_ERC000012.xml | 41 ++++++----- .../ENA_template_samples_ERC000013.xml | 39 +++++----- .../ENA_template_samples_ERC000014.xml | 39 +++++----- .../ENA_template_samples_ERC000015.xml | 39 +++++----- .../ENA_template_samples_ERC000016.xml | 39 +++++----- .../ENA_template_samples_ERC000017.xml | 39 +++++----- .../ENA_template_samples_ERC000018.xml | 39 +++++----- .../ENA_template_samples_ERC000019.xml | 43 ++++++----- .../ENA_template_samples_ERC000020.xml | 39 +++++----- .../ENA_template_samples_ERC000021.xml | 43 ++++++----- .../ENA_template_samples_ERC000022.xml | 43 ++++++----- .../ENA_template_samples_ERC000023.xml | 39 +++++----- .../ENA_template_samples_ERC000024.xml | 41 ++++++----- .../ENA_template_samples_ERC000025.xml | 39 +++++----- .../ENA_template_samples_ERC000027.xml | 49 +++++++------ .../ENA_template_samples_ERC000028.xml | 29 ++++---- .../ENA_template_samples_ERC000029.xml | 37 +++++----- .../ENA_template_samples_ERC000030.xml | 49 +++++++------ .../ENA_template_samples_ERC000031.xml | 71 ++++++++++--------- .../ENA_template_samples_ERC000032.xml | 41 ++++++----- .../ENA_template_samples_ERC000033.xml | 35 +++++---- .../ENA_template_samples_ERC000034.xml | 25 ++++--- .../ENA_template_samples_ERC000035.xml | 17 +++-- .../ENA_template_samples_ERC000036.xml | 25 ++++--- .../ENA_template_samples_ERC000037.xml | 33 +++++---- .../ENA_template_samples_ERC000038.xml | 53 +++++++------- .../ENA_template_samples_ERC000039.xml | 27 ++++--- .../ENA_template_samples_ERC000040.xml | 39 +++++----- .../ENA_template_samples_ERC000041.xml | 19 +++-- .../ENA_template_samples_ERC000043.xml | 19 +++-- .../ENA_template_samples_ERC000044.xml | 27 ++++--- .../ENA_template_samples_ERC000045.xml | 23 +++--- .../ENA_template_samples_ERC000047.xml | 59 ++++++++------- .../ENA_template_samples_ERC000048.xml | 61 ++++++++-------- .../ENA_template_samples_ERC000049.xml | 59 ++++++++------- .../ENA_template_samples_ERC000050.xml | 49 +++++++------ .../ENA_template_samples_ERC000051.xml | 39 +++++----- .../ENA_template_samples_ERC000052.xml | 37 +++++----- .../ENA_template_samples_ERC000053.xml | 41 ++++++----- ena_upload/templates/ENA_template_studies.xml | 18 +++-- .../jinja_templates/ENA_template_samples.xml | 33 ++++----- 44 files changed, 936 insertions(+), 698 deletions(-) diff --git a/ena_upload/templates/ENA_template_experiments.xml b/ena_upload/templates/ENA_template_experiments.xml index b6aaf18..9f87bab 100755 --- a/ena_upload/templates/ENA_template_experiments.xml +++ b/ena_upload/templates/ENA_template_experiments.xml @@ -1,11 +1,16 @@ + ${row.title} + + + + ${row.design_description} + ${row.spot_descriptor} + + + ${row.library_name} + + + + + + + + + ${row.library_construction_protocol} + + + + SUBMISSION_TOOL diff --git a/ena_upload/templates/ENA_template_runs.xml b/ena_upload/templates/ENA_template_runs.xml index d4a35ea..aba22cf 100755 --- a/ena_upload/templates/ENA_template_runs.xml +++ b/ena_upload/templates/ENA_template_runs.xml @@ -1,11 +1,13 @@ + + diff --git a/ena_upload/templates/ENA_template_samples_ERC000011.xml b/ena_upload/templates/ENA_template_samples_ERC000011.xml index fa392ff..2ced2e5 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000011.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000011.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + diff --git a/ena_upload/templates/ENA_template_samples_ERC000012.xml b/ena_upload/templates/ENA_template_samples_ERC000012.xml index 38e4d7e..00562d6 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000012.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000012.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,39 +202,39 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (altitude) ${row['geographic location (altitude)']} m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -242,25 +247,25 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + air environmental package ${row['air environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000013.xml b/ena_upload/templates/ENA_template_samples_ERC000013.xml index cacdce4..b09638a 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000013.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000013.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,13 +202,13 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} @@ -216,20 +221,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -242,7 +247,7 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + host-associated environmental package ${row['host-associated environmental package']} @@ -255,19 +260,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000014.xml b/ena_upload/templates/ENA_template_samples_ERC000014.xml index bf45c35..03eea39 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000014.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000014.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -203,32 +208,32 @@ def mandatorytest(row, column): ${row['study completion status']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -241,25 +246,25 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + human-associated environmental package ${row['human-associated environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000015.xml b/ena_upload/templates/ENA_template_samples_ERC000015.xml index c0fc0e5..43388b9 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000015.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000015.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,32 +202,32 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -235,25 +240,25 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + human gut environmental package ${row['human gut environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000016.xml b/ena_upload/templates/ENA_template_samples_ERC000016.xml index d6a2812..abd98c4 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000016.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000016.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,32 +202,32 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -235,25 +240,25 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + human oral environmental package ${row['human oral environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000017.xml b/ena_upload/templates/ENA_template_samples_ERC000017.xml index 59fe549..c0f2d63 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000017.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000017.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,32 +202,32 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -235,25 +240,25 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + human skin environmental package ${row['human skin environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000018.xml b/ena_upload/templates/ENA_template_samples_ERC000018.xml index c92e145..7f688d1 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000018.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000018.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,32 +202,32 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -235,25 +240,25 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + human vaginal environmental package ${row['human vaginal environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000019.xml b/ena_upload/templates/ENA_template_samples_ERC000019.xml index dc3e426..6d06c81 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000019.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000019.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,13 +202,13 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} @@ -216,20 +221,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -242,38 +247,38 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + microbial mat/biofilm environmental package ${row['microbial mat/biofilm environmental package']} - + geographic location (depth) ${row['geographic location (depth)']} m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} - + geographic location (elevation) ${row['geographic location (elevation)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000020.xml b/ena_upload/templates/ENA_template_samples_ERC000020.xml index 08c65ff..9164d4f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000020.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000020.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,13 +202,13 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} @@ -216,20 +221,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -242,7 +247,7 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + plant-associated environmental package ${row['plant-associated environmental package']} @@ -255,19 +260,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000021.xml b/ena_upload/templates/ENA_template_samples_ERC000021.xml index 57c9d00..9c55d20 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000021.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000021.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,13 +202,13 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} @@ -216,20 +221,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -242,38 +247,38 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + sediment environmental package ${row['sediment environmental package']} - + geographic location (depth) ${row['geographic location (depth)']} m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} - + geographic location (elevation) ${row['geographic location (elevation)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000022.xml b/ena_upload/templates/ENA_template_samples_ERC000022.xml index 3547a63..74952d9 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000022.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000022.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -47,7 +52,7 @@ def mandatorytest(row, column): ${row['profile position']} - + project name ${row['project name']} @@ -186,7 +191,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -222,13 +227,13 @@ def mandatorytest(row, column): ${row['pooling of DNA extracts (if done)']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} @@ -241,20 +246,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -267,38 +272,38 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + soil environmental package ${row['soil environmental package']} - + geographic location (depth) ${row['geographic location (depth)']} m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} - + geographic location (elevation) ${row['geographic location (elevation)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000023.xml b/ena_upload/templates/ENA_template_samples_ERC000023.xml index 97d43d4..ae96a9b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000023.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000023.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,32 +202,32 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -235,7 +240,7 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + wastewater/sludge environmental package ${row['wastewater/sludge environmental package']} @@ -248,19 +253,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000024.xml b/ena_upload/templates/ENA_template_samples_ERC000024.xml index 0bb2f9f..3a21333 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000024.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000024.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,13 +202,13 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} @@ -216,20 +221,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -242,32 +247,32 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + water environmental package ${row['water environmental package']} - + geographic location (depth) ${row['geographic location (depth)']} m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000025.xml b/ena_upload/templates/ENA_template_samples_ERC000025.xml index f989b14..62782b4 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000025.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000025.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,13 +202,13 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} @@ -216,20 +221,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -242,7 +247,7 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + miscellaneous environmental package ${row['miscellaneous environmental package']} @@ -255,19 +260,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000027.xml b/ena_upload/templates/ENA_template_samples_ERC000027.xml index e7fbf11..382626c 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000027.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000027.xml @@ -3,45 +3,50 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + Event Date/Time ${row['Event Date/Time']} - + Latitude Start ${row['Latitude Start']} DD - + Longitude Start ${row['Longitude Start']} @@ -62,20 +67,20 @@ def mandatorytest(row, column): DD - + Depth ${row['Depth']} m - + Protocol Label ${row['Protocol Label']} - + project name ${row['project name']} @@ -238,43 +243,43 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + environmental package ${row['environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} - + Sampling Campaign ${row['Sampling Campaign']} - + Sampling Site ${row['Sampling Site']} - + Sampling Platform ${row['Sampling Platform']} @@ -363,20 +368,20 @@ def mandatorytest(row, column): ${row['sample storage location']} - + Marine Region ${row['Marine Region']} - + Temperature ${row['Temperature']} ºC - + Salinity ${row['Salinity']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000028.xml b/ena_upload/templates/ENA_template_samples_ERC000028.xml index a19e53b..dad6a27 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000028.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000028.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + isolation_source ${row['isolation_source']} @@ -46,13 +51,13 @@ def mandatorytest(row, column): ${row['collected_by']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} @@ -82,7 +87,7 @@ def mandatorytest(row, column): ${row['mating_type']} - + host health state ${row['host health state']} @@ -94,7 +99,7 @@ def mandatorytest(row, column): ${row['lab_host']} - + host scientific name ${row['host scientific name']} @@ -118,7 +123,7 @@ def mandatorytest(row, column): ${row['specimen_voucher']} - + isolate ${row['isolate']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000029.xml b/ena_upload/templates/ENA_template_samples_ERC000029.xml index 856efa3..8c4e962 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000029.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000029.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -58,13 +63,13 @@ def mandatorytest(row, column): ${row['country of travel']} - + collected_by ${row['collected_by']} - + collection date ${row['collection date']} @@ -77,20 +82,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -123,7 +128,7 @@ def mandatorytest(row, column): m3 - + environmental_sample ${row['environmental_sample']} @@ -184,7 +189,7 @@ def mandatorytest(row, column): ${row['host life stage']} - + host health state ${row['host health state']} @@ -202,7 +207,7 @@ def mandatorytest(row, column): ${row['lab_host']} - + host scientific name ${row['host scientific name']} @@ -220,7 +225,7 @@ def mandatorytest(row, column): ${row['sample storage conditions']} - + Is the sequenced pathogen host associated? ${row['Is the sequenced pathogen host associated?']} @@ -244,7 +249,7 @@ def mandatorytest(row, column): ${row['specimen_voucher']} - + isolate ${row['isolate']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000030.xml b/ena_upload/templates/ENA_template_samples_ERC000030.xml index f81c1b9..b990a81 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000030.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000030.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -34,7 +39,7 @@ def mandatorytest(row, column): ${row['Event Label']} - + Event Date/Time Start ${row['Event Date/Time Start']} @@ -46,14 +51,14 @@ def mandatorytest(row, column): ${row['Event Date/Time End']} - + Latitude Start ${row['Latitude Start']} DD - + Longitude Start ${row['Longitude Start']} @@ -74,7 +79,7 @@ def mandatorytest(row, column): DD - + Depth ${row['Depth']} @@ -87,7 +92,7 @@ def mandatorytest(row, column): ${row['Sample Collection Device']} - + Protocol Label ${row['Protocol Label']} @@ -117,61 +122,61 @@ def mandatorytest(row, column): ${row['Last Update Date']} - + project name ${row['project name']} - + environmental package ${row['environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} - + Sampling Campaign ${row['Sampling Campaign']} - + Sampling Station ${row['Sampling Station']} - + Sampling Platform ${row['Sampling Platform']} - + Marine Region ${row['Marine Region']} - + Salinity Sensor ${row['Salinity Sensor']} @@ -192,7 +197,7 @@ def mandatorytest(row, column): µmol/L - + Temperature ${row['Temperature']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000031.xml b/ena_upload/templates/ENA_template_samples_ERC000031.xml index 6b9c38c..c3805b9 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000031.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000031.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -167,7 +172,7 @@ def mandatorytest(row, column): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -197,32 +202,32 @@ def mandatorytest(row, column): ${row['relevant standard operating procedures']} - + investigation type ${row['investigation type']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -235,25 +240,25 @@ def mandatorytest(row, column): ${row['geographic location (region and locality)']} - + built environment environmental package ${row['built environment environmental package']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} @@ -277,19 +282,19 @@ def mandatorytest(row, column): ${row['indoor surface']} - + indoor space ${row['indoor space']} - + filter type ${row['filter type']} - + heating and cooling system type ${row['heating and cooling system type']} @@ -301,49 +306,49 @@ def mandatorytest(row, column): ${row['substructure type']} - + light type ${row['light type']} - + building setting ${row['building setting']} - + building occupancy type ${row['building occupancy type']} - + space typical state ${row['space typical state']} - + typical occupant density ${row['typical occupant density']} - + occupancy at sampling ${row['occupancy at sampling']} - + occupant density at sampling ${row['occupant density at sampling']} - + ventilation type ${row['ventilation type']} @@ -392,7 +397,7 @@ def mandatorytest(row, column): ${row['sample size sorting method']} - + organism count ${row['organism count']} @@ -410,14 +415,14 @@ def mandatorytest(row, column): ${row['health or disease status of specific host']} - + relative air humidity ${row['relative air humidity']} % - + absolute air humidity ${row['absolute air humidity']} @@ -431,7 +436,7 @@ def mandatorytest(row, column): % - + air temperature ${row['air temperature']} @@ -465,7 +470,7 @@ def mandatorytest(row, column): ºC - + carbon dioxide ${row['carbon dioxide']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000032.xml b/ena_upload/templates/ENA_template_samples_ERC000032.xml index bd55938..f534e77 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000032.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000032.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -172,7 +177,7 @@ def mandatorytest(row, column): ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} @@ -210,13 +215,13 @@ def mandatorytest(row, column): ${row['host disease outcome']} - + host common name ${row['host common name']} - + host subject id ${row['host subject id']} @@ -229,43 +234,43 @@ def mandatorytest(row, column): years - + host health state ${row['host health state']} - + host sex ${row['host sex']} - + host scientific name ${row['host scientific name']} - + influenza test method ${row['influenza test method']} - + influenza test result ${row['influenza test result']} - + other pathogens tested ${row['other pathogens tested']} - + other pathogens test result ${row['other pathogens test result']} @@ -301,13 +306,13 @@ def mandatorytest(row, column): ${row['lineage:swl (required for H1N1 viruses)']} - + collector name ${row['collector name']} - + collecting institution ${row['collecting institution']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000033.xml b/ena_upload/templates/ENA_template_samples_ERC000033.xml index 240d6ec..787ddf7 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000033.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000033.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -76,7 +81,7 @@ def mandatorytest(row, column): ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} @@ -114,13 +119,13 @@ def mandatorytest(row, column): ${row['host disease outcome']} - + host common name ${row['host common name']} - + host subject id ${row['host subject id']} @@ -133,13 +138,13 @@ def mandatorytest(row, column): years - + host health state ${row['host health state']} - + host sex ${row['host sex']} @@ -151,7 +156,7 @@ def mandatorytest(row, column): ${row['lab_host']} - + host scientific name ${row['host scientific name']} @@ -163,13 +168,13 @@ def mandatorytest(row, column): ${row['virus identifier']} - + collector name ${row['collector name']} - + collecting institution ${row['collecting institution']} @@ -199,7 +204,7 @@ def mandatorytest(row, column): ${row['serotype (required for a seropositive sample)']} - + isolate ${row['isolate']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000034.xml b/ena_upload/templates/ENA_template_samples_ERC000034.xml index 4a4257d..d65b7e3 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000034.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000034.xml @@ -3,38 +3,43 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + tissue_type ${row['tissue_type']} - + sex ${row['sex']} @@ -52,13 +57,13 @@ def mandatorytest(row, column): ${row['date of death']} - + diagnosis ${row['diagnosis']} - + strain ${row['strain']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000035.xml b/ena_upload/templates/ENA_template_samples_ERC000035.xml index f5dff09..ae6ba76 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000035.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000035.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + diff --git a/ena_upload/templates/ENA_template_samples_ERC000036.xml b/ena_upload/templates/ENA_template_samples_ERC000036.xml index 0bbc75e..d00f5e5 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000036.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000036.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -46,7 +51,7 @@ def mandatorytest(row, column): ${row['nucleic acid amplification']} - + investigation type ${row['investigation type']} @@ -58,13 +63,13 @@ def mandatorytest(row, column): ${row['surveillance target']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} @@ -148,7 +153,7 @@ def mandatorytest(row, column): ${row['receipt date']} - + sewage type ${row['sewage type']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000037.xml b/ena_upload/templates/ENA_template_samples_ERC000037.xml index 92d9805..479c9bb 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000037.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000037.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -65,7 +70,7 @@ def mandatorytest(row, column): ${row['collected_by']} - + collection date ${row['collection date']} @@ -78,20 +83,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -154,7 +159,7 @@ def mandatorytest(row, column): ${row['sample material processing']} - + isolation and growth condition ${row['isolation and growth condition']} @@ -199,13 +204,13 @@ def mandatorytest(row, column): ${row['sampling time point']} - + plant structure ${row['plant structure']} - + plant developmental stage ${row['plant developmental stage']} @@ -428,7 +433,7 @@ def mandatorytest(row, column): ${row['soil pH']} - + plant growth medium ${row['plant growth medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000038.xml b/ena_upload/templates/ENA_template_samples_ERC000038.xml index 2d8b4ff..db3eb93 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000038.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000038.xml @@ -3,52 +3,57 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + Event Date/Time ${row['Event Date/Time']} - + Latitude Start ${row['Latitude Start']} DD - + Longitude Start ${row['Longitude Start']} DD - + Depth ${row['Depth']} @@ -61,43 +66,43 @@ def mandatorytest(row, column): ${row['Sample Collection Device']} - + Protocol Label ${row['Protocol Label']} - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} - + Sampling Campaign ${row['Sampling Campaign']} - + Sampling Station ${row['Sampling Station']} - + Sampling Platform ${row['Sampling Platform']} @@ -127,46 +132,46 @@ def mandatorytest(row, column): ${row['Marine Region']} - + seabed habitat ${row['seabed habitat']} - + age ${row['age']} - + aquaculture origin ${row['aquaculture origin']} - + shellfish total weight ${row['shellfish total weight']} g - + shellfish soft tissue weight ${row['shellfish soft tissue weight']} g - + shell length ${row['shell length']} g - + shell width ${row['shell width']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000039.xml b/ena_upload/templates/ENA_template_samples_ERC000039.xml index 0a87b20..1673788 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000039.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000039.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + dev_stage ${row['dev_stage']} @@ -70,7 +75,7 @@ def mandatorytest(row, column): ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} @@ -145,13 +150,13 @@ def mandatorytest(row, column): ${row['host scientific name']} - + collector name ${row['collector name']} - + collecting institution ${row['collecting institution']} @@ -163,7 +168,7 @@ def mandatorytest(row, column): ${row['sample storage conditions']} - + isolate ${row['isolate']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000040.xml b/ena_upload/templates/ENA_template_samples_ERC000040.xml index c0be1a7..61c0a1f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000040.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000040.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -40,19 +45,19 @@ def mandatorytest(row, column): ${row['Size Fraction Upper Threshold']} - + target gene ${row['target gene']} - + target subfragment ${row['target subfragment']} - + pcr primers ${row['pcr primers']} @@ -70,7 +75,7 @@ def mandatorytest(row, column): ${row['collected_by']} - + collection date ${row['collection date']} @@ -83,20 +88,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -116,19 +121,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} @@ -140,7 +145,7 @@ def mandatorytest(row, column): ${row['sample collection device or method']} - + environmental_sample ${row['environmental_sample']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000041.xml b/ena_upload/templates/ENA_template_samples_ERC000041.xml index 1513258..3b29b1c 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000041.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000041.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -153,7 +158,7 @@ def mandatorytest(row, column): ${row['links to additional analysis']} - + isolate ${row['isolate']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000043.xml b/ena_upload/templates/ENA_template_samples_ERC000043.xml index 49c9847..52f699b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000043.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000043.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -145,7 +150,7 @@ def mandatorytest(row, column): ${row['culture_collection']} - + strain ${row['strain']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000044.xml b/ena_upload/templates/ENA_template_samples_ERC000044.xml index 141b0a0..353aaac 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000044.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000044.xml @@ -3,30 +3,35 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + @@ -58,19 +63,19 @@ def mandatorytest(row, column): ${row['country of travel']} - + collection_date ${row['collection_date']} - + collected_by ${row['collected_by']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} @@ -94,13 +99,13 @@ def mandatorytest(row, column): ${row['host disease outcome']} - + host scientific name ${row['host scientific name']} - + isolate ${row['isolate']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000045.xml b/ena_upload/templates/ENA_template_samples_ERC000045.xml index 9fdb609..30ed108 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000045.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000045.xml @@ -3,38 +3,43 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + collection_date ${row['collection_date']} - + isolation_source ${row['isolation_source']} @@ -64,7 +69,7 @@ def mandatorytest(row, column): ${row['receipt date']} - + isolate ${row['isolate']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000047.xml b/ena_upload/templates/ENA_template_samples_ERC000047.xml index 2576c0f..4109b5f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000047.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000047.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -100,7 +105,7 @@ def mandatorytest(row, column): ${row['adapters']} - + sequencing method ${row['sequencing method']} @@ -124,7 +129,7 @@ def mandatorytest(row, column): ${row['number of standard tRNAs extracted']} - + assembly software ${row['assembly software']} @@ -166,14 +171,14 @@ def mandatorytest(row, column): ${row['tRNA extraction software']} - + completeness score ${row['completeness score']} % - + completeness software ${row['completeness software']} @@ -185,7 +190,7 @@ def mandatorytest(row, column): ${row['completeness approach']} - + contamination score ${row['contamination score']} @@ -210,7 +215,7 @@ def mandatorytest(row, column): ${row['decontamination software']} - + binning software ${row['binning software']} @@ -229,25 +234,25 @@ def mandatorytest(row, column): ${row['MAG coverage software']} - + assembly quality ${row['assembly quality']} - + investigation type ${row['investigation type']} - + binning parameters ${row['binning parameters']} - + taxonomic identity marker ${row['taxonomic identity marker']} @@ -259,13 +264,13 @@ def mandatorytest(row, column): ${row['taxonomic classification']} - + isolation_source ${row['isolation_source']} - + collection date ${row['collection date']} @@ -278,20 +283,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -311,19 +316,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} @@ -367,13 +372,13 @@ def mandatorytest(row, column): ${row['size fraction selected']} - + sample derived from ${row['sample derived from']} - + metagenomic source ${row['metagenomic source']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000048.xml b/ena_upload/templates/ENA_template_samples_ERC000048.xml index ef0a945..aee985b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000048.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000048.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -100,7 +105,7 @@ def mandatorytest(row, column): ${row['adapters']} - + sequencing method ${row['sequencing method']} @@ -124,7 +129,7 @@ def mandatorytest(row, column): ${row['number of standard tRNAs extracted']} - + assembly software ${row['assembly software']} @@ -166,14 +171,14 @@ def mandatorytest(row, column): ${row['tRNA extraction software']} - + completeness score ${row['completeness score']} % - + completeness software ${row['completeness software']} @@ -185,7 +190,7 @@ def mandatorytest(row, column): ${row['completeness approach']} - + contamination score ${row['contamination score']} @@ -210,19 +215,19 @@ def mandatorytest(row, column): ${row['decontamination software']} - + assembly quality ${row['assembly quality']} - + investigation type ${row['investigation type']} - + taxonomic identity marker ${row['taxonomic identity marker']} @@ -234,13 +239,13 @@ def mandatorytest(row, column): ${row['taxonomic classification']} - + sorting technology ${row['sorting technology']} - + single cell or viral particle lysis approach ${row['single cell or viral particle lysis approach']} @@ -252,7 +257,7 @@ def mandatorytest(row, column): ${row['single cell or viral particle lysis kit protocol']} - + WGA amplification approach ${row['WGA amplification approach']} @@ -264,13 +269,13 @@ def mandatorytest(row, column): ${row['WGA amplification kit']} - + collection_date ${row['collection_date']} - + isolation_source ${row['isolation_source']} @@ -283,20 +288,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -316,19 +321,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} @@ -372,13 +377,13 @@ def mandatorytest(row, column): ${row['size fraction selected']} - + sample derived from ${row['sample derived from']} - + metagenomic source ${row['metagenomic source']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000049.xml b/ena_upload/templates/ENA_template_samples_ERC000049.xml index 3f8a3c6..56de58b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000049.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000049.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -106,7 +111,7 @@ def mandatorytest(row, column): ${row['adapters']} - + sequencing method ${row['sequencing method']} @@ -130,7 +135,7 @@ def mandatorytest(row, column): ${row['number of standard tRNAs extracted']} - + assembly software ${row['assembly software']} @@ -198,13 +203,13 @@ def mandatorytest(row, column): ${row['MAG coverage software']} - + assembly quality ${row['assembly quality']} - + investigation type ${row['investigation type']} @@ -258,37 +263,37 @@ def mandatorytest(row, column): ${row['WGA amplification kit']} - + source of UViGs ${row['source of UViGs']} - + virus enrichment approach ${row['virus enrichment approach']} - + predicted genome type ${row['predicted genome type']} - + predicted genome structure ${row['predicted genome structure']} - + detection type ${row['detection type']} - + viral identification software ${row['viral identification software']} @@ -324,13 +329,13 @@ def mandatorytest(row, column): ${row['host prediction estimated accuracy']} - + isolation_source ${row['isolation_source']} - + collection date ${row['collection date']} @@ -343,20 +348,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -376,19 +381,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} @@ -432,13 +437,13 @@ def mandatorytest(row, column): ${row['size fraction selected']} - + sample derived from ${row['sample derived from']} - + metagenomic source ${row['metagenomic source']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000050.xml b/ena_upload/templates/ENA_template_samples_ERC000050.xml index cc3eaca..b9f4959 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000050.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000050.xml @@ -3,32 +3,37 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} @@ -94,7 +99,7 @@ def mandatorytest(row, column): ${row['adapters']} - + sequencing method ${row['sequencing method']} @@ -118,7 +123,7 @@ def mandatorytest(row, column): ${row['number of standard tRNAs extracted']} - + assembly software ${row['assembly software']} @@ -186,7 +191,7 @@ def mandatorytest(row, column): ${row['decontamination software']} - + binning software ${row['binning software']} @@ -211,13 +216,13 @@ def mandatorytest(row, column): ${row['assembly quality']} - + investigation type ${row['investigation type']} - + binning parameters ${row['binning parameters']} @@ -235,13 +240,13 @@ def mandatorytest(row, column): ${row['taxonomic classification']} - + isolation_source ${row['isolation_source']} - + collection date ${row['collection date']} @@ -254,20 +259,20 @@ def mandatorytest(row, column): m - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} @@ -281,19 +286,19 @@ def mandatorytest(row, column): m - + environment (biome) ${row['environment (biome)']} - + environment (feature) ${row['environment (feature)']} - + environment (material) ${row['environment (material)']} @@ -337,13 +342,13 @@ def mandatorytest(row, column): ${row['size fraction selected']} - + sample derived from ${row['sample derived from']} - + metagenomic source ${row['metagenomic source']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000051.xml b/ena_upload/templates/ENA_template_samples_ERC000051.xml index 592cb63..cb7dea2 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000051.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000051.xml @@ -3,50 +3,55 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + sample origin ${row['sample origin']} - + sample taxon name ${row['sample taxon name']} - + sample material ${row['sample material']} - + engrafted tumor sample passage ${row['engrafted tumor sample passage']} @@ -58,19 +63,19 @@ def mandatorytest(row, column): ${row['engrafted tumor collection site']} - + patient tumor site of collection ${row['patient tumor site of collection']} - + patient tumor type ${row['patient tumor type']} - + sample unique ID ${row['sample unique ID']} @@ -82,19 +87,19 @@ def mandatorytest(row, column): ${row['engraftment host strain name']} - + patient age at collection of tumor ${row['patient age at collection of tumor']} - + patient tumor diagnosis at time of collection ${row['patient tumor diagnosis at time of collection']} - + patient tumor primary site ${row['patient tumor primary site']} @@ -106,7 +111,7 @@ def mandatorytest(row, column): ${row['was the PDX model humanised?']} - + patient sex ${row['patient sex']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000052.xml b/ena_upload/templates/ENA_template_samples_ERC000052.xml index a716cde..6533f67 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000052.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000052.xml @@ -3,38 +3,43 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + project name ${row['project name']} - + sample volume or weight for DNA extraction ${row['sample volume or weight for DNA extraction']} @@ -59,13 +64,13 @@ def mandatorytest(row, column): ${row['adapters']} - + sequencing method ${row['sequencing method']} - + reference host genome for decontamination ${row['reference host genome for decontamination']} @@ -110,7 +115,7 @@ def mandatorytest(row, column): years - + trial timepoint ${row['trial timepoint']} @@ -148,25 +153,25 @@ def mandatorytest(row, column): ${row['host disease status']} - + host common name ${row['host common name']} - + host subject id ${row['host subject id']} - + host taxid ${row['host taxid']} - + host body site ${row['host body site']} @@ -217,7 +222,7 @@ def mandatorytest(row, column): ${row['host diet']} - + host diet treatment ${row['host diet treatment']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000053.xml b/ena_upload/templates/ENA_template_samples_ERC000053.xml index c71382e..f55c270 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000053.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000053.xml @@ -3,44 +3,49 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + - + organism part ${row['organism part']} - + lifestage ${row['lifestage']} - + project name ${row['project name']} @@ -58,39 +63,39 @@ def mandatorytest(row, column): ${row['barcoding center']} - + collected_by ${row['collected_by']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']} DD - + geographic location (region and locality) ${row['geographic location (region and locality)']} @@ -116,7 +121,7 @@ def mandatorytest(row, column): m - + habitat ${row['habitat']} @@ -170,7 +175,7 @@ def mandatorytest(row, column): ${row['sample coordinator affiliation']} - + sex ${row['sex']} @@ -188,7 +193,7 @@ def mandatorytest(row, column): ${row['symbiont']} - + collecting institution ${row['collecting institution']} diff --git a/ena_upload/templates/ENA_template_studies.xml b/ena_upload/templates/ENA_template_studies.xml index 5c46625..374e743 100755 --- a/ena_upload/templates/ENA_template_studies.xml +++ b/ena_upload/templates/ENA_template_studies.xml @@ -1,22 +1,32 @@ - + + ${row.title} + + + + ${row.study_abstract} + ${row.center_project_name} diff --git a/ena_upload/templates/jinja_templates/ENA_template_samples.xml b/ena_upload/templates/jinja_templates/ENA_template_samples.xml index 49d97b3..8b8e978 100755 --- a/ena_upload/templates/jinja_templates/ENA_template_samples.xml +++ b/ena_upload/templates/jinja_templates/ENA_template_samples.xml @@ -3,44 +3,42 @@ import pandas as pd import sys def attributetest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True - else: - return False -def mandatorytest(row, column): - if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace() and str(row[column]).lower() not in ['nan', 'na']: +def mandatorytest(row, column, index): + if hasattr(row, column) and pd.notna(row[column]) and not str(row[column]).isspace(): return True else: - sys.exit(f"The mandatory column '{column}' is not filled in at row '{row}'") + print("MISSING VALUE ERROR: The mandatory column '"+ str(column) + "' is not filled in at row '" + str(index) + "'" + "\n") + sys.exit("This process is terminated") ?> + ${row.title} + + ${row.taxon_id} + ${row.scientific_name} ${row.common_name} + ${row.sample_description} + {%- for key, value in attributes.items() %} - {%- if value['cardinality'].lower() == 'mandatory' %} - - - {{key}} - ${row['{{key}}']} - {%- if value['units'] %} - {{value['units']}} - {%- endif %} - - - {%- else %} + {%- if value['cardinality'].lower() != 'mandatory' %} + {%- else %} + + {%- endif %} {{key}} ${row['{{key}}']} @@ -49,7 +47,6 @@ def mandatorytest(row, column): {%- endif %} - {%- endif %} {%- endfor %} SUBMISSION_TOOL From 14035eb9f627771ba94b2faba63b41af8c749a71 Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 18:25:47 +0200 Subject: [PATCH 05/11] version bump --- ena_upload/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ena_upload/_version.py b/ena_upload/_version.py index 906d362..43c4ab0 100644 --- a/ena_upload/_version.py +++ b/ena_upload/_version.py @@ -1 +1 @@ -__version__ = "0.6.0" +__version__ = "0.6.1" From 2d71b1954ef482a39f60e7255fceb61f4515cb38 Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 18:26:05 +0200 Subject: [PATCH 06/11] not everything mandatory --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c14d3ff..de7e51f 100644 --- a/README.md +++ b/README.md @@ -94,8 +94,8 @@ You can specify ENA sample checklist using the `--checklist` parameter. By defau The command line tool will automatically fetch the correct scientific name based on the taxon ID or fetch the taxon ID based on the scientific name. Both can be given and no overwrite will be done. -- Mandatory: *alias*, *title*, *sample_description* and either *scientific_name* or *taxon_id* (preferred) -- Optional: *common_name* +- Mandatory: *alias*, *title*, and either *scientific_name* or *taxon_id* (preferred) +- Optional: *common_name*, *sample_description* | alias | title | taxon_id | scientific_name | common_name | sample_description | |----------------|----------------|----------|-------------------------------------------------|-------------|----------------------| @@ -133,7 +133,7 @@ Currently we refer to the [ENA Webin](https://wwwdev.ebi.ac.uk/ena/submit/webin/ | sample_alias | mandatory | Pick a sample to associate this experiment with. The sample may be an individual or a pool, depending on how it is specified. | | | design_description | mandatory | Goal and setup of the individual library including library was constructed. | | | spot_descriptor | optional | The SPOT_DESCRIPTOR specifies how to decode the individual reads of interest from the monolithic spot sequence. The spot descriptor contains aspects of the experimental design, platform, and processing information. There will be two methods of specification: one will be an index into a table of typical decodings, the other being an exact specification. This construct is needed for loading data and for interpreting the loaded runs. It can be omitted if the loader can infer read layout (from multiple input files or from one input files). | | -| library_name | mandatory | The submitter's name for this library. | | +| library_name | optional | The submitter's name for this library. | | | library_layout | mandatory | LIBRARY_LAYOUT specifies whether to expect single, paired, or other configuration of reads. In the case of paired reads, information about the relative distance and orientation is specified. | yes | | insert_size | mandatory | Relative distance. | | | library_strategy | mandatory | Sequencing technique intended for this library | yes | From b78d55745fdad16f3f5c15ef8b060dfec594a30a Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 18:26:15 +0200 Subject: [PATCH 07/11] some improvements --- ena_upload/ena_upload.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ena_upload/ena_upload.py b/ena_upload/ena_upload.py index fa601e7..0e5f046 100755 --- a/ena_upload/ena_upload.py +++ b/ena_upload/ena_upload.py @@ -55,7 +55,7 @@ def create_dataframe(schema_tables, action, dev, auto_action): schema_dataframe = {} for schema, table in schema_tables.items(): - df = pd.read_csv(table, sep='\t', comment='#', dtype=str) + df = pd.read_csv(table, sep='\t', comment='#', dtype=str, na_values=["NA", "Na", "na", "NaN"]) df = df.dropna(how='all') df = check_columns(df, schema, action, dev, auto_action) schema_dataframe[schema] = df @@ -294,7 +294,7 @@ def run_construct(template_path, schema_targets, center, checklist, tool): template = templates[schema] Template = loader.load(template) stream = generate_stream(schema, targets, Template, center, tool) - + print(f"Constructing XML for '{schema}' schema") schema_xmls[schema] = construct_xml(schema, stream, xsds[schema]) return schema_xmls @@ -315,7 +315,7 @@ def construct_submission(template_path, action, submission_input, center, checkl :return submission_xml: filename of submission XML ''' - print("Constructing submission") + print(f"Constructing XML for submission schema") xsds, templates = actors(template_path, checklist) @@ -325,7 +325,6 @@ def construct_submission(template_path, action, submission_input, center, checkl stream = Template.generate(action=action, input=submission_input, center=center, tool_name=tool['tool_name'], tool_version=tool['tool_version']) - submission_xml = construct_xml('submission', stream, xsds['submission']) return submission_xml @@ -838,9 +837,9 @@ def main(): for schema in SCHEMA_TYPES: if schema in xl_workbook.book.sheetnames: - xl_sheet = xl_workbook.parse(schema, header=0) + xl_sheet = xl_workbook.parse(schema, header=0, na_values=["NA", "Na", "na", "NaN"]) elif f"ENA_{schema}" in xl_workbook.book.sheetnames: - xl_sheet = xl_workbook.parse(f"ENA_{schema}", header=0) + xl_sheet = xl_workbook.parse(f"ENA_{schema}", header=0, na_values=["NA", "Na", "na", "NaN"]) else: sys.exit( f"The sheet '{schema}' is not present in the excel sheet {xlsx}") From cf9c91cac5a6e029ea3b28e76b6a571b05bc73df Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 19:14:29 +0200 Subject: [PATCH 08/11] unicode problem --- .../ENA_template_samples_ERC000012.xml | 14 ++-- .../ENA_template_samples_ERC000013.xml | 6 +- .../ENA_template_samples_ERC000014.xml | 6 +- .../ENA_template_samples_ERC000015.xml | 6 +- .../ENA_template_samples_ERC000016.xml | 6 +- .../ENA_template_samples_ERC000017.xml | 6 +- .../ENA_template_samples_ERC000018.xml | 6 +- .../ENA_template_samples_ERC000019.xml | 66 +++++++-------- .../ENA_template_samples_ERC000020.xml | 4 +- .../ENA_template_samples_ERC000021.xml | 64 +++++++-------- .../ENA_template_samples_ERC000022.xml | 4 +- .../ENA_template_samples_ERC000023.xml | 18 ++-- .../ENA_template_samples_ERC000024.xml | 82 +++++++++---------- .../ENA_template_samples_ERC000025.xml | 46 +++++------ .../ENA_template_samples_ERC000027.xml | 82 +++++++++---------- .../ENA_template_samples_ERC000030.xml | 6 +- .../ENA_template_samples_ERC000031.xml | 8 +- .../ENA_template_samples_ERC000036.xml | 6 +- .../ENA_template_samples_ERC000037.xml | 2 +- .../ENA_template_samples_ERC000041.xml | 6 +- .../ENA_template_samples_ERC000043.xml | 4 +- .../ENA_template_samples_ERC000052.xml | 4 +- 22 files changed, 226 insertions(+), 226 deletions(-) diff --git a/ena_upload/templates/ENA_template_samples_ERC000012.xml b/ena_upload/templates/ENA_template_samples_ERC000012.xml index 00562d6..4133d0d 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000012.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000012.xml @@ -351,7 +351,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -417,21 +417,21 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC carbon dioxide ${row['carbon dioxide']} - µmol/L + µmol/L carbon monoxide ${row['carbon monoxide']} - µM/L + µM/L @@ -445,14 +445,14 @@ def mandatorytest(row, column, index): respirable particulate matter ${row['respirable particulate matter']} - µg/m3 + µg/m3 volatile organic compounds ${row['volatile organic compounds']} - µg/m3 + µg/m3 @@ -466,7 +466,7 @@ def mandatorytest(row, column, index): methane ${row['methane']} - µM/L + µM/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000013.xml b/ena_upload/templates/ENA_template_samples_ERC000013.xml index b09638a..11ed04b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000013.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000013.xml @@ -358,7 +358,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -471,7 +471,7 @@ def mandatorytest(row, column, index): host body temperature ${row['host body temperature']} - ºC + ºC @@ -496,7 +496,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000014.xml b/ena_upload/templates/ENA_template_samples_ERC000014.xml index 03eea39..895546b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000014.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000014.xml @@ -348,7 +348,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -473,7 +473,7 @@ def mandatorytest(row, column, index): host body temperature ${row['host body temperature']} - ºC + ºC @@ -492,7 +492,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000015.xml b/ena_upload/templates/ENA_template_samples_ERC000015.xml index 43388b9..c137bee 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000015.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000015.xml @@ -336,7 +336,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -431,7 +431,7 @@ def mandatorytest(row, column, index): host body temperature ${row['host body temperature']} - ºC + ºC @@ -444,7 +444,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000016.xml b/ena_upload/templates/ENA_template_samples_ERC000016.xml index abd98c4..dd9e8f7 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000016.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000016.xml @@ -336,7 +336,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -425,7 +425,7 @@ def mandatorytest(row, column, index): host body temperature ${row['host body temperature']} - ºC + ºC @@ -438,7 +438,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000017.xml b/ena_upload/templates/ENA_template_samples_ERC000017.xml index c0f2d63..1fb1920 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000017.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000017.xml @@ -336,7 +336,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -425,7 +425,7 @@ def mandatorytest(row, column, index): host body temperature ${row['host body temperature']} - ºC + ºC @@ -438,7 +438,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000018.xml b/ena_upload/templates/ENA_template_samples_ERC000018.xml index 7f688d1..9457d71 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000018.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000018.xml @@ -336,7 +336,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -431,7 +431,7 @@ def mandatorytest(row, column, index): host body temperature ${row['host body temperature']} - ºC + ºC @@ -444,7 +444,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000019.xml b/ena_upload/templates/ENA_template_samples_ERC000019.xml index 6d06c81..d576016 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000019.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000019.xml @@ -352,7 +352,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -405,7 +405,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC @@ -425,7 +425,7 @@ def mandatorytest(row, column, index): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -439,7 +439,7 @@ def mandatorytest(row, column, index): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -453,21 +453,21 @@ def mandatorytest(row, column, index): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -487,7 +487,7 @@ def mandatorytest(row, column, index): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -501,49 +501,49 @@ def mandatorytest(row, column, index): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L methane ${row['methane']} - µM/L + µM/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -564,77 +564,77 @@ def mandatorytest(row, column, index): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -648,7 +648,7 @@ def mandatorytest(row, column, index): potassium ${row['potassium']} - µmol/L + µmol/L @@ -669,21 +669,21 @@ def mandatorytest(row, column, index): total carbon ${row['total carbon']} - µg/L + µg/L silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L @@ -704,21 +704,21 @@ def mandatorytest(row, column, index): sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000020.xml b/ena_upload/templates/ENA_template_samples_ERC000020.xml index 9164d4f..78ebbf5 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000020.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000020.xml @@ -358,7 +358,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -472,7 +472,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000021.xml b/ena_upload/templates/ENA_template_samples_ERC000021.xml index 9c55d20..0dd9b11 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000021.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000021.xml @@ -359,7 +359,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -384,7 +384,7 @@ def mandatorytest(row, column, index): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -398,7 +398,7 @@ def mandatorytest(row, column, index): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -412,21 +412,21 @@ def mandatorytest(row, column, index): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -446,7 +446,7 @@ def mandatorytest(row, column, index): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -460,49 +460,49 @@ def mandatorytest(row, column, index): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L methane ${row['methane']} - µM/L + µM/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -523,77 +523,77 @@ def mandatorytest(row, column, index): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -607,7 +607,7 @@ def mandatorytest(row, column, index): potassium ${row['potassium']} - µmol/L + µmol/L @@ -628,21 +628,21 @@ def mandatorytest(row, column, index): total carbon ${row['total carbon']} - µg/L + µg/L silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L @@ -663,21 +663,21 @@ def mandatorytest(row, column, index): sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000022.xml b/ena_upload/templates/ENA_template_samples_ERC000022.xml index 74952d9..30b1102 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000022.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000022.xml @@ -481,7 +481,7 @@ def mandatorytest(row, column, index): mean annual and seasonal temperature ${row['mean annual and seasonal temperature']} - ºC + ºC @@ -588,7 +588,7 @@ def mandatorytest(row, column, index): total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000023.xml b/ena_upload/templates/ENA_template_samples_ERC000023.xml index ae96a9b..7bc6784 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000023.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000023.xml @@ -331,7 +331,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -433,7 +433,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC @@ -453,14 +453,14 @@ def mandatorytest(row, column, index): emulsions ${row['emulsions']} - µg/L + µg/L gaseous substances ${row['gaseous substances']} - µmol/L + µmol/L @@ -509,35 +509,35 @@ def mandatorytest(row, column, index): total phosphate ${row['total phosphate']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L phosphate ${row['phosphate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000024.xml b/ena_upload/templates/ENA_template_samples_ERC000024.xml index 3a21333..d50ff18 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000024.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000024.xml @@ -359,7 +359,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -439,14 +439,14 @@ def mandatorytest(row, column, index): downward PAR ${row['downward PAR']} - µE/m2/s + µE/m2/s photon flux ${row['photon flux']} - µmol/m2/s + µmol/m2/s @@ -460,7 +460,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC @@ -486,7 +486,7 @@ def mandatorytest(row, column, index): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -500,7 +500,7 @@ def mandatorytest(row, column, index): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -528,21 +528,21 @@ def mandatorytest(row, column, index): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -562,7 +562,7 @@ def mandatorytest(row, column, index): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -576,56 +576,56 @@ def mandatorytest(row, column, index): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved inorganic nitrogen ${row['dissolved inorganic nitrogen']} - µg/L + µg/L dissolved inorganic phosphorus ${row['dissolved inorganic phosphorus']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -646,84 +646,84 @@ def mandatorytest(row, column, index): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L particulate organic nitrogen ${row['particulate organic nitrogen']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -737,7 +737,7 @@ def mandatorytest(row, column, index): potassium ${row['potassium']} - µmol/L + µmol/L @@ -765,35 +765,35 @@ def mandatorytest(row, column, index): silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L soluble reactive phosphorus ${row['soluble reactive phosphorus']} - µmol/L + µmol/L sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L @@ -807,35 +807,35 @@ def mandatorytest(row, column, index): total dissolved nitrogen ${row['total dissolved nitrogen']} - µg/L + µg/L total inorganic nitrogen ${row['total inorganic nitrogen']} - µg/L + µg/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L total particulate carbon ${row['total particulate carbon']} - µmol/L + µmol/L total phosphorus ${row['total phosphorus']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000025.xml b/ena_upload/templates/ENA_template_samples_ERC000025.xml index 62782b4..680ea82 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000025.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000025.xml @@ -359,7 +359,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -405,7 +405,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC @@ -418,21 +418,21 @@ def mandatorytest(row, column, index): ammonium ${row['ammonium']} - µmol/L + µmol/L bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -446,7 +446,7 @@ def mandatorytest(row, column, index): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -460,84 +460,84 @@ def mandatorytest(row, column, index): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -551,7 +551,7 @@ def mandatorytest(row, column, index): potassium ${row['potassium']} - µmol/L + µmol/L @@ -565,28 +565,28 @@ def mandatorytest(row, column, index): silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000027.xml b/ena_upload/templates/ENA_template_samples_ERC000027.xml index 382626c..c3b8b89 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000027.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000027.xml @@ -359,7 +359,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -378,7 +378,7 @@ def mandatorytest(row, column, index): Temperature ${row['Temperature']} - ºC + ºC @@ -459,14 +459,14 @@ def mandatorytest(row, column, index): downward PAR ${row['downward PAR']} - µE/m2/s + µE/m2/s photon flux ${row['photon flux']} - µmol/m2/s + µmol/m2/s @@ -506,7 +506,7 @@ def mandatorytest(row, column, index): alkyl diethers ${row['alkyl diethers']} - µg/L + µg/L @@ -520,7 +520,7 @@ def mandatorytest(row, column, index): ammonium ${row['ammonium']} - µmol/L + µmol/L @@ -548,21 +548,21 @@ def mandatorytest(row, column, index): bishomohopanol ${row['bishomohopanol']} - µg/g + µg/g bromide ${row['bromide']} - µmol/L + µmol/L calcium ${row['calcium']} - µmol/L + µmol/L @@ -582,7 +582,7 @@ def mandatorytest(row, column, index): chlorophyll ${row['chlorophyll']} - µg/L + µg/L @@ -596,56 +596,56 @@ def mandatorytest(row, column, index): dissolved carbon dioxide ${row['dissolved carbon dioxide']} - µmol/L + µmol/L dissolved hydrogen ${row['dissolved hydrogen']} - µmol/L + µmol/L dissolved inorganic carbon ${row['dissolved inorganic carbon']} - µg/L + µg/L dissolved inorganic nitrogen ${row['dissolved inorganic nitrogen']} - µg/L + µg/L dissolved inorganic phosphorus ${row['dissolved inorganic phosphorus']} - µg/L + µg/L dissolved organic carbon ${row['dissolved organic carbon']} - µmol/L + µmol/L dissolved organic nitrogen ${row['dissolved organic nitrogen']} - µg/L + µg/L dissolved oxygen ${row['dissolved oxygen']} - µmol/kg + µmol/kg @@ -666,84 +666,84 @@ def mandatorytest(row, column, index): n-alkanes ${row['n-alkanes']} - µmol/L + µmol/L nitrate ${row['nitrate']} - µmol/L + µmol/L nitrite ${row['nitrite']} - µmol/L + µmol/L nitrogen ${row['nitrogen']} - µmol/L + µmol/L organic carbon ${row['organic carbon']} - µmol/L + µmol/L organic matter ${row['organic matter']} - µg/L + µg/L organic nitrogen ${row['organic nitrogen']} - µg/L + µg/L particulate organic carbon ${row['particulate organic carbon']} - µg/L + µg/L particulate organic nitrogen ${row['particulate organic nitrogen']} - µg/L + µg/L petroleum hydrocarbon ${row['petroleum hydrocarbon']} - µmol/L + µmol/L phaeopigments ${row['phaeopigments']} - µg/L + µg/L phosphate ${row['phosphate']} - µmol/L + µmol/L @@ -757,7 +757,7 @@ def mandatorytest(row, column, index): potassium ${row['potassium']} - µmol/L + µmol/L @@ -778,35 +778,35 @@ def mandatorytest(row, column, index): silicate ${row['silicate']} - µmol/L + µmol/L sodium ${row['sodium']} - µmol/L + µmol/L soluble reactive phosphorus ${row['soluble reactive phosphorus']} - µmol/L + µmol/L sulfate ${row['sulfate']} - µmol/L + µmol/L sulfide ${row['sulfide']} - µmol/L + µmol/L @@ -820,35 +820,35 @@ def mandatorytest(row, column, index): total dissolved nitrogen ${row['total dissolved nitrogen']} - µg/L + µg/L total inorganic nitrogen ${row['total inorganic nitrogen']} - µg/L + µg/L total nitrogen ${row['total nitrogen']} - µmol/L + µmol/L total particulate carbon ${row['total particulate carbon']} - µmol/L + µmol/L total phosphorus ${row['total phosphorus']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000030.xml b/ena_upload/templates/ENA_template_samples_ERC000030.xml index b990a81..cd981e8 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000030.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000030.xml @@ -187,21 +187,21 @@ def mandatorytest(row, column, index): Oxygen Sensor ${row['Oxygen Sensor']} - µmol/kg + µmol/kg Nitrate Sensor ${row['Nitrate Sensor']} - µmol/L + µmol/L Temperature ${row['Temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000031.xml b/ena_upload/templates/ENA_template_samples_ERC000031.xml index c3805b9..66e2a38 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000031.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000031.xml @@ -440,14 +440,14 @@ def mandatorytest(row, column, index): air temperature ${row['air temperature']} - ºC + ºC surface temperature ${row['surface temperature']} - ºC + ºC @@ -467,14 +467,14 @@ def mandatorytest(row, column, index): dew point ${row['dew point']} - ºC + ºC carbon dioxide ${row['carbon dioxide']} - µmol/L + µmol/L diff --git a/ena_upload/templates/ENA_template_samples_ERC000036.xml b/ena_upload/templates/ENA_template_samples_ERC000036.xml index d00f5e5..42495ab 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000036.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000036.xml @@ -113,7 +113,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -132,7 +132,7 @@ def mandatorytest(row, column, index): sample transportation temperature ${row['sample transportation temperature']} - °C + °C @@ -163,7 +163,7 @@ def mandatorytest(row, column, index): temperature ${row['temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000037.xml b/ena_upload/templates/ENA_template_samples_ERC000037.xml index 479c9bb..22ba48e 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000037.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000037.xml @@ -189,7 +189,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C diff --git a/ena_upload/templates/ENA_template_samples_ERC000041.xml b/ena_upload/templates/ENA_template_samples_ERC000041.xml index 3b29b1c..eab9d36 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000041.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000041.xml @@ -67,7 +67,7 @@ def mandatorytest(row, column, index): DNA concentration ${row['DNA concentration']} - ng/µl + ng/µl @@ -112,7 +112,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -131,7 +131,7 @@ def mandatorytest(row, column, index): sample transportation temperature ${row['sample transportation temperature']} - °C + °C diff --git a/ena_upload/templates/ENA_template_samples_ERC000043.xml b/ena_upload/templates/ENA_template_samples_ERC000043.xml index 52f699b..52d4b57 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000043.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000043.xml @@ -102,7 +102,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -115,7 +115,7 @@ def mandatorytest(row, column, index): Temperature ${row['Temperature']} - ºC + ºC diff --git a/ena_upload/templates/ENA_template_samples_ERC000052.xml b/ena_upload/templates/ENA_template_samples_ERC000052.xml index 6533f67..7db49af 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000052.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000052.xml @@ -126,7 +126,7 @@ def mandatorytest(row, column, index): sample storage temperature ${row['sample storage temperature']} - °C + °C @@ -251,7 +251,7 @@ def mandatorytest(row, column, index): host storage container temperature ${row['host storage container temperature']} - °C + °C From bf795cc2eca3eae1531e3b497629054351fbbda8 Mon Sep 17 00:00:00 2001 From: Bert Droesbeke Date: Fri, 1 Jul 2022 19:14:52 +0200 Subject: [PATCH 09/11] encode with utf-8 --- var/xml_converter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/xml_converter.py b/var/xml_converter.py index 500ead2..7016b4b 100644 --- a/var/xml_converter.py +++ b/var/xml_converter.py @@ -74,8 +74,8 @@ def main(): output_from_parsed_template = t.render(attributes=xml_tree) # Saving new xml template file - with open(f"ena_upload/templates/ENA_template_samples_{checklist}.xml", "w") as fh: - fh.write(output_from_parsed_template) + with open(f"ena_upload/templates/ENA_template_samples_{checklist}.xml", "wb") as fh: + fh.write(output_from_parsed_template.encode('utf-8')) if __name__ == "__main__": From 7ffc445c07932357f045c22229b3995f8edf0b8b Mon Sep 17 00:00:00 2001 From: bedroesb Date: Mon, 6 Mar 2023 13:06:06 +0100 Subject: [PATCH 10/11] add updated templates --- .../ENA_template_samples_ERC000011.xml | 6 ++ .../ENA_template_samples_ERC000012.xml | 30 ++++++++++ .../ENA_template_samples_ERC000013.xml | 28 +++++++++ .../ENA_template_samples_ERC000014.xml | 28 +++++++++ .../ENA_template_samples_ERC000015.xml | 28 +++++++++ .../ENA_template_samples_ERC000016.xml | 28 +++++++++ .../ENA_template_samples_ERC000017.xml | 28 +++++++++ .../ENA_template_samples_ERC000018.xml | 28 +++++++++ .../ENA_template_samples_ERC000019.xml | 32 ++++++++++ .../ENA_template_samples_ERC000020.xml | 28 +++++++++ .../ENA_template_samples_ERC000021.xml | 32 ++++++++++ .../ENA_template_samples_ERC000022.xml | 32 ++++++++++ .../ENA_template_samples_ERC000023.xml | 28 +++++++++ .../ENA_template_samples_ERC000024.xml | 30 ++++++++++ .../ENA_template_samples_ERC000025.xml | 28 +++++++++ .../ENA_template_samples_ERC000027.xml | 38 ++++++++++++ .../ENA_template_samples_ERC000028.xml | 18 ++++++ .../ENA_template_samples_ERC000029.xml | 26 ++++++++ .../ENA_template_samples_ERC000030.xml | 38 ++++++++++++ .../ENA_template_samples_ERC000031.xml | 60 +++++++++++++++++++ .../ENA_template_samples_ERC000032.xml | 30 ++++++++++ .../ENA_template_samples_ERC000033.xml | 24 ++++++++ .../ENA_template_samples_ERC000034.xml | 14 +++++ .../ENA_template_samples_ERC000035.xml | 6 ++ .../ENA_template_samples_ERC000036.xml | 14 +++++ .../ENA_template_samples_ERC000037.xml | 22 +++++++ .../ENA_template_samples_ERC000038.xml | 42 +++++++++++++ .../ENA_template_samples_ERC000039.xml | 16 +++++ .../ENA_template_samples_ERC000040.xml | 28 +++++++++ .../ENA_template_samples_ERC000041.xml | 8 +++ .../ENA_template_samples_ERC000043.xml | 8 +++ .../ENA_template_samples_ERC000044.xml | 16 +++++ .../ENA_template_samples_ERC000045.xml | 12 ++++ .../ENA_template_samples_ERC000047.xml | 48 +++++++++++++++ .../ENA_template_samples_ERC000048.xml | 50 ++++++++++++++++ .../ENA_template_samples_ERC000049.xml | 48 +++++++++++++++ .../ENA_template_samples_ERC000050.xml | 38 ++++++++++++ .../ENA_template_samples_ERC000051.xml | 28 +++++++++ .../ENA_template_samples_ERC000052.xml | 26 ++++++++ .../ENA_template_samples_ERC000053.xml | 30 ++++++++++ 40 files changed, 1102 insertions(+) diff --git a/ena_upload/templates/ENA_template_samples_ERC000011.xml b/ena_upload/templates/ENA_template_samples_ERC000011.xml index 46cc304..fa392ff 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000011.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000011.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,55 +197,75 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (altitude) ${row['geographic location (altitude)']} m + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + air environmental package ${row['air environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) diff --git a/ena_upload/templates/ENA_template_samples_ERC000013.xml b/ena_upload/templates/ENA_template_samples_ERC000013.xml index 3c64c53..6779176 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000013.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000013.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,30 +216,38 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + host-associated environmental package ${row['host-associated environmental package']} + geographic location (depth) @@ -233,18 +255,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) diff --git a/ena_upload/templates/ENA_template_samples_ERC000014.xml b/ena_upload/templates/ENA_template_samples_ERC000014.xml index f50f364..cb77b60 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000014.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000014.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -193,50 +203,68 @@ def attributetest(row, column): ${row['study completion status']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human-associated environmental package ${row['human-associated environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000015.xml b/ena_upload/templates/ENA_template_samples_ERC000015.xml index d71bbcd..f0e5bfb 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000015.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000015.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human gut environmental package ${row['human gut environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000016.xml b/ena_upload/templates/ENA_template_samples_ERC000016.xml index 54359ae..2a33e12 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000016.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000016.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human oral environmental package ${row['human oral environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000017.xml b/ena_upload/templates/ENA_template_samples_ERC000017.xml index cf08fb9..c46d11a 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000017.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000017.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human skin environmental package ${row['human skin environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000018.xml b/ena_upload/templates/ENA_template_samples_ERC000018.xml index bfc2c5e..8850ba7 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000018.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000018.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + human vaginal environmental package ${row['human vaginal environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000019.xml b/ena_upload/templates/ENA_template_samples_ERC000019.xml index 1286b4c..2727d12 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000019.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000019.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,52 +216,70 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + microbial mat/biofilm environmental package ${row['microbial mat/biofilm environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + geographic location (elevation) ${row['geographic location (elevation)']} m + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000020.xml b/ena_upload/templates/ENA_template_samples_ERC000020.xml index 0de3257..0ec72a4 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000020.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000020.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,30 +216,38 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + plant-associated environmental package ${row['plant-associated environmental package']} + geographic location (depth) @@ -233,18 +255,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) diff --git a/ena_upload/templates/ENA_template_samples_ERC000021.xml b/ena_upload/templates/ENA_template_samples_ERC000021.xml index fc3d24e..3f41916 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000021.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000021.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,52 +216,70 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + sediment environmental package ${row['sediment environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + geographic location (elevation) ${row['geographic location (elevation)']} m + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000022.xml b/ena_upload/templates/ENA_template_samples_ERC000022.xml index 632f1ec..fec9784 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000022.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000022.xml @@ -1,11 +1,17 @@ ${row['profile position']} + project name ${row['project name']} + experimental factor @@ -178,10 +186,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -212,14 +222,18 @@ def attributetest(row, column): ${row['pooling of DNA extracts (if done)']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -227,52 +241,70 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + soil environmental package ${row['soil environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + geographic location (elevation) ${row['geographic location (elevation)']} m + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000023.xml b/ena_upload/templates/ENA_template_samples_ERC000023.xml index a2270b1..c3c8489 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000023.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000023.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,38 +197,50 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + wastewater/sludge environmental package ${row['wastewater/sludge environmental package']} + geographic location (depth) @@ -226,18 +248,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + source material identifiers diff --git a/ena_upload/templates/ENA_template_samples_ERC000024.xml b/ena_upload/templates/ENA_template_samples_ERC000024.xml index 52a5d60..58d7510 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000024.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000024.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,47 +216,63 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + water environmental package ${row['water environmental package']} + + geographic location (depth) ${row['geographic location (depth)']} m + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) diff --git a/ena_upload/templates/ENA_template_samples_ERC000025.xml b/ena_upload/templates/ENA_template_samples_ERC000025.xml index 438646f..17f5c49 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000025.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000025.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,14 +197,18 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -202,30 +216,38 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + miscellaneous environmental package ${row['miscellaneous environmental package']} + geographic location (depth) @@ -233,18 +255,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) diff --git a/ena_upload/templates/ENA_template_samples_ERC000027.xml b/ena_upload/templates/ENA_template_samples_ERC000027.xml index d14b20b..72ebe10 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000027.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000027.xml @@ -1,11 +1,17 @@ ${row.sample_description} + Event Date/Time ${row['Event Date/Time']} + + Latitude Start ${row['Latitude Start']} DD + + Longitude Start ${row['Longitude Start']} DD + Latitude End @@ -50,19 +62,25 @@ def attributetest(row, column): DD + Depth ${row['Depth']} m + + Protocol Label ${row['Protocol Label']} + + project name ${row['project name']} + experimental factor @@ -220,34 +238,48 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + environmental package ${row['environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + Sampling Campaign ${row['Sampling Campaign']} + + Sampling Site ${row['Sampling Site']} + + Sampling Platform ${row['Sampling Platform']} + source material identifiers @@ -331,20 +363,26 @@ def attributetest(row, column): ${row['sample storage location']} + Marine Region ${row['Marine Region']} + + Temperature ${row['Temperature']} ºC + + Salinity ${row['Salinity']} psu + specific host diff --git a/ena_upload/templates/ENA_template_samples_ERC000028.xml b/ena_upload/templates/ENA_template_samples_ERC000028.xml index 3b8e283..a19e53b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000028.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000028.xml @@ -1,11 +1,17 @@ ${row.sample_description} + isolation_source ${row['isolation_source']} + lat_lon @@ -38,14 +46,18 @@ def attributetest(row, column): ${row['collected_by']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (region and locality) @@ -70,20 +82,24 @@ def attributetest(row, column): ${row['mating_type']} + host health state ${row['host health state']} + lab_host ${row['lab_host']} + host scientific name ${row['host scientific name']} + bio_material @@ -102,10 +118,12 @@ def attributetest(row, column): ${row['specimen_voucher']} + isolate ${row['isolate']} + sub_species diff --git a/ena_upload/templates/ENA_template_samples_ERC000029.xml b/ena_upload/templates/ENA_template_samples_ERC000029.xml index c315654..856efa3 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000029.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000029.xml @@ -1,11 +1,17 @@ ${row['country of travel']} + collected_by ${row['collected_by']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -67,20 +77,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -107,10 +123,12 @@ def attributetest(row, column): m3 + environmental_sample ${row['environmental_sample']} + mating_type @@ -166,10 +184,12 @@ def attributetest(row, column): ${row['host life stage']} + host health state ${row['host health state']} + host sex @@ -182,10 +202,12 @@ def attributetest(row, column): ${row['lab_host']} + host scientific name ${row['host scientific name']} + passage_history @@ -198,10 +220,12 @@ def attributetest(row, column): ${row['sample storage conditions']} + Is the sequenced pathogen host associated? ${row['Is the sequenced pathogen host associated?']} + bio_material @@ -220,10 +244,12 @@ def attributetest(row, column): ${row['specimen_voucher']} + isolate ${row['isolate']} + sub_species diff --git a/ena_upload/templates/ENA_template_samples_ERC000030.xml b/ena_upload/templates/ENA_template_samples_ERC000030.xml index 225b3b0..52d98d6 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000030.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000030.xml @@ -1,11 +1,17 @@ ${row['Event Label']} + Event Date/Time Start ${row['Event Date/Time Start']} + Event Date/Time End ${row['Event Date/Time End']} + Latitude Start ${row['Latitude Start']} DD + + Longitude Start ${row['Longitude Start']} DD + Latitude End @@ -62,21 +74,25 @@ def attributetest(row, column): DD + Depth ${row['Depth']} m + Sample Collection Device ${row['Sample Collection Device']} + Protocol Label ${row['Protocol Label']} + Size Fraction Lower Threshold @@ -101,47 +117,67 @@ def attributetest(row, column): ${row['Last Update Date']} + project name ${row['project name']} + + environmental package ${row['environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + Sampling Campaign ${row['Sampling Campaign']} + + Sampling Station ${row['Sampling Station']} + + Sampling Platform ${row['Sampling Platform']} + + Marine Region ${row['Marine Region']} + + Salinity Sensor ${row['Salinity Sensor']} psu + Oxygen Sensor @@ -156,11 +192,13 @@ def attributetest(row, column): µmol/L + Temperature ${row['Temperature']} ºC + Chlorophyll Sensor diff --git a/ena_upload/templates/ENA_template_samples_ERC000031.xml b/ena_upload/templates/ENA_template_samples_ERC000031.xml index dc8bc45..17aeb40 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000031.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000031.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -159,10 +167,12 @@ def attributetest(row, column): ${row['pcr conditions']} + sequencing method ${row['sequencing method']} + sequence quality check @@ -187,50 +197,68 @@ def attributetest(row, column): ${row['relevant standard operating procedures']} + investigation type ${row['investigation type']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) ${row['geographic location (region and locality)']} + built environment environmental package ${row['built environment environmental package']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + surface material @@ -249,56 +277,78 @@ def attributetest(row, column): ${row['indoor surface']} + indoor space ${row['indoor space']} + + filter type ${row['filter type']} + + heating and cooling system type ${row['heating and cooling system type']} + substructure type ${row['substructure type']} + light type ${row['light type']} + + building setting ${row['building setting']} + + building occupancy type ${row['building occupancy type']} + + space typical state ${row['space typical state']} + + typical occupant density ${row['typical occupant density']} + + occupancy at sampling ${row['occupancy at sampling']} + + occupant density at sampling ${row['occupant density at sampling']} + + ventilation type ${row['ventilation type']} + source material identifiers @@ -342,10 +392,12 @@ def attributetest(row, column): ${row['sample size sorting method']} + organism count ${row['organism count']} + specific host @@ -358,16 +410,20 @@ def attributetest(row, column): ${row['health or disease status of specific host']} + relative air humidity ${row['relative air humidity']} % + + absolute air humidity ${row['absolute air humidity']} kg + surface humidity @@ -375,11 +431,13 @@ def attributetest(row, column): % + air temperature ${row['air temperature']} ºC + surface temperature @@ -407,11 +465,13 @@ def attributetest(row, column): ºC + carbon dioxide ${row['carbon dioxide']} µmol/L + subspecific genetic lineage diff --git a/ena_upload/templates/ENA_template_samples_ERC000032.xml b/ena_upload/templates/ENA_template_samples_ERC000032.xml index eeee28a..bd55938 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000032.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000032.xml @@ -1,11 +1,17 @@ ${row['collection date']} + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -202,14 +210,18 @@ def attributetest(row, column): ${row['host disease outcome']} + host common name ${row['host common name']} + + host subject id ${row['host subject id']} + host age @@ -217,34 +229,48 @@ def attributetest(row, column): years + host health state ${row['host health state']} + + host sex ${row['host sex']} + + host scientific name ${row['host scientific name']} + + influenza test method ${row['influenza test method']} + + influenza test result ${row['influenza test result']} + + other pathogens tested ${row['other pathogens tested']} + + other pathogens test result ${row['other pathogens test result']} + influenza virus type @@ -275,14 +301,18 @@ def attributetest(row, column): ${row['lineage:swl (required for H1N1 viruses)']} + collector name ${row['collector name']} + + collecting institution ${row['collecting institution']} + receipt date diff --git a/ena_upload/templates/ENA_template_samples_ERC000033.xml b/ena_upload/templates/ENA_template_samples_ERC000033.xml index 1e556fa..240d6ec 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000033.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000033.xml @@ -1,11 +1,17 @@ ${row['collection date']} + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -106,14 +114,18 @@ def attributetest(row, column): ${row['host disease outcome']} + host common name ${row['host common name']} + + host subject id ${row['host subject id']} + host age @@ -121,38 +133,48 @@ def attributetest(row, column): years + host health state ${row['host health state']} + + host sex ${row['host sex']} + lab_host ${row['lab_host']} + host scientific name ${row['host scientific name']} + virus identifier ${row['virus identifier']} + collector name ${row['collector name']} + + collecting institution ${row['collecting institution']} + receipt date @@ -177,10 +199,12 @@ def attributetest(row, column): ${row['serotype (required for a seropositive sample)']} + isolate ${row['isolate']} + strain diff --git a/ena_upload/templates/ENA_template_samples_ERC000034.xml b/ena_upload/templates/ENA_template_samples_ERC000034.xml index e390b9f..4a4257d 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000034.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000034.xml @@ -1,11 +1,17 @@ ${row.sample_description} + tissue_type ${row['tissue_type']} + + sex ${row['sex']} + date of birth @@ -42,14 +52,18 @@ def attributetest(row, column): ${row['date of death']} + diagnosis ${row['diagnosis']} + + strain ${row['strain']} + tumor grading (OBI_0600002) diff --git a/ena_upload/templates/ENA_template_samples_ERC000035.xml b/ena_upload/templates/ENA_template_samples_ERC000035.xml index bca85be..f5dff09 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000035.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000035.xml @@ -1,11 +1,17 @@ ${row['nucleic acid amplification']} + investigation type ${row['investigation type']} + surveillance target ${row['surveillance target']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -136,10 +148,12 @@ def attributetest(row, column): ${row['receipt date']} + sewage type ${row['sewage type']} + temperature diff --git a/ena_upload/templates/ENA_template_samples_ERC000037.xml b/ena_upload/templates/ENA_template_samples_ERC000037.xml index 92ce7af..e5d4748 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000037.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000037.xml @@ -1,11 +1,17 @@ ${row['collected_by']} + collection date ${row['collection date']} + geographic location (altitude) @@ -70,20 +78,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -140,10 +154,12 @@ def attributetest(row, column): ${row['sample material processing']} + isolation and growth condition ${row['isolation and growth condition']} + propagation @@ -183,14 +199,18 @@ def attributetest(row, column): ${row['sampling time point']} + plant structure ${row['plant structure']} + + plant developmental stage ${row['plant developmental stage']} + sampled age @@ -408,10 +428,12 @@ def attributetest(row, column): ${row['soil pH']} + plant growth medium ${row['plant growth medium']} + rooting conditions diff --git a/ena_upload/templates/ENA_template_samples_ERC000038.xml b/ena_upload/templates/ENA_template_samples_ERC000038.xml index 999ae65..2d8b4ff 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000038.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000038.xml @@ -1,11 +1,17 @@ ${row.sample_description} + Event Date/Time ${row['Event Date/Time']} + + Latitude Start ${row['Latitude Start']} DD + + Longitude Start ${row['Longitude Start']} DD + + Depth ${row['Depth']} m + Sample Collection Device ${row['Sample Collection Device']} + Protocol Label ${row['Protocol Label']} + + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + + Sampling Campaign ${row['Sampling Campaign']} + + Sampling Station ${row['Sampling Station']} + + Sampling Platform ${row['Sampling Platform']} + storage conditions (fresh/frozen/other) @@ -99,38 +127,52 @@ def attributetest(row, column): ${row['Marine Region']} + seabed habitat ${row['seabed habitat']} + + age ${row['age']} + + aquaculture origin ${row['aquaculture origin']} + + shellfish total weight ${row['shellfish total weight']} g + + shellfish soft tissue weight ${row['shellfish soft tissue weight']} g + + shell length ${row['shell length']} g + + shell width ${row['shell width']} g + adductor weight diff --git a/ena_upload/templates/ENA_template_samples_ERC000039.xml b/ena_upload/templates/ENA_template_samples_ERC000039.xml index 050f987..0a87b20 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000039.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000039.xml @@ -1,11 +1,17 @@ ${row.sample_description} + dev_stage ${row['dev_stage']} + subject exposure @@ -62,10 +70,12 @@ def attributetest(row, column): ${row['collection date']} + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) @@ -135,24 +145,30 @@ def attributetest(row, column): ${row['host scientific name']} + collector name ${row['collector name']} + + collecting institution ${row['collecting institution']} + sample storage conditions ${row['sample storage conditions']} + isolate ${row['isolate']} + strain diff --git a/ena_upload/templates/ENA_template_samples_ERC000040.xml b/ena_upload/templates/ENA_template_samples_ERC000040.xml index df4f44a..c0be1a7 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000040.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000040.xml @@ -1,11 +1,17 @@ ${row['Size Fraction Upper Threshold']} + target gene ${row['target gene']} + + target subfragment ${row['target subfragment']} + + pcr primers ${row['pcr primers']} + isolation_source @@ -58,10 +70,12 @@ def attributetest(row, column): ${row['collected_by']} + collection date ${row['collection date']} + geographic location (altitude) @@ -69,20 +83,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -96,28 +116,36 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + sample collection device or method ${row['sample collection device or method']} + environmental_sample ${row['environmental_sample']} + Salinity diff --git a/ena_upload/templates/ENA_template_samples_ERC000041.xml b/ena_upload/templates/ENA_template_samples_ERC000041.xml index d4debb3..4a4da0a 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000041.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000041.xml @@ -1,11 +1,17 @@ ${row['links to additional analysis']} + isolate ${row['isolate']} + sub_species diff --git a/ena_upload/templates/ENA_template_samples_ERC000043.xml b/ena_upload/templates/ENA_template_samples_ERC000043.xml index fa53bd3..ef0c394 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000043.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000043.xml @@ -1,11 +1,17 @@ ${row['culture_collection']} + strain ${row['strain']} + Further Details diff --git a/ena_upload/templates/ENA_template_samples_ERC000044.xml b/ena_upload/templates/ENA_template_samples_ERC000044.xml index 1b9dc04..141b0a0 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000044.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000044.xml @@ -1,11 +1,17 @@ ${row['country of travel']} + collection_date ${row['collection_date']} + + collected_by ${row['collected_by']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (region and locality) @@ -82,14 +94,18 @@ def attributetest(row, column): ${row['host disease outcome']} + host scientific name ${row['host scientific name']} + + isolate ${row['isolate']} + sub_type diff --git a/ena_upload/templates/ENA_template_samples_ERC000045.xml b/ena_upload/templates/ENA_template_samples_ERC000045.xml index 69bbc61..9fdb609 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000045.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000045.xml @@ -1,11 +1,17 @@ ${row.sample_description} + collection_date ${row['collection_date']} + + isolation_source ${row['isolation_source']} + collected_by @@ -54,10 +64,12 @@ def attributetest(row, column): ${row['receipt date']} + isolate ${row['isolate']} + serotype diff --git a/ena_upload/templates/ENA_template_samples_ERC000047.xml b/ena_upload/templates/ENA_template_samples_ERC000047.xml index 694f674..2576c0f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000047.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000047.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -92,10 +100,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -114,10 +124,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + feature prediction @@ -154,26 +166,32 @@ def attributetest(row, column): ${row['tRNA extraction software']} + completeness score ${row['completeness score']} % + + completeness software ${row['completeness software']} + completeness approach ${row['completeness approach']} + contamination score ${row['contamination score']} % + contamination screening input @@ -192,10 +210,12 @@ def attributetest(row, column): ${row['decontamination software']} + binning software ${row['binning software']} + reassembly post binning @@ -209,36 +229,48 @@ def attributetest(row, column): ${row['MAG coverage software']} + assembly quality ${row['assembly quality']} + + investigation type ${row['investigation type']} + + binning parameters ${row['binning parameters']} + + taxonomic identity marker ${row['taxonomic identity marker']} + taxonomic classification ${row['taxonomic classification']} + isolation_source ${row['isolation_source']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -246,20 +278,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -273,18 +311,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -323,14 +367,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000048.xml b/ena_upload/templates/ENA_template_samples_ERC000048.xml index cbc8928..ef0a945 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000048.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000048.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -92,10 +100,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -114,10 +124,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + feature prediction @@ -154,26 +166,32 @@ def attributetest(row, column): ${row['tRNA extraction software']} + completeness score ${row['completeness score']} % + + completeness software ${row['completeness software']} + completeness approach ${row['completeness approach']} + contamination score ${row['contamination score']} % + contamination screening input @@ -192,56 +210,72 @@ def attributetest(row, column): ${row['decontamination software']} + assembly quality ${row['assembly quality']} + + investigation type ${row['investigation type']} + + taxonomic identity marker ${row['taxonomic identity marker']} + taxonomic classification ${row['taxonomic classification']} + sorting technology ${row['sorting technology']} + + single cell or viral particle lysis approach ${row['single cell or viral particle lysis approach']} + single cell or viral particle lysis kit protocol ${row['single cell or viral particle lysis kit protocol']} + WGA amplification approach ${row['WGA amplification approach']} + WGA amplification kit ${row['WGA amplification kit']} + collection_date ${row['collection_date']} + + isolation_source ${row['isolation_source']} + geographic location (altitude) @@ -249,20 +283,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -276,18 +316,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -326,14 +372,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000049.xml b/ena_upload/templates/ENA_template_samples_ERC000049.xml index 1ee4001..3f8a3c6 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000049.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000049.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -98,10 +106,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -120,10 +130,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + feature prediction @@ -186,14 +198,18 @@ def attributetest(row, column): ${row['MAG coverage software']} + assembly quality ${row['assembly quality']} + + investigation type ${row['investigation type']} + binning parameters @@ -242,30 +258,42 @@ def attributetest(row, column): ${row['WGA amplification kit']} + source of UViGs ${row['source of UViGs']} + + virus enrichment approach ${row['virus enrichment approach']} + + predicted genome type ${row['predicted genome type']} + + predicted genome structure ${row['predicted genome structure']} + + detection type ${row['detection type']} + + viral identification software ${row['viral identification software']} + vOTU classification approach @@ -296,14 +324,18 @@ def attributetest(row, column): ${row['host prediction estimated accuracy']} + isolation_source ${row['isolation_source']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -311,20 +343,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (region and locality) @@ -338,18 +376,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -388,14 +432,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + specific host diff --git a/ena_upload/templates/ENA_template_samples_ERC000050.xml b/ena_upload/templates/ENA_template_samples_ERC000050.xml index 3c10c19..cc3eaca 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000050.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000050.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + experimental factor @@ -86,10 +94,12 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + relevant electronic resources @@ -108,10 +118,12 @@ def attributetest(row, column): ${row['number of standard tRNAs extracted']} + assembly software ${row['assembly software']} + 16S recovered @@ -174,10 +186,12 @@ def attributetest(row, column): ${row['decontamination software']} + binning software ${row['binning software']} + reassembly post binning @@ -197,14 +211,18 @@ def attributetest(row, column): ${row['assembly quality']} + investigation type ${row['investigation type']} + + binning parameters ${row['binning parameters']} + taxonomic identity marker @@ -217,14 +235,18 @@ def attributetest(row, column): ${row['taxonomic classification']} + isolation_source ${row['isolation_source']} + + collection date ${row['collection date']} + geographic location (altitude) @@ -232,20 +254,26 @@ def attributetest(row, column): m + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + geographic location (depth) @@ -253,18 +281,24 @@ def attributetest(row, column): m + environment (biome) ${row['environment (biome)']} + + environment (feature) ${row['environment (feature)']} + + environment (material) ${row['environment (material)']} + geographic location (elevation) @@ -303,14 +337,18 @@ def attributetest(row, column): ${row['size fraction selected']} + sample derived from ${row['sample derived from']} + + metagenomic source ${row['metagenomic source']} + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000051.xml b/ena_upload/templates/ENA_template_samples_ERC000051.xml index 98f3247..592cb63 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000051.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000051.xml @@ -1,11 +1,17 @@ ${row.sample_description} + sample origin ${row['sample origin']} + + sample taxon name ${row['sample taxon name']} + + sample material ${row['sample material']} + + engrafted tumor sample passage ${row['engrafted tumor sample passage']} + engrafted tumor collection site ${row['engrafted tumor collection site']} + patient tumor site of collection ${row['patient tumor site of collection']} + + patient tumor type ${row['patient tumor type']} + + sample unique ID ${row['sample unique ID']} + engraftment host strain name ${row['engraftment host strain name']} + patient age at collection of tumor ${row['patient age at collection of tumor']} + + patient tumor diagnosis at time of collection ${row['patient tumor diagnosis at time of collection']} + + patient tumor primary site ${row['patient tumor primary site']} + was the PDX model humanised? ${row['was the PDX model humanised?']} + patient sex ${row['patient sex']} + SUBMISSION_TOOL ${tool_name} diff --git a/ena_upload/templates/ENA_template_samples_ERC000052.xml b/ena_upload/templates/ENA_template_samples_ERC000052.xml index 91a676c..e93d1a5 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000052.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000052.xml @@ -1,11 +1,17 @@ ${row.sample_description} + project name ${row['project name']} + + sample volume or weight for DNA extraction ${row['sample volume or weight for DNA extraction']} ng + nucleic acid extraction @@ -49,14 +59,18 @@ def attributetest(row, column): ${row['adapters']} + sequencing method ${row['sequencing method']} + + reference host genome for decontamination ${row['reference host genome for decontamination']} + collection date @@ -96,11 +110,13 @@ def attributetest(row, column): years + trial timepoint ${row['trial timepoint']} years + sample storage temperature @@ -132,22 +148,30 @@ def attributetest(row, column): ${row['host disease status']} + host common name ${row['host common name']} + + host subject id ${row['host subject id']} + + host taxid ${row['host taxid']} + + host body site ${row['host body site']} + host length @@ -193,10 +217,12 @@ def attributetest(row, column): ${row['host diet']} + host diet treatment ${row['host diet treatment']} + host diet treatment concentration diff --git a/ena_upload/templates/ENA_template_samples_ERC000053.xml b/ena_upload/templates/ENA_template_samples_ERC000053.xml index 4ba9efa..c71382e 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000053.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000053.xml @@ -1,11 +1,17 @@ ${row.sample_description} + organism part ${row['organism part']} + + lifestage ${row['lifestage']} + + project name ${row['project name']} + tolid @@ -46,32 +58,44 @@ def attributetest(row, column): ${row['barcoding center']} + collected_by ${row['collected_by']} + + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + geographic location (latitude) ${row['geographic location (latitude)']} DD + + geographic location (longitude) ${row['geographic location (longitude)']} DD + + geographic location (region and locality) ${row['geographic location (region and locality)']} + identified_by @@ -92,10 +116,12 @@ def attributetest(row, column): m + habitat ${row['habitat']} + identifier_affiliation @@ -144,10 +170,12 @@ def attributetest(row, column): ${row['sample coordinator affiliation']} + sex ${row['sex']} + relationship @@ -160,10 +188,12 @@ def attributetest(row, column): ${row['symbiont']} + collecting institution ${row['collecting institution']} + GAL From 51740cae47e4cf07d357cf2d47de1f31680e0093 Mon Sep 17 00:00:00 2001 From: bedroesb Date: Fri, 22 Sep 2023 15:54:05 +0200 Subject: [PATCH 11/11] update templates --- .../ENA_template_samples_ERC000011.xml | 4 ++ .../ENA_template_samples_ERC000012.xml | 30 ++++++------ .../ENA_template_samples_ERC000013.xml | 32 ++++++------ .../ENA_template_samples_ERC000014.xml | 26 +++++----- .../ENA_template_samples_ERC000015.xml | 26 +++++----- .../ENA_template_samples_ERC000016.xml | 26 +++++----- .../ENA_template_samples_ERC000017.xml | 26 +++++----- .../ENA_template_samples_ERC000018.xml | 26 +++++----- .../ENA_template_samples_ERC000019.xml | 32 ++++++------ .../ENA_template_samples_ERC000020.xml | 32 ++++++------ .../ENA_template_samples_ERC000021.xml | 32 ++++++------ .../ENA_template_samples_ERC000022.xml | 32 ++++++------ .../ENA_template_samples_ERC000023.xml | 28 +++++------ .../ENA_template_samples_ERC000024.xml | 32 ++++++------ .../ENA_template_samples_ERC000025.xml | 32 ++++++------ .../ENA_template_samples_ERC000027.xml | 16 +++--- .../ENA_template_samples_ERC000029.xml | 2 +- .../ENA_template_samples_ERC000030.xml | 12 +++-- .../ENA_template_samples_ERC000031.xml | 28 +++++------ .../ENA_template_samples_ERC000032.xml | 1 + .../ENA_template_samples_ERC000033.xml | 1 + .../ENA_template_samples_ERC000034.xml | 6 ++- .../ENA_template_samples_ERC000035.xml | 4 ++ .../ENA_template_samples_ERC000037.xml | 2 +- .../ENA_template_samples_ERC000038.xml | 16 +++--- .../ENA_template_samples_ERC000039.xml | 1 + .../ENA_template_samples_ERC000040.xml | 8 +-- .../ENA_template_samples_ERC000041.xml | 4 ++ .../ENA_template_samples_ERC000043.xml | 4 ++ .../ENA_template_samples_ERC000044.xml | 10 ++-- .../ENA_template_samples_ERC000045.xml | 10 ++-- .../ENA_template_samples_ERC000047.xml | 32 +++++++----- .../ENA_template_samples_ERC000048.xml | 49 ++++++++++--------- .../ENA_template_samples_ERC000049.xml | 32 +++++------- .../ENA_template_samples_ERC000050.xml | 12 ++--- .../ENA_template_samples_ERC000051.xml | 6 ++- .../ENA_template_samples_ERC000052.xml | 5 +- .../ENA_template_samples_ERC000053.xml | 32 +++++++++++- 38 files changed, 379 insertions(+), 330 deletions(-) diff --git a/ena_upload/templates/ENA_template_samples_ERC000011.xml b/ena_upload/templates/ENA_template_samples_ERC000011.xml index df5c0e0..0eba21f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000011.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000011.xml @@ -81,14 +81,18 @@ def mandatorytest(row, column, index): ${row['collected_by']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (region and locality) diff --git a/ena_upload/templates/ENA_template_samples_ERC000012.xml b/ena_upload/templates/ENA_template_samples_ERC000012.xml index 0379faf..f445cbf 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000012.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000012.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,19 +196,25 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -241,34 +247,28 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - - - environment (material) - ${row['environment (material)']} - - - + - geographic location (elevation) - ${row['geographic location (elevation)']} + elevation + ${row['elevation']} m diff --git a/ena_upload/templates/ENA_template_samples_ERC000013.xml b/ena_upload/templates/ENA_template_samples_ERC000013.xml index 40bbd96..c37b980 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000013.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000013.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,19 +196,25 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -241,38 +247,32 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - host-associated environmental package - ${row['host-associated environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000014.xml b/ena_upload/templates/ENA_template_samples_ERC000014.xml index 79854db..518bb60 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000014.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000014.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -202,12 +202,18 @@ def mandatorytest(row, column, index): ${row['study completion status']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date @@ -240,28 +246,22 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - - - environment (feature) - ${row['environment (feature)']} - - - + - environment (material) - ${row['environment (material)']} + environmental medium + ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000015.xml b/ena_upload/templates/ENA_template_samples_ERC000015.xml index 4f202fa..e7e2be0 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000015.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000015.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,12 +196,18 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date @@ -234,28 +240,22 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - - - environment (feature) - ${row['environment (feature)']} - - - + - environment (material) - ${row['environment (material)']} + environmental medium + ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000016.xml b/ena_upload/templates/ENA_template_samples_ERC000016.xml index 7aab305..9003c92 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000016.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000016.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,12 +196,18 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date @@ -234,28 +240,22 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - - - environment (feature) - ${row['environment (feature)']} - - - + - environment (material) - ${row['environment (material)']} + environmental medium + ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000017.xml b/ena_upload/templates/ENA_template_samples_ERC000017.xml index 7d99925..d731a53 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000017.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000017.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,12 +196,18 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date @@ -234,28 +240,22 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - - - environment (feature) - ${row['environment (feature)']} - - - + - environment (material) - ${row['environment (material)']} + environmental medium + ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000018.xml b/ena_upload/templates/ENA_template_samples_ERC000018.xml index cfc6e03..1852f93 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000018.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000018.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,12 +196,18 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date @@ -234,28 +240,22 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - - - environment (feature) - ${row['environment (feature)']} - - - + - environment (material) - ${row['environment (material)']} + environmental medium + ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000019.xml b/ena_upload/templates/ENA_template_samples_ERC000019.xml index ccbc11b..c1bc72f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000019.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000019.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,19 +196,25 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -241,38 +247,32 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - microbial mat/biofilm environmental package - ${row['microbial mat/biofilm environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000020.xml b/ena_upload/templates/ENA_template_samples_ERC000020.xml index 9d461ce..d5ac689 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000020.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000020.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,19 +196,25 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -241,38 +247,32 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - plant-associated environmental package - ${row['plant-associated environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000021.xml b/ena_upload/templates/ENA_template_samples_ERC000021.xml index a162248..92b3f83 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000021.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000021.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,19 +196,25 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -241,38 +247,32 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - sediment environmental package - ${row['sediment environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000022.xml b/ena_upload/templates/ENA_template_samples_ERC000022.xml index c1cfd1b..1d2f41e 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000022.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000022.xml @@ -185,7 +185,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -221,19 +221,25 @@ def mandatorytest(row, column, index): ${row['pooling of DNA extracts (if done)']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -266,38 +272,32 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - soil environmental package - ${row['soil environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000023.xml b/ena_upload/templates/ENA_template_samples_ERC000023.xml index d23e988..ce20952 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000023.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000023.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,12 +196,18 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date @@ -234,32 +240,26 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - wastewater/sludge environmental package - ${row['wastewater/sludge environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000024.xml b/ena_upload/templates/ENA_template_samples_ERC000024.xml index b385ed9..0e4fb55 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000024.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000024.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,19 +196,25 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -241,38 +247,32 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - water environmental package - ${row['water environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000025.xml b/ena_upload/templates/ENA_template_samples_ERC000025.xml index 5fb6afd..373c61e 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000025.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000025.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,19 +196,25 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date ${row['collection date']} - + altitude ${row['altitude']} @@ -241,38 +247,32 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - - - miscellaneous environmental package - ${row['miscellaneous environmental package']} - - - + - geographic location (depth) - ${row['geographic location (depth)']} + depth + ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000027.xml b/ena_upload/templates/ENA_template_samples_ERC000027.xml index 9212280..7af98df 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000027.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000027.xml @@ -33,12 +33,6 @@ def mandatorytest(row, column, index): ${row.sample_description} - - - Event Date/Time - ${row['Event Date/Time']} - - Latitude Start @@ -249,27 +243,31 @@ def mandatorytest(row, column, index): ${row['environmental package']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + broad-scale environmental context ${row['broad-scale environmental context']} + + local environmental context ${row['local environmental context']} + + environmental medium ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000029.xml b/ena_upload/templates/ENA_template_samples_ERC000029.xml index 44fd634..6df4506 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000029.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000029.xml @@ -75,7 +75,7 @@ def mandatorytest(row, column, index): ${row['collection date']} - + altitude ${row['altitude']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000030.xml b/ena_upload/templates/ENA_template_samples_ERC000030.xml index 3d77eac..bf37fa7 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000030.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000030.xml @@ -39,7 +39,7 @@ def mandatorytest(row, column, index): ${row['Event Label']} - + Event Date/Time Start ${row['Event Date/Time Start']} @@ -134,27 +134,31 @@ def mandatorytest(row, column, index): ${row['environmental package']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + broad-scale environmental context ${row['broad-scale environmental context']} + + local environmental context ${row['local environmental context']} + + environmental medium ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000031.xml b/ena_upload/templates/ENA_template_samples_ERC000031.xml index 1c747a4..ba34566 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000031.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000031.xml @@ -166,7 +166,7 @@ def mandatorytest(row, column, index): ${row['pcr conditions']} - + sequencing method ${row['sequencing method']} @@ -196,12 +196,18 @@ def mandatorytest(row, column, index): ${row['relevant standard operating procedures']} - + negative control type ${row['negative control type']} + + + positive control type + ${row['positive control type']} + + collection date @@ -234,28 +240,22 @@ def mandatorytest(row, column, index): ${row['geographic location (region and locality)']} - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - - - environment (feature) - ${row['environment (feature)']} - - - + - environment (material) - ${row['environment (material)']} + environmental medium + ${row['environmental medium']} @@ -391,7 +391,7 @@ def mandatorytest(row, column, index): ${row['organism count']} - + sample collection device ${row['sample collection device']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000032.xml b/ena_upload/templates/ENA_template_samples_ERC000032.xml index 7b06f98..25ca461 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000032.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000032.xml @@ -171,6 +171,7 @@ def mandatorytest(row, column, index): ${row['illness symptoms']} + collection date ${row['collection date']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000033.xml b/ena_upload/templates/ENA_template_samples_ERC000033.xml index 24fdb58..dc93b8d 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000033.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000033.xml @@ -75,6 +75,7 @@ def mandatorytest(row, column, index): ${row['illness symptoms']} + collection date ${row['collection date']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000034.xml b/ena_upload/templates/ENA_template_samples_ERC000034.xml index 345b06b..2ed7797 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000034.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000034.xml @@ -39,15 +39,19 @@ def mandatorytest(row, column, index): ${row['tissue_type']} - + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + sex ${row['sex']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000035.xml b/ena_upload/templates/ENA_template_samples_ERC000035.xml index 6b211b3..167931f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000035.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000035.xml @@ -69,14 +69,18 @@ def mandatorytest(row, column, index): ${row['protocol']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + sampling time point diff --git a/ena_upload/templates/ENA_template_samples_ERC000037.xml b/ena_upload/templates/ENA_template_samples_ERC000037.xml index 8c1008b..a4324bc 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000037.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000037.xml @@ -76,7 +76,7 @@ def mandatorytest(row, column, index): ${row['collection date']} - + altitude ${row['altitude']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000038.xml b/ena_upload/templates/ENA_template_samples_ERC000038.xml index 7231fc2..e817e3b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000038.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000038.xml @@ -33,12 +33,6 @@ def mandatorytest(row, column, index): ${row.sample_description} - - - Event Date/Time - ${row['Event Date/Time']} - - Latitude Start @@ -72,27 +66,31 @@ def mandatorytest(row, column, index): ${row['Protocol Label']} - + collection date ${row['collection date']} - + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} - + broad-scale environmental context ${row['broad-scale environmental context']} + + local environmental context ${row['local environmental context']} + + environmental medium ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000039.xml b/ena_upload/templates/ENA_template_samples_ERC000039.xml index 1fcbdaf..2b7d23f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000039.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000039.xml @@ -69,6 +69,7 @@ def mandatorytest(row, column, index): ${row['country of travel']} + collection date ${row['collection date']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000040.xml b/ena_upload/templates/ENA_template_samples_ERC000040.xml index 2598e9f..6572dcf 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000040.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000040.xml @@ -81,7 +81,7 @@ def mandatorytest(row, column, index): ${row['collection date']} - + altitude ${row['altitude']} @@ -121,19 +121,19 @@ def mandatorytest(row, column, index): m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000041.xml b/ena_upload/templates/ENA_template_samples_ERC000041.xml index 91ff4ad..e9f333f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000041.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000041.xml @@ -76,14 +76,18 @@ def mandatorytest(row, column, index): ${row['isolation_source']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (region and locality) diff --git a/ena_upload/templates/ENA_template_samples_ERC000043.xml b/ena_upload/templates/ENA_template_samples_ERC000043.xml index 56f9eed..22d0660 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000043.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000043.xml @@ -46,14 +46,18 @@ def mandatorytest(row, column, index): ${row['collected_by']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) diff --git a/ena_upload/templates/ENA_template_samples_ERC000044.xml b/ena_upload/templates/ENA_template_samples_ERC000044.xml index 4e4fb74..ce3857b 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000044.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000044.xml @@ -63,23 +63,19 @@ def mandatorytest(row, column, index): ${row['country of travel']} - - - collection_date - ${row['collection_date']} - - collected_by ${row['collected_by']} - + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000045.xml b/ena_upload/templates/ENA_template_samples_ERC000045.xml index 1f7f06d..0e8a8df 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000045.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000045.xml @@ -33,12 +33,6 @@ def mandatorytest(row, column, index): ${row.sample_description} - - - collection_date - ${row['collection_date']} - - isolation_source @@ -51,14 +45,18 @@ def mandatorytest(row, column, index): ${row['collected_by']} + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (region and locality) diff --git a/ena_upload/templates/ENA_template_samples_ERC000047.xml b/ena_upload/templates/ENA_template_samples_ERC000047.xml index b7444b5..d252cc9 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000047.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000047.xml @@ -105,7 +105,7 @@ def mandatorytest(row, column, index): ${row['adapters']} - + sequencing method ${row['sequencing method']} @@ -129,7 +129,7 @@ def mandatorytest(row, column, index): ${row['number of standard tRNAs extracted']} - + assembly software ${row['assembly software']} @@ -240,12 +240,6 @@ def mandatorytest(row, column, index): ${row['assembly quality']} - - - investigation type - ${row['investigation type']} - - binning parameters @@ -276,7 +270,7 @@ def mandatorytest(row, column, index): ${row['collection date']} - + altitude ${row['altitude']} @@ -316,25 +310,25 @@ def mandatorytest(row, column, index): m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} @@ -378,6 +372,18 @@ def mandatorytest(row, column, index): ${row['metagenomic source']} + + + sample collection device + ${row['sample collection device']} + + + + + sample collection method + ${row['sample collection method']} + + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000048.xml b/ena_upload/templates/ENA_template_samples_ERC000048.xml index e1d1f93..3871629 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000048.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000048.xml @@ -105,7 +105,7 @@ def mandatorytest(row, column, index): ${row['adapters']} - + sequencing method ${row['sequencing method']} @@ -129,7 +129,7 @@ def mandatorytest(row, column, index): ${row['number of standard tRNAs extracted']} - + assembly software ${row['assembly software']} @@ -171,14 +171,14 @@ def mandatorytest(row, column, index): ${row['tRNA extraction software']} - + completeness score ${row['completeness score']} % - + completeness software ${row['completeness software']} @@ -190,7 +190,7 @@ def mandatorytest(row, column, index): ${row['completeness approach']} - + contamination score ${row['contamination score']} @@ -215,19 +215,13 @@ def mandatorytest(row, column, index): ${row['decontamination software']} - + assembly quality ${row['assembly quality']} - - - investigation type - ${row['investigation type']} - - - + taxonomic identity marker ${row['taxonomic identity marker']} @@ -269,23 +263,18 @@ def mandatorytest(row, column, index): ${row['WGA amplification kit']} - - - collection_date - ${row['collection_date']} - - isolation_source ${row['isolation_source']} - + collection date ${row['collection date']} + altitude @@ -326,25 +315,25 @@ def mandatorytest(row, column, index): m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} @@ -388,6 +377,18 @@ def mandatorytest(row, column, index): ${row['metagenomic source']} + + + sample collection device + ${row['sample collection device']} + + + + + sample collection method + ${row['sample collection method']} + + relationship to oxygen diff --git a/ena_upload/templates/ENA_template_samples_ERC000049.xml b/ena_upload/templates/ENA_template_samples_ERC000049.xml index dd80d06..66ae624 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000049.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000049.xml @@ -111,7 +111,7 @@ def mandatorytest(row, column, index): ${row['adapters']} - + sequencing method ${row['sequencing method']} @@ -203,18 +203,6 @@ def mandatorytest(row, column, index): ${row['MAG coverage software']} - - - assembly quality - ${row['assembly quality']} - - - - - investigation type - ${row['investigation type']} - - binning parameters @@ -299,7 +287,7 @@ def mandatorytest(row, column, index): ${row['viral identification software']} - + OTU classification approach ${row['OTU classification approach']} @@ -329,11 +317,13 @@ def mandatorytest(row, column, index): ${row['host prediction estimated accuracy']} - + UViG assembly quality ${row['UViG assembly quality']} + + isolation_source ${row['isolation_source']} @@ -345,7 +335,7 @@ def mandatorytest(row, column, index): ${row['collection date']} - + altitude ${row['altitude']} @@ -385,25 +375,25 @@ def mandatorytest(row, column, index): m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} @@ -447,7 +437,7 @@ def mandatorytest(row, column, index): ${row['metagenomic source']} - + sample collection device ${row['sample collection device']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000050.xml b/ena_upload/templates/ENA_template_samples_ERC000050.xml index b5c659f..0038aca 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000050.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000050.xml @@ -252,7 +252,7 @@ def mandatorytest(row, column, index): ${row['collection date']} - + altitude ${row['altitude']} @@ -279,32 +279,32 @@ def mandatorytest(row, column, index): DD - + depth ${row['depth']} m - + broad-scale environmental context ${row['broad-scale environmental context']} - + local environmental context ${row['local environmental context']} - + environmental medium ${row['environmental medium']} - + elevation ${row['elevation']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000051.xml b/ena_upload/templates/ENA_template_samples_ERC000051.xml index cf49e23..68608d9 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000051.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000051.xml @@ -33,15 +33,19 @@ def mandatorytest(row, column, index): ${row.sample_description} - + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + + sample origin ${row['sample origin']} diff --git a/ena_upload/templates/ENA_template_samples_ERC000052.xml b/ena_upload/templates/ENA_template_samples_ERC000052.xml index 82ea618..f5eb87f 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000052.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000052.xml @@ -76,15 +76,18 @@ def mandatorytest(row, column, index): ${row['reference host genome for decontamination']} - + collection date ${row['collection date']} + + geographic location (country and/or sea) ${row['geographic location (country and/or sea)']} + geographic location (latitude) diff --git a/ena_upload/templates/ENA_template_samples_ERC000053.xml b/ena_upload/templates/ENA_template_samples_ERC000053.xml index 5b91245..f2c56bf 100644 --- a/ena_upload/templates/ENA_template_samples_ERC000053.xml +++ b/ena_upload/templates/ENA_template_samples_ERC000053.xml @@ -33,6 +33,34 @@ def mandatorytest(row, column, index): ${row.sample_description} + + + Latitude Start + ${row['Latitude Start']} + DD + + + + + Longitude Start + ${row['Longitude Start']} + DD + + + + + Latitude End + ${row['Latitude End']} + DD + + + + + Longitude End + ${row['Longitude End']} + DD + + organism part @@ -81,14 +109,14 @@ def mandatorytest(row, column, index): ${row['geographic location (country and/or sea)']} - + geographic location (latitude) ${row['geographic location (latitude)']} DD - + geographic location (longitude) ${row['geographic location (longitude)']}