Welcome to FarSeer-NMR Documentation!

FarSeer-NMR

https://raw.githubusercontent.com/Farseer-NMR/FarSeer-NMR/master/docs/img/GitHub-FS_logo_version2_small.png

Attention Attention Attention

We are currently rewriting Farseer-NMR towards version 2.

Version 1 is still functional and working, though not much supported apart from minor bugs. You can download the latest stable version, v1.3.5, on the releases tab, or visit the complete version 1 code and its documentation in version 1 branch) on GitHub.

Our original publication is available at JBioMolNMR), cite us if you use Farseer-NMR for your research, regardless of which version you use.

Please note that the master branch) currently hosts the development of version 2, which is UNFINISHED software; again, please, refer to version 1 for a stable and functional release.

Farseer-NMR runs purely on volunteer work without any official assigned funds. All help is welcomed, engage with us)!

Attention Attention Attention

https://raw.githubusercontent.com/Farseer-NMR/FarSeer-NMR/master/docs/img/GitHub_Farseer-NMR_Workflow.png

A Python written, multi-platform and fully community-driven suite to analyse datasets of peaklist files extracted from multivariable series of Biomolecular Nuclear Magnetic Resonance (NMR) experiments.

With Farseer-NMR, you have:

  • Automatic analysis of large and multivariable NMR peaklist files datasets

  • Peaklist parsing and treatment

  • Identification of _missing_ and _unassigned_ residues

  • Automatic calculation of NMR parameters

  • Comprehensive organization of the output

  • Large suite of publication-ready plotting templates

  • Full traceability via Markdown) formatted log file.

You can read now through the contents bellow.

Contents

Installation

To install FarSeer-NMR version 2: …

Usage

To use FarSeer-NMR version 2…

Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. You can contribute from the scope of an user or as a core Python developer.

Reporting and Requesting

Bug reports

When reporting a bug please use one of the provided issue templates if applicable, otherwise just start a blank issue and describe your situation.

Documentation improvements

FarSeer-NMR could always use more documentation, whether as part of the official FarSeer-NMR docs, in docstrings, or even on the web in blog posts, articles, and such. Write us a documentation issue describing what you would like to see improved in the documentation, and if you can do it just Pull Request your proposed updates.

Feature requests and feedback

The best way to send feedback is to file an issue at https://github.com/Farseer-NMR/FarSeer-NMR/issues/new/choose using the feature template.

If you are proposing a feature:

  • Explain in detail how it would work.

  • Keep the scope as narrow as possible, to make it easier to implement.

  • Remember that this is a volunteer-driven project, and that code contributions are welcome :)

Code Development

To contribute to the development of FarSeer-NMR:

  1. Fork the FarSeer-NMR repository.

  2. Clone your fork to your local machine:

    git clone https://github.com/YOUR-USER-NAME/FarSeer-NMR.git <destination folder>
    
  3. Set up a new Python environment for the development of FarSeer-NMR so that the development version does not conflict with the production installation.

3.1 If you use Anaconda as your Python package manager do:

conda env create -f requirements_conda.yml

3.2 If you are using PyPI as your package manager follow this instructions.

  1. Remember to activate the new environment before proceeding to the installation, with Anaconda: conda activate farseernmrdev.

  2. Install FarSeer-NMR in the development mode, from within your fork folder:

    python setup.py develop
    

This ensures that the FarSeer-NMR version running in your development environment is the source in your git folder.

  1. FarSeer-NMR relies on tox to orchestrate testing environments, ensuring correct collaborative development, install tox:

    # with Anaconda
    conda install -c conda-forge tox
    
    # with PyPI
    pip install tox
    
  1. Create a branch for local development:

    git checkout -b name-of-your-bugfix-or-feature
    

5.1 Now you can make your changes locally.

  1. When you’re done making changes run all the checks and docs builder with tox one command:

    tox
    

6.1. If all tests pass you are set to go :-)``

  1. Commit your changes and push your branch to your FarSeer-NMR fork on GitHub:

    git add .
    git commit -m "Your detailed description of your changes."
    git push origin name-of-your-bugfix-or-feature
    
  2. Submit a pull request through the GitHub website.

  3. To keep you fork repository updated with the main repository latest changes:

    # move to the master branch
    git checkout master
    
    # add a reference to the upstream repository
    # this is the main FarSeer-NMR repository
    # you only have to do this once
    git remote add upstream https://github.com/Farseer-NMR/FarSeer-NMR
    
    # fetch the latest code from the main repository
    git fetch upstream
    
    # merge those changes to your master branch
    git pull upstream master
    
    # push to you online repository the new changes
    # so that your fork synchronizes with the main
    git push origin master
    
  4. To continue developing a new feature just repeat from steps 5.

Pull Request Guidelines

If you need some code review or feedback while you’re developing the code just make a pull request.

For merging, you should:

  1. Include passing tests (run tox) 1.

  2. Update documentation when there’s new API, functionality etc.

  3. Add a note to CHANGELOG.rst about the changes.

  4. Add yourself to AUTHORS.rst.

1

If you don’t have all the necessary python versions available locally you can rely on Travis - it will run the tests for each change you add in the pull request.

It will be slower though …

Tips

You can run individual test environment with tox, for example, to test lint:

tox -e check

to test documentation:

tox -e docs

to perform coverage-reported tests:

tox -e py38

Continuous Integration

This project follows Continuous Integration (CI) good practices (let us know if something can be improved). As referred in the previous section, testing environment is provided by tox. All tox testing environments run on Travis-CI; there, we check for code style, code quality, documentation, tests and test coverage. If you want to know more, tox testing configuration is defined in the tox.ini file.

Citing

Thanks for using Farseer-NMR!

If you are using Farseer-NMR, or any of its components, to analyze your NMR peaklist data, please cite our original article:

Teixeira, J.M.C., Skinner, S.P., Arbesú, M., Breeze, A.L., Pons, M. J Biomol NMR (2018) 71:1, 1-9. DOI 10.1007/s10858-018-0182-5)

Publications citing Farseer-NMR

  • Miguel Arbesú, MiquelPons. Integrating disorder in globular multidomain proteins: Fuzzy sensors and the role of SH3 domains. Archives of Biochemistry and Biophysics 2019, 677, 108161 https://doi.org/10.1016/j.abb.2019.108161.

  • Luca Mureddu, Geerten W. Vuister. Simple high‐resolution NMR spectroscopy as a tool in molecular biology. The FEBS Journal 2019, 286, issue 11, p2035 https://doi.org/10.1111/febs.14771.

  • Teixeira, J.M.C.; Fuentes, H.; Bielskutė, S.; Gairi, M.; Żerko, S.; Koźmiński, W.; Pons, M. The Two Isoforms of Lyn Display Different Intramolecular Fuzzy Complexes with the SH3 Domain. Molecules 2018, 23, 2731. https://doi.org/10.3390/molecules23112731)

  • Arbesú, M.; Iruela, G.; Fuentes, H.; Teixeira, J.M.C.; Pons, M. Intramolecular fuzzy interactions involving intrinsically disordered domains. Front. Mol. Biosci. 2018, 5, 39. DOI 10.3389/fmolb.2018.00039)

  • Arbesú, M. et al. (2017) The Unique Domain Forms a Fuzzy Intramolecular Complex in Src Family Kinases. Structure 25, 630–640.e4. 10.1016/j.str.2017.02.011)

  • Marimon, O. et. al. (2016). An oxygen-sensitive toxin–antitoxin system. Nature Communications, 7, 13634. https://doi.org/10.1038/ncomms13634)

  • Bijlmakers, M.-J., et.al. (2015) A C2HC zinc finger is essential for the RING-E2 interaction of the ubiquitin ligase RNF125. Scientific Reports, 6, 29232. https://doi.org/10.1038/srep29232)

Farseer-NMR on Google Citations)

Authors

All time complete authors contribution list..

Version 2 (under development)

Version 1

Version 1 development cycle spans from initial implementations to JBioNMR publication.

Acknowledgments

The Farseer-NMR Project wants to acknowledge to following people for their contributions to the project:

License

The entire Farseer-NMR project is distributed with no liability and is licensed under the GPL-3.0.

<a href=”https://www.gnu.org/licenses/gpl-3.0.en.html”><img src=”https://upload.wikimedia.org/wikipedia/commons/thumb/9/93/GPLv3_Logo.svg/1200px-GPLv3_Logo.svg.png” width=”75” height=”37”></a>

Versioning

This project follows strictly Semantic Versioning 2.0 for version control.

Changelog

v2

  • under development

  • added configuration files for CI and deployment

  • configured tox.ini

  • configured Travis-CI multiplaform, multi Python CI #316

v1

v0

  • pre-publication no JBioNMR, changes not tracked in detail.

FarSeer-NMR Library Documentation

Indices and tables