Phasik

Phasik: a Python package to identify system states in partially temporal networks - Published in JOSS (2023)

https://gitlab.com/habermann_lab/phasik

Science Score: 89.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 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 5 committers (40.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 84% confidence
Sociology Social Sciences - 64% confidence
Engineering Computer Science - 60% confidence
Last synced: 4 months ago · JSON representation

Repository

Scientific tools for extracting cyclic data via hierarchical clustering

Basic Info
  • Host: gitlab.com
  • Owner: habermann_lab
  • License: gpl-3.0+
  • Default Branch: master
Statistics
  • Stars: 2
  • Forks: 1
  • Open Issues: 4
  • Releases: 0
Created over 5 years ago

https://gitlab.com/habermann_lab/phasik/blob/master/

[![Documentation Status](https://readthedocs.org/projects/phasik/badge/)](http://phasik.readthedocs.io/)
[![codecov](https://codecov.io/gl/habermann_lab/phasik/branch/master/graph/badge.svg?token=8FXCNM1GSB)](https://codecov.io/gl/habermann_lab/phasik)
[![PyPI version](https://badge.fury.io/py/phasik.svg)](https://badge.fury.io/py/phasik)
[![Downloads](https://static.pepy.tech/personalized-badge/phasik?period=total&units=international_system&left_color=grey&right_color=green&left_text=Downloads)](https://pepy.tech/project/phasik)

# Phasik 

## What is Phasik?

Phasik is a Python library for identifying temporal phases in complex systems modeled as temporal networks. The library contains classes and functions that can be divided into two main parts:

1. Build, analyse, and visualise temporal networks from time series data.
2. Identify temporal phases, over multiple scales, by clustering the snapshots of the temporal network.  

* [**Source**](https://gitlab.com/habermann_lab/phasik)
* [**Bug reports**](https://gitlab.com/habermann_lab/phasik/-/issues)
* [**Documentation**](https://phasik.readthedocs.io/en/latest/)
* [**Tutorials**](https://phasik.readthedocs.io/en/latest/tutorial/index.html)
* [**Notebooks**](https://gitlab.com/habermann_lab/phasik/-/tree/master/notebooks)


## Install Phasik 

Phasik runs on Python 3.7 or higher.  
Install the latest version of `phasik` with `pip`:

```sh
pip install phasik
```

To install this package locally:
* Clone this repository
* Navigate to the folder on your local machine
* Run the following command:
```sh
pip install -e .["all"]
```
* If that command does not work, you may try the following instead
````zsh
pip install -e .\[all\]
````

## Getting Started
To get started, take a look at the [tutorials](https://phasik.readthedocs.io/en/latest/tutorial/index.html) illustrating the library's basic functionality.


## How to Contribute

If you want to contribute to this project, please make sure to read the
[contributing guidelines](CONTRIBUTING.md). We expect respectful and kind interactions by all contributors and users as laid out in our [code of conduct](CODE_OF_CONDUCT.md).

The Phasik community always welcomes contributions, no matter how small. We're happy to help troubleshoot Phasik issues you run into, assist you if you would like to add functionality or fixes to the codebase, or answer any questions you may have.

Some concrete ways that you can get involved:

* **Spread the word** when you use Phasik by sharing with your colleagues and friends.
* **Request a new feature or report a bug** by raising a [new issue](https://gitlab.com/habermann_lab/phasik/-/issues/new).
* **Create a Pull Request (PR)** to address an [open issue](https://gitlab.com/habermann_lab/phasik/-/issues) or add a feature.


## How to Cite
We acknowledge the importance of good software to support research, and we note
that research becomes more valuable when it is communicated effectively. To
demonstrate the value of Phasik, we ask that you cite Phasik in your work.
Currently, the best way to cite Phasik is to go cite the paper where it was first used:  
"[Inferring cell cycle phases from a partially temporal network of protein interactions](https://doi.org/10.1016/j.crmeth.2023.100397)"  
Lucas, M., Morris, A., Townsend-Teague, A., Tichit, L., Habermann, B. H., & Barrat, A.  
*Cell Reports Methods*, **3**(2), 2023  

In addition to the package, this repository contains the notebooks necessary to reproduce the analysis of the paper.  
Version of the library associated to the paper: [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7378779.svg)](https://doi.org/10.5281/zenodo.7378779)


## Developers 

- Maxime Lucas (lead)

- Arthur Morris
- Matteo Neri
- Simone Poetto
- Laurent Tichit
- Alex Townsend-Teague

## Contact

maxime.lucas.work[at]gmail[dot]com


## License
Released under the GNU GENERAL PUBLIC LICENSE v3 (see [`LICENSE`](LICENSE))


## Other Resources
This library may not meet your needs and if this is this case, consider checking out these other resources:
* [Raphtory](https://github.com/Pometry/Raphtory): A package, written in Rust, with a Python interface, for representing, analyzing, and visualizing temporal and static graphs and hypergraphs.
* [Reticula](https://docs.reticula.network/): A package with a Python wrapper of C++ functions for representing, analyzing, and visualizing temporal and static graphs and hypergraphs.
* [Tacoma](https://github.com/benmaier/tacoma): A package in Python for representing, analyzing, and visualizing temporal networks.
* [Teneto](https://github.com/wiheto/teneto): A package in Python for representing, analyzing, and visualizing temporal networks.

JOSS Publication

Phasik: a Python package to identify system states in partially temporal networks
Published
November 21, 2023
Volume 8, Issue 91, Page 5872
Authors
Maxime Lucas ORCID
CENTAI Institute, Turin, Italy
Alex Townsend-Teague
Dahlem Center for Complex Quantum Systems, Freie Universitat Berlin, 14195 Berlin, Germany
Matteo Neri ORCID
CENTAI Institute, Turin, Italy, Institut de Neurosciences de la Timone UMR 7289, Aix Marseille Université, CNRS, Marseille 13005, France
Simone Poetto
CENTAI Institute, Turin, Italy, Center for Modern Interdisciplinary Technologies, Nicolaus Copernicus University, Toruń, Poland
Arthur Morris
Theory of Condensed Matter Group, Cavendish Laboratory, University of Cambridge, J. J. Thomson Avenue, Cambridge CB3 0HE, United Kingdom
Bianca Habermann ORCID
Aix Marseille University, CNRS, IBDM UMR 7288, Turing Center for Living Systems, Marseille, France
Laurent Tichit ORCID
Aix Marseille University, CNRS, I2M UMR 7373, Turing Center for Living Systems, Marseille, France
Editor
Charlotte Soneson ORCID
Tags
temporal networks

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 450
  • Total Committers: 5
  • Avg Commits per committer: 90.0
  • Development Distribution Score (DDS): 0.116
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Maxime Lucas m****s@g****m 398
Mattehub m****8@g****m 24
spoetto s****o@g****m 14
Maxime Lucas m****e@o****r 8
Laurent Tichit l****t@u****r 6
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 18 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 10
  • Total maintainers: 1
pypi.org: phasik

Tools to build temporal networks and infer temporal phases from them

  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 18 Last month
Rankings
Dependent packages count: 4.8%
Dependent repos count: 21.5%
Average: 22.3%
Forks count: 22.6%
Downloads: 23.6%
Stargazers count: 38.8%
Maintainers (1)
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • Sphinx >=3.03
  • m2r2 >=0.2.7
  • matplotlib *
  • nb2plots *
  • nbsphinx >=0.4.2
  • networkx *
  • numpy *
  • pandas *
  • phasik *
  • scipy *
  • seaborn *
  • sklearn *
  • sphinx-automodapi *
  • sphinx_copybutton *
  • sphinx_rtd_theme ==0.5.0
requirements_dev.txt pypi
  • Sphinx >=3.03 development
  • m2r >=0.2.1 development
  • matplotlib ==3.1.1 development
  • nbsphinx >=0.4.2 development
  • networkx ==2.4 development
  • numpy ==1.18.1 development
  • numpydoc ==1.1.0 development
  • pandas ==1.0.5 development
  • pip ==21.0.0 development
  • scikit-learn ==0.21.3 development
  • scipy ==1.4.1 development
  • seaborn ==0.11.0 development
  • sphinx_rtd_theme ==0.5.0 development
  • wheel ==0.30.0 development