-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.md
158 lines (102 loc) · 6.03 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# The Seek Notebook
<a href='https://coveralls.io/github/bogdan23a/TheSeekNotebook'><img src='https://coveralls.io/repos/github/bogdan23a/TheSeekNotebook/badge.svg' alt='Coverage Status' /></a><a href='https://theseeknotebook.readthedocs.io/en/latest/?badge=latest'><img src='https://readthedocs.org/projects/theseeknotebook/badge/?version=latest' alt='Documentation Status' />
</a><img src="https://camo.githubusercontent.com/2091d99fb3b1ea0dcacb2ce564d5a3fc099c9ee7/68747470733a2f2f6261646765732e66726170736f66742e636f6d2f6f732f76322f6f70656e2d736f757263652e7376673f763d313032" width="120" height="20">
<img src="https://seek4science.org/assets/images/seek-logo.svg" width="135px" height="132px" align="right"><img src="https://upload.wikimedia.org/wikipedia/commons/3/38/Jupyter_logo.svg" width="135px" height="132px" align="right">
Building a Python Library for an E(lectronic)-Notebook implementing a scientific data catalog.
<details>
<summary><strong>Table of Contents</strong> (click to expand)</summary>
<!-- toc -->
- [Background](#background)
- [Prerequisites](#prerequisites)
- [Clone](#cloning)
- [Import](#importing)
- [The Docs](#documentation)
- [Examples](#usage)
- [Testing](#testing)
- [Links](#links)
- [Contributing](#contributing)
<!-- tocstop -->
</details>
## Background
Bioinformatics is a broad science that involves working with a considerable supply of biological data and associates various groups of analysts and experts. Its practice involves the use of technology to do activities such as molecular biology modelling, image analysis, comparisons of linear sequences or 3D models and many other related tasks.
This project aims to satisfy the needs of people working in the field of bioinformatics. More specifically, people that work with scientific data towards a more analytical outcome and need to handle computational tools in order to get a conclusive view on their input.
This project intents to support the users by making the viewing, browsing and writing of reports, research, studies, etc, more accessible.
![](docs/pictures/InvestigationExample.png)
*The FAIRDOMHub online interface showing an example of a published research: `the investigation of Reverse Engineering Directed Gene Regulatory Networks from Transcriptomics and Proteomics Data of Biomining Bacterial Communities` and the individual attributes about it.It displays the hierarchical view showing relationships between this individual investigation and other published pieces of research such as Studies, Assays, Data Files etc. along with the creators of the investigation.*
<img src="docs/pictures/SEEK:design.png" width="700px" height="600px">
>The SEEK Components
## Prerequisites
These instructions will show you how to get you a copy of the project up and how to execute the project.
Before you get this package make sure that you have pip, conda, jupyter notebook, ipywidgets, pandas, requests and tabulate.
```bash
python setup.py install --user
```
Or you could use this command if you got the full copy of the project.
```bash
pip install -r docs/requirements.txt
```
## Cloning
Just download the archive from git if you want to use just the provided package and the usage examples or use the following command to get a copy of the project if you want to contribute to the repository:
```bash
git clone https://github.com/bogdan23a/TheSeekNotebook.git
```
## Importing
In order to run this project you just need to have the SEEK.py file in the root of your project (or wherever). The you just have to import the package in your python or jupyter notebook files like so:
```python
import SEEK
```
## Documentation
Read the [documentation](https://theseeknotebook.readthedocs.io/en/latest/) for some other examples and further tips about the usage.
## Usage
* Authentication
Use the auth() method in order to create a login form and store them into a variable to use the credentials on the way.
```python
auth = SEEK.auth()
>>> Username:
>>> Password:
```
* Reading
Use the read() class to create a reading object and use it to read, browse and download data from the HUB.
```python
r = SEEK.read(auth)
```
* DEFAULT Writing (on the testing DB)
Use the write() class to create a writing object and use it to write data to the testing HUB.
```python
w = SEEK.write(auth)
```
* OFFICIAL Writing
```python
w = SEEK.write(auth, "https://fairdomhub.org/")
```
<img src="https://github.com/bogdan23a/TheSeekNotebook/blob/master/docs/pictures/Usage.gif" width="1000px" height="400px">
## Testing
Run coverage via coverage.py with the following command(root dir):
```bash
coverage run --source=SEEK test.py TestSEEK
```
View your coverage via coverage.py with the following command(root dir):
```bash
coverage html -i
google-chrome htmlcov/index.html
```
View your documentation via sphinx.py with the following command(root dir):
```bash
make clean html
google-chrome docs/build/html/index.html
```
## Links
The [SEEK](https://github.com/seek4science/seek) GitHub Repo.
The [Swagger Hub](https://app.swaggerhub.com/apis/FAIRDOM/SEEK/0.1) JSON API to FAIRDOM SEEK.
The [SEEK API Workshop](https://github.com/FAIRdom/api-workshop) examples.
More [SEEK API](https://github.com/bogdan23a/seekAPIexamples) examples.
The [Testing](https://testing.sysmo-db.org/) platform for testing writing / creating capabilities.
## Contributing
**HELP WANTED** check out the [Contribution](CONTRIBUTING.md) instructions.
## Notes to self (or future developers)
**Do these from DAY ONE**
Try to understand and have a closer look at the **ISA Structure** and the **JERM Ontology**. They are the building blocks of the SEEK System so understanding these **early on** is going to give you a broader scenery view on this.
Don't stress to much about the API, it is easy to use.
Try to think like a systems biologist.
Seriously, understanding the system is better than just playing around with the API. **Study it!**
Taken a look into [FAIRDOMHub](docs/read/FAIRDOMHub:ARepositoryAndCollaboration.pdf) and [SEEK](docs/read/SEEK:ASystemsBiologyDataAndModel.pdf), but don't always listen to [me](docs/read/3YPReportDraft.pdf).