Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document #24

Merged
merged 20 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
# Core Developers

----------
- Sepand Haghighi - Open Science Laboratory ([Github](https://github.com/sepandhaghighi)) **
- AmirHosein Rostami - Open Science Laboratory ([Github](https://github.com/AHReccese)) **
- Sadra Sabouri - Open Science Laboratory ([Github](https://github.com/sadrasabouri))
- Mojtaba Moghadam - University of Zanjan ([Github](https://github.com/mojtaba-moghadam))

** **Maintainer**

# Other Contributors
----------
- [@boreshnavard](https://github.com/boreshnavard) ++


++ **Graphic designer**

4 changes: 1 addition & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]
### Added
### Changed
## [0.1] - 2024-06-05
## [0.1] - 2024-11-xx
### Added
- `MeltingTemperature` enum
- Basic melting temperature calculation
Expand Down
103 changes: 65 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,34 @@
<div align="center">
<img src="https://github.com/openscilab/opr/raw/main/otherfiles/logo.png" width="280" height="400">
<img src="https://github.com/openscilab/opr/raw/main/otherfiles/logo.png" width="250">
<h1>OPR: Optimized Primer</h1>
<br/>
<br/>
<a href="https://codecov.io/gh/openscilab/opr">
<img src="https://codecov.io/gh/openscilab/opr/branch/main/graph/badge.svg" alt="Codecov"/>
</a>
<a href="TODO">
<img src="TODO" alt="PyPI version" height="18">
</a>
<a href="https://www.python.org/">
<img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3">
</a>
<a href="TODO">
<img src="TODO" alt="Discord Channel">
</a>
<a href="https://codecov.io/gh/openscilab/opr"><img src="https://codecov.io/gh/openscilab/opr/branch/main/graph/badge.svg" alt="Codecov"></a>
<a href="https://badge.fury.io/py/opr"><img src="https://badge.fury.io/py/opr.svg" alt="PyPI version" height="18"></a>
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3"></a>
<a href="https://discord.gg/8mBspwXqcA"><img src="https://img.shields.io/discord/1064533716615049236.svg" alt="Discord Channel" style="height: 24px;"></a>
</div>

----------

## Table of contents

* [Overview](https://github.com/openscilab/opr#overview)
* [Installation](https://github.com/openscilab/opr#installation)
* [Usage](https://github.com/openscilab/opr#usage)
* [Issues & Bug Reports](https://github.com/openscilab/opr#issues--bug-reports)
* [Todo](https://github.com/openscilab/opr/blob/main/TODO.md)
* [Contribution](https://github.com/openscilab/opr/blob/main/.github/CONTRIBUTING.md)
* [Authors](https://github.com/openscilab/opr/blob/main/AUTHORS.md)
* [License](https://github.com/openscilab/opr/blob/main/LICENSE)
* [Show Your Support](https://github.com/openscilab/opr#show-your-support)
* [Changelog](https://github.com/openscilab/opr/blob/main/CHANGELOG.md)
* [Code of Conduct](https://github.com/openscilab/opr/blob/main/.github/CODE_OF_CONDUCT.md)


## Overview
<p align="justify">
OPR is an open source Python package that provides ... TODO
<b>OPR</b> is an open-source Python package designed to simplify and streamline primer design and analysis for biologists and bioinformaticians. <b>OPR</b> enables users to design, validate, and optimize primers with ease, catering to a wide range of applications such as PCR, qPCR, and sequencing. With a focus on user-friendliness and efficiency, <b>OPR</b> aims to bridge the gap between biological research and computational tools, making primer-related workflows faster and more reliable.
</p>
<table>
<tr>
<td align="center">PyPI Counter</td>
<td align="center">
<a href="TODO">
<img src="TODO">
<a href="https://pepy.tech/projects/opr">
<img src="https://static.pepy.tech/badge/opr">
</a>
</td>
</tr>
<tr>
<td align="center">Github Stars</td>
<td align="center">
<a href="https://github.com/openscilab/opr">
<img src="TODO">
<img src="https://img.shields.io/github/stars/openscilab/opr.svg?style=social&label=Stars">
</a>
</td>
</tr>
Expand All @@ -64,10 +42,10 @@ OPR is an open source Python package that provides ... TODO
<tr>
<td align="center">CI</td>
<td align="center">
<img src="https://github.com/openscilab/opr/workflows/CI/badge.svg?branch=main">
<img src="https://github.com/openscilab/opr/actions/workflows/test.yml/badge.svg?branch=main">
</td>
<td align="center">
<img src="https://github.com/openscilab/opr/workflows/CI/badge.svg?branch=dev">
<img src="https://github.com/openscilab/opr/actions/workflows/test.yml/badge.svg?branch=dev">
</td>
</tr>
</table>
Expand All @@ -76,7 +54,6 @@ OPR is an open source Python package that provides ... TODO
## Installation

### PyPI

- Check [Python Packaging User Guide](https://packaging.python.org/installing/)
- Run `pip install opr==0.1`
### Source code
Expand All @@ -85,6 +62,46 @@ OPR is an open source Python package that provides ... TODO

## Usage

### Load
```pycon
>>> from opr import Primer
>>> primer1 = Primer(sequence="CTGGAGGACGGAAGAGGAAGTAA")
>>> primer1.sequence
'CTGGAGGACGGAAGAGGAAGTAA'
```

### Properties

#### Molecular weight
```pycon
>>> primer1.molecular_weight
7235.79
```
#### GC content
```pycon
>>> primer1.gc_content
0.5217391304347826
```
#### Melting temperature
```pycon
>>> primer1.melting_temperature()
57.056521739130446
```
### Operations

#### Reverse
```pycon
>>> primer1_reversed = primer1.reverse()
>>> primer1_reversed.sequence
'AATGAAGGAGAAGGCAGGAGGTC'
```
#### Complement
```pycon
>>> primer1_complemented = primer1.complement()
>>> primer1_complemented.sequence
'GACCTCCTGCCTTCTCCTTCATT'
```

## Issues & bug reports

Just fill an issue and describe it. We'll check it ASAP! or send an email to [[email protected]](mailto:[email protected] "[email protected]").
Expand All @@ -93,12 +110,22 @@ Just fill an issue and describe it. We'll check it ASAP! or send an email to [op

You can also join our discord server

<a href="TODO">
<img src="TODO" alt="Discord Channel">
<a href="https://discord.gg/8mBspwXqcA">
<img src="https://img.shields.io/discord/1064533716615049236.svg?style=for-the-badge" alt="Discord Channel">
</a>

## References

<blockquote>1- <a href="http://biotools.nubic.northwestern.edu/OligoCalc.html">Oligo Calc: Oligonucleotide Properties Calculator</a></blockquote>

<blockquote>2- Marmur, Julius, and Paul Doty. "Determination of the base composition of deoxyribonucleic acid from its thermal denaturation temperature." <i>Journal of molecular biology</i> 5.1 (1962): 109-118.</blockquote>

<blockquote>3- Wallace, R. Bruce, et al. "Hybridization of synthetic oligodeoxyribonucleotides to Φ X 174 DNA: the effect of single base pair mismatch." <i>Nucleic acids research</i> 6.11 (1979): 3543-3558.</blockquote>

<blockquote>4- Panjkovich, Alejandro, and Francisco Melo. "Comparison of different melting temperature calculation methods for short DNA sequences." <i>Bioinformatics 21.6</i> (2005): 711-722.</blockquote>


## Show Your Support
## Show your support


### Star this repo
Expand Down
Binary file added otherfiles/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion otherfiles/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ about:
license_family: MIT
summary: Python library for machine learning input and output
description: |
OPR is an open source Python package that provides... TODO
OPR is an open-source Python package designed to simplify and streamline primer design and analysis for biologists and bioinformaticians. OPR enables users to design, validate, and optimize primers with ease, catering to a wide range of applications such as PCR, qPCR, and sequencing. With a focus on user-friendliness and efficiency, OPR aims to bridge the gap between biological research and computational tools, making primer-related workflows faster and more reliable.

Website: https://openscilab.com

Expand Down
12 changes: 5 additions & 7 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,29 @@ def read_description():
description += c.read()
return description
except Exception:
return '''TODO'''
return '''OPR is an open-source Python package designed to simplify and streamline primer design and analysis for biologists and bioinformaticians. OPR enables users to design, validate, and optimize primers with ease, catering to a wide range of applications such as PCR, qPCR, and sequencing. With a focus on user-friendliness and efficiency, OPR aims to bridge the gap between biological research and computational tools, making primer-related workflows faster and more reliable.'''


setup(
name='opr',
packages=[
'opr', ],
version='0.1',
description='TODO',
description='OPR: Optimized Primer',
long_description=read_description(),
long_description_content_type='text/markdown',
author='OPR Development Team',
author_email='[email protected]',
url='https://github.com/openscilab/opr',
download_url='https://github.com/openscilab/opr/tarball/v0.1',
keywords="python3 python machine_learning ML",
keywords="primer biology bioinformatics genome dna pcr",
project_urls={
'Source': 'https://github.com/openscilab/opr',
},
install_requires=get_requires(),
python_requires='>=3.6',
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Natural Language :: English',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
Expand All @@ -63,13 +62,12 @@ def read_description():
'Intended Audience :: End Users/Desktop',
'Intended Audience :: Manufacturing',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Information Analysis',
'Topic :: Education',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Information Analysis',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'Topic :: Scientific/Engineering :: Human Machine Interfaces',
'Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Scientific/Engineering :: Physics',
'Topic :: Scientific/Engineering :: Bio-Informatics',
],
license='MIT',
)
Loading