Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plastomics

DOI License: MIT

Analysis code for comparative plastome genomics in the genus Cicer, from the Bioengineering & Molecular Genetics Laboratory (BMGLab), Ege University.

This repository contains the complete computational pipeline for:

Kaymaz Y, Temel M, Ates D, Tanyolaç MB. Plastome phylogenomics of annual Cicer: structural synapomorphies delimit the chickpea gene pools. (submitted)

The study assembles a quality-controlled panel of 14 complete plastid genomes spanning all nine annual Cicer species with deposited plastomes, and analyses phylogeny, structural rearrangements, nucleotide diversity, barcode resolution, episodic selection, and maternal population structure across 41 wild accessions.


What the pipeline does

Stage Scripts Purpose
Panel assembly & QC 0107 Build the 14-genome panel, normalize strand/rotation/isomer, structural scan, alignment QC, outgroup handling, character polarization
Coding sequences 1012 CDS extraction from native annotations plus exon-aware homology transfer
Diversity & markers 13, 14, 17, 18, 18b Sliding-window π and hotspots, SSR/repeat scans, codon usage, barcode resolution screening
Selection 15, 16, 19 Codon alignments, HyPhy BUSTED/FEL, BH-FDR summary
Phylogenetics 20, 21 Partitioned concatenation, gene/site concordance factors, rooted supermatrix
Figures 3035, 61 All main and supplementary figures
Verification 50_audit Re-extraction and rebuild steps applied after internal audit
Population module 60, 62, 61 SRA streaming, mapping, reference-length consensuses, haplotype networks, diagnostic-site validation, structural scoring from read pairs

Scripts are numbered in execution order. Stages are independent once their inputs exist.

Requirements

conda env create -f envs/environment.yml
conda activate plastomics

External tools and versions used for the published analyses: MAFFT 7.490, MUMmer 4.0.0rc1 (nucmer/dnadiff), IQ-TREE 3.1.2, HyPhy 2.5.93, minimap2 2.24, samtools 1.18, SRA Toolkit (fastq-dump); Python 3.13 with Biopython 1.87, NumPy 2.3, SciPy 1.16, matplotlib 3.10, networkx 3.5.

Configuration

No paths are hardcoded. Every script resolves its working directory from environment variables, falling back to ./work inside the repository:

export PLASTOMICS_PANEL=/path/to/working/dir      # analysis outputs (default: ./work)
export PLASTOMICS_DOWNLOADS=$PLASTOMICS_PANEL/downloads   # GenBank/FASTA downloads
export IQTREE_BIN=iqtree3                          # optional binary overrides
export HYPHY_BIN=hyphy

Input data

The pipeline consumes only public sequence data plus the four genomes generated by this laboratory; nothing in this repository needs to be regenerated by hand.

  • Plastome assemblies — the 14-genome panel and outgroups are listed with their accessions in metadata/panel_accessions.tsv. Four are our own submissions under ENA project PRJEB47534 (OU707005.1, OU707007.1, OU707008.1, OU707011.1); the remainder are public NCBI/ENA records.
  • Population resequencing — 41 runs from BioProject PRJNA416007 (von Wettberg et al. 2018), listed in metadata/pop_picks.tsv and streamed directly from the SRA by scripts/62_pop_consensus_batch.sh.
  • metadata/population_accessions.tsv records the species assignment, haplotype and callable fraction obtained for each run.

Running

# 1. fetch reference records into $PLASTOMICS_DOWNLOADS, then:
python scripts/01_panel_table.py
python scripts/02_normalize.py
python scripts/03_struct_scan.py
# ... continue in numeric order

# population module (streams ~1.5M read pairs per run; several hours, ~10 GB transient)
bash scripts/62_pop_consensus_batch.sh
python scripts/60_pop_analysis.py

Figure scripts can be run once their upstream stage has completed.

Notes on reproducibility

  • NC_011163.1 (the C. arietinum RefSeq record) carries two compensating single-nucleotide indels in rpoC2 that frameshift the intervening block. The selection pipeline masks these codons; the pre-correction outputs are retained for comparison. Analyses that reuse this reference without masking will recover a spurious rpoC2 selection signal.
  • OU707005.1 is deposited as the alternative ir133 flip-flop isomer. 02_normalize.py restores it to the panel-majority configuration. Skipping this step converts an isomer difference into roughly 20 kb of spurious divergence.
  • The trnN-GUU inversion window is masked before phylogenetic inference so that the structural character stays independent of the topology it annotates.

Citing this code

If you use this pipeline, please cite the archived release:

Kaymaz Y, Temel M, Ates D, Tanyolaç MB (2026). Plastomics: comparative plastome analysis pipeline for annual Cicer (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.21914078

License

Code released under the MIT License (see LICENSE). Sequence data are subject to the terms of the originating public repositories.

Contact

Corresponding author: Prof. Dr. Muhammed Bahattin Tanyolaç — bahattin.tanyolac@ege.edu.tr Ege University, Faculty of Engineering, Department of Bioengineering, İzmir, Türkiye

About

Comparative plastome analysis pipeline for annual Cicer (BMGLab, Ege University)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages