haploFT

"haploFT" powiedzmy, ┼╝e jest to wtyczka (bookmarklet) do przegl─ůdarki internetowej, z nieoficjalnym narz─Ödziem wspieraj─ůcym projekty FTDNA np. do analizy offline, wszystkich danych haplogrup: (arkusze tabel, dystrybucji w czasie i przestrzeni, itp.). Plugin ten jest tylko pierwszym krokiem (mo┼╝na go u┼╝y─ç do szybkiego i inteligentnego zbierania informacji za pomoc─ů tylko jednego klikni─Öcia myszk─ů).

The "haploFT" let's just say it's (bookmarklet) plugin for web browser, with unofficial support tool for FTDNA projects for e.g. offline analysis, of haplogroups all data (table sheet, distribution map and timeline, etc.). This plugin is only for first step (gona use it to fast and smart collecting information by only one click mouse).

Korzystasz z Projekt├│w FTDNA? FTDNA, ┼Ťwietnie wykonuje testy! Natomiast zestawienia... o ile si─Ö za┼éaduj─ů bezb┼é─Ödnie, ..mijaj─ů jakby eony.

Are you using FTDNA Projects? FTDNA, performs tests very well, and end. The results loading, very slow, and not infrequently, there are some error.

Analiza danych w tak niestabilnym ┼Ťrodowisku jest niezwykle frustruj─ůca. Dlatego, aby zmniejszy─ç poziom stresu, napisa┼éem to narz─Ödzie. | Analysis of data in such an unstable environment is extremely frustrating. Therefore, in order to reduce the level of stress, I wrote this code of this tool.

Jak uruchomi─ç/zainstalowa─ç? | How do I run/setup?

S─ů dwie mo┼╝liwo┼Ťci, mo┼╝esz skopiowa─ç powy┼╝szy kod 1: [Ctrl]+[A] , 2: [Ctrl]+[C], a nast─Öpnie na wybranym przez siebie rezultacie, w przegl─ůdarce Google Chrome, (upewniaj─ůc si─Ö, ┼╝e wybrany rezultat ju┼╝ si─Ö w ca┼éo┼Ťci za┼éadowa┼é, nast─Öpnie), wklei─ç w konsoli Chrome Console Dev Tools, 3: [Ctrl]+[Shift]+[J] , 4: [Ctrl]+[V] , 5: [Enter] ; Drug─ů mo┼╝liwo┼Ťci─ů jest przeci─ůgni─Öcie poni┼╝szego linku "haploFT" z b┼é─Ökitnego pola na pasek zak┼éadek, a nast─Öpnie na wybranym przez siebie rezultacie, w przegl─ůdarce Google Chrome, (upewniaj─ůc si─Ö, ┼╝e wybrany rezultat ju┼╝ si─Ö w ca┼éo┼Ťci za┼éadowa┼é, nast─Öpni) klikamy na t─Ö zak┼éadk─Ö.

There are two possibilities, you can copy the above code 1: [Ctrl]+[A] , 2: [Ctrl]+[C] , and then on your chosen any one result, in Google Chrome browser, (making sure that the selected result has been fully loaded, then) paste in Chrome Dev Tools Console, 3: [Ctrl]+[Shift]+[J] , 4: [Ctrl]+[V] , 5: [Enter] ; The second method is drag from below skyblue filed, the smart link "haploFT", to the Google Chrome bookmarks bar in top. And the next (making sure that the selected result is fully loaded), click on the bookmark.

Mo┼╝esz te┼╝ klikn─ů─ç, na pasku zak┼éadek prawym klawiszem myszy, a nast─Öpnie z menu wybra─ç dodaj stron─Ö/zak┼éadk─Ö, nast─Öpnie ustawi─ç jej dowoln─ů nazw─Ö albo "haploFT" a w polu adresu URL wklei─ç zawarto┼Ť─ç powy┼╝szego, bia┼éego pola z b┼é─Ökitn─ů ramk─ů, nast─Öpnie zatwierdzi─ç przez zapisz/ok. Lub kliknij [Ctrl]+[D] otworzy si─Ö okienko dodawania obecnej strony do zak┼éadek, musisz w nowszych wersjach Chrome, wybra─ç "wi─Öcej", a nast─Öpnie jak powy┼╝ej opisane, wybra─ç nazw─Ö, i wklei─ç kod.

You can also click on the bookmarks bar with the right mouse button and then from the menu choose to add a page/bookmark, then set any page name or "haploFT" and in the URL field paste the contents of the above white box with a skyblue frame, then confirm by save/ok. Or click [Ctrl]+[D] to open the window of adding the current page to your bookmarks, (and next in new versions of Chrome, you must, select "more"), and then as described above, choose a name, and paste the code.

KROKI | STEPS [1-4] ┬źSTART┬╗

Udaj si─Ö na stron─Ö FTDNA i zaloguj si─Ö, nast─Öpnie wybierz projekt, nast─Öpnie przejd┼║ do karty "DNA Results", nast─Öpnie wybierz jedn─ů z 5 wspieranych opcji (Y-DNA: Classic Chart, Map, SNPs; mtDNA: Results, Map).

Go to the FTDNA website and log in, then select the project, then go to the "DNA Results" tab, then select one of the 5 supported options (Y-DNA: Classic Chart, Map, SNPs; mtDNA: Results, Map).

KROK | STEP [4A & 4B] ┬źY-DNA Map & mtDNA Map┬╗

Po otwarciu mapy dystrybucji haplogrup Y-DNA lub mtDNA wybierz wszystkie elementy, lub dowolny inny zestaw, (aczkolwiek proponuj─Ö wybra─ç wszystkie), nast─Öpnie odczekaj chwilk─Ö, a┼╝ wszystko si─Ö za┼éaduje, i uruchom "haploFT", po chwili zostaniesz poproszony o wskazanie miejsca zapisu, pliku lub, zostanie zapisany w domy┼Ťlnym miejscu pobierania.

When you open the distribution map of haplogroup Y-DNA or mtDNA, select all the items or any other set (although I suggest you select all), then wait a while for it to load, and run "haploFT", after a while you will be asked to indicate the location of the save file, or file will be saved at the default download folder.

Dane mapy zostan─ů zapisane jako plik .GEOJSON, mo┼╝esz go zwizualizowa─ç np. w: | The map data will be saved as a .GEOJSON file, you can visualize it e.g. in: https://studio.mapbox.com/, https://kepler.gl/, http://geojson.io/, http://geojson.tools/

KROK | STEP [4C] ┬źY-DNA Classic Chart┬╗

Po otwarciu klasycznego rezultatu chr:Y STRs, dobrze jest ustawi─ç do┼Ť─ç du┼╝y rozmiar strony, aby zmniejszy─ç paginacje, poniewa┼╝ dla ka┼╝dej kolejnej strony, b─Ödzie potrzeba uruchomienia "haploFT". Pami─Ötaj jednak aby przed uruchomieniem przewin─ů─ç stron─Ö do samego spodu, upewniaj─ůc si─Ö, ┼╝e wszystko si─Ö za┼éadowa┼éo. (UWAGA, ustawiaj─ůc wysok─ů warto┼Ť─ç, czasami strona lubi si─Ö zaci─ů─ç, poczekaj chwile d┼éu┼╝ej w├│wczas. Je┼╝eli wyskoczy strona ÔÇ×Houston we have a problemÔÇŁ, to spr├│buj ponownie, je┼Ťli znowu, to spr├│buj ponownie i podaj ni┼╝sz─ů warto┼Ť─ç i tak a┼╝ do skutku). Pami─Ötaj, aby prze┼é─ůczaj─ůc si─Ö na nast─Öpn─ů stron─Ö, zawsze przewin─ů─ç je na sam sp├│d, czekaj─ůc, a┼╝ wszytko si─Ö za┼éaduje, oraz aby nie zmienia─ç na kolejnych stronach, ilo┼Ťci element├│w, w├│wczas niestety poszczeg├│lne podstrony nie b─Öd─ů kompatybilne z sob─ů nawzajem. Dane tabeli zostan─ů zapisane jako plik JSON, na szybko mo┼╝esz je odczyta─ç online np w: http://json2table.com/#

Once you open the classic chr:Y STRs result, it is good to set a fairly large page size to reduce pagination, because for each subsequent page, you will need to run "haploFT". Remember to scroll to the bottom of the page before starting, making sure everything is loaded. (NOTE, when setting a high value, sometimes the page likes to jam, wait a little longer then. If the "Houston we have a problem" page pops up, try again, if again, then try again and give a lower value and so on until successful). Remember that when switching to the next page, always scroll to the bottom, waiting for everything to load, and do not to change to different page size (the number of items), on the following pages, then unfortunately, the different next pages will not be compatible with each other. The table data will be saved as a JSON file, you can quickly read them online, e.g. in: http://json2table.com/#

Na tej rycinie mo┼╝esz zaobserwowa─ç 3 poziome rz─Ödy, niezawieraj─ůce warto┼Ťci, s─ů to wewn─Ötrzne zgrupowania, podobnych ze wzgl─Ödu na jak─ů┼Ť cech─Ö, KIT├│w. Nie wszystkie grupy prowadz─ů subgrupowanie, jednak te, kt├│re te zgrupowania prowadz─ů, cz─Östo dostarczaj─ů nam o potomnych KITach, dodatkowych informacji, nieuj─Ötych w standardowych kolumnach, mog─ů to by─ç g┼é─Öbsze lokalizacje na drzewie haplogrup (np. gdy kto┼Ť wys┼éa┼é do autora projektu, nowe wyniki z innego laboratorium ani┼╝eli FTDNA; albo o pochodzeniu, lub nazwisku, lub czasie wyst─Öpowania). Te rz─Ödy nie s─ů importowane jako osobna pozycja, lecz kolejnym wyst─Öpuj─ůcym po nim rekordom, jest przypisana ich warto┼Ť─ç.

In above image you can see 3 horizontal rows, which do not contain any values, they are internal groupings dependent on project manger, (not FTDNA). KITs in them are grouped because of their common attribute. e.g. haplotree position; similar surname, similar origins, etc. Not all projects have subgroups, but those that have subgroups often provide us with additional information about KITs that are not included in the standard columns, for example more precise, positions of haplotree, by new SNP results, individually sent to the project managers, originating from a company other than this one. These rows are not imported as a separate item, but the subsequent records that follow are assigned their value.

I tu pojawia si─Ö pewien problem, zwi─ůzany z paginacj─ů. Je┼╝eli widzimy, ┼╝e jaka┼Ť subgrupa rozpoczyna si─Ö, i przechodzimy na nast─Öpn─ů stron─Ö, niestety w pierwszym rz─Ödzie FTDNA, nie informuje nas, ┼╝e jest to kontynuacja subgrupy z poprzedniej strony! Dlatego po pobraniu wszystkich cz─Ö┼Ťci, niezb─Ödne jest ich przetworzenie i ponowne scalenie do jednej.

This is where the pagination problem comes in. If we see that a subgroup starts, and we go to the next page, unfortunately we are not informed in the first row that this is a continuation of the subgroup from the previous page, by FTDNA!! Therefore, after downloading all parts, it is necessary to process and reintegrate them into one.

KROK | STEP [4D] ┬źY-DNA SNP┬╗

Obowi─ůzuj─ů tu te same zasady co dla kroku [4C]. Z jedn─ů r├│┼╝nic─ů, by─ç mo┼╝e w arkuszu SNP, tak┼╝e pojawia si─Ö podzia┼é na subgrupy, jednak┼╝e ze wzgl─Ödu na to, ┼╝e jeszcze nigdy z nim si─Ö nie spotka┼éem, nie zosta┼é on zaimplementowany, w przypadku, gdyby jednak grupy si─Ö pojawi┼éy, nic nie szkodzi, zostan─ů one pomini─Öte.

The same rules apply as for step [4C]. With one difference, perhaps in the SNP worksheet, there is also a division into subgroups, but because I have never met him before, he has not been implemented, but in case the subgroups appear, it's okay, they'll be omitted.

KROK | STEP [4E] ┬źmtDNA results: RSRS & rCRS┬╗

Obowi─ůzuj─ů tu rozszerzone zasady bazuj─ůce na tych z kroku [4C]. Mianowicie mamy tu odczynienia z dwoma r├│┼╝nymi arkuszami, domy┼Ťlnie otwiera si─Ö wykaz SNP, w kt├│rych zachodzi r├│┼╝nica wzgl─Ödem modelu RSRS. Wykonujemy czynno┼Ťci dla ka┼╝dej z podstron, nast─Öpnie prze┼é─ůczamy na arkusz r├│┼╝nic wzgl─Ödem modelu rCRS, i ponownie wykonujemy czynno┼Ťci dla ka┼╝dej strony. Tu tak┼╝e mo┼╝e zaistnie─ç problem opisany powy┼╝ej z paginacj─ů i subgrupami.

There are extended rules based on those of step [4C]. Namely, here we have two different worksheets, the default is to open the SNP list, in which there is a difference to the RSRS model. Perform actions for each of the subpages, then switch to the sheet of differences from the rCRS model, and again perform actions for each page. The problem described above with pagination and subgroups may also occur here.

KROK | STEP [5] ┬źFINISH┬╗

Po uruchomieniu "haploFT" pozosta┼ä na danej stronie, przynajmniej dop├│ty, dop├│ki nie wyskoczy stosowny komunikat, informuj─ůcy, i┼╝ zbieranie informacji przebieg┼éo prawid┼éowo. Dopiero po jego wy┼é─ůczeniu rozpocznie si─Ö zapisywanie JSON/geoJSON pliku. Na spodzie tego komunikatu, znajduj─ů si─Ö te┼╝ niezb─Ödne informacje, takie jak, gdzie szuka─ç pomocy, lub co istotne obecna wersja. Sprawdzaj czasem, czy nowa wersja si─Ö pojawi. Nie przewiduj─Ö ┼╝adnych diametralnych, aczkolwiek kilka usprawnie┼ä chodzi mi po g┼éowie, jednak┼╝e nie umiem ich zaimplementowa─ç, p├│ki co. To by by┼éo na tyle.

When "haploFT" is launched, stay on the page, at least until an appropriate message pops up informing you that the information collection was correct gathered. Only after it is turned off will, started to save on storage, file JSON/geoJSON. On the bottom of this message, you will also find the necessary information, such as where to find manual and contact, or what is important, the timestamp of current version. Sometimes check if a new version will appear. I don't predict any big changes, although I have a few improvements in my mind, but I don't know how to do implement them. That is all.

KROK | STEP [6] ┬źodczytywanie danych/plik├│w | reading of datas/files┬╗

Zmiany w stosunku do oryginału. | Changes to the original.

  • Trudno w to uwierzy─ç, ale FTDNA nie weryfikuje wprowadzanych przez u┼╝ytkownik├│w danych GPS. Spotka┼éem zapisy gdzie, kto┼Ť poda┼é np. 380 stopni d┼éugo┼Ťci geograficznej. Oczywi┼Ťcie to jest nie do przyj─Öcia! Wszystkie pozycje, w kt├│rych d┼éugo┼Ť─ç geograficzna wykracza poza przedzia┼é od -180 stopni do +180 stopni, oraz szeroko┼Ť─ç geograficzna poza przedzia┼é od -90 stopni do +90 stopni, zostan─ů odrzucone! | It is hard to believe, but FTDNA does not verify GPS data entered by users. I have met records of where, for example, someone gave 380 degrees longitude. Of course, this is unacceptable! All positions where the longitude is outside the range from -180 degrees to +180 degrees and the latitude outside the range from -90 degrees to +90 degrees will be rejected!
  • Kolejne negatywne pozytywne lub heterozygotyczne, SNP, nie s─ů importowane jako ci─ůg tekstowy. S─ů konwertowane na pary, nazwa i warto┼Ť─ç, przy czym, "SNP+" s─ů zapisywane jako warto┼Ť─ç 1, "SNP-", jako warto┼Ť─ç 0, a "SNP*" jako warto┼Ť─ç -1; | ySNP: negative, positive or heterozygous, are not imported as a text string, how in original sheet. They are converted into pairs, name and value, where "SNP+" is written as value 1, "SNP-" as value 0 and "SNP*" as value -1;
  • mtSNP r├│┼╝ni─ůce si─Ö z modelami RSRS i rCRS, tak┼╝e nie s─ů zapisywane jako ci─ůg tekstowy. Tak┼╝e konwertuje je na zestaw pary klucza i warto┼Ťci. Przy czym, w warto┼Ťci mo┼╝e wyst─ůpi─ç albo para nukleotyd├│w, albo pojedynczy nukleotyd. Albo "-" minus, oznaczaj─ůcy brak tej pozycji , wzgl─Ödem model├│w RSRS/rCRS. | mtSNP differing from the RSRS and rCRS models are also not written as a text string. It converts them into a set of key and value pairs. Value have, either a nucleotide pair or a single nucleotide or can occur in a value "-" minus meaning no such item, relative to RSRS/rCRS models.
  • Dodatkowa ka┼╝da pozycja jest wzbogacona o ┼║r├│d┼éo i dat─Ö dost─Öpu. | Each any item is additional enriched with a source and date of access to this.

Iteracja danych - nazewnictwo kluczy. | Data iteration - nomenclature of keys.


Powiedz nam, co uwa┼╝asz.. | Tell us what you think...

Mo┼╝esz si─Ö podzieli─ç, swoj─ů opini─ů i przemy┼Ťleniami, zostawiaj─ůc komentarz pod tym postem po prawej stronie

You can share your opinion and thoughts by leaving a comment below this post is right side.

Przyszłe wersje. | Future versions.

Jak wspomnia┼éem, chcia┼ébym zaimplementowa─ç pewne ulepszenia, lecz nie potrafi─Ö. Bardzo mile by by┼éo, gdyby kto┼Ť udzieli┼é wsparcia. | As I said, I would like to implement some improvements, but I cannot. It would be very nice if someone could support me how do it.

  • Jak zrobi─ç, aby "bookmarklet" ┼éadowa┼é najnowsz─ů zawsze aktualn─ů wersj─Ö skryptu ze strony. Wszak nie wymaga to wiele trudu sprawdzi─ç, czy posiadana wersja jest aktualn─ů, ale wygodnie by by┼éo, gdyby to si─Ö samo w tle zmienia┼éo. | How to make that "bookmarklet" loads the latest, always up-to-date version of the script from the website. After all, it does not require much effort to check if your version is current, but it would be convenient if the same changed in the background. | https://stackblitz.com/edit/haploft?file=haploFT.js
  • Najistotniejsze by by┼éo, aby narz─Ödzie potrafi┼éo wykry─ç czy wszystko jest za┼éadowane na stronie, a je┼Ťli by nie by┼éo, czeka─ç do momentu a┼╝ b─Ödzie, i dopiero w├│wczas wykona─ç czynno┼Ťci. | The most important thing would be for the tool to be able to detect if everything is loaded on the page, and if not, wait until it is, and only then perform the actions.
  • Jeszcze wi─Ökszym udogodnieniem, by┼éoby pomini─Öcie czasoch┼éonnego renderingu tre┼Ťci (na stronie), i bezpo┼Ťrednio z requestu (strona otrzymuje dane metod─ů "post"), je zapisa─ç, w├│wczas mi─Ödzy innymi, (tak przynajmniej my┼Ťl─Ö) mo┼╝na by zaradzi─ç problemowi z subgrupami i paginacj─ů. | An even greater improvement would be to skip time-consuming content rendering on the page, and directly from the "request" (the page receives data by "post" method), save it. Then, among other things, (at least I think so) we could remedy the problem with subgroups and pagination.

..ci─ůg dalszy opisu, niebawem..

...the continuation of the description, soon...