Skip to content

leeyjyjl/dnamod

 
 

Repository files navigation

DNAmod

The DNAmod webpage is: https://DNAmod.hoffmanlab.org (which redirects to https://www.pmgenomics.ca/hoffmanlab/proj/dnamod).

This outlines the steps needed to set up a Python environment to reproduce or run a local DNAmod instance.

Summary

Covalent DNA modifications have been found in numerous organisms and more are continually being discovered and characterized, as detection methods improve. Many of these modifications can affect the conformation of the DNA double helix, often resulting in downstream effects upon transcription factor binding. Some of these modifications have been demonstrated to be stable, while others are viewed as merely transient.

DNAmod catalogs information on known DNA modifications. It aims to profile modifications' properties, with diagrams and links to databases such as ChEBI. It also captures citations to published literature on these modifications. This makes it easier for those new to the field to explore the array of potential modifications.

DNAmod is comprised of this static website and a backing SQLite database. The database is created using Python, including the SOAP client suds and Biopython. The website is also created using Python, makes use of Open Babel via its Python wrapper, Pybel, and uses the Jinja2 templating engine.

This project is open source and updated regularly. We also manually curate the modifications verified to occur in vivo.

Installation

Key files within this distribution

constants.sh stores all constants associated with this project, including all directory and file paths used. It contains descriptions of each constant.

populate_database_sql.py pulls data from ChEBI and imports the data into the SQLite database.

create_mod_staticsite_sql.py takes the SQLite database and pushes it through the Jinja2 templates located in the templates folder to create the static site. The location of the static site is the static folder.

Data, including whitelisted and blacklisted bases, which control the modifications which show up as verified and annotations with references are located within the data sub-directory. This is also where the SQLite databse is created, by populate_database_sql.py.

To update and recreate the database and website run update_dnamod.sh. We use sync_live_site.sh to deploy our live site for DNAmod.

Dependencies

The following dependencies, in addition to Python (≥ version 2.7.6 necessary for some systems), are needed to build DNAmod.

  1. OpenBabel

  2. SQLite ≥ version 3.8.3

PyPI packages

The following packages can be obtained from The Python Package Index, PyPI and installed with pip.

  1. Biopython: biopython on PyPI

  2. Jinja2

  3. Pybel: openbabel on PyPI

  4. suds (a Python SOAP client)

  5. unicodecsv

  6. pysqlite2

  7. more-itertools

  8. retry

NCBI disclaimer

DNAmod uses NCBI's E-utilities. NCBI's disclaimer and copyright notice applies to this usage. It is available online and within this repository.

License

All of our code is licensed under the GNU General Public License, version 2 (GPLv2).

All files within the data folder and any data generated by DNAmod are licensed under the Creative Commons Attribution 4.0 International license (CC BY 4.0).

Contacts

This project was created at the Hoffman Lab by Ankur Jai Sood, Coby Viner, and Michael M. Hoffman.

There is a moderated dnamod-announce mailing list that you can subscribe to for information on new releases of DNAmod.

There is also a dnamod-users mailing list for general discussion and questions about the use of DNAmod.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 33.7%
  • JavaScript 30.0%
  • Python 29.4%
  • Shell 5.5%
  • CSS 1.4%