10 Bioinformatics Projects for Your Portfolio (with Free Datasets)

Bioinformatics projects portfolio: a phylogenetic tree, a volcano plot, single-cell clusters, a variant call, a docked ligand and a survival curve

By Dr. Tamanna Anwar, PhD, Founder, Centre of Bioinformatics Research and Technology (CBIRT)

Most bioinformatics job descriptions ask for “hands-on experience with omics data”. For a student or fresher, the fastest way to prove that is not another certificate. It is a finished project on GitHub that an interviewer can open, read and ask you about.

The ten bioinformatics projects below all use free, public datasets, so you need no lab and no budget. They run from beginner to advanced. Pick two or three that match the job you want, finish them properly, and you will have more to talk about in an interview than most applicants.

The 10 projects at a glance

# Project Level Free dataset Main tools
1 Build a FASTA toolkit Beginner SARS-CoV-2 reference genome (NC_045512.2) Python, Biopython
2 Build a phylogenetic tree Beginner Coronavirus spike protein sequences from NCBI Virus BLAST, MAFFT, IQ-TREE or MEGA
3 Find genes changed by a drug (bulk RNA-seq) Intermediate airway dataset (GEO GSE52778) R, DESeq2, ggplot2
4 Call variants in a bacterial genome Intermediate E. coli long-term evolution reads (SRR2584866) BWA, SAMtools, BCFtools, IGV
5 Identify cell types in single-cell data Intermediate 10x Genomics PBMC 3k R, Seurat
6 Dock a ligand into a viral protease Intermediate PDB 6LU7 PyMOL, AutoDock Vina
7 Survival analysis in breast cancer Intermediate TCGA Breast Invasive Carcinoma (PanCancer Atlas) cBioPortal, R, survival
8 Profile a microbiome Intermediate QIIME 2 “gut-to-soil” tutorial data QIIME 2
9 Map human population structure Advanced 1000 Genomes Project Phase 3 PLINK, R
10 Classify leukemia with machine learning Advanced Golub leukemia data (golubEsets) R or Python, scikit-learn or caret

Beginner projects

1. Build a FASTA toolkit in Python

Data: the SARS-CoV-2 reference genome, NC_045512.2 on NCBI.

Steps: write a small Python tool with Biopython that reads a FASTA file and reports length, GC content and base counts; finds open reading frames; and translates them to protein. Add command-line options so others can run it on any FASTA file.

What it shows: clean Python, file handling and a tool other people can reuse.

2. Build a phylogenetic tree of coronavirus spike proteins

Data: spike protein sequences from SARS-CoV-2, SARS-CoV, MERS-CoV and related coronaviruses, downloaded from NCBI Virus.

Steps: run BLAST to find related sequences, align them with MAFFT, build a tree with IQ-TREE or MEGA, and annotate it.

What it shows: sequence databases, alignment and evolutionary interpretation, the foundation of most bioinformatics work.

Intermediate projects

3. Find genes changed by a drug (bulk RNA-seq)

Data: the airway Bioconductor package: gene counts from four human airway smooth muscle cell lines, treated or untreated with the steroid dexamethasone (GEO GSE52778; Himes et al., 2014).

Steps: load the counts in R, run differential expression with DESeq2, make a PCA plot, a volcano plot and a heatmap, then run pathway enrichment on the top genes.

What it shows: statistics on real expression data, which analyst job descriptions regularly ask for. Our R vs Python guide explains why R suits this project.

4. Call variants in a bacterial genome

Data: E. coli reads from a long-term evolution experiment (SRA run SRR2584866) and the REL606 reference genome (CP000819.1), as used in the Galaxy Training Network variant calling tutorial.

Steps: check quality with FastQC, align with BWA-MEM, sort and index with SAMtools, call variants with BCFtools, and view them in IGV. Our NGS data analysis for beginners guide walks through each command.

What it shows: a complete NGS pipeline from raw reads to variants, the core of genomics and diagnostics jobs.

5. Identify cell types in single-cell data

Data: 2,700 peripheral blood mononuclear cells (PBMCs) from 10x Genomics, the dataset used in the Seurat PBMC 3k tutorial.

Steps: filter low-quality cells, normalize, find variable genes, run PCA and UMAP, cluster the cells, and label clusters as T cells, B cells, monocytes and so on using marker genes.

What it shows: single-cell RNA-seq analysis, from raw counts to labeled cell types.

6. Dock a ligand into a viral protease

Data: PDB 6LU7, the SARS-CoV-2 main protease bound to the inhibitor N3 (X-ray, 2.16 Å).

Steps: prepare the protein and ligand, define the binding site around N3, re-dock N3 with AutoDock Vina to check your setup reproduces the crystal pose, then dock a few candidate molecules from PubChem and compare scores. Visualize poses in PyMOL.

What it shows: structural bioinformatics and drug-discovery workflow, including the habit of validating a method before trusting it.

7. Survival analysis in breast cancer

Data: the Breast Invasive Carcinoma (TCGA, PanCancer Atlas) study of 1,084 patients, explorable on cBioPortal.

Steps: explore mutation frequencies in cBioPortal, download clinical and mutation data, then in R compare survival between patients with and without a mutation in a gene such as TP53, using Kaplan–Meier curves and a log-rank test.

What it shows: working with clinical-scale cancer data and survival statistics.

8. Profile a microbiome

Data: the QIIME 2 “gut-to-soil” tutorial data: 16S rRNA (V4) sequences from a study on composting human excrement, comparing human excrement, the finished compost and food compost (Meilander et al., 2024). The tutorial uses one sequencing run, small enough for a laptop.

Steps: denoise paired-end reads with DADA2, assign taxonomy, compare diversity between sample types, plot taxonomic composition, and test which microbes differ between groups with ANCOM-BC2.

What it shows: amplicon analysis, used in microbiome, environmental and food-safety labs.

Advanced projects

9. Map human population structure

Data: variant calls for 2,504 people from 26 populations in the 1000 Genomes Project Phase 3.

Steps: filter variants with PLINK, prune linked variants, run a principal component analysis, and plot individuals colored by population.

What it shows: population genetics and handling large VCF files.

10. Classify leukemia with machine learning

Data: the classic Golub dataset in the golubEsets package: expression of 7,129 genes in 72 leukemia samples (47 ALL, 25 AML), with a ready-made 38/34 train–test split (Golub et al., 1999).

Steps: select informative genes using only the training set, train a classifier (for example, random forest or logistic regression), test it on the held-out samples, and report accuracy and the top genes.

What it shows: machine learning on omics data, done properly: no information from the test set leaks into training.

How to present a project on GitHub

An interviewer will spend about as long on your repository as on your CV, so make the first screen count. Use this README structure for every project:

# Differential expression in dexamethasone-treated airway cells

## Question
Which genes change when airway smooth muscle cells are treated with dexamethasone?

## Data
airway Bioconductor package (GEO GSE52778): 4 cell lines, treated vs untreated.

## Methods
DESeq2 for differential expression; clusterProfiler for pathway enrichment.

## Key results
- 1 sentence with the main finding and a number
- Volcano plot and heatmap (images below)

## How to run
conda env create -f environment.yml
Rscript analysis.R

## What I would do next
1–2 lines on limitations and follow-up analyses.

Before you share the link, check:

  • The README answers “what question, what data, what result” in the first screen
  • The data source is linked with its accession number
  • Code runs from start to finish on a fresh machine (include environment.yml or requirements.txt)
  • Plots are labeled, with units and a one-line caption
  • No large raw data files are committed; scripts download them instead
  • You can explain every step in your own words in an interview

Which projects to pick for the job you want

You do not need all ten. Two or three projects that match one role are stronger than ten half-finished ones.

Target role Build these Why
Bioinformatics Analyst 1, 3, 4 Coding, expression statistics and an NGS pipeline cover most analyst job descriptions
Genome / Variant Analyst 4, 7, 9 Variant calling, clinical cancer data and population variation
Research project (Project Associate, JRF, PhD) 3, 5, plus one in the lab’s own area Shows you can analyze the data types most labs generate
Drug discovery / structural roles 2, 6 Sequence-to-structure reasoning and docking
Microbiome or environmental labs 2, 8 Phylogenetics and amplicon analysis
Data science in biotech 3, 7, 10 Statistics, clinical data and machine learning

For more on these roles, pay and who hires, see our guide to bioinformatics jobs for freshers. If you want a mentor while you build, an internship with real data is the next step.

Build your first project with CBIRT

CBIRT runs industry-focused skill development programs in bioinformatics, taught live online by experienced trainers. Each program works on public datasets like the ones above and ends with an assignment or project you can add to your portfolio, plus a certificate on completion. Want to build one project end to end with a mentor? See our project-based internship in bioinformatics.

See upcoming programs, dates and fees →

Frequently asked questions

What are good bioinformatics projects for beginners?

Start with a Python FASTA toolkit and a phylogenetic tree (projects 1 and 2). Both use small public datasets, run on a laptop and teach the basics: files, sequences, alignment and databases.

Where can I get free data for bioinformatics projects?

NCBI (GenBank, SRA, GEO), the Protein Data Bank, TCGA through cBioPortal, the 1000 Genomes Project and Bioconductor data packages are all free. Every project above links to its dataset.

How many projects should I have in my portfolio?

Two or three finished, well-documented projects that match the role you want are enough for most entry-level applications.

Can I do these projects on a laptop?

Projects 1, 2, 3, 5, 6, 7, 8 and 10 run on an ordinary laptop. Projects 4 and 9 run on a laptop with a small subset of the data; full-size versions need more memory.

Should I use R or Python?

Use R for statistics-heavy projects (3, 5, 7) and Python for tools and machine learning (1, 10). Our R vs Python guide explains the choice.

Sources

Related reading on CBIRT: Bioinformatics jobs for freshers · NGS data analysis for beginners · R vs Python for bioinformatics · Bioinformatics internship in India

Related articles

Leave a Reply

Your email address will not be published. Required fields are marked *