Insert mutations in a reference genome from a vcf
2
2
Entering edit mode
5.9 years ago
IP ▴ 770

Hi Biostars,

I am looking for a tool to introduce variants in a reference genome.

The ideal tool I am looking for:

Takes as input:

  • genome fasta

  • a vcf file

What it does:

  • Insert some of the variants (randomly) present in the vcf into the reference genome

What is the output

  • The ideal output would be a mutated new reference fasta, and a vcf file (The vcf file is not that important).

The reason I am looking for this is because I am working on simulation tool, but I would be happy to rely on a third party software to introduce the mutations.

cheers,

sequencing snp simulation • 3.1k views
ADD COMMENT
0
Entering edit mode

use consensus from bcftools. https://samtools.github.io/bcftools/bcftools.html#consensus IP

copy/pasted from manual:

# Apply variants present in sample "NA001", output IUPAC codes for hets
bcftools consensus -i -s NA001 -f in.fa in.vcf.gz > out.fa
ADD REPLY
6
Entering edit mode
5.9 years ago
GenoMax 148k

Not exactly what you are asking but if you are not wedded to specific vcf files then you could go the other way by using mutate.sh from BBMap suite. Lots of processing parameters you can control.

$ mutate.sh

Written by Brian Bushnell
Last modified December 13, 2018

Description:  Creates a mutant version of a genome.

Usage:  mutate.sh in=<input file> out=<output file> id=<identity>
I/O parameters:
in=<file>       Input genome.
out=<file>      Output mutant genome.
vcf=<file>      VCF file showing variants added.
ADD COMMENT
0
Entering edit mode

I have test this tool, and it is doing (ultrafastly!) what I was looking for. Thanks!

ADD REPLY
4
Entering edit mode
5.9 years ago

GATK FastaAlternateReferenceMaker does almost what you want, selecting randomly some variants is something you'll have to handle.

ADD COMMENT

Login before adding your answer.

Traffic: 1885 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6