sequgen

Synthetic sequence generator

https://github.com/sequgen/sequgen

Science Score: 44.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords from Contributors

fuzzy-matching fuzzy-search mass-spectrometry metabolomics similarity-measures
Last synced: 7 months ago · JSON representation ·

Repository

Synthetic sequence generator

Basic Info
  • Host: GitHub
  • Owner: sequgen
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 4.01 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 21
  • Releases: 2
Created about 5 years ago · Last pushed about 5 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Zenodo

README.dev.md

sequgen developer documentation

For user documentation, go here.

Development install

``` {.sourceCode .shell}

Create a virtualenv, e.g. with

python3 -m venv venv3

activate virtualenv

source venv3/bin/activate

make sure to have a recent version of pip

pip install --upgrade pip

(from the project root directory)

install sequgen as an editable package

pip install --no-cache-dir --editable .

install development dependencies

pip install --no-cache-dir --editable .[dev] ```

Running the tests

Running the tests requires an activated virtualenv with the development tools installed.

``` {.sourceCode .shell}

unit tests with mocked representations of repository behavior

pytest pytest tests/ ```

This run will also report the percentage of code covered by the tests. Detailed coverage information will become available in the directory coverage.

Running linters locally

Running the linters requires an activated virtualenv with the development tools installed.

``` {.sourceCode .shell}

linter

prospector

recursively check import style for the sequgen module only

isort --recursive --check-only sequgen

recursively check import style for the sequgen module only and show

any proposed changes as a diff

isort --recursive --check-only --diff sequgen

recursively fix import style for the sequgen module only

isort --recursive sequgen ```

``` {.sourceCode .shell}

requires activated virtualenv with development tools

prospector && isort --recursive --check-only sequgen ```

You can enable automatic linting with prospector and isort on commit like so:

{.sourceCode .shell} git config --local core.hooksPath .githooks

Documentation

In the Python code use Google formatted docstrings.

Generate API documentation locally

The API documentation is hosted at https:/sequgen.readthedocs.io and is automatically updated when main branch is updated.

To generate the API documentation locally do

```shell

Install Sphinx dependencies

pip install -e .[dev] cd docs make html ```

The generated can be opened in web browser for your viewing pleasure.

Versioning

Bumping the version across all files is done with bump2version, e.g.

{.sourceCode .shell} bump2version minor

Making a release

Preparation

  1. Update the CHANGELOG.md
  2. Verify that the information in CITATION.cff is correct, and that .zenodo.json contains equivalent data
  3. Make sure the version has been updated.
  4. Run the unit tests with pytest tests/

PyPI

In a new terminal, without an activated virtual environment or a venv3 directory:

``` {.sourceCode .shell}

prepare a new directory

cd $(mktemp -d --tmpdir sequgen.XXXXXX)

fresh git clone ensures the release has the state of origin/main branch

git clone https://github.com/sequgen/sequgen.git .

prepare a clean virtual environment and activate it

python3 -m venv venv3 source venv3/bin/activate

make sure to have a recent version of pip

pip install --upgrade pip

install runtime dependencies and publishing dependencies

pip install --no-cache-dir . pip install --no-cache-dir .[publishing]

clean up any previously generated artefacts

rm -rf sequgen.egg-info rm -rf dist

create the source distribution and the wheel

python setup.py sdist bdist_wheel

upload to test pypi instance (requires credentials)

twine upload --repository-url https://test.pypi.org/legacy/ dist/* ```

In a new terminal, without an activated virtual environment or a venv3 directory:

``` {.sourceCode .shell} cd $(mktemp -d --tmpdir sequgen-test.XXXXXX)

check you don't have an existing sequgen

which sequgen python3 -m pip uninstall sequgen

install in user space from test pypi instance:

python3 -m pip -v install --user --no-cache-dir \ --index-url https://test.pypi.org/simple/ \ --extra-index-url https://pypi.org/simple sequgen ```

Check that the package works as it should when installed from pypitest.

Then upload to pypi.org with:

``` {.sourceCode .shell}

Back to the first terminal,

FINAL STEP: upload to PyPI (requires credentials)

twine upload dist/* ```

GitHub

Don't forget to also make a release on GitHub.

Owner

  • Name: sequgen
  • Login: sequgen
  • Kind: organization

Citation (CITATION.cff)

# YAML 1.2
---
abstract: "Python library to define and generate synthetic sequence data"
cff-version: "1.1.0"
authors: 
  -
    affiliation: "Netherlands eScience Center"
    family-names: Spaaks
    given-names: "Jurriaan H."
    orcid: "https://orcid.org/0000-0002-7064-4069"
  -
    affiliation: "Netherlands eScience Center"
    family-names: "Tjong Kim Sang"
    given-names: Erik
    orcid: "https://orcid.org/0000-0002-8431-081X"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Diblen
    given-names: Faruk
    orcid: "https://orcid.org/0000-0002-0989-929X"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Verhoeven
    given-names: Stefan
    orcid: "https://orcid.org/0000-0002-5821-2060"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Huber
    given-names: Florian
    orcid: "https://orcid.org/0000-0002-3535-9406"
  -
    affiliation: "Accelting"
    family-names: Hees
    name-particle: van
    given-names: Vincent
    orcid: "https://orcid.org/0000-0003-0182-9008"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Bruns
    given-names: Bjorn
date-released: 2021-03-30
doi: "10.5281/zenodo.4647702"
keywords: 
  - Python
  - "synthetic data"
  - "time series analysis"
  - "machine learning"
  - classification
license: "Apache-2.0"
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/sequgen/sequgen"
title: "sequgen"
version: "0.2.0"
...

GitHub Events

Total
Last Year

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 151
  • Total Committers: 6
  • Avg Commits per committer: 25.167
  • Development Distribution Score (DDS): 0.437
Top Committers
Name Email Commits
Jurriaan H. Spaaks j****s@e****l 85
florian-huber 3****r@u****m 29
Erik Tjong Kim Sang e****t@x****l 19
Stefan Verhoeven s****n@g****m 16
Faruk D f****n@e****l 1
Stefan Verhoeven s****n@e****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 62
  • Total pull requests: 24
  • Average time to close issues: 4 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 1.66
  • Average comments per pull request: 1.5
  • Merged pull requests: 22
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • eriktks (43)
  • jspaaks (10)
  • sverhoeven (9)
Pull Request Authors
  • jspaaks (15)
  • eriktks (5)
  • sverhoeven (4)
Top Labels
Issue Labels
needs grooming (3)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 6 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 2
  • Total maintainers: 1
pypi.org: sequgen

Create synthetic sequence data.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 6 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 21.7%
Average: 27.1%
Stargazers count: 27.8%
Forks count: 29.8%
Downloads: 46.3%
Maintainers (1)
Last synced: 8 months ago

Dependencies

setup.py pypi
  • matplotlib *
  • numpy *