PDA

View Full Version : Google Map with position of every chromosome (SPA programm). Somebody try this?



Lucas
05-24-2017, 11:50 AM
Dick told me about it.
Here is my map. Very interesting. SPA (Spatial Ancestry Analizing) analize your raw data. There aren't taken from Gedmatch calculator.

Here how it works http://www.anthrogenica.com/showthread.php?6662-Spacial-Ancestral-Analysis-maps-by-chromosome

http://genetics.cs.ucla.edu/spa/23andme.html

You must cut your genome to 22 files with every chromosome data. Later you analize it using SPA. And finally get 22 location fo every chromosome.
https://s11.postimg.org/5joqarwsj/spa.jpg

Lucas
05-24-2017, 11:57 AM
Map with localization for whole, nondivided genome. Possible radius for localization is 500 km. In my case Greater Poland is here. Not far from Central Poland, which is my main ancestry.

In my opinion whole genome localization shows your more recent ancestry. But localizations for chromosomes reflect some ancient roots. Inb my case Proto-Slavic, Baltic, North-Germanic, Celtic. I'm not sure about Czechia and Austria... Maybe some local, Bronze Age autochtonic population?

https://s18.postimg.org/6nas317ah/image.jpg

magicalM
05-24-2017, 12:17 PM
It works only for 23andme. I have familytreedna. Is there any solution to this problem? Thanks

Sent from my LG-H815 using Tapatalk

Lucas
05-24-2017, 12:58 PM
Yes convert using this program http://www.y-str.org/2013/06/autosomal-dna-converter.html

Lucas
05-24-2017, 01:14 PM
In SPA use this command for every chromosome file (which you created using R)
spa --mfile 23andMe_1.txt --model-input europe.model --location-output chr1.loc

Also correct R input. Change c:\\aconv\\dnaland.txt to your path to file. X at the end is by purpose.

genotype<-read.table("c:\\aconv\\dnaland.txt",as.is=T)
index<-which(genotype[,2]==1);gen1<-genotype[index,];write.table(gen1,"c:\\aconv\\dnaland_1.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==2);gen2<-genotype[index,];write.table(gen2,"c:\\aconv\\dnaland_2.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==3);gen3<-genotype[index,];write.table(gen3,"c:\\aconv\\dnaland_3.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==4);gen4<-genotype[index,];write.table(gen4,"c:\\aconv\\dnaland_4.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==5);gen5<-genotype[index,];write.table(gen5,"c:\\aconv\\dnaland_5.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==6);gen6<-genotype[index,];write.table(gen6,"c:\\aconv\\dnaland_6.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==7);gen7<-genotype[index,];write.table(gen7,"c:\\aconv\\dnaland_7.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==8);gen8<-genotype[index,];write.table(gen8,"c:\\aconv\\dnaland_8.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==9);gen9<-genotype[index,];write.table(gen9,"c:\\aconv\\dnaland_9.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==10);gen10<-genotype[index,];write.table(gen10,"c:\\aconv\\dnaland_10.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==11);gen11<-genotype[index,];write.table(gen11,"c:\\aconv\\dnaland_11.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==12);gen12<-genotype[index,];write.table(gen12,"c:\\aconv\\dnaland_12.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==13);gen13<-genotype[index,];write.table(gen13,"c:\\aconv\\dnaland_13.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==14);gen14<-genotype[index,];write.table(gen14,"c:\\aconv\\dnaland_14.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==14);gen14<-genotype[index,];write.table(gen14,"c:\\aconv\\dnaland_14.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==15);gen15<-genotype[index,];write.table(gen15,"c:\\aconv\\dnaland_15.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==16);gen16<-genotype[index,];write.table(gen16,"c:\\aconv\\dnaland_16.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==17);gen17<-genotype[index,];write.table(gen17,"c:\\aconv\\dnaland_17.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==18);gen18<-genotype[index,];write.table(gen18,"c:\\aconv\\dnaland_18.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==19);gen19<-genotype[index,];write.table(gen19,"c:\\aconv\\dnaland_19.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==20);gen20<-genotype[index,];write.table(gen20,"c:\\aconv\\dnaland_20.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==21);gen21<-genotype[index,];write.table(gen21,"c:\\aconv\\dnaland_21.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==22);gen22<-genotype[index,];write.table(gen22,"c:\\aconv\\dnaland_22.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==x);genx<-genotype[index,];write.table(genx,"c:\\aconv\\dnaland_x.txt",sep="\t",quote=F,row.names=F,col.names=F)

Enflamme
05-24-2017, 01:16 PM
Yes convert using this program http://www.y-str.org/2013/06/autosomal-dna-converter.html

"Why will this not open on my computer? It flashes briefly but then refuses to open. I have the right windows utility...."

Same.

magicalM
05-24-2017, 01:56 PM
The spa programme doesn't open. I did copy the text from my dna land profile. They ask me what program I want to open the file with

Sent from my LG-H815 using Tapatalk

magicalM
05-24-2017, 01:57 PM
Could I send you the text if not too much hassle
😐

Sent from my LG-H815 using Tapatalk

de Burgh II
05-24-2017, 02:24 PM
I have; it is a very useful tool nonetheless.

Made a similar post a while back for SPA:


That seems to run primarily on 23andme text autosomal files.

http://genetics.cs.ucla.edu/spa/

You are going to need to run this via your command prompt on your computers which everyone is issued with.

Create a folder under your documents called "SPA" before you download the components from the website.

Once you download the world and europe models into the SPA folder; extract the zip files four times until you get "world.model and europe.model" for each files needed in order to run your autosomal files.

Next are the necessary coding instructions in order to run your 23andme raw data in command prompt:

First is building a path to your folder named "spa" (that you will create in your documents section before you downloaded all the files from the site.

Enter in these simple commands into command prompt if you followed these instructions so far:


cd documents -------------> Then, cd spa

Now with the command prompt in sync with our file location being the folder SPA...

This is the next step:

FOR PEOPLE OF EUROPEAN DESCENT FOR ACCURACY

Following commands:

Ancestral approximation (singular phase):

spa --mfile file name for your 23andme raw data here.txt --model-input europe.model --location-output 23andMe.loc

If done right: should look like this:
https://s9.postimg.org/l2l3zwlr3/Untitled.jpg

Ancestral approximation split into two:


spa -n 2 --mfile file name for your 23andme raw data here.txt --model-input europe.model --location-output 23andMe.loc

Should look like this if done correctly:
https://s8.postimg.org/mwfpx96et/Untitledd.jpg


FOR MIXED ANCESTRIES/NON-EUROPEAN ANCESTRIES; same commands in command prompt is similar, but is altered slightly

WORLD MODEL; Ancestral approximation (singular phase):

spa --mfile file name for your 23andme raw data here.txt --model-input world.model --location-output 23andMe.loc

WORLD MODEL; Ancestral approximation broken into two:

spa -n 2 --mfile file name for your 23andme raw data here.txt --model-input world.model --location-output 23andMe.loc

etc.


CHROMOSOMAL BREAK DOWN

Download r program here: https://www.r-project.org/

OPEN R PROGRAM UP

File -----> Change Dir.... ---------> My Documents --------> SPA

Copy and paste this command into microsoft word or similar program



genotype<-read.table("adna.txt",as.is=T)
index<-which(genotype[,2]==1);gen1<-genotype;write.table(gen1,"adna _1.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==2);gen2<-genotype[index,];write.table(gen2,"adna _2.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==3);gen3<-genotype[index,];write.table(gen3,"adna _3.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==4);gen4<-genotype[index,];write.table(gen4,"adna _4.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==5);gen5<-genotype[index,];write.table(gen5,"adna _5.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==6);gen6<-genotype[index,];write.table(gen6,"adna _6.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==7);gen7<-genotype[index,];write.table(gen7,"adna _7.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==8);gen8<-genotype[index,];write.table(gen8,"adna _8.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==9);gen9<-genotype[index,];write.table(gen9,"adna _9.txt",sep="\t",quote =F,row.names=F,col.names=F)
index<-which(genotype[,2]==10);gen10<-genotype[index,];write.table(gen10,"adna _10.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==11);gen11<-genotype[index,];write.table(gen11,"adna _11.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==12);gen12<-genotype[index,];write.table(gen12,"adna_12.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==13);gen13<-genotype[index,];write.table(gen13,"adna _13.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==14);gen14<-genotype[index,];write.table(gen14,"adna _14.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==14);gen14<-genotype[index,];write.table(gen14,"adna _14.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==15);gen15<-genotype[index,];write.table(gen15,"adna _15.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==16);gen16<-genotype[index,];write.table(gen16,"adna _16.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==17);gen17<-genotype[index,];write.table(gen17,"adna _17.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==18);gen18<-genotype[index,];write.table(gen18,"adna _18.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==19);gen19<-genotype[index,];write.table(gen19,"adna _19.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==20);gen20<-genotype[index,];write.table(gen20,"adna _20.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==21);gen21<-genotype[index,];write.table(gen21,"adna _21.txt",sep="\t",quote=F,row.names=F,col.names=F)
index<-which(genotype[,2]==22);gen22<-genotype[index,];write.table(gen22,"adna_22.txt",sep="\t",quote=F,row.names=F,col.names=F)

*CHANGE "adna.txt" and the same instruction applies to where it says "adna.txt" in the actual chromosomes to the file name of your own 23andme raw data files*

If done correctly; files will be in your SPA folder alongside your raw data files.

Next, back to command prompt.

EUROPEAN USERS:

PRO TIP: Delete the 23andme raw data file and leave the chromosome text in place! REPLACE "adna _1.txt" and name it after your file name that you used for your 23andme raw data!
spa --mfile [I]file name for chromosomes names here.txt --model-input europe.model --location-output 23andMe.loc

AFTER YOU GET THE LOC FILE FOR YOUR CHROMOSOME LOCATION; DON'T DO THE NEXT CHROMOSOME!

MAKE A GOOGLE ACCOUNT; GO TO GOOGLE MAPS; SELECT "YOUR PLACE" from the drop down menu in the top left corner; hit the "MAP" tab and finally select "CREATE MAP."

FIND A LANDMARK FROM YOUR LOC FILE FOR YOUR CHROMOSOME IN ORDER TO GIVE A ROUGH ESTIMATION WHERE YOUR CHROMOSOME APPROXIMATES!

REPEAT THE ABOVE STEPS FOR ALL SUCCESSIVE 22 CHROMOSOMES!

If done correct it should look like this:
https://s15.postimg.org/8syeychu3/Untitledddd.jpg

MIXED/NON-EUROPEAN USERS

SAME APPLIES AS WAS DONE ABOVE BUT CODE SLIGHTLY DIFFERENTIATED:

spa --mfile file name for chromosomes names here.txt --model-input world.model --location-output 23andMe.loc

Lucas
05-24-2017, 05:48 PM
^^ Very useful instruction!

Lucas
05-24-2017, 05:54 PM
My ancestry (for whole genome) split into two.

https://s21.postimg.org/4vt2evh93/two-ancestry.jpg

Rius
05-24-2017, 06:44 PM
https://i.hizliresim.com/vbOLBD.png (https://hizliresim.com/vbOLBD)

Dick
05-24-2017, 06:58 PM
http://i64.tinypic.com/s262x0.jpg


Dividing chromosomes:

http://i67.tinypic.com/r0nn61.jpg


http://i63.tinypic.com/2vjq7i8.jpg

My ancestry for whole genome split into two but only in Slovenia:


http://i66.tinypic.com/j9sw90.png

jingorex
05-24-2017, 07:32 PM
thanks de burgh!

single
http://i64.tinypic.com/sfytdc.jpg

split in two

http://i64.tinypic.com/14lr14n.jpg

Enflamme
05-25-2017, 02:43 AM
Doesn't work for FTDNA...

Enflamme
05-25-2017, 11:29 AM
Nothing...

Enflamme
05-25-2017, 11:55 AM
My result:
https://image.noelshack.com/fichiers/2017/21/1495713293-zdzdsd.png




Other mode ("SPA can also predict two origins in the case that your mother and father are from different locations. In order to do that, use the versions of the command lines that include -n 2 below.")

https://image.noelshack.com/fichiers/2017/21/1495713068-qdqdqdssqd.png

Enflamme
05-25-2017, 06:06 PM
With chromosomes

https://image.noelshack.com/fichiers/2017/21/1495735420-norma-version.jpg



Other mode ("SPA can also predict two origins in the case that your mother and father are from different locations. In order to do that, use the versions of the command lines that include -n 2 below.")
https://image.noelshack.com/fichiers/2017/21/1495735427-normaledeux.jpg

Lucas
05-25-2017, 07:05 PM
I'm impressed this tool find Enflamme Picard, Flemish and Sardinian ancestry so well. In his case it works very well.

Looking at my results I thought there were random but maybe it shows my ancestry? But must be very deep...

Dick
05-26-2017, 12:06 AM
Other mode ("SPA can also predict two origins in the case that your mother and father are from different locations. In order to do that, use the versions of the command lines that include -n 2 below.")

https://image.noelshack.com/fichiers/2017/21/1495713068-qdqdqdssqd.png

Very cool.

firemonkey
05-26-2017, 04:54 PM
Useless for me. Can't understand command prompts for changing drive and directory. Trust the creators of such things to lack the intelligence to make such things easy for the technically average person to use.

Lucas
05-26-2017, 05:53 PM
Useless for me. Can't understand command prompts for changing drive and directory. Trust the creators of such things to lack the intelligence to make such things easy for the technically average person to use.

De Burgh makes instruction http://www.theapricity.com/forum/showthread.php?211238-Google-Map-with-position-of-every-chromosome-(SPA-programm)-Somebody-try-this&p=4431015&viewfull=1#post4431015

I also had problems at first.

firemonkey
05-26-2017, 07:25 PM
No luck.Spa is in F drive.


65068

MysteriousWays
07-14-2017, 11:09 AM
Here are my results....

Single location
https://s5.postimg.org/t5i7al9d3/my-ancestry.png

Two locations
https://s5.postimg.org/dy27q8hif/ancestry-euro2.png

Chromosomes
https://s5.postimg.org/sijal2ch3/voila.png

Chromosomes split (by color)
https://s5.postimg.org/67vw4gw4n/split-chromosomes.png

Danza
07-15-2017, 11:07 AM
I have; it is a very useful tool nonetheless.

Made a similar post a while back for SPA:

Instructions exactly as? Using -- or spaces?

It might be cause I am not fully awake but entering the spa --mfile file name for your 23andme raw data here.txt --model-input europe.model --location-output 23andMe.loc instructions and getting an error message rather than it running got tiresome, fast.