[go: nahoru, domu]

Skip to content

bogdan23a/TheSeekNotebook

Repository files navigation

The Seek Notebook

Coverage StatusDocumentation Status

Building a Python Library for an E(lectronic)-Notebook implementing a scientific data catalog.

Table of Contents (click to expand)

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.

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.

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.

python setup.py install --user

Or you could use this command if you got the full copy of the project.

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:

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:

import SEEK

Documentation

Read the documentation 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.

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.

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.

w = SEEK.write(auth)
  • OFFICIAL Writing
w = SEEK.write(auth, "https://fairdomhub.org/")

Testing

Run coverage via coverage.py with the following command(root dir):

coverage run --source=SEEK test.py TestSEEK

View your coverage via coverage.py with the following command(root dir):

coverage html -i
google-chrome htmlcov/index.html 

View your documentation via sphinx.py with the following command(root dir):

make clean html
google-chrome docs/build/html/index.html

Links

The SEEK GitHub Repo.

The Swagger Hub JSON API to FAIRDOM SEEK.

The SEEK API Workshop examples.

More SEEK API examples.

The Testing platform for testing writing / creating capabilities.

Contributing

HELP WANTED check out the Contribution 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 and SEEK, but don't always listen to me.