Skip to main content

BioLove: Automated FASTA feature extraction and feature selection pipeline using IFS and RFE

Project description

BioLove

BioLove is a command-line bioinformatics toolkit for automated FASTA sequence feature extraction and machine-learning driven feature selection.

The tool transforms biological sequences into structured feature matrices and performs independent feature selection using Incremental Feature Selection (IFS) and Recursive Feature Elimination (RFE) across multiple machine learning models.


PyPI Package

BioLove is available on the Python Package Index:

https://pypi.org/project/biolove/1.0.0/


Workflow

BioLove Workflow

Workflow illustrating automated FASTA sequence feature extraction, dataset construction, and independent feature selection using Incremental Feature Selection (IFS) and Recursive Feature Elimination (RFE), followed by multi-model evaluation.


Key Features

  • FASTA sequence parsing

  • Large-scale feature extraction

  • Nucleotide composition descriptors

  • Dinucleotide and trinucleotide frequencies

  • GC content and GC skew

  • Shannon entropy

  • Z-curve representation

  • Data analysis and feature normalization

  • Independent feature selection pipelines:

    • Incremental Feature Selection (IFS)
    • Recursive Feature Elimination (RFE)
  • Multiple machine learning models

  • Multi-core parallel processing

  • Structured CSV outputs ready for downstream modelling


Installation

Install directly from PyPI:

pip install biolove

Command Line Usage

BioLove can be executed from the command line after installation.

Example:

biolove --pos positive.fasta --neg negative.fasta --out results --cores 8

CLI Help

Running the help command:

biolove --help

Displays:

usage: biolove [-h] --pos POS --neg NEG --out OUT [--cores CORES]

BioLove: FASTA Feature Extraction and Feature Selection Pipeline

options:
  -h, --help     show this help message and exit
  --pos POS      Positive FASTA file
  --neg NEG      Negative FASTA file
  --out OUT      Output directory
  --cores CORES  CPU cores

Output

Running BioLove generates a structured output directory containing feature datasets and model evaluation results.

Example structure:

results/

consolidated_features.csv

IFS_RandomForest_top5.csv
IFS_RandomForest_top10.csv
IFS_SVM_top20.csv

RFE_LogisticRegression_top20.csv
RFE_SVM_top50.csv

performance_summary.csv

Each feature dataset contains:

FASTA_Header
Label
Selected_Features

These files can be directly used for downstream machine learning models.


Feature Categories

BioLove extracts biologically meaningful sequence descriptors including:

Nucleotide Composition

  • Mononucleotide frequencies
  • Dinucleotide composition
  • Trinucleotide composition

Physicochemical Properties

  • GC content
  • GC skew

Mathematical Descriptors

  • Shannon entropy

Structural Representation

  • Z-curve coordinates

Feature Selection Strategies

BioLove implements two independent feature selection pipelines.

Incremental Feature Selection (IFS)

Features are ranked by importance and incrementally evaluated across multiple machine learning models to identify optimal subsets.

Recursive Feature Elimination (RFE)

Features are recursively removed according to model importance until optimal feature subsets remain.


Machine Learning Models

Feature subsets are evaluated using:

  • Random Forest
  • Support Vector Machine
  • Logistic Regression
  • Gradient Boosting

Author

Love Kaushik


License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biolove-1.0.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

biolove-1.0.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file biolove-1.0.1.tar.gz.

File metadata

  • Download URL: biolove-1.0.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for biolove-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4dec26ac0cd9420be3c3dcf75a516afc9bb80397e0316debabf22b844d233c82
MD5 8bbdc818a9e5f4d349728740557ae59b
BLAKE2b-256 b8abc117d92cdad6f4352265fe5f709c6e2187dadeeae2dd139d84ad2a7e027c

See more details on using hashes here.

File details

Details for the file biolove-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: biolove-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for biolove-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 48eebc4df4799cc22bead1bef230d28366287496f62b9fa77ae621cb03344fb2
MD5 faf4d76ae5e0a03f50616ea8f81a5a4f
BLAKE2b-256 3be543c5e8ee3ff90da1ec0740dcb9347cffe88a00ead304ffbee5269732db6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page