pysster

pysster: Learning Sequence And Structure Motifs In Biological Sequences Using Convolutional Neural Networks

https://github.com/budach/pysster

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.6%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

pysster: Learning Sequence And Structure Motifs In Biological Sequences Using Convolutional Neural Networks

Basic Info
  • Host: GitHub
  • Owner: budach
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 158 MB
Statistics
  • Stars: 86
  • Watchers: 5
  • Forks: 24
  • Open Issues: 3
  • Releases: 0
Created over 8 years ago · Last pushed almost 7 years ago
Metadata Files
Readme License

README.md

pysster: a Sequence-STructure classifiER Build Status Build status License: MIT

Learning Sequence And Structure Motifs In Biological Sequences Using Convolutional Neural Networks

pysster is a Python package for training and interpretation of convolutional neural networks on biological sequence data. Sequences are classified by learning sequence (and optionally structure) motifs and the package offers sensible default parameters, a hyper-parameter optimization procedure and options to visualize learned motifs. The main features of the package are:

  • multi-class and single-label or multi-label classifications
  • hyper-parameter tuning (grid search)
  • interpretation of learned motifs in terms of positional and class enrichment and motif co-occurrence
  • support of input strings over user-defined alphabets (e.g. applicable to DNA, RNA, protein data)
  • optional use of structure information, handcrafted features and recurrent layers
  • seamless CPU or GPU computation

If you found our tool useful for your work, please cite the accompanying Bioinformatics paper (link). If you run into bugs, missing documentation or if you have a feature request, feel free to open an issue.

Installation

pysster is compatible with Python 3.5+ and can be installed from PyPI or GitHub.

Install latest version from GitHub: sh git clone https://github.com/budach/pysster.git cd pysster pip3 install . Install from PyPI:

sh pip3 install pysster

Using the GPU

pysster depends on TensorFlow and by default the CPU version of TensorFlow will be installed. If you want to use your NVIDIA GPU (which is recommended for large data sets or grid searchs) make sure that your CUDA and cuDNN drivers are correctly installed and then install the GPU version of TensorFlow:

sh pip3 uninstall tensorflow pip3 install tensorflow-gpu

At the time of writing the most recent TensorFlow version is 1.14 and the pre-built binary requires CUDA 10 and cuDNN 7.4. You can always check the required versions in the TensorFlow GPU support notes.

Right now, we only support TensorFlow 1.x. TensorFlow 2 has recently been released and we plan switching to it and its integrated tf.keras in the future.

Documentation

Tutorials * Example workflow (data loading, model training via grid search, model evaluation + motif visualization showcased using an RNA editing data set) * Visualization by optimization of all network layers (an alternative visualization method showcased using an artifical data set) * Limitations of Neural Networks (some critical thoughts on networks applied to sequence data)

API documentation * Data objects (handling of input data) * Model objects (training and interpretation of networks) * Grid_Search objects (hyperparameter tuning) * Motif objects (motif representation of a PWM) * utils functions (save/load Data/Model objects, predict/annotate secondary structures, further processing, etc.)

Changelog

v1.2.2 - 22. October 2019 (PyPI) * fix Tensorflow version to < 2.0 for now

v1.2.1 - 28. February 2019 (PyPI) * small fix to be compatible with the forgi 2.0 dependency

v1.2.0 - 6. December 2018 (PyPI) * breaking change: the loadadditionaldata() method now requires a new parameter categories containing all possible categories when adding categorical data * input dropout is now also applied to data loaded via loadadditionaldata() * performance improvements when creating large Data objects and when visualizing kernels * fixed a crash when printing grid search summaries involving RNN layers

v1.1.4 - 17. July 2018 (PyPI) * added loadadditionalpositionwise_data() method to Data objects (add arbitrary numerical features for every sequence position; learned features can be visualized for each kernel using the usual Model methods) * the positive class ("class_0") will now be used as the reference class when computing AUCs in binary classifications (previously the negative class was used) * some small fixes

v1.1.3 - 19. March 2018 (PyPI) * added visualizeallkernels() method to Model objects (visualize all kernels at once + get HTML summary report) * it is now possible to maximize the PR-AUC (precision-recall) instead of the ROC-AUC during a grid search * changed default color scheme for ACGT and ACGU alphabets to match conventions * fixed a bug that prevented Data objects from being reproducible

Owner

  • Name: Stefan Budach
  • Login: budach
  • Kind: user

GitHub Events

Total
  • Watch event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Fork event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 122
  • Total Committers: 3
  • Avg Commits per committer: 40.667
  • Development Distribution Score (DDS): 0.516
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
budach b****h@m****e 59
budach s****h@g****m 46
Stefan Budach b****h 17
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 10
  • Total pull requests: 0
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Total issue authors: 7
  • Total pull request authors: 0
  • Average comments per issue: 2.6
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: about 22 hours
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • budach (4)
  • EYaz1 (1)
  • andrewcboardman (1)
  • collinskatie (1)
  • mari-ga (1)
  • QinglongWang (1)
Pull Request Authors
Top Labels
Issue Labels
todo (3) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 17 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 9
  • Total maintainers: 1
pypi.org: pysster

a Sequence/STructure classifiER for biological sequences

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 17 Last month
Rankings
Stargazers count: 7.6%
Forks count: 8.2%
Dependent packages count: 10.0%
Average: 14.7%
Dependent repos count: 21.7%
Downloads: 26.1%
Maintainers (1)
Last synced: 11 months ago

Dependencies

setup.py pypi
  • Pillow *
  • fastcluster *
  • forgi *
  • h5py *
  • keras <2.3.0
  • logging_exceptions *
  • matplotlib *
  • numpy >=1.14.0
  • scikit-learn *
  • seaborn *
  • tensorflow <2.0