thomasdenecker / IronYeasts

IronYeasts is a tool suite dedicated to the analysis of iron in pathogenic yeasts :microscope: :books:
BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

IronYeasts

Build Status Coverage Status

IronYeasts is a project that aims to find the genes involved in iron homeostasis in pathogenic yeasts. This project is divided into 2 main parts :

Requirements

Python part

We use Pipenv to develop and run Python programs in IronYeast. We invite you to ensure you have installed the following requirements before trying to use different programs:

We invite you to install pipenv to get all the necessary packages :

$ git clone https://github.com/thomasdenecker/IronYeasts.git
$ cd IronYeasts
$ pipenv install --ignore-pipfile

This project use flake8 to ensure coding style consistency (PEP8). To test python codes locally, you can use this commande line:

$ pipenv run flake8 formater.py

Quick start

Have you read the "Requirements" section above?

# Clone the project
$ git clone https://github.com/thomasdenecker/IronYeasts.git
$ cd IronYeasts
$ pipenv install --ignore-pipfile

Then, we invite you to read the different READMEs proposed for each options :

To have help for formater.py:

$ python formater.py --help
usage: formater.py [-h] [-i INPUT] [-o OUTPUT] [--mesh] [--go] [--gryc]

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        For MESH, a Mesh file (bin format find here
                        (dYEAR.bin, ie. d2018.bin):
                        ftp://nlmpubs.nlm.nih.gov/online/mesh/MESH_FILES/
                        asciimesh/). For GO, a GO terms file (obo format find
                        here : (go.obo, ie. go.obo :
                        http://purl.obolibrary.org/obo/go.obo). By default,
                        the last version.For GRYC a folder with EMBL files
  -o OUTPUT, --output OUTPUT
                        Output file name (whithout format (.txt))
  --mesh                Converte raw mesh file to link table
  --go                  Associate GO term and its definition
  --gryc                Generate table with all annotations of GRYC

Continuous integration

Continuous Integration (CI) is the process of automating the build and testing of code at each commit changes.

In this project, we use Travis CI. A documentation is available here.

Python part

1) Lint the code

flake8 is tool to ensure coding style consistency (PEP8).

To run locally them with python codes

$ pipenv run flake8 formater.py

2) Test code

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.

In coming

3) Coveralls

Coveralls is a web service to help you track your code coverage over time, and ensure that all your new code is fully covered.

A documentation is available here

In coming

4) Functional tests

We test for each change with a test file whether the output file is always the same.

diff file1.txt file2.txt

Contributing

Please, see the CONTRIBUTING file.

Contributor Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See CODE_OF_CONDUCT file.

License

Pixel is released under the BSD-3 License. See the bundled LICENSE file for details.