diff --git a/AUTHORS.md b/AUTHORS.md index 683ee58..9805200 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -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** diff --git a/CHANGELOG.md b/CHANGELOG.md index 1673157..3ee76b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index e87966f..d36c297 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,26 @@
- + +

OPR: Optimized Primer


-
- - Codecov - - - PyPI version - - - built with Python3 - - - Discord Channel - + Codecov + PyPI version + built with Python3 + Discord Channel
---------- -## 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

-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.

@@ -50,7 +28,7 @@ OPR is an open source Python package that provides ... TODO @@ -64,10 +42,10 @@ OPR is an open source Python package that provides ... TODO
PyPI Counter - - + +
Github Stars - +
CI - + - +
@@ -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 @@ -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 [opr@openscilab.com](mailto:opr@openscilab.com "opr@openscilab.com"). @@ -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 - - Discord Channel + + Discord Channel +## References + +
1- Oligo Calc: Oligonucleotide Properties Calculator
+ +
2- Marmur, Julius, and Paul Doty. "Determination of the base composition of deoxyribonucleic acid from its thermal denaturation temperature." Journal of molecular biology 5.1 (1962): 109-118.
+ +
3- Wallace, R. Bruce, et al. "Hybridization of synthetic oligodeoxyribonucleotides to Φ X 174 DNA: the effect of single base pair mismatch." Nucleic acids research 6.11 (1979): 3543-3558.
+ +
4- Panjkovich, Alejandro, and Francisco Melo. "Comparison of different melting temperature calculation methods for short DNA sequences." Bioinformatics 21.6 (2005): 711-722.
+ -## Show Your Support +## Show your support ### Star this repo diff --git a/otherfiles/logo.png b/otherfiles/logo.png new file mode 100644 index 0000000..c5e340c Binary files /dev/null and b/otherfiles/logo.png differ diff --git a/otherfiles/meta.yaml b/otherfiles/meta.yaml index b8194c8..89fbc91 100644 --- a/otherfiles/meta.yaml +++ b/otherfiles/meta.yaml @@ -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 diff --git a/setup.py b/setup.py index 7377a85..8e7be5f 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ 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( @@ -31,14 +31,14 @@ def read_description(): 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='opr@openscilab.com', 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', }, @@ -46,7 +46,6 @@ def read_description(): python_requires='>=3.6', classifiers=[ 'Development Status :: 3 - Alpha', - 'Intended Audience :: Developers', 'Natural Language :: English', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', @@ -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', )