Repository 'geo_cov_template'
hg clone https://toolshed.g2.bx.psu.edu/repos/ecology/geo_cov_template

Changeset 0:dc2dfad1627b (2023-12-02)
Next changeset 1:4f5816b57c13 (2023-12-04)
Commit message:
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/EMLassemblyline commit ea09df299078ff13beda210b36b7edaa6a79c099
added:
eml2eal.R
geo_cov_temp.R
geo_cov_template.xml
make_eml.R
table_templates.R
taxo_cov_template.R
templates1.R
test-data/Assessing_the_importance_of_field_margins_for_bat_species.xml
test-data/annotations.tabular
test-data/annotations.txt
test-data/attributes_data_blary_al.tabular
test-data/attributes_data_blary_al.txt
test-data/catvars_data_blary_al.tabular
test-data/catvars_data_blary_al.txt
test-data/datafile_1.tsv
test-data/geographic_coverage.tabular
test-data/geographic_coverage.txt
test-data/keywords.tabular
test-data/keywords.txt
test-data/metadataoutput.xml
test-data/personnel.tabular
test-data/personnel.txt
test-data/taxa.tsv
test-data/taxonomic_coverage.txt
test-data/test-geocov.tabular
b
diff -r 000000000000 -r dc2dfad1627b eml2eal.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/eml2eal.R Sat Dec 02 01:49:10 2023 +0000
[
@@ -0,0 +1,15 @@
+##07/06/2023
+##Genthon Tanguy
+###eml2eal
+
+#load arguments
+args = commandArgs(trailingOnly=TRUE)
+if (length(args)==0)
+{
+  stop("This tool needs at least one argument")
+}else{
+  data <- args[1]
+}
+
+
+EMLassemblyline::eml2eal(data,path=".")
b
diff -r 000000000000 -r dc2dfad1627b geo_cov_temp.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/geo_cov_temp.R Sat Dec 02 01:49:10 2023 +0000
[
@@ -0,0 +1,37 @@
+#27/11/2023
+#Seguineau Pauline
+#Make geographic coverage template
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  
+  data_table <- args[1]
+  tablename <- args[2]
+  lat_col <- as.numeric(args[3])
+  long_col <- as.numeric(args[4])
+  site_col <- as.numeric(args[5])
+  empty <- args[6]
+}
+
+datatable = read.table(data_table,header=T)
+
+latcol = names(datatable[lat_col])
+longcol = names(datatable[long_col])
+sitecol = names(datatable[site_col])
+
+if (empty == "false"){
+   empty = FALSE
+}else if (empty=="true"){
+   empty=TRUE}
+
+#Make template
+
+template_geographic_coverage(path =".", data.path = "data_files", data.table = tablename, lat.col = latcol, lon.col = longcol, site.col = sitecol, empty = empty)
+
+
b
diff -r 000000000000 -r dc2dfad1627b geo_cov_template.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/geo_cov_template.xml Sat Dec 02 01:49:10 2023 +0000
[
@@ -0,0 +1,69 @@
+<tool id="geo_cov_template" name="Make geographic coverage template" version="0.1.0+galaxy0" profile="22.05">
+    <description>for EML metadata creation</description>
+    <requirements>
+        <requirement type="package" version="4.3.1">r-base</requirement>
+        <requirement type="package" version="3.5.5">r-emlassemblyline</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+    
+    mkdir data_files && 
+    ln -s '$inputdata' 'data_files/${inputdata.element_identifier}' &&
+    #set $table = $inputdata.element_identifier
+    
+        Rscript 
+         '$__tool_directory__/geo_cov_temp.R'
+         '$inputdata'
+         '$table'
+         '$lat_col' 
+         '$long_col' 
+         '$site_col' 
+         '$empty'
+         
+    ]]></command>
+    <inputs>
+         <param name="inputdata" type="data" format="tabular" label="Upload table containing geographic coordinates" />
+         <param name="lat_col" type="data_column"  label="What column of your table contains latitude coordinates in decimal degrees?" data_ref="inputdata" />
+         <param name="long_col" type="data_column"  label="What column of your table contains longitude coordinates in decimal degrees ?" data_ref="inputdata"/>
+         <param name="site_col" type="data_column"  label="What column of your table contains site names ?" data_ref="inputdata"/>
+         <param name="empty" type="boolean"  label="Write an empty template file ?" />
+    </inputs>
+    <outputs>
+         <data name="output" from_work_dir="geographic_coverage.txt" format="txt" label="geographic coverage template"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="inputdata" value="test-geocov.tabular"/>
+            <param name="lat_col" value="2"/>
+            <param name="long_col" value="3"/>
+            <param name="site_col" value="1"/>
+            <param name="empty" value="false"/>
+            <output name="output" value="geographic_coverage.txt"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+    
+**What it does?**
+--------------------
+
+This tool produce template for EML metadata. It produce templates for geographic coverage. 
+This tool can be used with the "Make templates for core features of a data package" tool before the "make eml" tool.
+
+**How to use it?**
+--------------------
+To use this tool, you need to upload a table containing geographic coordinates (the decimal separator must be ".", example below), then select wich column of your table contains latitude, longitude and site names. You can also decide to make an empty geografical coverage templates.
+
+
+**Example of geographic table :** 
+-----------------------------------------
+
++------+------+----------------------+
+| long | lat  |         site         | 
++------+------+----------------------+
+|139.22|-65.57|     name of site 1   |
++------+------+----------------------+
+|139.22|-65.57|     name of site 2   |
++------+------+----------------------+
+| ...  | ...  |          ...         |
++------+------+----------------------+
+ ]]></help>
+</tool>
b
diff -r 000000000000 -r dc2dfad1627b make_eml.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/make_eml.R Sat Dec 02 01:49:10 2023 +0000
[
@@ -0,0 +1,161 @@
+##07/06/2023 ##Genthon Tanguy
+##update 15/11/2023 ##Seguineau Pauline
+
+###make_eml
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  title <- args[1]
+  start <- args[2]
+  end <-args[3]
+  data_table <- args[4]
+  data_other <- args[5]
+  destable <- args[6]
+  desother <- args[7]
+  quote <- args[8]
+  table_url <- args[9]
+  other_url <- args[10]
+}

+
+###Format data###
+
+if (data_table == ""){
+    table=NULL
+}else{
+    table =  strsplit(data_table," ")
+    for (file in table){
+         name_table = gsub("\\.[a-zA-Z]*", "", file)}
+    }
+    
+    
+if (quote != ""){
+   quote = strsplit(quote,",")
+   if (length(quote[[1]]) != length(table[[1]])){
+   stop("Your number of quote(s) isn't equal to your number of data table file(s). Please enter the quote parameter as many time as the number of data tables you've input")}
+}
+
+
+tablequote=NULL
+for (quote_table in quote[[1]]){
+    if (quote_table=="quote"){
+        quote_table = sub("quote",'"', quote_table)}
+    else if (quote_table=="apostrophe"){
+             quote_table = gsub("apostrophe","'",quote_table)}
+    else if (quote_table=="none"){
+             quote_table = gsub("none","",quote_table)}
+    tablequote = c(tablequote, quote_table)
+}
+
+  
+if (data_other == ""){
+    other=NULL
+}else{
+    other =  strsplit(data_other," ")
+    for (file in other){
+         name_other = gsub("\\.[a-zA-Z]*", "", file)}
+         }
+
+if (data_table !=""){
+   if (destable == ""){
+       des_table = name_table
+   }else{
+       des_table =  strsplit(destable,",")}
+}
+
+
+if (data_other !=""){
+   if (desother == ""){
+       des_other = name_other
+   }else{
+       des_other =  strsplit(desother,",")}
+}
+
+
+if (data_table !=""){
+   if (table_url == ""){
+       urltable = ""
+   }else{
+       table_url = gsub("\\-" ,"", table_url)
+       urltable =  strsplit(table_url,",")
+   }
+}
+
+if (data_other !=""){
+   if (other_url == ""){
+       urlother = ""
+   }else{
+       other_url = gsub("\\-" ,"", other_url)
+       urlother =  strsplit(other_url,",")
+   }
+}
+
+###Make EML###
+   
+if (!is.null(table) && !is.null(other)){
+   
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]],
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]]
+                      )
+                      
+}else if (is.null(table) && is.null(other)){
+  
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end))
+   
+}else if (!is.null(table) && is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      data.table=table[[1]],
+                      data.table.name = name_table,
+                      data.table.description = des_table[[1]],
+                      data.table.quote.character = tablequote,
+                      data.table.url = urltable[[1]])
+                      
+
+}else if (is.null(table) && !is.null(other)){
+
+   EMLassemblyline::make_eml(
+                      path="output_template",
+                      data.path="data_files",
+                      eml.path=".", 
+                      dataset.title = title,
+                      temporal.coverage = c(start,end),
+                      other.entity=other[[1]],
+                      other.entity.name = name_other,
+                      other.entity.description = des_other[[1]],
+                      other.entity.url= urlother[[1]])}
+                      
+
+
+old.names <- list.files(path=".", pattern=".xml")
+print(old.names)
+file.rename(from=old.names, to="eml.xml")
+
+
+
+
+
+
b
diff -r 000000000000 -r dc2dfad1627b table_templates.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/table_templates.R Sat Dec 02 01:49:10 2023 +0000
[
@@ -0,0 +1,21 @@
+#28/11/2023 #SEGUINEAU Pauline 
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+if (length(commandArgs(trailingOnly = TRUE)) > 0) {
+    data_table <- commandArgs(trailingOnly = TRUE)[1]
+}
+
+#Transform arguments
+
+table =  strsplit(data_table," ")
+
+#Make templates to describe data tables : Describes columns of a data table (classes, units, datetime formats, missing value codes) + catégorical variables.
+
+template_table_attributes(path = ".",data.path= "data_files", data.table = table[[1]])
+template_categorical_variables(path = ".", data.path = "data_files")
+
b
diff -r 000000000000 -r dc2dfad1627b taxo_cov_template.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/taxo_cov_template.R Sat Dec 02 01:49:10 2023 +0000
[
@@ -0,0 +1,47 @@
+#28/11/2023
+#Seguineau Pauline
+#Make taxonomic coverage template
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  data_taxa <- args[1]
+  taxa_table <- args[2]
+  taxa_col <- as.numeric(args[3])
+  taxa_name_type <- args[4]
+  authority <- as.numeric(args[5])
+  authority2 <- as.numeric(args[6])
+  authority3 <- as.numeric(args[7])
+  empty <- args[8]
+}
+
+#transfom arguments
+taxatable = read.table(data_taxa,header=T,sep="\t")
+taxacol = names(taxatable[taxa_col])
+
+if (authority2 == 0 && authority3==0){
+   authority_f = authority}
+   
+if(authority2 == 0 && authority3 != 0){
+   authority_f = c(authority,authority3)}
+
+if (authority2 !=0 && authority3==0){
+   authority_f = c(authority,authority2)}
+
+if (authority3 !=0 && authority2 !=0){
+   authority_f = c(authority,authority2,authority3)}
+   
+if (empty == "false"){
+   empty = FALSE
+}else if (empty=="true"){
+   empty=TRUE}
+
+
+#Make template
+
+template_taxonomic_coverage(path =".", data.path = "data_files", taxa.table = taxa_table, taxa.col = taxacol, taxa.name.type = taxa_name_type , taxa.authority = authority_f, empty = empty)
b
diff -r 000000000000 -r dc2dfad1627b templates1.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates1.R Sat Dec 02 01:49:10 2023 +0000
[
@@ -0,0 +1,23 @@
+#22/11/2023 #SEGUINEAU Pauline 
+
+###First tool of EML Workflow
+
+#Load packages
+
+library(EMLassemblyline)
+
+#Load arguments
+
+args = commandArgs(trailingOnly=TRUE)
+if(length(args)>0){
+  
+  license <- args[1]
+  file_type <- args[2]
+}
+
+#Make templates to describe core features of a data package (abstract, methods, keywords, personnel, license). 
+
+template_core_metadata(path=".",license = license, file.type = file_type)
+
+
+
b
diff -r 000000000000 -r dc2dfad1627b test-data/Assessing_the_importance_of_field_margins_for_bat_species.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Assessing_the_importance_of_field_margins_for_bat_species.xml Sat Dec 02 01:49:10 2023 +0000
b
b'@@ -0,0 +1,2074 @@\n+<?xml version="1.0" encoding="UTF-8"?><eml:eml xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" xmlns:stmml="http://www.xml-cml.org/schema/stmml-1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packageId="doi:10.48502/hssh-5194" system="unknown" xsi:schemaLocation="https://eml.ecoinformatics.org/eml-2.2.0  https://nis.lternet.edu/schemas/EML/eml-2.2.0/xsd/eml.xsd">\n+  <dataset id="dataset-02">\n+    <title>Assessing the importance of field margins for bat species and communities in intensive agricultural landscapes - Data</title>\n+    <creator>c\n+      <individualName>\n+        <givenName>Constance</givenName>\n+        <givenName/>\n+        <surName>Blary</surName>\n+      </individualName>\n+      <organizationName>CEFE</organizationName>\n+      <electronicMailAddress>constance.blary@cefe.cnrs.fr</electronicMailAddress>\n+      <userId directory="https://orcid.org">https://orcid.org/0000-0001-6204-9983</userId>\n+    </creator>\n+    <creator>\n+      <individualName>\n+        <givenName>K\xc3\xa9vin</givenName>\n+        <givenName/>\n+        <surName>Barr\xc3\xa9</surName>\n+      </individualName>\n+      <organizationName>CESCO MNHN</organizationName>\n+      <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>\n+      <userId directory="https://orcid.org">https://orcid.org/0000-0001-5368-4053</userId>\n+    </creator>\n+    <creator>\n+      <individualName>\n+        <givenName>Christian</givenName>\n+        <givenName/>\n+        <surName>Kerbiriou</surName>\n+      </individualName>\n+      <organizationName>CESCO</organizationName>\n+      <electronicMailAddress>christian.kerbiriou@mnhn.fr</electronicMailAddress>\n+      <userId directory="https://orcid.org">https://orcid.org/0000-0001-6080-4762</userId>\n+    </creator>\n+    <creator>\n+      <individualName>\n+        <givenName>Isabelle</givenName>\n+        <givenName/>\n+        <surName>Le Viol</surName>\n+      </individualName>\n+      <organizationName>CESCO</organizationName>\n+      <electronicMailAddress>isabelle.le-viol@mnhn.fr</electronicMailAddress>\n+    </creator>\n+    <pubDate>2021-05-25</pubDate>\n+    <abstract>\n+      <para>Landscape simplification and degradation through agricultural intensification is widely recognized as a main driver of biodiversity loss. In intensively used agricultural landscapes, patches of semi-natural habitats and particularly connections between them are of high importance for many taxa. Vegetated connections like hedgerows are especially important for foraging and commuting of mobile taxa such as bats. However, the interest of another treeless linear habitat \xe2\x80\x93 herbaceous field margins \xe2\x80\x93 remains unstudied for insectivorous bats. Field margins are nevertheless known as an important habitat for other taxa, including bat prey. Here we assessed the importance of field margins for bats compared to other landscape variables. We measured bat activity based on a repeated passive acoustic monitoring during 17 complete nights in summer on 112 study sites in an intensively used agricultural landscape. Each night, we sampled bat species activity and community metrics (i.e. species richness and community habitat specialization index) at different distances to field margins, and along a gradient of relative density of field margins. To compare field margin effects with other landscape variables, the sampled sites were selected by keeping a large variability in these other variables (land-cover Shannon diversity index, forests, hedgerows, water bodies, main roads, urban areas, grasslands, number of crops and rapeseed percentage). Only Myotis sp. were affected by herbaceous field margins. Specifically, the Myotis group activity decreased with the distance to herbaceous field margins (i.e. towards field crop cores), and positively correlated with relative density of herbaceous field margins, for which the effect size was comparable to other landscape variables. However, other landscape variables such as the proportion of and t'..b' </missingValueCode>\n+        </attribute>\n+        <attribute>\n+          <attributeName>Myo_ER05</attributeName>\n+          <attributeDefinition>Number of bat passes of Myo specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>\n+          <storageType>float</storageType>\n+          <measurementScale>\n+            <ratio>\n+              <unit>\n+                <standardUnit>number</standardUnit>\n+              </unit>\n+              <numericDomain>\n+                <numberType>whole</numberType>\n+                <bounds>\n+                  <minimum exclusive="false">0</minimum>\n+                  <maximum exclusive="false">42</maximum>\n+                </bounds>\n+              </numericDomain>\n+            </ratio>\n+          </measurementScale>\n+          <missingValueCode>\n+            <code>"NA"</code>\n+            <codeExplanation>"No information"</codeExplanation>\n+          </missingValueCode>\n+        </attribute>\n+        <attribute>\n+          <attributeName>Myo_ER01</attributeName>\n+          <attributeDefinition>Number of bat passes of Myo specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>\n+          <storageType>float</storageType>\n+          <measurementScale>\n+            <ratio>\n+              <unit>\n+                <standardUnit>number</standardUnit>\n+              </unit>\n+              <numericDomain>\n+                <numberType>whole</numberType>\n+                <bounds>\n+                  <minimum exclusive="false">0</minimum>\n+                  <maximum exclusive="false">33</maximum>\n+                </bounds>\n+              </numericDomain>\n+            </ratio>\n+          </measurementScale>\n+          <missingValueCode>\n+            <code>"NA"</code>\n+            <codeExplanation>"No information"</codeExplanation>\n+          </missingValueCode>\n+        </attribute>\n+        <attribute>\n+          <attributeName>Ple_ER05</attributeName>\n+          <attributeDefinition>Number of bat passes of Ple specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold</attributeDefinition>\n+          <storageType>float</storageType>\n+          <measurementScale>\n+            <ratio>\n+              <unit>\n+                <standardUnit>number</standardUnit>\n+              </unit>\n+              <numericDomain>\n+                <numberType>whole</numberType>\n+                <bounds>\n+                  <minimum exclusive="false">0</minimum>\n+                  <maximum exclusive="false">8</maximum>\n+                </bounds>\n+              </numericDomain>\n+            </ratio>\n+          </measurementScale>\n+          <missingValueCode>\n+            <code>"NA"</code>\n+            <codeExplanation>"No information"</codeExplanation>\n+          </missingValueCode>\n+        </attribute>\n+        <attribute>\n+          <attributeName>Ple_ER01</attributeName>\n+          <attributeDefinition>Number of bat passes of Ple specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold</attributeDefinition>\n+          <storageType>float</storageType>\n+          <measurementScale>\n+            <ratio>\n+              <unit>\n+                <standardUnit>number</standardUnit>\n+              </unit>\n+              <numericDomain>\n+                <numberType>whole</numberType>\n+                <bounds>\n+                  <minimum exclusive="false">0</minimum>\n+                  <maximum exclusive="false">5</maximum>\n+                </bounds>\n+              </numericDomain>\n+            </ratio>\n+          </measurementScale>\n+          <missingValueCode>\n+            <code>"NA"</code>\n+            <codeExplanation>"No information"</codeExplanation>\n+          </missingValueCode>\n+        </attribute>\n+      </attributeList>\n+      <numberOfRecords>112</numberOfRecords>\n+    </dataTable>\n+  </dataset>\n+</eml:eml>\n'
b
diff -r 000000000000 -r dc2dfad1627b test-data/annotations.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotations.tabular Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,10 @@
+id element context subject predicate_label predicate_uri object_label object_uri
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 biodiversity http://aims.fao.org/aos/agrovoc/c_33949
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 mammals http://aims.fao.org/aos/agrovoc/c_4560
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 chiroptera http://aims.fao.org/aos/agrovoc/c_1560
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 bats http://aims.fao.org/aos/agrovoc/c_1560
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 Landscape http://www.eionet.europa.eu/gemet/concept/4648
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 Ecosystem http://www.eionet.europa.eu/gemet/concept/2519
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 Animal ecology http://www.eionet.europa.eu/gemet/concept/420
+/data_blary_al.txt/X /dataTable/attribute data_blary_al.txt X is a http://www.w3.org/1999/02/22-rdf-syntax-ns#type decimalLongitude http://rs.tdwg.org/dwc/terms/decimalLongitude
+/data_blary_al.txt/Y /dataTable/attribute data_blary_al.txt Y is a http://www.w3.org/1999/02/22-rdf-syntax-ns#type decimalLatitude http://rs.tdwg.org/dwc/terms/decimalLatitude
b
diff -r 000000000000 -r dc2dfad1627b test-data/annotations.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotations.txt Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,10 @@
+id element context subject predicate_label predicate_uri object_label object_uri
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 biodiversity http://aims.fao.org/aos/agrovoc/c_33949
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 mammals http://aims.fao.org/aos/agrovoc/c_4560
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 chiroptera http://aims.fao.org/aos/agrovoc/c_1560
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 bats http://aims.fao.org/aos/agrovoc/c_1560
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 Landscape http://www.eionet.europa.eu/gemet/concept/4648
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 Ecosystem http://www.eionet.europa.eu/gemet/concept/2519
+/dataset /dataset eml dataset is about http://purl.obolibrary.org/obo/IAO_0000136 Animal ecology http://www.eionet.europa.eu/gemet/concept/420
+/data_blary_al.txt/X /dataTable/attribute data_blary_al.txt X is a http://www.w3.org/1999/02/22-rdf-syntax-ns#type decimalLongitude http://rs.tdwg.org/dwc/terms/decimalLongitude
+/data_blary_al.txt/Y /dataTable/attribute data_blary_al.txt Y is a http://www.w3.org/1999/02/22-rdf-syntax-ns#type decimalLatitude http://rs.tdwg.org/dwc/terms/decimalLatitude
b
diff -r 000000000000 -r dc2dfad1627b test-data/attributes_data_blary_al.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/attributes_data_blary_al.tabular Sat Dec 02 01:49:10 2023 +0000
b
b'@@ -0,0 +1,81 @@\n+attributeName\tattributeDefinition\tclass\tunit\tdateTimeFormatString\tmissingValueCode\tmissingValueCodeExplanation\n+Id\tSampling site ID\tcharacter\t\t\t"NA"\t"No information"\n+dist_field_margin\tDistance to the nearest field margin element (in meters)\tnumeric\tmeter\t\tNA\tNo information\n+dist_hedgerow\tDistance to the nearest hedgerow element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_forest\tDistance to the nearest forest element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_road\tDistance to the nearest road element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_water\tDistance to the nearest water body element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_urban\tDistance to the nearest urban element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+density_field_margins_250m\tRelative density of field margins in a 250 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_500m\tRelative density of filed margins in a 500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_750m\tRelative density of filed margins in a 750 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_1000m\tRelative density of filed margins in a 1000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_1500m\tRelative density of filed margins in a 1500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_2000m\tRelative density of filed margins in a 2000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_4000m\tRelative density of filed margins in a 4000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_250m\tRelative density of roads in a 250 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_500m\tRelative density of roads in a 500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_750m\tRelative density of roads in a 750 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_1000m\tDescription for density_roads_1000m\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_1500m\tRelative density of roads in a 1500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_2000m\tRelative density of roads in a 2000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_4000m\tRelative density of roads in a 4000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_250m\tRelative density of hedgerows in a 250 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_500m\tRelative density of hedgerows in a 500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_750m\tRelative density of hedgerows in a 750 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_1000m\tRelative density of hedgerows in a 1000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_1500m\tRelative density of hedgerows in a 1500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No informa'..b'eric\tpercent\t\t"NA"\t"No information"\n+forest_4000m\tPercentage of land covered by forest in different 4000 m buffer sizes\tnumeric\tpercent\t\t"NA"\t"No information"\n+urban_4000m\tPercentage of land covered by urban area in different 4000 m buffer sizes\tnumeric\tpercent\t\t"NA"\t"No information"\n+perc_rapeseed\tPercentage of rapeseed crops in a 100 m radius around each site at the sampling date\tnumeric\tpercent\t\t"NA"\t"No information"\n+nb_crops\tNumber of different crops in a 100 m radius around each site at the sampling date\tnumeric\tnumber\t\t"NA"\t"No information"\n+date\tDescription for date\tDate\t\tYYYY-MM-DD\t"NA"\t"No information"\n+X\tSampling site longitude\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+Y\tSampling site latitude\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+recorder\tRecorder ID used for data collection on the sampling site\tcategorical\t\t\t"NA"\t"No information"\n+min_t\tMinimum temperature recorded on the sampling area during the sampling night (in celsius)\tnumeric\tcelsius\t\t"NA"\t"No information"\n+max_wind\tMaximum wind speed recorded on the sampling area during the sampling night (in km/h)\tnumeric\tkilometerPerHour\t\t"NA"\t"No information"\n+CSI_ER05\tCommunity specialization index calculated from species level activity on the 0.5 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+CSI_ER01\tCommunity specialization index calculated from species level activity on the 0.1 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+richness_ER05\tSpecies richness calculated from species level activity on the 0.5 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+richness_ER01\tSpecies richness calculated from species level activity on the 0.1 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+Nyclei_ER05\tNumber of bat passes of Nyclei specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Nyclei_ER01\tNumber of bat passes of Nyclei specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Pippip_ER05\tNumber of bat passes of Pippip specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Pippip_ER01\tNumber of bat passes of Pippip specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Eptser_ER05\tNumber of bat passes of Epster specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Eptser_ER01\tNumber of bat passes of Epster specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Nycnoc_ER05\tNumber of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Nycnoc_ER01\tNumber of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Myo_ER05\tNumber of bat passes of Myo specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Myo_ER01\tNumber of bat passes of Myo specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Ple_ER05\tNumber of bat passes of Ple specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Ple_ER01\tNumber of bat passes of Ple specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n'
b
diff -r 000000000000 -r dc2dfad1627b test-data/attributes_data_blary_al.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/attributes_data_blary_al.txt Sat Dec 02 01:49:10 2023 +0000
b
b'@@ -0,0 +1,81 @@\n+attributeName\tattributeDefinition\tclass\tunit\tdateTimeFormatString\tmissingValueCode\tmissingValueCodeExplanation\n+Id\tSampling site ID\tcharacter\t\t\t"NA"\t"No information"\n+dist_field_margin\tDistance to the nearest field margin element (in meters)\tnumeric\tmeter\t\tNA\tNo information\n+dist_hedgerow\tDistance to the nearest hedgerow element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_forest\tDistance to the nearest forest element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_road\tDistance to the nearest road element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_water\tDistance to the nearest water body element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+dist_urban\tDistance to the nearest urban element (in meters)\tnumeric\tmeter\t\t"NA"\t"No information"\n+density_field_margins_250m\tRelative density of field margins in a 250 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_500m\tRelative density of filed margins in a 500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_750m\tRelative density of filed margins in a 750 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_1000m\tRelative density of filed margins in a 1000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_1500m\tRelative density of filed margins in a 1500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_2000m\tRelative density of filed margins in a 2000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_field_margins_4000m\tRelative density of filed margins in a 4000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_250m\tRelative density of roads in a 250 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_500m\tRelative density of roads in a 500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_750m\tRelative density of roads in a 750 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_1000m\tDescription for density_roads_1000m\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_1500m\tRelative density of roads in a 1500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_2000m\tRelative density of roads in a 2000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_roads_4000m\tRelative density of roads in a 4000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_250m\tRelative density of hedgerows in a 250 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_500m\tRelative density of hedgerows in a 500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_750m\tRelative density of hedgerows in a 750 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_1000m\tRelative density of hedgerows in a 1000 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+density_hedgerows_1500m\tRelative density of hedgerows in a 1500 meters buffer around the sampling site (in meters per hectare)\tnumeric\tdimensionless\t\t"NA"\t"No informa'..b'eric\tpercent\t\t"NA"\t"No information"\n+forest_4000m\tPercentage of land covered by forest in different 4000 m buffer sizes\tnumeric\tpercent\t\t"NA"\t"No information"\n+urban_4000m\tPercentage of land covered by urban area in different 4000 m buffer sizes\tnumeric\tpercent\t\t"NA"\t"No information"\n+perc_rapeseed\tPercentage of rapeseed crops in a 100 m radius around each site at the sampling date\tnumeric\tpercent\t\t"NA"\t"No information"\n+nb_crops\tNumber of different crops in a 100 m radius around each site at the sampling date\tnumeric\tnumber\t\t"NA"\t"No information"\n+date\tDescription for date\tDate\t\tYYYY-MM-DD\t"NA"\t"No information"\n+X\tSampling site longitude\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+Y\tSampling site latitude\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+recorder\tRecorder ID used for data collection on the sampling site\tcategorical\t\t\t"NA"\t"No information"\n+min_t\tMinimum temperature recorded on the sampling area during the sampling night (in celsius)\tnumeric\tcelsius\t\t"NA"\t"No information"\n+max_wind\tMaximum wind speed recorded on the sampling area during the sampling night (in km/h)\tnumeric\tkilometerPerHour\t\t"NA"\t"No information"\n+CSI_ER05\tCommunity specialization index calculated from species level activity on the 0.5 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+CSI_ER01\tCommunity specialization index calculated from species level activity on the 0.1 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+richness_ER05\tSpecies richness calculated from species level activity on the 0.5 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+richness_ER01\tSpecies richness calculated from species level activity on the 0.1 maximum error rate tolerance threshold\tnumeric\tdimensionless\t\t"NA"\t"No information"\n+Nyclei_ER05\tNumber of bat passes of Nyclei specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Nyclei_ER01\tNumber of bat passes of Nyclei specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Pippip_ER05\tNumber of bat passes of Pippip specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Pippip_ER01\tNumber of bat passes of Pippip specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Eptser_ER05\tNumber of bat passes of Epster specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Eptser_ER01\tNumber of bat passes of Epster specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Nycnoc_ER05\tNumber of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Nycnoc_ER01\tNumber of bat passes of Nycnoc specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Myo_ER05\tNumber of bat passes of Myo specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Myo_ER01\tNumber of bat passes of Myo specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Ple_ER05\tNumber of bat passes of Ple specie or group recorded during the sampling night on the 0.5 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n+Ple_ER01\tNumber of bat passes of Ple specie or group recorded during the sampling night on the 0.1 maximum error rate tolerance threshold\tnumeric\tnumber\t\t"NA"\t"No information"\n'
b
diff -r 000000000000 -r dc2dfad1627b test-data/catvars_data_blary_al.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/catvars_data_blary_al.tabular Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,16 @@
+attributeName code definition
+recorder 10250 Value: 10250 for attribute: recorder
+recorder 11693 Value: 11693 for attribute: recorder
+recorder 13289 Value: 13289 for attribute: recorder
+recorder 13676 Value: 13676 for attribute: recorder
+recorder 13733 Value: 13733 for attribute: recorder
+recorder 13740 Value: 13740 for attribute: recorder
+recorder 17232 Value: 17232 for attribute: recorder
+recorder 17329 Value: 17329 for attribute: recorder
+recorder 17573 Value: 17573 for attribute: recorder
+recorder 17578 Value: 17578 for attribute: recorder
+recorder 17598 Value: 17598 for attribute: recorder
+recorder 17601 Value: 17601 for attribute: recorder
+recorder 17607 Value: 17607 for attribute: recorder
+recorder 17608 Value: 17608 for attribute: recorder
+recorder 3760 Value: 3760 for attribute: recorder
b
diff -r 000000000000 -r dc2dfad1627b test-data/catvars_data_blary_al.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/catvars_data_blary_al.txt Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,16 @@
+attributeName code definition
+recorder 10250 Value: 10250 for attribute: recorder
+recorder 11693 Value: 11693 for attribute: recorder
+recorder 13289 Value: 13289 for attribute: recorder
+recorder 13676 Value: 13676 for attribute: recorder
+recorder 13733 Value: 13733 for attribute: recorder
+recorder 13740 Value: 13740 for attribute: recorder
+recorder 17232 Value: 17232 for attribute: recorder
+recorder 17329 Value: 17329 for attribute: recorder
+recorder 17573 Value: 17573 for attribute: recorder
+recorder 17578 Value: 17578 for attribute: recorder
+recorder 17598 Value: 17598 for attribute: recorder
+recorder 17601 Value: 17601 for attribute: recorder
+recorder 17607 Value: 17607 for attribute: recorder
+recorder 17608 Value: 17608 for attribute: recorder
+recorder 3760 Value: 3760 for attribute: recorder
b
diff -r 000000000000 -r dc2dfad1627b test-data/datafile_1.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/datafile_1.tsv Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,113 @@
+Id density_boats distance_coast percentage_turbidity nb_individual recorder min_t max_wind
+ID1 0 7.083851986 1 1 13740 9 13
+ID2 0 5.057419245 1 1 3760 11.7 15
+ID3 0 14.81271925 1 1 17598 9 13
+ID4 23.38130966 17.39474876 0 1 17607 12.8 24
+ID5 0 13.8788222 1 1 17608 14.3 17
+ID6 0 20.55593297 1 1 13733 20 17
+ID7 0 5.228906117 1 1 10250 14.3 30
+ID8 0 8.18336163 0.963336783 2 13740 11.7 15
+ID9 0 14.77478497 1 1 13733 11.7 15
+ID10 0 18.23789045 1 1 17573 9 13
+ID11 0 30.97770737 0.934057759 2 17608 8.1 13
+ID12 0 14.72135785 0 2 13733 8.1 13
+ID13 0 26.97792869 1 1 17578 8.1 13
+ID14 0 8.63834361 1 1 17329 11.7 15
+ID15 23.42372625 2.371250707 0.611485317 2 17232 14.3 30
+ID16 0 2.058590657 1 1 NA 11.7 15
+ID17 0 14.5557442 1 1 11693 14.3 17
+ID18 0 15.31628381 0.484376584 2 10250 14.2 9
+ID19 22.68310089 18.12266606 1 1 13733 16.9 13
+ID20 0 10.71630644 0.946424061 2 17608 NA NA
+ID21 0 7.492501839 1 1 17608 14.3 30
+ID22 0 2.455167732 1 1 17578 8.1 13
+ID23 0 0.215005092 0.619357094 2 17608 13.3 0
+ID24 0 20.5942275 0.530977409 2 17573 12.8 24
+ID25 0 0.00565931 1 1 10250 9 13
+ID26 0 4.61669024 1 1 3760 8.1 13
+ID27 0 0.650746944 1 1 13289 NA NA
+ID28 11.55094443 4.256523462 0.534748923 2 17608 17.4 15
+ID29 25.29249263 0.333785924 0 3 11693 16.9 13
+ID30 5.659985665 3.927116342 1 1 17578 16.9 13
+ID31 0 0.011314137 0 2 13740 20 17
+ID32 0 6.724401426 0.262229612 3 17578 8.5 7
+ID33 0 10.20546782 0.456408314 2 13676 17.8 13
+ID34 0 0.005662514 1 1 13289 9 13
+ID35 0 12.50424544 1 1 13733 13.3 0
+ID36 41.24173899 0.028288543 0 2 17607 NA NA
+ID37 0 0.707453733 0 2 13733 17.8 13
+ID38 7.278017273 8.411585021 0.521433594 2 17601 17.4 15
+ID39 26.46665163 3.174693 1 1 17598 11.7 15
+ID40 21.65723654 8.846001472 0.672489759 2 17232 9 13
+ID41 0 7.296088753 0.033790965 2 17601 9 13
+ID42 0 0.848848396 0 3 17608 17.4 14
+ID43 0 17.47693701 1 1 NA 8.1 13
+ID44 0 8.040770102 1 1 17329 8.1 13
+ID45 0 9.227200724 1 1 17607 8.1 13
+ID46 0 4.089829166 0 1 17607 17.4 15
+ID47 16.24258106 12.9081546 0.519677866 2 17232 14.3 17
+ID48 0 28.17682685 0 3 13733 14.2 9
+ID49 0 11.13752122 0.568145458 2 17329 12.8 24
+ID50 0 12.15482119 0.744442086 2 13676 17.4 14
+ID51 0 1.075147125 0.126547756 2 17329 17.8 13
+ID52 0 0.639429606 0.318501019 3 17573 17.8 13
+ID53 0 11.34563151 1 1 13289 9 13
+ID54 0 6.070721358 1 1 11693 8.1 13
+ID55 0 2.534940304 1 1 3760 NA NA
+ID56 0 0 1 1 17608 14.9 13
+ID57 23.6734518 9.73526417 1 1 13733 14.9 13
+ID58 22.77461434 2.30834512 0 2 3760 17.4 15
+ID59 0 9.034849513 1 1 NA 14.3 30
+ID60 0 1.61299451 1 1 17598 8.1 13
+ID61 0 1.550212164 1 1 17601 8.1 13
+ID62 16.6417688 0.198064626 1 1 13676 13.3 0
+ID63 0 0.147167035 0.503759276 2 13740 14.9 13
+ID64 0 1.126075147 1 1 17329 14.2 9
+ID65 0 1.166213768 0.486555056 2 10250 17.4 14
+ID66 0 37.17890687 0.241246715 3 11693 12.3 11
+ID67 0 1.01318843 1 1 NA 11.7 15
+ID68 0 14.97426034 0.513275979 3 17578 8.5 7
+ID69 0 0.050933786 1 1 10250 13.3 0
+ID70 0 1.60733488 1 1 11693 13.3 0
+ID71 0 0.15274085 0.616607437 2 11693 14.9 13
+ID72 0 4.745186863 0.427826338 3 17578 14.9 13
+ID73 0 0.005658029 1 1 13289 17.4 15
+ID74 20.10097018 1.120479882 1 1 17329 9 13
+ID75 0 1.833512535 1 1 11693 9 13
+ID76 0 1.964892412 1 1 3760 14.9 13
+ID77 0 1.024508972 1 1 17598 13.3 0
+ID78 13.02008677 2.446206116 0 2 17601 17.8 13
+ID79 0 5.849408836 0.506514891 2 17601 12.3 11
+ID80 0 0.82602546 1 1 17607 20 17
+ID81 0 6.632335465 1 1 13733 17.8 13
+ID82 9.774097667 2.083923212 0.147137616 2 17329 17.4 14
+ID83 0 0.843046283 1 1 17598 11.7 15
+ID84 0 17.16743054 1 1 3760 9 13
+ID85 0 2.347816248 1 1 17607 13.3 0
+ID86 0 2.089467724 1 1 17608 8.1 13
+ID87 14.70497236 1.782279054 1 1 17329 8.1 13
+ID88 0 1.828267391 1 1 10250 8.1 13
+ID89 19.54258479 2.829334541 1 1 3760 14.3 30
+ID90 22.89867383 0.50376408 1 1 17573 14.3 30
+ID91 0 7.486419194 1 1 13676 14.2 9
+ID92 0 4.612337295 1 1 17601 11.7 15
+ID93 0 20.34521788 1 1 17232 11.7 15
+ID94 0 13.69731259 0.558754442 2 13289 14.3 17
+ID95 0 0.481041313 0.601822162 2 17607 14.3 17
+ID96 0 19.55721647 0.856473518 3 17232 16.9 13
+ID97 0 9.467489106 1 1 10250 17.4 15
+ID98 0 22.78746039 0.460271388 3 11693 14.3 30
+ID99 0 8.380520951 0.769578171 2 17607 9 13
+ID100 32.43763517 0.486507892 0.297384797 4 17573 12.3 11
+ID101 39.87341993 18.47598574 0.377696294 3 17329 NA NA
+ID102 0 1.482655198 0.420523151 2 17598 NA NA
+ID103 0 1.188455008 1 1 13289 8.1 13
+ID104 0 2.981949867 1 1 17232 13.3 0
+ID105 6.048310547 0.06224536 1 1 17578 17.4 14
+ID106 0 0.067957866 1 1 17232 17.4 14
+ID107 0 0.305516266 0 1 17598 17.4 14
+ID108 0 1.375212224 0.512278187 2 17601 20 17
+ID109 23.18323585 0.045282164 0.355925541 2 13676 17.4 14
+ID110 0 0 0.599181014 2 17232 13.3 0
+ID111 0 0.050922259 1 1 17329 14.9 13
+ID112 0 0.763920326 1 1 13740 13.3 0
b
diff -r 000000000000 -r dc2dfad1627b test-data/geographic_coverage.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/geographic_coverage.tabular Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,2 @@
+geographicDescription northBoundingCoordinate southBoundingCoordinate eastBoundingCoordinate westBoundingCoordinate
+Yvelines - Essonne - Seine et Marne 49.08428 48.12266 3.56409 1.60296
b
diff -r 000000000000 -r dc2dfad1627b test-data/geographic_coverage.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/geographic_coverage.txt Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,5 @@
+geographicDescription northBoundingCoordinate southBoundingCoordinate eastBoundingCoordinate westBoundingCoordinate
+1 -65.999946 -65.999946 142.3360535 142.3360535
+2 -66.394359 -66.394359 140.4840125 140.4840125
+3 -66.023545 -66.023545 142.745584 142.745584
+4 -66.3379125 -66.3379125 144.011634 144.011634
b
diff -r 000000000000 -r dc2dfad1627b test-data/keywords.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/keywords.tabular Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,7 @@
+keyword keywordThesaurus
+Acoustic monitoring Keywords
+Bat community Keywords
+Farmland biodiversity Keywords
+Field borders Keywords
+Habitat specialisation Keywords
+Landscape composition Keywords
b
diff -r 000000000000 -r dc2dfad1627b test-data/keywords.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/keywords.txt Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,7 @@
+keyword keywordThesaurus
+Acoustic monitoring Keywords
+Bat community Keywords
+Farmland biodiversity Keywords
+Field borders Keywords
+Habitat specialisation Keywords
+Landscape composition Keywords
b
diff -r 000000000000 -r dc2dfad1627b test-data/metadataoutput.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/metadataoutput.xml Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<eml:eml xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stmml="http://www.xml-cml.org/schema/stmml-1.2" packageId="0a0472ad-2e8f-412f-8e95-ba84b7cc9996" xsi:schemaLocation="https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd" system="unknown">
+  <dataset id="dataset">
+    <creator>
+      <individualName>
+        <givenName>Constance</givenName>
+        <surName>Blary</surName>
+      </individualName>
+      <organizationName>CEFE</organizationName>
+      <electronicMailAddress>constance.blary@cefe.cnrs.fr</electronicMailAddress>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Kévin</givenName>
+        <surName>Barré</surName>
+      </individualName>
+      <organizationName>CESCO MNHN</organizationName>
+      <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Christian</givenName>
+        <surName>Kerbiriou</surName>
+      </individualName>
+      <organizationName>CESCO</organizationName>
+      <electronicMailAddress>christian.kerbiriou@mnhn.fr</electronicMailAddress>
+    </creator>
+    <creator>
+      <individualName>
+        <givenName>Isabelle</givenName>
+        <surName>Le Viol</surName>
+      </individualName>
+      <organizationName>CESCO</organizationName>
+      <electronicMailAddress>isabelle.le-viol@mnhn.fr</electronicMailAddress>
+    </creator>
+    <pubDate>2023-07-23</pubDate>
+    <keywordSet>
+      <keyword>Acoustic monitoring</keyword>
+      <keyword>Bat community</keyword>
+      <keyword>Farmland biodiversity</keyword>
+      <keyword>Field borders</keyword>
+      <keyword>Habitat specialisation</keyword>
+      <keyword>Landscape composition</keyword>
+      <keywordThesaurus>Keywords</keywordThesaurus>
+    </keywordSet>
+    <coverage>
+      <geographicCoverage>
+        <geographicDescription>Yvelines - Essonne - Seine et Marne</geographicDescription>
+        <boundingCoordinates>
+          <westBoundingCoordinate>1.60296</westBoundingCoordinate>
+          <eastBoundingCoordinate>3.56409</eastBoundingCoordinate>
+          <northBoundingCoordinate>49.08428</northBoundingCoordinate>
+          <southBoundingCoordinate>48.12266</southBoundingCoordinate>
+        </boundingCoordinates>
+      </geographicCoverage>
+    </coverage>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="biodiversity">http://aims.fao.org/aos/agrovoc/c_33949</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="mammals">http://aims.fao.org/aos/agrovoc/c_4560</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="chiroptera">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="bats">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Landscape">http://www.eionet.europa.eu/gemet/concept/4648</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Ecosystem">http://www.eionet.europa.eu/gemet/concept/2519</valueURI>
+    </annotation>
+    <annotation>
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Animal ecology">http://www.eionet.europa.eu/gemet/concept/420</valueURI>
+    </annotation>
+    <contact>
+      <individualName>
+        <givenName>Constance</givenName>
+        <surName>Blary</surName>
+      </individualName>
+      <organizationName>CEFE</organizationName>
+      <electronicMailAddress>constance.blary@cefe.cnrs.fr</electronicMailAddress>
+    </contact>
+    <contact>
+      <individualName>
+        <givenName>Kévin</givenName>
+        <surName>Barré</surName>
+      </individualName>
+      <organizationName>CESCO MNHN</organizationName>
+      <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+    </contact>
+    <project>
+      <title>Effect of agricultural landscape features on bats</title>
+      <personnel>
+        <individualName>
+          <givenName>Kévin</givenName>
+          <surName>Barré</surName>
+        </individualName>
+        <organizationName>CESCO MNHN</organizationName>
+        <electronicMailAddress>kevin.barre@mnhn.fr</electronicMailAddress>
+        <role>Principal Investigator</role>
+      </personnel>
+      <funding>DIM ASTREA Région Ile-de-France, FRB</funding>
+    </project>
+  </dataset>
+  <annotations>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="biodiversity">http://aims.fao.org/aos/agrovoc/c_33949</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="mammals">http://aims.fao.org/aos/agrovoc/c_4560</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="chiroptera">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="bats">http://aims.fao.org/aos/agrovoc/c_1560</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Landscape">http://www.eionet.europa.eu/gemet/concept/4648</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Ecosystem">http://www.eionet.europa.eu/gemet/concept/2519</valueURI>
+    </annotation>
+    <annotation references="dataset">
+      <propertyURI label="is about">http://purl.obolibrary.org/obo/IAO_0000136</propertyURI>
+      <valueURI label="Animal ecology">http://www.eionet.europa.eu/gemet/concept/420</valueURI>
+    </annotation>
+  </annotations>
+  <additionalMetadata>
+    <metadata>
+      <emlEditor>
+        <app>EMLassemblyline</app>
+        <release>3.5.5</release>
+      </emlEditor>
+    </metadata>
+  </additionalMetadata>
+</eml:eml>
b
diff -r 000000000000 -r dc2dfad1627b test-data/personnel.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/personnel.tabular Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,8 @@
+givenName middleInitial surName organizationName electronicMailAddress userId role projectTitle fundingAgency fundingNumber
+Constance Blary CEFE constance.blary@cefe.cnrs.fr https://orcid.org/0000-0001-6204-9983 creator
+Kévin Barré CESCO MNHN kevin.barre@mnhn.fr https://orcid.org/0000-0001-5368-4053 creator
+Christian Kerbiriou CESCO christian.kerbiriou@mnhn.fr https://orcid.org/0000-0001-6080-4762 creator
+Isabelle Le Viol CESCO isabelle.le-viol@mnhn.fr creator
+Constance "" Blary CEFE constance.blary@cefe.cnrs.fr https://orcid.org/0000-0001-6204-9983 contact
+Kévin "" Barré CESCO MNHN kevin.barre@mnhn.fr https://orcid.org/0000-0001-5368-4053 contact
+Kévin "" Barré CESCO MNHN kevin.barre@mnhn.fr https://orcid.org/0000-0001-5368-4053 PI Effect of agricultural landscape features on bats DIM ASTREA Région Ile-de-France, FRB
b
diff -r 000000000000 -r dc2dfad1627b test-data/personnel.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/personnel.txt Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,8 @@
+givenName middleInitial surName organizationName electronicMailAddress userId role projectTitle fundingAgency fundingNumber
+Constance Blary CEFE constance.blary@cefe.cnrs.fr https://orcid.org/0000-0001-6204-9983 creator
+Kévin Barré CESCO MNHN kevin.barre@mnhn.fr https://orcid.org/0000-0001-5368-4053 creator
+Christian Kerbiriou CESCO christian.kerbiriou@mnhn.fr https://orcid.org/0000-0001-6080-4762 creator
+Isabelle Le Viol CESCO isabelle.le-viol@mnhn.fr creator
+Constance "" Blary CEFE constance.blary@cefe.cnrs.fr https://orcid.org/0000-0001-6204-9983 contact
+Kévin "" Barré CESCO MNHN kevin.barre@mnhn.fr https://orcid.org/0000-0001-5368-4053 contact
+Kévin "" Barré CESCO MNHN kevin.barre@mnhn.fr https://orcid.org/0000-0001-5368-4053 PI Effect of agricultural landscape features on bats DIM ASTREA Région Ile-de-France, FRB
b
diff -r 000000000000 -r dc2dfad1627b test-data/taxa.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/taxa.tsv Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,5 @@
+taxa site
+Achelia_sp 1
+Achelia_spicata 2
+Achelia_suflata 2
+Ammothea_adunca 3
b
diff -r 000000000000 -r dc2dfad1627b test-data/taxonomic_coverage.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/taxonomic_coverage.txt Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,5 @@
+name name_type name_resolved authority_system authority_id
+Achelia_sp scientific Achelia GBIF Backbone Taxonomy 2118396
+Achelia_spicata scientific Achelia spicata GBIF Backbone Taxonomy 4338694
+Achelia_suflata scientific Achelia suflata GBIF Backbone Taxonomy NA
+Ammothea_adunca scientific Ammothea adunca GBIF Backbone Taxonomy 5720487
b
diff -r 000000000000 -r dc2dfad1627b test-data/test-geocov.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test-geocov.tabular Sat Dec 02 01:49:10 2023 +0000
b
@@ -0,0 +1,5 @@
+site lat long
+1 -65.999946 142.3360535
+2 -66.394359 140.4840125
+3 -66.023545 142.745584
+4 -66.3379125 144.011634