agtc
Agronomic experiments data Template Creator is a set of functions written in python that allow you to create custom templates to collect data for most of the typical agronomic experiments.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: frontiersin.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.9%) to scientific vocabulary
Repository
Agronomic experiments data Template Creator is a set of functions written in python that allow you to create custom templates to collect data for most of the typical agronomic experiments.
Basic Info
- Host: GitHub
- Owner: DS4Ag
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Size: 87.9 KB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 1
Metadata Files
README.es.md
Read this in English
Clic en este enlace para ver los videos tutoriales.
Nota: para abrir los enlaces de manual en una nueva ventana usa CTRL+click (Windows y Linux) o CMD+click (MacOS).
¿Qué es AgTC?
Agronomic Experiments Data Template Creator son un conjunto de funciones escritas en Python que permiten crear plantillas personalizadas para colectar datos en la mayoría de los experimentos agronómicos comunes. También puede ser utilizada como plantilla para los archivos “Field” en la aplicación Field Book app.
¿Cómo ejecutar AgTC?
Opción 1
- Usando un ambiente de Jupyter Hub.
- Para miembros de Purdue University Jupyter Hub está disponible en https://notebook.scholar.rcac.purdue.edu/. Requiere el uso de BoilerKey Two-Factor Authentication.
Opción 2
- Puedes hacer una instalación de JupyterLab o de Jupyter Notebook. También puedes instalar un gestor de entornos como conda, mamba, o pipenv.
Prerrequisitos
Opción 1
- Using Requirements File
sh
pip install -r requirements.txt
- Opción 2
Instala los siguentes paquetes usando el pip package installer de Python.
```sh pip install pyyaml
[Pandas](https://pypi.org/project/pandas/)sh pip install pandas```
Clona o descarga AgTC desde el repositorio de GitHub
Opción Clonar.
- Abre una nueva terminal en Jupyter Notebook.
New > Terminal
2. Clona el repositorio de GitHub.
```sh
git clone https://github.com/Purdue-LuisVargas/AgTC.git
```
- Opción descargar:
1. Descarga el repositorio de GitHub usando el siguiente enlace: [https://github.com/Purdue-LuisVargas/AgTC](https://github.com/Purdue-LuisVargas/AgTC).
2. Descomprime el folder, después copia (si estas usando Jupyter en modo local) o carga los archivos descargados (si esas usando Jupyter Hub) en tu folder de Jupyter Notebook.
Carga la Plantilla Base
Carga la Plantilla Base en la carpeta ./input. El archivo debe estar en formato CSV y contener la información que es diferente por cada unidad experimental (parcela, maceta, cámara de crecimiento, etc.). Por ejemplo, el número de parcela y repetición, el nombre del genotipo, etc. La siguiente tabla es un ejemplo de columnas y filas que podría tener una Plantilla Base:
| plot | genotype | repetition |
|---|---|---|
| 1 | PI594301 | 3 |
| 2 | LD-07-3395bf | 23 |
| 3 | SA1730464 | 18 |
| 4 | PI154189 | 14 |
| 5 | PI594451 | 2 |
| ... | ... | ... |
| 71 | CR16-0042 | 20 |
| 72 | SA1811280 | 25 |
| 73 | E19517GT | 24 |
| 74 | LD-07-3395bf | 23 |
| 75 | PI6548362 | 8 |
Le recomendamos el uso de ontologías y vocabularios controlados para nombrar variables de cultivos. Para conocer más sobre ontologías de cultivos, visite el sitio https://cropontology.org/about.
Contenido del Archivo de Configuración
El archivo config.yml es un documento YML que se puede abrir con Jupyter notebooks o con un editor de texto. El archivo se divide en seis Bloques de configuraciones, donde cada bloque se identifica con letras mayúsculas. Dichos Bloques puede tener Claves, Valores y/o Listas.
Por ejemplo, la siguiente estructura de datos contiene los elementos más comunes en el archivo config.yml.
sh
TEMPLATE_INPUT:
Folder : ./input/
Sample_name:
- A
- B
Donde:
TEMPLATE_INPUT = BLOQUE
Folder = Clave
Samplename = _Clave
./input/ = Valor
A, B = Lista
Las estructuras de datos en el archivo config.yml podrían tener uno de los siguientes arreglos.
Caso 1
sh BLOQUE: Clave: ValorCaso 2
sh BLOQUE: Clave: - ListaCaso 3 ```sh BLOQUE:
- Lista ```
Actualizar el Archivo de Configuración
Actualiza el archivo config.yml con la información del experimento.
Reglas generales:
1. No es recomendable cambiar los nombres de los Bloques. Si los cambias, tendrás que actualizar la siguiente línea de código del archivo main.ipynb.
sh
functions.create_new_template('config.yml', 'TEMPLATE_INPUT', 'COLUMNS_TEMPLATE', 'NEW_COLUMNS', 'SAMPLES_PER_PLOT', 'SAMPLE_IDENTIFIER', 'TEMPLATE_OUTPUT')
- Puedes modificar el nombre de cualquier Clave. Adicionalmente, en algunos Bloques tienes que eliminar o agregar más Claves según la información del experimento.
- Tienes que actualizar los Valores con información del experimento.
- Tienes que agregar o eliminar elementos la Lista como sea necesario.
- Asegúrate de mantener la identacion adecuada en cada línea de código. Usa la barra espaciadora en lugar del la techa del tabulación.
TEMPLATE_INPUT
Indica la ruta y nombre del archivo de la Plantilla Base.
- Puedes modificar el nombre de las Claves.
- Debes actualizar el los Valores. (ej. trialInformationPPACsoybeanM2y22.csv) con el nombre de la Plantilla Base.
sh TEMPLATE_INPUT: Folder : ./input/ Input_template_file_name : trialInformation_PPAC_soybean_M2_y22.csv
COLUMNS_TEMPLATE
Contiene los nombres de las columnas que serán seleccionadas de la Plantilla Base. - Incluso si quieres del mantener todas las columnas de la Plantilla Base, tienes que escribir sus nombres como una Lista. Agrega o elimina todas los elementos de la Lista como sea necesario.
sh
COLUMNS_TEMPLATE:
- Plot
- Repetition
- Genotype
NEW_COLUMNS
Permite escribir los nombres y valores de las columnas que se añadirán a la Nueva Plantilla. - Puedes agregar, eliminar o modificar Claves de acuerdo con la información de tu experimento. - Tienes que actualizar los Valores de acuerdo de acuerdo con la información de tu experimento.
sh
NEW_COLUMNS:
Experiment : ACRE-Biomass
Season : y22
Environment : Early planting date
Measurment : Plant height
Sampling_identifier : Sampling-2
SAMPLESPERPLOT
Este bloque es usado para especificar el numero de veces que se repite en una medida en la misma unidad experimental (parcela, maceta, cámara de crecimiento, etc.). Esto creara una fila por cada submuestra de acuerdo con los elementos de la Lista que indique el usuario.
- Tienes que especificar los elementos de la Lista con el nombre con el cual quieres identificar cada submuestra. Elimina, agrega o cambia las secuencias de acuerdo con las características de la medida para la que se creara la Nueva Plantilla.
sh
SAMPLES_PER_PLOT:
Sample_name:
- A
- B
- C
- D
SAMPLE_IDENTIFIER
Permite especificar los nombres de columnas con los valores que serán usados para crear un identificador único para cada submuestra (fila).
No debes de agregar o eliminar Claves, pero puedes cambiar su nombre. La clave es el nombre de la columna que tendrá la Nueva Plantilla.
Tienes que actualizar los elementos de la Lista de acuerdo a la información del experimento. Puedes agregar tantos elementos a la Lista como sea necesario. Asegúrate que los elementos de la Lista existen como Claves en los siguientes elementos: COLUMNSTEMPLATE, NEWCOLUMNS y SAMPLESPERPLOT.
sh
SAMPLE_IDENTIFIER :
id_sample:
- Plot
- Sample_name
- Experiment
- Environment
- Season
- Measurment
- Sampling_identifier
TEMPLATE_OUTPUT
Permite especificar los nombres de las columnas cuyos valores se utilizarán para crear el nombre de la Nueva Plantilla. - Tienes que actualizar los elemetos de la Lista de acuerdo con la información del experimento. Agrega o elimina tantos los elemetos de la Lista como sea necesario. Asegúrate que los elemetos de la Lista existen como Claves en el NEWCOLUMNS _item.
sh
TEMPLATE_OUTPUT:
- Measurment
- Sampling_identifier
- Experiment
- Environment
- Season
Ejecutar las funciones de Python
Abre el archivo main.ipynb en Jupyter, ejecuta los dos bloques de instrucciones. En nuevo Template creado se encontrara en la carpera./output.
¿Cómo citar?
Vargas-Rojas L, Ting T-C, Rainey KM, Reynolds M and Wang DR (2024) AgTC and AgETL: open-source tools to enhance data collection and management for plant science research. Front. Plant Sci. 15:1265073. doi: 10.3389/fpls.2024.1265073.
Contacto
Luis Vargas Rojas - lvargasr@purdue.edu
Purdue University, Wang Lab dianewanglab.com
Owner
- Name: Luis Vargas Rojas
- Login: DS4Ag
- Kind: user
- Location: Mexico
- Company: Purdue University
- Twitter: L_VargasR
- Repositories: 24
- Profile: https://github.com/DS4Ag
Citation (CITATION.cff)
<<<<<<< HEAD
@ARTICLE{10.3389/fpls.2024.1265073,
AUTHOR={Vargas-Rojas, Luis and Ting, To-Chia and Rainey, Katherine M. and Reynolds, Matthew and Wang, Diane R. },
TITLE={AgTC and AgETL: open-source tools to enhance data collection and management for plant science research},
JOURNAL={Frontiers in Plant Science},
VOLUME={15},
YEAR={2024},
URL={https://www.frontiersin.org/journals/plant-science/articles/10.3389/fpls.2024.1265073},
DOI={10.3389/fpls.2024.1265073},
ISSN={1664-462X},
ABSTRACT={<p>Advancements in phenotyping technology have enabled plant science researchers to gather large volumes of information from their experiments, especially those that evaluate multiple genotypes. To fully leverage these complex and often heterogeneous data sets (i.e. those that differ in format and structure), scientists must invest considerable time in data processing, and data management has emerged as a considerable barrier for downstream application. Here, we propose a pipeline to enhance data collection, processing, and management from plant science studies comprising of two newly developed open-source programs. The first, called AgTC, is a series of programming functions that generates comma-separated values file templates to collect data in a standard format using either a lab-based computer or a mobile device. The second series of functions, AgETL, executes steps for an <italic>Extract</italic>-<italic>Transform</italic>-<italic>Load</italic> (ETL) data integration process where data are extracted from heterogeneously formatted files, transformed to meet standard criteria, and loaded into a database. There, data are stored and can be accessed for data analysis-related processes, including dynamic data visualization through web-based tools. Both AgTC and AgETL are flexible for application across plant science experiments without programming knowledge on the part of the domain scientist, and their functions are executed on Jupyter Notebook, a browser-based interactive development environment. Additionally, all parameters are easily customized from central configuration files written in the human-readable YAML format. Using three experiments from research laboratories in university and non-government organization (NGO) settings as test cases, we demonstrate the utility of AgTC and AgETL to streamline critical steps from data collection to analysis in the plant sciences.</p>}}
=======
@article{,
author = {Luis Vargas-Rojas and To-Chia Ting and Katherine Rainey and Matthew Reynolds and Diane Wang},
journal = {Technical Advances in Plant Science (under review)},
title = {AgTC and AgETL: Open-source tools to enhance data collection and management for agricultural and plant science research},
year = {2023},
}
>>>>>>> 12742c375bf1b68cff1cbbde1ad65317c83ca581
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Dependencies
- PyYAML ==6.0.1
- PyYAML ==5.4.1
- pandas ==1.4.1