Skip to main content

ParticleChromo3D+: a Web Server for ParticleChromo3D Algorithm for 3D Chromosome Structure Reconstruction

Access on: http://ParticleChromo3D.online


OluwadareLab, University of Colorado, Colorado Springs


Build Status : Build Status

Test Status : pytest
Also checks coverage stats


Developers:
              David Vadnais
              Department of Computer Science
              University of Colorado, Colorado Springs
              Email: dvadnais@uccs.edu

Contact:
              Oluwatosin Oluwadare, PhD
              Department of Computer Science
              University of Colorado, Colorado Springs
              Email: ooluwada@uccs.edu


0. Pip install:

NOTE: This usage is underconstruction.
We released a pypi package.

Simply run : pip install ParticleChromo3D

Then :

from ParticleChromo3D import Ps
import numpy as np

fout = Ps.strip_file("exampleIfs/chr22_matrix.txt")

# this will all get moved into a self contained function soon
theseAlphas = np.array([0.1, 2.0, 0.1]) * 100
theAlphas = ( np.array(range(int(theseAlphas[0]), int(theseAlphas[1]), int(theseAlphas[2]))) / 100)

outputOfSwarm = Ps.Full_List(fout, "this_pdb", theseAlphas)[0]

bestSpearm = outputOfSwarm[1]
bestCost = outputOfSwarm[2]
bestAlpha = theAlphas[outputOfSwarm[4]]
bestPearsonRHO = outputOfSwarm[0]

print(f"Convert factor:: {bestAlpha}")
print(f"SSE at best spearman : {bestCost}")
print(f"Best Spearman correlation Dist vs. Reconstructed Dist  : {bestSpearm}")
print(f"Best Pearson correlation Dist vs. Reconstructed Dist: {bestPearsonRHO}")

Ps.Write_Log(
    "this_run.log", fout, bestAlpha, bestCost, bestSpearm, bestPearsonRHO
)

1. Content of folders:

  • configs: Python Dependencies
  • exampleIfs: Synthetic and Real Hi-C datasets examples.
  • ParticleChromo3D: Source Code and utility's used.
  • help: Example scripts to help a user get started with our tool.
  • results: Output structures generated for all the experiments performed.
  • website: front end code

2. Hi-C Data example data in this study:

The GM12878 cell Hi-C dataset, GEO Accession number GSE63525, was downloaded from GSDB with GSDB ID: OO7429SF

3. Input matrix file format:

Square Matrix Input format: The square matrix is a tab seperated N by N intra-chromosomal contact matrix derived from Hi-C data, where N is the number of regions of a chromosome.

Or convert using the convert endpoint after uploading the Sparse Matrix as a TSV (three-column) file format.

4. Dependencies Installation:

With Docker

Docker

Without Docker

See config/requirements.txt

5. Usage - Docker

Base usage

Build/extend the image

In the base folder build the image with docker build -t particlechromo3d:latest .

Then run the container with docker run -d -p 5001:5001 -p 8080:8080 -e SERVICE_EMAIL=${YOUR_SVC_EMAIL} -e HOSTNAME_BE=${YOUR_URL} -e SERVICE_EMAIL_KEY=${KEY} particlechromo3d:latest

Volumes (Persisting Data)

Working with volumes:

# Manage your volume
docker volume create ${VOLUME_NAME}
docker volume inspect ${VOLUME_NAME}
docker volume ls
docker volume rm ${VOLUME_NAME}

# Run using a volume
docker run -d -p 5001:5001 -p 8080:8080  -e SERVICE_EMAIL=${YOUR_SVC_EMAIL} -e HOSTNAME_BE=${YOUR_URL} -e SERVICE_EMAIL_KEY=${KEY} particlechromo3d:latest

7. Usage - Direct:

In lieu of using docker ParticleChromo3D/Ps.py can be run directly through:

git clone git@github.com:OluwadareLab/ParticleChromo3D_Plus.git
cd ParticleChromo3D_Plus/config
pip install -r requirements.txt

python ParticleChromo3D/Ps.py ${INPUT_MATRIX}
# example Windows: python .\ParticleChromo3D\Ps.py exampleIfs\chr20_matrix.txt
# example Linux: python ParticleChromo3D/Ps.py exampleIfs/chr20_matrix.txt

Use python Ps.py --help to find out more about the run options.

Unit Test: We use pytest in the root level for unit testing. Simply install pytest and run pytest.

Coverage: pytest --cov=ParticleChromo3D --cov-report=term --cov-report=html

8. Publication:

Vadnais, David, and Oluwatosin Oluwadare. "ParticleChromo3D+: A Web Server for ParticleChromo3D Algorithm for 3D Chromosome Structure Reconstruction." Current Issues in Molecular Biology 45.3 (2023): 2549-2560.

Vadnais, D., Middleton, M. & Oluwadare, O. ParticleChromo3D: a Particle Swarm Optimization algorithm for chromosome 3D structure prediction from Hi-C data. BioData Mining 15, 19 (2022). https://doi.org/10.1186/s13040-022-00305-x

9. Rust:

Rust support is explained in the readme in ParticleChromo3D_rust. The package can be found here

TODO:

  • Do a speed test comparison
  • Release a python package
  • Add workflows for testing rust build

Metadata

Release files for ParticleChromo3D 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ParticleChromo3D 1.0.4
File Size Uploaded
particlechromo3d-1.0.4.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ParticleChromo3D 1.0.4
File Interpreter ABI Platform
particlechromo3d-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 35.8 kB

Release files / particlechromo3d-1.0.4.tar.gz

Download URL particlechromo3d-1.0.4.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ebe613d33e2c4188c19579ce711c2fa6fd3a0b7bf34cb767ae03c0ca069049a7
BLAKE2b-256 checksum
How to use checksums
010279cff023a016cb8bf07bc2ed9557636404743702d648a04efe82562ca704
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / particlechromo3d-1.0.4-py3-none-any.whl

Download URL particlechromo3d-1.0.4-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6bb4c13f1d425e0116d90ba26bcd53b2ec6cdaba838815219f5dec8b258b6691
BLAKE2b-256 checksum
How to use checksums
2046a188731a524e1c56e37fe0f63785013756954966ae61c26cdf68c46b82c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

1 release file

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page