# problem of “ordering in physical positions” phasing SNPs with Shapeit

I'm trying to phase my data (whole genome resequencing SNPs) with Shapeit (from ped file) and I get this error message :

[33mERROR:[0m Wrong ordering in physical positions curr_pos=54 prev_pos=65


I found that it's due to the fact that my .map file is like this (4 columns):

Chromosome_number    SNP_ID   SNP_genetic_position    SNP_physical_position
Contig100131            .              0                        65
Contig100220            .              0                        54


And Shapeit only looks at SNP_physical_position but does not check if the SNPs are on the same contig or not and so it says it is not happy because position 54 is after 65!

How could I make it understand that the positions are not in the same contig and so there is no mistake? Must I run Shapeit per contig (I have a lot of them so I hope not)?

• Why don't you just sort the index file? Will that work? It might still complain if you have multiple instances of the same position, I guess, but try: sed 's/ */\t/g' foo.map | sort -nk4 > new.map and then using the new.map file. If that works, let me know and I will post an answer. – terdon Nov 17 '17 at 16:19
• On second thought, that shouldn't work. That would mean you would have the contigs not in order and if the program doesn't take the contig name into account, that would mess everything up. – terdon Nov 17 '17 at 18:00

for chr in $(seq 1 22) ; do plink --file example --chr$chr --recode --out example_chr\$chr ; done
You will obtain 44 files; example_chr1.ped, example_chr1.map, ..., example_chr22.ped, example_chr22.map that you can phase separately.
• what format does the file example need to be in? i.e. what order of columns? header? my map is in order `pos chr cM' – Brian Wiley Feb 3 at 22:11