<p align="center">
<img src="https://raw.githubusercontent.com/luanrabelo/SynGenes/stable/docs/assets/SynGenes.png" alt="SynGenes Logo" width="25%">
</p>
<p align="center">
<a href="https://www.buymeacoffee.com/lprabelo" target="_blank">
<img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=☕&slug=lprabelo&button_colour=FFFFFF&font_colour=000000&font_family=Lato&outline_colour=000000&coffee_colour=000000" />
</a>
</p>
[![Published in%20](https://img.shields.io/badge/Published_in-BMC%20Bioinformatics-blue)](https://doi.org/10.1186/s12859-024-05781-y) [![Publish SynGenes in PYPI%20](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_pypi.yml/badge.svg)](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_pypi.yml) [![Publish SynGenes in Anaconda%20](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_conda.yml/badge.svg)](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_conda.yml) [![Pylint%20](https://github.com/luanrabelo/SynGenes/actions/workflows/pylint.yml/badge.svg)](https://github.com/luanrabelo/SynGenes/actions/workflows/pylint.yml)
# Contents Overview
- [System Overview](#system-overview)
- [License](#licence)
- The Hitchhiker's Guide to ***SynGenes***
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation of SynGenes Class](#installation)
- [Functions](#functions)
- [__init__](#__init__)
- [Update SynGenes](#update)
- [Fix Gene Name](#fix_gene_name)
- [Build Query](#build_query)
- [Build Json File](#build_json)
- [SynGenes Version](#version_syngenes)
- [Cite SynGenes Papper](#cite_syngenes)
- [SynGenes Development Team](#syngenes-development-team)
- [Citing SynGenes](#citing-syngenes)
- [Contact](#contact)
***
# System Overview
##### [:rocket: Go to Contents Overview](#contents-overview)
<p align="center">
<img src="https://raw.githubusercontent.com/luanrabelo/SynGenes/stable/docs/assets/SynGenes.png" alt="dataFishing Logo" width="15%">
</p>
**SynGenes** is a **Python class** designed to standardize gene **nomenclatures** for **mitochondrial** and **chloroplast** genes. It recognizes various nomenclature variations and converts them into a consistent, standardized format. **This tool simplifies** the integration and comparison of genetic data from different sources by unifying gene names.
***
# Licence
##### [:rocket: Go to Contents Overview](#contents-overview)
**SynGenes** is released under the **MIT License**. This license permits reuse within proprietary software provided that all copies of the licensed software include a copy of the MIT License terms and the copyright notice.
For more details, please see the **MIT License**.
***
# The Hitchhiker's Guide to **SynGenes**
## Getting Started
##### [:rocket: Go to Contents Overview](#contents-overview)
- ## Prerequisites
Before you run **SynGenes**, make sure you have the following prerequisites installed on your system:
- **Python Environment**
- Python **version 3.10 or higher**
- conda (optional)
- Dependencies (automatically installed with pip)
- `requests`
- `pandas`
- `biopython`
- `openpyxl`
***
### Installation
##### [:rocket: Go to Contents Overview](#contents-overview)
There are two ways to install **SynGenes**:
1. Through pip: Install **SynGenes** dependencies directly using pip:
- 1.1. Open the **Terminal** or **Python Environment**
- 1.2. Execute the following command:
```shell
pip install SynGenes
```
or
```shell
pip install SynGenes --upgrade
```
> [!NOTE]
> This command will install **SynGenes** and its **dependencies** in your **Python environment**.
2. By cloning the **SynGenes** GitHub repository:
- 2.1. Open the **Terminal** or **Python Environment**
- 2.2. Execute the following command:
```shell
git clone https://github.com/luanrabelo/SynGenes.git
cd SynGenes
pip install -r requirements.txt
```
> [!NOTE]
> This will **clone the repository**, then you should navigate to the cloned directory to install **SynGenes and its dependencies using pip**.
***
## Functions
### `__init__`
##### [:rocket: Go to Contents Overview](#contents-overview)
#### `__init__(self, **kwargs)`
Initializes the **SynGenes** class. This function is the constructor of the class and is called when a new instance of the **SynGenes** class is created.
When an instance of the **SynGenes** class is created, the constructor checks if the `SynGenes.xlsx` database exists at the specified path.
If it does not exist, it will attempt to create the **SynGenes directory** and **download the database from the GitHub repository**.
If verbose is **True**, status messages will be printed in the terminal to inform the user about the progress of these operations.
#### Parameters:
- `verbose (bool)`: If `True`, messages will be printed during execution. The default is `False`.
#### Returns:
- `None`
#### Notes:
- This function requires the `requests` library to be imported.
- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.
#### Usage Example:
```python
from SynGenes import SynGenes
sg = SynGenes(verbose=False)
```
### `update`
##### [:rocket: Go to Contents Overview](#contents-overview)
#### `update(self, **kwargs)`
Updates the **SynGenes** database by **downloading it from the GitHub repository's stable branch**. If an existing database is found, it is removed before downloading the new one.
The `update` function checks if the `SynGenes.xlsx` database file exists in the user’s computer.
If it does, the file is removed.
Then, the function attempts to **download the latest version of the database from the specified GitHub repository URL**.
If the verbose parameter is set to **True**, the function will print messages to the console to inform the user of the progress, including the removal of the old database and the download of the new one.
#### Parameters:
- `verbose (bool)`: If `True`, messages will be printed during execution. The default is `False`.
#### Returns:
- The updated `SynGenes` database saved in the `SynGenes` folder.
#### Notes:
- This function requires the `requests` library to be imported.
- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.
#### Usage Example:
```python
from SynGenes import SynGenes
sg = SynGenes()
sg.update()
```
### `fix_gene_name`
##### [:rocket: Go to Contents Overview](#contents-overview)
#### `fix_gene_name(self, **kwargs)`
Corrects the gene name according to the **SynGenes** database, ensuring it adheres to the standardized nomenclature.
The `fix_gene_name` function takes a gene name and corrects it based on the entries in the **SynGenes** database.
It supports both **mitochondrial (mt)** and **chloroplast (cp)** genes.
If the provided **gene name is found in the database**, **it is replaced with the standardized short name**.
**If not found**, **the original name is returned, and a log entry is created**.
The function provides verbose output if the verbose parameter is set to **True**.
#### Parameters:
- `geneName (str)`: The gene name to be corrected.
- `type (str)`: The type of gene (`mt` for Mitochondrial, `cp` for Chloroplast). The default is `mt`.
- `verbose (bool)`: If set to `True`, messages will be printed during execution. The default is `False`.
#### Returns:
- `ShortName (str)`: The corrected gene name.
#### Notes:
- This function requires the `pandas` library to be imported.
- The `SynGenes` database can be found at github.com/luanrabelo/SynGenes.
#### Usage Example:
```python
from SynGenes import SynGenes
sg = SynGenes()
# Mitocondrial
_geneName = sg.fix_gene_name(geneName='cytochrome c oxidase subunit I', type='mt')
print(_geneName)
# Output: 'COI'
# Chloroplast
_geneName = sg.fix_gene_name(geneName='ATPsynthaseCF1 alpha subunit', type='cp')
print(_geneName)
# Output: 'atpA'
```
### `build_query`
##### [:rocket: Go to Contents Overview](#contents-overview)
#### `build_query(self, **kwargs)`
Builds a query for Entrez search in **GenBank** or **PubMed** using the *SynGenes* database.
The `build_query` function constructs a query string that can be used for searching specific gene information in **GenBank** or **PubMed** databases.
It ensures that the **gene name is in the correct format** by referencing the predefined lists for **mitochondrial** and **chloroplast** genes.
The **search type** is also validated against a **list of acceptable formats**.
If the verbose parameter is **True**, the function will print informative messages during the query construction process.
#### Parameters:
- `geneName (str)`: The gene name to search. The gene name must be in the correct format; use the `fix_gene_name()` function to correct the gene name.
- `type (str)`: The type of gene (`mt` for Mitochondrial, `cp` for Chloroplast). The default is `mt`.
- `searchType (str)`: The type of search (Title, Abstract, All Fields, MeSH Terms). The default is All Fields.
- `verbose (bool)`: If `True`, messages will be printed during execution. The default is `False`.
#### Returns:
- `query (str)`: The query for Entrez search in GenBank or PubMed.
#### Notes:
- This function requires the `pandas` library to be imported.
- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.
- Predefined lists `_listGenes_mt` and `_listGenes_cp` contain the correct formats for mitochondrial and chloroplast genes, respectively.
- The `_listTypes` contains the valid formats for the search type.
#### Usage Example:
```python
from SynGenes import SynGenes
sg = SynGenes()
query = sg.build_query(geneName='COI', type='mt', searchType='Title')
print(query)
# Output: '"COI"[Title] OR "cytochrome c oxidase subunit I"[Title] OR "cytochrome c oxidase subunit 1"[Title] OR "chytochrome c oxidase subunit I"[Title]...'
```
### `build_json`
##### [:rocket: Go to Contents Overview](#contents-overview)
#### `build_json(self, **kwargs)`
Creates a JSON file containing the data from the **SynGenes** database.
The `build_json` function generates a **JSON file** that encapsulates the **SynGenes database’s data**.
It takes the name of the file and the path where it should be saved as parameters.
If the file already exists, it is removed, and a new one is created.
The function provides verbose output if the verbose parameter is set to **True**, informing the user about the file creation process.
During the creation of the **JSON file**, the function writes the data for **mitochondrial** and **chloroplast** genes into separate objects within the file.
It also records the date when the file was updated. The verbose output will notify the user when the **JSON file** is being created and once it has been successfully created.
#### Parameters:
- `fileName (str)`: The name of the JSON file. The default is `SynGenes.js`.
- `pathSaveFile (str)`: The path where the JSON file will be saved. The default is the `SynGenes` folder in the current working directory.
- `verbose (bool)`: If set to `True`, messages will be printed during execution. The default is `False`.
#### Returns:
- A `SynGenes.js` file in the `SynGenes` folder.
#### Notes:
- This function requires the `pandas` library to be imported.
- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.
- The function checks if the specified JSON file already exists and removes it before creating a new one.
#### Usage Example:
```python
from SynGenes import SynGenes
sg = SynGenes()
sg.build_json()
```
### `version_syngenes`
#### `version_syngenes(self)`
##### [:rocket: Go to Contents Overview](#contents-overview)
Displays the current version of the **SynGenes** database.
The `version_syngenes` function outputs the version number of the **SynGenes database**. It does not take any parameters and does not return any value. Instead, it prints the version number directly to the console.
#### Parameters:
- None
#### Returns:
- None
#### Notes:
- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.
#### Usage Example:
```python
from SynGenes import SynGenes
sg = SynGenes()
version = sg.version_syngenes()
print(version)
# Output: '1.0'
```
### `cite_syngenes`
#### `cite_syngenes(self)`
##### [:rocket: Go to Contents Overview](#contents-overview)
Provides the citation format for the **SynGenes** database.
The `cite_syngenes` function outputs the correct citation format for referencing the **SynGenes database** in **academic work** or **publications**.
It does not take any parameters and does not return any value. Instead, it prints the citation instructions directly to the console.
#### Parameters:
- None
#### Returns:
- None
#### Notes:
- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.
#### Usage Example:
```python
from SynGenes import SynGenes
sg = SynGenes()
howCite = sg.cite_syngenes()
print(howCite)
# Output: Please, cite the SynGenes database as: ...
```
***
## Web Form for SynGenes
##### [:rocket: Go to Contents Overview](#contents-overview)
We have developed a user-friendly web form available at (https://luanrabelo.github.io/SynGenes) for researchers who wish to perform individual searches using various names associated with the same gene. This web form generates a command that incorporates multiple names, enabling precise searches on platforms such as the National Center for Biotechnology Information (NCBI) - GenBank and PubMed Central.
***
### **SynGenes** Development Team
##### [:rocket: Go to Contents Overview](#contents-overview)
- **Luan Rabelo**
- Clayton Sodré
- Rodrigo Sousa
- Luciana Watanabe
- Grazielle Gomes
- **Iracilda Sampaio**
- **Marcelo Vallinoto**
***
### Citing **SynGenes**
##### [:rocket: Go to Contents Overview](#contents-overview)
When referencing the **SynGenes** class, please cite it appropriately in your academic or professional work.
```
Rabelo, L.P., Sodré, D., de Sousa, R.P.C. et al. SynGenes: a Python class for standardizing nomenclatures of mitochondrial and chloroplast genes and a web form for enhancing searches for evolutionary analyses. BMC Bioinformatics 25, 160 (2024). https://doi.org/10.1186/s12859-024-05781-y
```
***
### Contact
##### [:rocket: Go to Contents Overview](#contents-overview)
For reporting bugs, requesting assistance, or providing feedback, please reach out to **Luan Rabelo**:
```
luanrabelo@outlook.com
```
***
Raw data
{
"_id": null,
"home_page": "https://github.com/luanrabelo/SynGenes",
"name": "SynGenes",
"maintainer": "Luan Rabelo",
"docs_url": null,
"requires_python": null,
"maintainer_email": "luanrabelo@outlook.com",
"keywords": "SynGenes Genes Bioinformatics Synonymous",
"author": "Luan Rabelo",
"author_email": "luanrabelo@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/9b/f8/c20145a909fa455e93ea17f11712ef64ac0b9697bbdc8ff31b163d881468/SynGenes-1.1.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/luanrabelo/SynGenes/stable/docs/assets/SynGenes.png\" alt=\"SynGenes Logo\" width=\"25%\">\n</p>\n\n<p align=\"center\">\n <a href=\"https://www.buymeacoffee.com/lprabelo\" target=\"_blank\">\n <img src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=\u2615&slug=lprabelo&button_colour=FFFFFF&font_colour=000000&font_family=Lato&outline_colour=000000&coffee_colour=000000\" />\n </a>\n</p>\n\n[![Published in%20](https://img.shields.io/badge/Published_in-BMC%20Bioinformatics-blue)](https://doi.org/10.1186/s12859-024-05781-y) [![Publish SynGenes in PYPI%20](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_pypi.yml/badge.svg)](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_pypi.yml) [![Publish SynGenes in Anaconda%20](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_conda.yml/badge.svg)](https://github.com/luanrabelo/SynGenes/actions/workflows/publish_conda.yml) [![Pylint%20](https://github.com/luanrabelo/SynGenes/actions/workflows/pylint.yml/badge.svg)](https://github.com/luanrabelo/SynGenes/actions/workflows/pylint.yml)\n\n# Contents Overview\n- [System Overview](#system-overview)\n- [License](#licence)\n - The Hitchhiker's Guide to ***SynGenes***\n - [Getting Started](#getting-started)\n - [Prerequisites](#prerequisites)\n - [Installation of SynGenes Class](#installation)\n - [Functions](#functions)\n - [__init__](#__init__)\n - [Update SynGenes](#update)\n - [Fix Gene Name](#fix_gene_name)\n - [Build Query](#build_query)\n - [Build Json File](#build_json)\n - [SynGenes Version](#version_syngenes)\n - [Cite SynGenes Papper](#cite_syngenes)\n- [SynGenes Development Team](#syngenes-development-team)\n- [Citing SynGenes](#citing-syngenes)\n- [Contact](#contact)\n***\n# System Overview\n##### [:rocket: Go to Contents Overview](#contents-overview)\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/luanrabelo/SynGenes/stable/docs/assets/SynGenes.png\" alt=\"dataFishing Logo\" width=\"15%\">\n</p>\n\n**SynGenes** is a **Python class** designed to standardize gene **nomenclatures** for **mitochondrial** and **chloroplast** genes. It recognizes various nomenclature variations and converts them into a consistent, standardized format. **This tool simplifies** the integration and comparison of genetic data from different sources by unifying gene names.\n*** \n# Licence\n##### [:rocket: Go to Contents Overview](#contents-overview)\n**SynGenes** is released under the **MIT License**. This license permits reuse within proprietary software provided that all copies of the licensed software include a copy of the MIT License terms and the copyright notice.\n\nFor more details, please see the **MIT License**.\n***\n# The Hitchhiker's Guide to **SynGenes**\n## Getting Started\n##### [:rocket: Go to Contents Overview](#contents-overview)\n- ## Prerequisites\nBefore you run **SynGenes**, make sure you have the following prerequisites installed on your system:\n- **Python Environment**\n - Python **version 3.10 or higher**\n - conda (optional)\n- Dependencies (automatically installed with pip) \n - `requests`\n - `pandas`\n - `biopython`\n - `openpyxl`\n*** \n### Installation\n##### [:rocket: Go to Contents Overview](#contents-overview)\nThere are two ways to install **SynGenes**:\n1. Through pip: Install **SynGenes** dependencies directly using pip:\n- 1.1. Open the **Terminal** or **Python Environment**\n- 1.2. Execute the following command:\n```shell\npip install SynGenes\n```\nor\n```shell\npip install SynGenes --upgrade\n```\n> [!NOTE]\n> This command will install **SynGenes** and its **dependencies** in your **Python environment**.\n \n2. By cloning the **SynGenes** GitHub repository: \n- 2.1. Open the **Terminal** or **Python Environment**\n- 2.2. Execute the following command:\n```shell\ngit clone https://github.com/luanrabelo/SynGenes.git\ncd SynGenes \npip install -r requirements.txt\n```\n> [!NOTE]\n> This will **clone the repository**, then you should navigate to the cloned directory to install **SynGenes and its dependencies using pip**.\n \n***\n## Functions \n### `__init__`\n##### [:rocket: Go to Contents Overview](#contents-overview)\n#### `__init__(self, **kwargs)` \nInitializes the **SynGenes** class. This function is the constructor of the class and is called when a new instance of the **SynGenes** class is created. \n \nWhen an instance of the **SynGenes** class is created, the constructor checks if the `SynGenes.xlsx` database exists at the specified path.\nIf it does not exist, it will attempt to create the **SynGenes directory** and **download the database from the GitHub repository**.\nIf verbose is **True**, status messages will be printed in the terminal to inform the user about the progress of these operations.\n\n#### Parameters:\n- `verbose (bool)`: If `True`, messages will be printed during execution. The default is `False`.\n\n#### Returns:\n- `None`\n\n#### Notes:\n- This function requires the `requests` library to be imported.\n- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.\n\n#### Usage Example:\n```python\nfrom SynGenes import SynGenes\nsg = SynGenes(verbose=False)\n```\n \n### `update`\n##### [:rocket: Go to Contents Overview](#contents-overview)\n#### `update(self, **kwargs)` \nUpdates the **SynGenes** database by **downloading it from the GitHub repository's stable branch**. If an existing database is found, it is removed before downloading the new one. \n\nThe `update` function checks if the `SynGenes.xlsx` database file exists in the user\u2019s computer.\nIf it does, the file is removed.\nThen, the function attempts to **download the latest version of the database from the specified GitHub repository URL**.\nIf the verbose parameter is set to **True**, the function will print messages to the console to inform the user of the progress, including the removal of the old database and the download of the new one.\n\n#### Parameters:\n- `verbose (bool)`: If `True`, messages will be printed during execution. The default is `False`.\n\n#### Returns:\n- The updated `SynGenes` database saved in the `SynGenes` folder.\n\n#### Notes:\n- This function requires the `requests` library to be imported.\n- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.\n\n#### Usage Example:\n```python\nfrom SynGenes import SynGenes\nsg = SynGenes()\nsg.update()\n```\n \n### `fix_gene_name`\n##### [:rocket: Go to Contents Overview](#contents-overview)\n#### `fix_gene_name(self, **kwargs)`\nCorrects the gene name according to the **SynGenes** database, ensuring it adheres to the standardized nomenclature. \n\nThe `fix_gene_name` function takes a gene name and corrects it based on the entries in the **SynGenes** database.\nIt supports both **mitochondrial (mt)** and **chloroplast (cp)** genes.\nIf the provided **gene name is found in the database**, **it is replaced with the standardized short name**.\n**If not found**, **the original name is returned, and a log entry is created**.\nThe function provides verbose output if the verbose parameter is set to **True**.\n\n#### Parameters:\n- `geneName (str)`: The gene name to be corrected.\n- `type (str)`: The type of gene (`mt` for Mitochondrial, `cp` for Chloroplast). The default is `mt`.\n- `verbose (bool)`: If set to `True`, messages will be printed during execution. The default is `False`.\n\n#### Returns:\n- `ShortName (str)`: The corrected gene name.\n\n#### Notes:\n- This function requires the `pandas` library to be imported.\n- The `SynGenes` database can be found at github.com/luanrabelo/SynGenes.\n\n#### Usage Example:\n```python\nfrom SynGenes import SynGenes\nsg = SynGenes()\n\n# Mitocondrial\n_geneName = sg.fix_gene_name(geneName='cytochrome c oxidase subunit I', type='mt')\nprint(_geneName)\n# Output: 'COI'\n\n# Chloroplast\n_geneName = sg.fix_gene_name(geneName='ATPsynthaseCF1 alpha subunit', type='cp')\nprint(_geneName)\n# Output: 'atpA'\n```\n \n### `build_query`\n##### [:rocket: Go to Contents Overview](#contents-overview)\n#### `build_query(self, **kwargs)`\nBuilds a query for Entrez search in **GenBank** or **PubMed** using the *SynGenes* database. \n\nThe `build_query` function constructs a query string that can be used for searching specific gene information in **GenBank** or **PubMed** databases.\nIt ensures that the **gene name is in the correct format** by referencing the predefined lists for **mitochondrial** and **chloroplast** genes.\nThe **search type** is also validated against a **list of acceptable formats**.\nIf the verbose parameter is **True**, the function will print informative messages during the query construction process.\n\n#### Parameters:\n- `geneName (str)`: The gene name to search. The gene name must be in the correct format; use the `fix_gene_name()` function to correct the gene name.\n- `type (str)`: The type of gene (`mt` for Mitochondrial, `cp` for Chloroplast). The default is `mt`.\n- `searchType (str)`: The type of search (Title, Abstract, All Fields, MeSH Terms). The default is All Fields.\n- `verbose (bool)`: If `True`, messages will be printed during execution. The default is `False`.\n\n#### Returns:\n- `query (str)`: The query for Entrez search in GenBank or PubMed.\n\n#### Notes:\n- This function requires the `pandas` library to be imported.\n- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.\n- Predefined lists `_listGenes_mt` and `_listGenes_cp` contain the correct formats for mitochondrial and chloroplast genes, respectively.\n- The `_listTypes` contains the valid formats for the search type.\n\n#### Usage Example:\n```python\nfrom SynGenes import SynGenes\nsg = SynGenes()\nquery = sg.build_query(geneName='COI', type='mt', searchType='Title')\nprint(query)\n# Output: '\"COI\"[Title] OR \"cytochrome c oxidase subunit I\"[Title] OR \"cytochrome c oxidase subunit 1\"[Title] OR \"chytochrome c oxidase subunit I\"[Title]...'\n```\n \n### `build_json`\n##### [:rocket: Go to Contents Overview](#contents-overview)\n#### `build_json(self, **kwargs)`\nCreates a JSON file containing the data from the **SynGenes** database. \n\nThe `build_json` function generates a **JSON file** that encapsulates the **SynGenes database\u2019s data**.\nIt takes the name of the file and the path where it should be saved as parameters.\nIf the file already exists, it is removed, and a new one is created.\nThe function provides verbose output if the verbose parameter is set to **True**, informing the user about the file creation process. \n\nDuring the creation of the **JSON file**, the function writes the data for **mitochondrial** and **chloroplast** genes into separate objects within the file.\nIt also records the date when the file was updated. The verbose output will notify the user when the **JSON file** is being created and once it has been successfully created.\n\n#### Parameters:\n- `fileName (str)`: The name of the JSON file. The default is `SynGenes.js`.\n- `pathSaveFile (str)`: The path where the JSON file will be saved. The default is the `SynGenes` folder in the current working directory.\n- `verbose (bool)`: If set to `True`, messages will be printed during execution. The default is `False`.\n\n#### Returns:\n- A `SynGenes.js` file in the `SynGenes` folder.\n\n#### Notes:\n- This function requires the `pandas` library to be imported.\n- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.\n- The function checks if the specified JSON file already exists and removes it before creating a new one.\n\n#### Usage Example:\n```python\nfrom SynGenes import SynGenes\nsg = SynGenes()\nsg.build_json()\n```\n \n### `version_syngenes`\n#### `version_syngenes(self)`\n##### [:rocket: Go to Contents Overview](#contents-overview)\nDisplays the current version of the **SynGenes** database. \n\nThe `version_syngenes` function outputs the version number of the **SynGenes database**. It does not take any parameters and does not return any value. Instead, it prints the version number directly to the console.\n\n#### Parameters:\n- None\n\n#### Returns:\n- None\n\n#### Notes:\n- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.\n\n#### Usage Example:\n```python\nfrom SynGenes import SynGenes\nsg = SynGenes()\nversion = sg.version_syngenes()\nprint(version)\n# Output: '1.0'\n```\n \n### `cite_syngenes`\n#### `cite_syngenes(self)`\n##### [:rocket: Go to Contents Overview](#contents-overview)\nProvides the citation format for the **SynGenes** database. \n\nThe `cite_syngenes` function outputs the correct citation format for referencing the **SynGenes database** in **academic work** or **publications**.\nIt does not take any parameters and does not return any value. Instead, it prints the citation instructions directly to the console.\n\n#### Parameters:\n- None\n\n#### Returns:\n- None\n\n#### Notes:\n- The `SynGenes` database is available at github.com/luanrabelo/SynGenes.\n\n#### Usage Example:\n```python\nfrom SynGenes import SynGenes\nsg = SynGenes()\nhowCite = sg.cite_syngenes()\nprint(howCite)\n# Output: Please, cite the SynGenes database as: ...\n```\n \n***\n## Web Form for SynGenes\n##### [:rocket: Go to Contents Overview](#contents-overview)\nWe have developed a user-friendly web form available at (https://luanrabelo.github.io/SynGenes) for researchers who wish to perform individual searches using various names associated with the same gene. This web form generates a command that incorporates multiple names, enabling precise searches on platforms such as the National Center for Biotechnology Information (NCBI) - GenBank and PubMed Central. \n***\n### **SynGenes** Development Team\n##### [:rocket: Go to Contents Overview](#contents-overview)\n- **Luan Rabelo**\n- Clayton Sodr\u00e9\n- Rodrigo Sousa\n- Luciana Watanabe\n- Grazielle Gomes\n- **Iracilda Sampaio**\n- **Marcelo Vallinoto**\n*** \n### Citing **SynGenes**\n##### [:rocket: Go to Contents Overview](#contents-overview)\nWhen referencing the **SynGenes** class, please cite it appropriately in your academic or professional work.\n```\nRabelo, L.P., Sodr\u00e9, D., de Sousa, R.P.C. et al. SynGenes: a Python class for standardizing nomenclatures of mitochondrial and chloroplast genes and a web form for enhancing searches for evolutionary analyses. BMC Bioinformatics 25, 160 (2024). https://doi.org/10.1186/s12859-024-05781-y\n```\n*** \n### Contact\n##### [:rocket: Go to Contents Overview](#contents-overview)\nFor reporting bugs, requesting assistance, or providing feedback, please reach out to **Luan Rabelo**:\n```\nluanrabelo@outlook.com\n```\n*** \n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "SynGenes is a Python class for standardizing mitochondrial/chloroplast gene nomenclatures.",
"version": "1.1.0",
"project_urls": {
"Download": "https://github.com/luanrabelo/SynGenes",
"Homepage": "https://github.com/luanrabelo/SynGenes"
},
"split_keywords": [
"syngenes",
"genes",
"bioinformatics",
"synonymous"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "23dce19f0696f39389514752131261522ce49e677b416103ddce94cebaffa850",
"md5": "bd040d0877c84b6195b23494d37908c1",
"sha256": "1e7727bf13e6b424516b36028d4e8cf55c6e7a3ef6323aaf363f91611a098671"
},
"downloads": -1,
"filename": "SynGenes-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bd040d0877c84b6195b23494d37908c1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11906,
"upload_time": "2024-11-12T13:26:27",
"upload_time_iso_8601": "2024-11-12T13:26:27.183389Z",
"url": "https://files.pythonhosted.org/packages/23/dc/e19f0696f39389514752131261522ce49e677b416103ddce94cebaffa850/SynGenes-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9bf8c20145a909fa455e93ea17f11712ef64ac0b9697bbdc8ff31b163d881468",
"md5": "741ea6baaee8d65b559057629981c9ec",
"sha256": "39046ecbc6676f456202d8c4ee27b90f8b1c8dc27b5a5a194b8e5a2dde9c7d7f"
},
"downloads": -1,
"filename": "SynGenes-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "741ea6baaee8d65b559057629981c9ec",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16200,
"upload_time": "2024-11-12T13:26:28",
"upload_time_iso_8601": "2024-11-12T13:26:28.210673Z",
"url": "https://files.pythonhosted.org/packages/9b/f8/c20145a909fa455e93ea17f11712ef64ac0b9697bbdc8ff31b163d881468/SynGenes-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-12 13:26:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "luanrabelo",
"github_project": "SynGenes",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "biopython",
"specs": []
},
{
"name": "openpyxl",
"specs": []
},
{
"name": "SynGenes",
"specs": []
}
],
"lcname": "syngenes"
}