v1.2. contains the following implementations and changes:
- small updates to the runner
- introduced a Mamba environment to simplify the installation of most tools; only GEM requires manual installation
- the generation of blocks has been reverted to v1.0 (see figure below panel on the left), while the ranking from v1.1 is retained solely to facilitate the filtering phase. Briefly, block boundaries are determined only by chromosome changes and genotype, not by ranking. The rationale behind this choice is that the original strategy provides a more realistic and faithful representation of introgression, preserving regions where genotyping failed due to excessive divergence between species.
- added a script to generate a heatmap of the introgressed blocks,
- simplified outputs in
int: for each sample, a PDF and a TXT file are generated containing relevant information about the blocks and their overlap with genes
An automated computational framework for detecting Saccharomyces paradoxus introgression in Saccharomyces cerevisiae strains from paired-end illumina sequencing.
- Clone the repository:
git clone --recursive https://github.com/nicolo-tellini/intropipeline.git
- Install dependencies:
mamba create -f intropipeline.yml mamba activate intropipeline-env
- Install GEM
- Place your gzipped paired-end FASTQ files in the
seqdirectory, named as*_1.fastq.gzand*_2.fastq.gz. - Configure options in
runner.sh. - Run the pipeline:
nohup bash runner.sh & - Find results in the
intdirectory.
v1.1. contains the following implementations and changes:
-
minimap2replacedbwa memalmost halving the running time (see Heng Li 2018, Bioinformatics) achieving comparable results;sample: ERR3010122
threads: 2
Architecture: x86_64
CPU: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
script Elapsed Time Maximum resident set size (GB) bwa mem + samtools (v1) 6:21 (m:ss) 1.3 minimap2 + samtools (v1.1) 3:36 (m:ss) 1.3 -
improved the reproducibility of the mapping by implementing the standard samtools workflow according to samtools' guideline
-
improved the robustness of the mapping by appending the name of the strain to a checkpoint (cps) file (
./cps/cps.txt). The strains which names are stored in./cps/cps.txtwill not be mapped again. -
introduced
data.table,lapplyand custom function for large file manipulation for reducing runtime and RAM load. example:sample: ERR3010122
threads: 2
Architecture: x86_64
CPU: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
script Elapsed Time (s) Maximum resident set size (GB) parser_marker.r (v1) 0:17 s 0.8 parser_marker.r (v1.1) 0:06 s 0.5 clrs.r (v1) 0:49 s 1.9 clrs.r (v1.1) 0:17 s 0.7 -
introduced the variables
nSamplesandnThreadsinsiderunner.sh. The first variable controls the number of samples to run in paralell and the second the per-samples number of threads.nSamplesguarantees a constant number of samples running in parallel; as soon as the count drop of one sample an other will start to run. The definition of these variables affect the scriptsminimap2.sh(which replacesbwa.sh),bcftools_markers.sh(which replacessamtools_marker.sh) andfreec.sh; -
corrected an error that prevented the detection of the CNVs;
-
Added a new approach for merging markers in blocks:
In v1 the markers are (1) genotyped, (2) filtered and (3) joined as long as they are consecutive and carry the same information. In v1.1 this does not change.
In v1.1 the markers are (1) ranked, (2) genotyped, (3) filtered, (4) joined as long as they are consecutive in the ranking and carry the same information. v1 did not use the ranking. Inevitably, this results in a more fragmented signal. The ranking also represents the strategy that allowed the speedup of
clrs.r(the script that generates the blocks).
v1.0. is described in Tellini, et al. 2024 Nat. EcoEvo, for detecting S.par introgressions in S.cer strains.
:
git clone --recursive https://github.com/nicolo-tellini/intropipeline.git📂 :
.
├── rep
│ ├── Ann
│ └── Asm
├── runner.sh
├── scr
└── seq
5 directories 1 file
rep: repository with assemblies, annotations and pre-computed marker table,runner.sh: the script you edit and run,scr: scripts,seq: put the FASTQs files here,
Move the FASTQs inside ./seq/
Paired-end FASTQs data must be gziped and suffixed with _1.fastq.gz and _2.fastq.gz.
Edit runner.sh 📃
############################
# User configuration
############################
# References
ref1Label="Scc"
ref2Label="CBS432" # S. paradoxus reference assembly label
ref2="EU" # Short name for reference
# Resources
nSamples=5
nThreads=8
# Switches
indexing="yes" # yes|no
fastqQC="yes" # yes|no|-
shortReadMapping="yes" # yes|no
mrkgeno="yes" # yes|no
cnv="yes" # yes|no
intro="yes" # yes|no
heatmap="yes" # yes|no
Run runner.sh 🏃
nohup bash runner.sh &
The results concerning the introgressions are stored in ./int
Ex.
An Alpechin strain:
Blue-Red plots provides an overview of potential introgressed DNA across the genome. The interpretation of the results is a process that require the integration of different data the pipeline produces.
❗ Reminder: blocks are defined as consecutive markers besring the same genomic info (Homo S.cer, Homo S.par, Het).
How are markers distributed inside the S.par block?
A couple of possible scenarious:
Case 1: abundant markers supporting the block
❗ Note: Only a few markers in the figure above are represented in the cartoon;
Case 2: not so abundant markers suporting the block
❗ Note: you should not exclude the possibility that a large events is supported by a low number of markers as in the example.
The number of markers supporting the blocks, the marker density and the info concerning the genotype are stored in the TXT in int.
The dependencies are now stored inside intropipeline.yml. GEM can be found and installed at the link. sambamba is provided in scr dir.
To install the env: mamba create -f intropipeline.yml and mamba activate intropipeline-env.
Marker definition Methods
Please cite this paper when using intropipeline for your publications.
Also, do not forget to cite the papers of the tools used. You can find them inside intropipeline.yml plus GEM and sambamba.
Ancient and recent origins of shared polymorphisms in yeast
Nicolò Tellini, Matteo De Chiara, Simone Mozzachiodi, Lorenzo Tattini, Chiara Vischioni, Elena S. Naumova, Jonas Warringer, Anders Bergström & Gianni Liti
Nature Ecology and Evolution, 2024, https://doi.org/10.1038/s41559-024-02352-5
@article{tellini2024ancient,
title={Ancient and recent origins of shared polymorphisms in yeast},
author={Tellini, Nicol{\`o} and De Chiara, Matteo and Mozzachiodi, Simone and Tattini, Lorenzo and Vischioni, Chiara and Naumova, Elena S and Warringer, Jonas and Bergstr{\"o}m, Anders and Liti, Gianni},
journal={Nature Ecology \& Evolution},
pages={1--16},
year={2024},
publisher={Nature Publishing Group UK London}
}
- v1.0 released in 2023
- v1.1 released in 2024
- v1.2 released in 2025






