Client de descărcare EGA: pyEGA3

bază

Clientul de descărcare pyEGA3 este un instrument bazat pe Python pentru vizualizarea și descărcarea fișierelor din seturi de date EGA autorizate. pyEGA3 utilizează EGA Data API și are mai multe caracteristici cheie:

  • Fișierele sunt transferate prin conexiuni securizate https și primite necriptate, deci nu este nevoie de decriptare după descărcare.
  • Descărcările se reiau de unde au rămas în cazul în care conexiunea este întreruptă.
  • pyEGA3 acceptă segmentarea fișierelor și descărcarea paralelă a segmentelor, îmbunătățind performanța generală.
  • După finalizarea descărcării, integritatea fișierului este verificată folosind sumele de verificare.
  • pyEGA3 implementează protocolul htsget conform GA4GH pentru descărcarea intervalelor genomice pentru fișiere de date cu fișiere index însoțitoare.

Un tutorial video care demonstrează utilizarea pyEGA3 de la instalare prin descărcarea fișierului este disponibil aici.

pyEGA3 efectuează apeluri https către EGA AAI (https://ega.ebi.ac.uk:8443) și EGA Data API (https://ega.ebi.ac.uk:8052). Porturile 8443 și 8052 trebuie să fie accesibile ambele din locația în care se execută pyEGA3 pentru a evita expirările.

Pentru utilizatorii Linux/Mac, verificați dacă porturile 8443 și 8052 sunt deschise executând următoarele comenzi:

Dacă porturile sunt deschise, comenzile ar trebui să imprime CONNECTED la terminal.

Pentru utilizatorii de Windows, verificați dacă porturile 8443 și 8052 sunt deschise accesând următoarele adrese URL:

Dacă porturile sunt deschise, ambele site-uri trebuie încărcate fără expirări.

Instalare și actualizare

Instalați pyEGA3 folosind pip3.

Actualizați pyEGA3, dacă este necesar, utilizând pip3.

Testați-vă instalarea pip3 executând pyEGA3.

Folosind conda (canal bioconda)

Instalați pyEGA3 folosind conda.

Actualizați pyEGA3, dacă este necesar, folosind conda.

Testați-vă instalarea conda rulând pyEGA3.

Clonați depozitul GitHub ega-download-client.

Navigați la directorul unde a fost clonat depozitul.

Sunt furnizate trei scripturi pentru a instala mediul Python necesar în funcție de sistemul de operare gazdă.

  • Linux (Red Hat): red_hat_dependency_install.sh
  • Linux: debian_dependency_install.sh
  • macOS: osx_dependency_install.sh

Executați scriptul corespunzător sistemului de operare gazdă. De exemplu, dacă utilizați Red Hat Linux, rulați:

Testați-vă instalarea GitHub executând pyEGA3.

Utilizare - Descărcare fișier

Testarea instalării pyEGA3

Vă recomandăm ca toate instalațiile proaspete ale pyEGA3 să fie testate. A fost creat un cont de testare care poate fi folosit (-t) pentru a testa următoarele acțiuni pyEGA3:

Enumerați seturile de date disponibile pentru contul de testare

Enumerați fișierele disponibile într-un set de date de testare

Descărcați un fișier de testare

Setul de date de testare (EGAD00001003338) este mare (aproape 1 TB), așa că vă rugăm să fiți atenți dacă decideți să testați descărcarea întregului set de date. Contul de testare nu necesită un nume de utilizator și o parolă EGA, deoarece conține fișiere disponibile public din Proiectul 1000 Genomes. Fișierele din setul de date de testare pot fi utilizate în scopuri de depanare și instruire.

Pentru a vizualiza și descărca fișiere pentru care vi s-a acordat acces, pyEGA3 necesită numele dvs. de utilizator EGA (adresa de e-mail) și parola salvate într-un fișier de acreditări.

Creați un fișier numit CREDENTIALS_FILE și plasați-l în directorul în care va rula pyEGA3. Fișierul de acreditări trebuie să fie în format JSON și trebuie să conțină numele dvs. de utilizator (adresa de e-mail) și parola înregistrate de EGA Helpdesk.

Un exemplu CREDENTIALS_FILE este disponibil aici.

Utilizarea pyEGA3 pentru descărcarea fișierului

Înlocuiți cu valori relevante pentru seturile de date.

Afișați seturi de date autorizate

Afișați fișierele într-un set de date

Descărcați un set de date

Descărcați un singur fișier

Enumerați sumele de verificare md5 necriptate pentru toate fișierele dintr-un set de date

Salvați sumele de verificare md5 necriptate într-un fișier

Descărcați un fișier sau set de date folosind 5 conexiuni

Utilizare - Cereri de domeniu genomic prin htsget

Utilizarea pyEGA3 pentru preluarea unui domeniu genomic

Înlocuiți cu valori relevante pentru seturile de date. Vă rugăm să rețineți că htsget poate fi utilizat numai cu fișiere care au fișiere index corespunzătoare în EGA.

Descărcați cromozomul 1 pentru un fișier BAM

Descărcați poziția 0-1000000 pe cromozomul 1 pentru un fișier BAM

Mai întâi, vă rugăm să vă asigurați că utilizați cea mai recentă versiune a pyEGA3 urmând instrucțiunile din secțiunea „Instalare și actualizare” pentru actualizarea pyEGA3.

Imposibilitatea de a valida acreditările

Vă rugăm să vă asigurați că acreditările dvs. sunt formatate corect. Adresele de e-mail (nume de utilizator) sunt sensibile la majuscule. Dacă aveți un cont de trimitere EGA, aceste acreditări sunt diferite de acreditările dvs. de acces la date. Vă rugăm să vă asigurați că utilizați acreditările de acces la date cu pyEGA3.

Viteze de descărcare lente

Viteza de descărcare poate fi optimizată utilizând parametrul --connections care va paralela descărcarea la nivel de fișier. Dacă este furnizat parametrul --connections, toate fișierele> 100Mb vor fi descărcate utilizând numărul specificat de conexiuni paralele.

Utilizarea unui număr foarte mare de conexiuni va introduce cheltuieli generale care pot încetini descărcarea fișierului. Este important să rețineți că fișierele sunt încă descărcate secvențial, deci utilizarea mai multor conexiuni nu înseamnă descărcarea mai multor fișiere în paralel. Vă recomandăm să încercați inițial cu 30 de conexiuni și să reglați de acolo pentru a obține un randament maxim.

Fișierul durează mult timp pentru a fi salvat

Vă rugăm să rețineți că atunci când un fișier este salvat, acesta trece prin două procese. În primul rând, fișierele descărcate „bucăți” sunt reunite pentru a reconstrui fișierul original. În al doilea rând, pyEGA3 calculează suma de verificare a fișierului pentru a confirma fișierul descărcat cu succes. Fișierele mai mari vor necesita mai mult timp pentru a reconstrui și a valida suma de control.

Dacă, după depanarea unei probleme, întâmpinați încă dificultăți, vă rugăm să trimiteți un e-mail la EGA Helpdesk ([email protected]) cu următoarele informații:

  • Atașați fișierul jurnal (pyega3_output.log) situat în directorul în care rulează pyEGA3
  • Indicați mediul de calcul în care rulați pyEGA3 în: cluster de calcul, o singură mașină, altele (vă rugăm să descrieți).

Părți din pyEGA3 sunt derivate din pyEGA dezvoltat de James Blachly.