Currently, I am working on NGS data and my aim is to get significance prediction of variants present in the vcf file. As we know about SIFT Score for significance score prediction, I am trying to understand how this score works. When I read its reference paper, in the method section, the procedure to determine the sift score starts with patient protein query sequence.

My question is how to get patient protein sequence from patient data (either vcf file or bam file) (which is not explained in the paper). Rest I can follow by other algorithms like PSI-BLAST & MOTIF.

Any suggestions....



2 Answers 2


Ensembl now have a tool called Haplosaurus (still in beta) which will convert your phased VCF into actual protein sequences.


haplo is a local tool implementation of the same functionality that powers the Ensembl transcript haplotypes view. It takes phased genotypes from a VCF and constructs a pair of haplotype sequences for each overlapped transcript; these sequences are also translated into predicted protein haplotype sequences. Each variant haplotype sequence is aligned and compared to the reference, and an HGVS-like name is constructed representing its differences to the reference.

This approach offers an advantage over VEP's analysis, which treats each input variant independently. By considering the combined change contributed by all the variant alleles across a transcript, the compound effects the variants may have are correctly accounted for.

haplo shares much of the same command line functionality with vep, and can use VEP caches, Ensembl databases, GFF and GTF files as sources of transcript data; all vep command line flags relating to this functionality work the same with haplo.


Input data must be a VCF containing phased genotype data for at least one individual; no other formats are currently supported.

When using a VEP cache as the source of transcript annotation, the first time you run haplo with a particular cache it will spend some time scanning transcript locations in the cache.

./haplo -i input.vcf -o out.txt -cache
  • $\begingroup$ ,@terdon : Thanks to both. I tried this. But I got some errors. Error is Attempt to reload Bio/EnsEMBL/VEP/TranscriptTree.pm aborted.. Although this file is present. I have checked and confirmed this. I have also checked the similar issue at github (github.com/Ensembl/ensembl-vep/issues/169) which is still unsolved. Can you help me with this. Thanks. $\endgroup$ Commented May 17, 2018 at 12:22
  • $\begingroup$ You're best sticking with Irina on GitHub with this. She's working directly on developing the tool so will have the best insight and, if it's down to a bug, she can fix it. $\endgroup$ Commented May 17, 2018 at 15:24
  • $\begingroup$ I see that Irina has now solved this on GitHub. If anyone else has a similar problem, click through to the linked GitHub issue to see the resolution. $\endgroup$ Commented May 18, 2018 at 9:58
  • $\begingroup$ Thanks for software support. One last problem is stopping me to mark this as correct answer. I am not able to interpret output file. From your answer, I was expecting real protein sequence but I am getting many lines like this ENST00000342066 ENST00000342066:1027T>C ENSP00000342313:343W>R rs6672356 SM_5:2 in output file. Where is the protein sequence. How to read or interpret the output of ./haplo. Thanks. $\endgroup$ Commented May 21, 2018 at 11:09
  • 1
    $\begingroup$ The json option will give you sequence $\endgroup$ Commented May 22, 2018 at 8:50

You can use SIFT in two different ways. One way is manually via their website. This is done by downloading the protein sequence (fasta) from a reliable repository (e.g., uniprot or NCBI), and change the amino acid of interest. Then calculate the SIFT score.

The other way, which is probably what you are interested in is with NGS data. Here normally SIFT is already known (precalculated) for all coding SNPs, and you can use that info directly during annotation of your variants. I don't know which variant annotation pipeline you are using, but for example annovar has SIFT data available at their databases repository.

  • $\begingroup$ You mean to say that for each variant at specific position (SNP especially), SIFT database has already determined which protein it will affect or what will be its corresponding protein sequence and how much similar it is with reference protein sequence and what will be its similarity score. Is SIFT score valid for INDELs also. $\endgroup$ Commented May 16, 2018 at 4:41
  • 1
    $\begingroup$ Yes SIFT scores for the human genome are already precalculated, and you can use these scores for annotation of your variants (that is more efficient than to calculate them over and over again with each analysis, doesn't it?). SIFT works only for an amino acid substitution, that means nonsynonomous SNV. So no indels. $\endgroup$
    – benn
    Commented May 16, 2018 at 7:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.