SynGenes


NameSynGenes JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/luanrabelo/SynGenes
SummarySynGenes is a Python class for standardizing mitochondrial/chloroplast gene nomenclatures.
upload_time2024-11-12 13:26:28
maintainerLuan Rabelo
docs_urlNone
authorLuan Rabelo
requires_pythonNone
licenseMIT License
keywords syngenes genes bioinformatics synonymous
VCS
bugtrack_url
requirements requests pandas biopython openpyxl SynGenes
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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**.
&nbsp;  
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**.
&nbsp;  
***
## 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)
```
&nbsp;  
### `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()
```
&nbsp;  
### `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'
```
&nbsp;  
### `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]...'
```
&nbsp;  
### `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()
```
&nbsp;  
### `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'
```
&nbsp;
### `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: ...
```
&nbsp;    
***
## 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&nbsp;  \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&nbsp;  \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&nbsp;  \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&nbsp;  \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&nbsp;  \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&nbsp;  \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&nbsp;  \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&nbsp;\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&nbsp;    \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"
}
        
Elapsed time: 4.27198s