Skip to content

Commit

Permalink
intro wip
Browse files Browse the repository at this point in the history
  • Loading branch information
BrapiCoordinatorSelby committed Sep 12, 2023
1 parent 3ab36c1 commit 3fe174b
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 19 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@ Thumbs.db

## Text Editors
.vscode
.markdownlint.json
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ was focused on the technical aspects of BrAPI and its potential. This manuscript
## Helpful Links

+ [Manuscript Content Folder](content)
+ [**HTML manuscript**](https://plantbreeding.github.io/BrAPI-Manuscript2/)
+ [**PDF manuscript**](https://plantbreeding.github.io/BrAPI-Manuscript2/manuscript.pdf)
+ [Markdown Formatting Cheat Sheet](content/formatting_help)
+ [HTML manuscript](https://plantbreeding.github.io/BrAPI-Manuscript2/)
+ [PDF manuscript](https://plantbreeding.github.io/BrAPI-Manuscript2/manuscript.pdf)
+ [Manubot README](Manubot-README.md)
+ [Manubot Usage Instructions](USAGE.md)
32 changes: 27 additions & 5 deletions content/02.introduction.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,35 @@
## Introduction

The Breeding API (BrAPI) project is an effort to enable interoperability among plant breeding databases [@doi:10.1093/bioinformatics/btz190].

<!--
Notes:
* DIGITAL ECOSYSTEM
* Justification for a second paper
* Highlight Community Growth
* Hackathons
* sabbaticals
* Updates for V2
* Auth Data Access Control - super simplified - highlight data privacy and security elements
* Project structure - Modules
* Standardization of endpoints across objects - said in a non-tech way
* Auth Data Access Control - super simplified - highlight data privacy and security elements
* Project structure - Modules
* Standardization of endpoints across objects - said in a non-tech way
-->

<!-- PS: This opening paragraph is hot garbage and should be rewritten, but I needed to start somewhere to get the creative writing process flowing. -->
Plant and animal breeding is an incredibly important part of today's society. Almost every country in the world has some kind of breeding program supporting the agricultural community to produce bigger, better, healthier, more sustainable crops. Modern breeding techniques require large amounts of high quality data to be effective. In the digital age, that breeding data is being collected, managed, and analyzed with computer software. Interoperability between breeding software tools, systems, and databases can substantially increase the efficiency of a breeding program. The ability to share tools gives each program a boost in computational power. The ability to share data means everyone has access to larger, more complete, datasets and get build more accurate computational models and produce more accurate predictions.

The Breeding API (BrAPI) project is an effort to enable interoperability among breeding tools, systems, and databases. BrAPI is a standardized Representational State Transfer (REST), web service, Application Programming Interface (API), specification for breeding and related agricultural data. [@doi:10.1093/bioinformatics/btz190] By using the BrAPI standard, breeding software can more easily become interoperable, allowing groups to more easily share data and software tools.

### How it works

An Application Programming Interface (API) is a technical connection between two pieces of software. Just as a Graphical User Interface (GUI) or a Command Line Interface (CLI) allows a human user to interact with a piece of software, an API allows one software application to interact with another. A GUI or CLI might allow a user to input data, read data, and start processes within an application. An API allows one piece of software (sometimes called a client, user agent, or service consumer) to programmatically input data, read data, and start process within another piece of software (sometimes called a server or service provider).

A Representational State Transfer (REST) web service is a type of API commonly used in today's modern web infrastructure. REST is a technical architecture that describes the stateless transmission of data between applications. Typically, REST systems are implemented using the standard HTTP protocol that most of the modern internet is built upon. REST implementations also generally use JavaScript Object Notation (JSON) to represent the data being transferred. Both HTTP and JSON are programming language agnostic, very stable, and very flexible. This means BrAPI can be implemented in almost any piece of software, and can solve a wide range of use cases.

### Project Updates

Over its lifetime, the BrAPI project has grown and changed substantially. The latest stable version of the specification (v2.1) looks vastly different from the original version (v1.0) 51 released in 2017. The total size of the specification has almost quadrupled in that time, going from 51 endpoints documented in v1.0 to 201 endpoints documented in v2.1. Because of this growth, the specification documents were reorganized into four modules: BrAPI-Core, BrAPI-Germplasm, BrAPI-Genotyping, and BrAPI-Phenotyping. Figure {@fig:domains}1 shows a simplified domain map of the whole BrAPI v2.1 data model, divided into the organizational modules.

![Figure 1: A simplified domain map of the whole BrAPI data model, divided into organizational modules](images/BrAPI_Domains_v2-1_vertical.png){#fig:domains}

### Community Growth


27 changes: 15 additions & 12 deletions content/03.success.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,20 @@

6+/- success stories highlighting BrAPI usefulness in breeding cycle

* Field Book for starting data collection
* Project Explanation
* BrAPI integration
* Layman description how it can help breeding program
### Field Book for starting data collection

* Project Explanation
* BrAPI integration
* Layman description how it can help breeding program

* QBMS for the beginnings of analytics
* Project Explanation
* BrAPI integration
* Layman description how it can help breeding program
### QBMS for the beginnings of analytics

* Project Explanation
* BrAPI integration
* Layman description how it can help breeding program

* [brapi sync](https://github.com/IntegratedBreedingPlatform/brapi-sync)
* Project Explanation
* BrAPI integration
* Layman description how it can help breeding program
### [brapi sync](https://github.com/IntegratedBreedingPlatform/brapi-sync)

* Project Explanation
* BrAPI integration
* Layman description how it can help breeding program
Binary file added content/images/BrAPI_Domains_v2-1_vertical.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3fe174b

Please sign in to comment.