Eftersom DNA-sekvensering överträffar förbättringar i datorhastighet, finns det ett kritiskt behov av att påskynda uppgifter som anpassning och SNP-anrop. Crossbow är ett moln-computing programvara som kombinerar anpassaren Bowtie och SNP caller SOAPsnp. Genomdriva parallellt med Hadoop, Crossbow analyserar data som omfattar 38-faldig täckning av det mänskliga genomet i tre timmar med hjälp av en 320-CPU kluster hyrs från en molndatatjänst för cirka $85. Crossbow finns tillgängligt på http://bowtie-bio.sourceforge.net/crossbow/. Förbättringar i DNA-sekvensering har gjort sekvensering till ett allt värdefullare verktyg för studier av mänsklig variation och sjukdom. Tekniker från Illumina (San Diego, CA, USA), Applied Biosystems (Foster City, CA, USA) och 454 Life Sciences (Branford, CT, USA) har använts för att upptäcka genomiska variationer bland människor [1] [2] [3] [4] [5] [5], för att profilera metyleringsmönster [6], för att kartlägga DNA-protein interaktioner [7], och för att identifiera differentialt uttryckta gener och nya splitter korsningar [8, 9]. Under tiden har tekniska förbättringar kraftigt minskat kostnaderna och ökat storleken på sekvensering av dataset. I början av 2009 kunde till exempel ett enda Illuminatinstrument generera 15 till 20 miljarder baser av sekvenseringsdata per körning. Illumina har beräknat [10] att dess instrument kommer att generera 90–95 miljarder baser per running i slutet av 2009, kvintupling dess genomströmning i ett år. En annan studie visar kostnaden per person för att hela människan ska komma i tur och ordning att minska snabbt under det senaste året [11], vilket kommer att leda till ytterligare antagande. Tillväxten i genomströmning och antagande överträffar kraftigt förbättringar i datorhastighet, vilket kräver en nivå av beräkningskraft som endast kan uppnås genom storskalig parallellisering. Två projekt på senare tid har utnyttjat parallellism för helgenome-sammankomst med korta avläsningar. Simpson och Al. [12] Använd ABySS för att samla en människas genom från 42-faldig täckning av korta avläsningar [2] med hjälp av ett kluster av 168 kärnor (21 datorer), under cirka 3 dagars klocktid. Jackson och kollegor [13] samlade ett Drosophila melanogastergenom från simulerade korta avläsningar på en 512-node BlueGene/ L superdator på mindre än 4 timmar av den totala tid som förflutit. Även om dessa ansträngningar visar löftet om parallellisering, är de inte allmänt tillämpliga eftersom de kräver tillgång till en viss typ av hårdvara resurs. Inga två kluster är exakt likadana, så skript och programvara utformade för att köra bra på en kluster kan köra dåligt eller misslyckas helt på en annan kluster. Programvara skriven för stora superdatorer som BlueGene/L är mindre återanvändbar fortfarande, eftersom endast utvalda forskare har tillgång till sådana maskiner. Brist på återanvändningsförmåga gör det också svårt för kamrater att återskapa vetenskapliga resultat som erhållits med hjälp av sådana system. Ett allt populärare alternativ för storskaliga beräkningar är cloud computing. I stället för att äga och underhålla dedikerad hårdvara erbjuder cloud computing en "utility computing" modell, det vill säga förmågan att hyra och utföra beräkningar på standard, råvarudator hårdvara över Internet. Dessa hyrda datorer körs i en virtualiserad miljö där användaren är fri att anpassa operativsystemet och programvaran installerat. Cloud computing erbjuder också en parallell datorram som kallas MapReduce [14], som utformades av Google för att effektivt skala beräkning till många hundra eller tusentals råvarudatorer. Hadoop [15] är en öppen källkodsimplementering av MapReduce som i stor utsträckning används för att bearbeta mycket stora datamängder, bland annat hos företag som Google, Yahoo, Microsoft, IBM och Amazon. Hadoop-program kan köras på vilket kluster som helst där det bärbara, Java-baserade Hadoop-ramverket är installerat. Detta kan vara ett lokalt eller institutionellt kluster som användaren har fri tillgång till, eller det kan vara ett kluster som hyrs över Internet via en allmännyttig datortjänst. Förutom hög skalbarhet ger användningen av både standardprogramvara (Hadoop) och standardhårdvara (utility computing) möjlighet till återanvändning och reproducerbarhet. CloudBurst-projektet [16] undersökte fördelarna med att använda Hadoop som en plattform för anpassning av korta avläsningar. CloudBurst är kapabel att rapportera alla anpassningar för miljontals mänskliga korta avläsningar i minuter, men inte skala väl till mänskliga omsekvensering program som omfattar miljarder avläsningar. Medan CloudBurst anpassar cirka 1 miljon korta avläsningar per minut till ett 24-kärnigt kluster genererar ett typiskt mänskligt omsekvenseringsprojekt miljarder av avläsningar, vilket kräver mer än 100 dagars klustertid eller ett mycket större kluster. Även, medan CloudBurst är utformad för att effektivt upptäcka alla giltiga justeringar per avläsning, omsekvensering program ofta ignorera eller diskontera bevis från repetitivt anpassade avläsningar som de tenderar att förvirra genotypning. Vårt mål för detta arbete var att undersöka om cloud computing skulle kunna användas på ett lönsamt sätt till de största problemen inom komparativ genomik. Vi fokuserar på mänsklig omsekvensering, och enstaka nukleotidpolymorfism (SNP) detektion specifikt, för att möjliggöra jämförelser med tidigare studier. Vi presenterar Crossbow, ett Hadoop-baserat programvaruverktyg som kombinerar hastigheten på den korta läsjusteraren Crossbow utnyttjar molndata för att effektivt och korrekt anpassa miljarder avläsningar och ring SNPs i timmar, inklusive för hög täckning hela mänskliga datauppsättningar. Inom Crossbow utförs anpassning och SNP-anrop av Bowtie respektive SOAPsnp i en sömlös, automatisk pipeline. Crossbow kan köras på alla datorkluster med den nödvändiga programvaran installerad. Crossbow-paketet innehåller skript som gör det möjligt för användaren att köra en hel Crossbow-session på distans på en Amazon EC2-kluster av valfri storlek. För att mäta Crossbows noggrannhet där sanna SNP:er är kända, utförde vi två experiment med simulerad paradläsningsdata från mänskliga kromosomer 22 och X. Resultaten visas i tabellerna 1 och 2. För båda experimenten simulerades 40-faldig täckning av 35-bp parade avläsningar från den mänskliga referenssekvensen (National Center for Biotechnology Information (NCBI) 36.3). Kvalitetsvärden och insatslängder simulerades baserat på empiriskt observerade kvaliteter och inlägg i Wang et al. Datauppsättning [5]. SOAPsnp kan utnyttja användartillhandahållen information om kända SNP loci och allelfrekvenser för att förfina sina tidigare sannolikheter För dessa simulerade data, Crossbow instämmer avsevärt med de sanna samtalen, med mer än 99% precision och känslighet totalt för kromosom 22. Prestanda för HapMap SNPs är märkbart bättre än för nya SNPs, på grund av SOAPsnps förmåga att justera SNP-samtal tidigare enligt kända allelfrekvenser. Prestanda är likartad för homozygota och heterozygota SNPs totalt, men nya heterozygota SNPs gav den sämsta prestandan för någon annan undergrupp som studerats, med 96,6% känslighet och 94,6% specificitet på kromosom 22. Detta är som förväntat, eftersom nya SNP:er inte drar nytta av tidigare kunskap, och heterozygota SNP:er är svårare än homozygota SNP:er att skilja från bakgrunden till sekvensfel. För att demonstrera prestanda på verkliga data använde vi Crossbow för att anpassa och ringa SNPs från uppsättningen av 2. kromosomer. Denna skillnad är också sannolikt på grund av SOAPsnp studiens strängare filtrering. Ovanstående resultat beräknades på en Hadoop 0,20 kluster med 10 arbetarnoder ligger i vårt laboratorium, där det krävdes ca 1 dag av väggklocka tid att köra. Varje nod är en fyrkärnig 3,2 GHz Intel Xeon (40 kärnor totalt) som kör 64-bit Redhat Enterprise Linux Server 5.3 med 4 GB fysiskt minne och 366 GB lokal lagring tillgänglig för Hadoop Distributed Filesystem (HDFS) och ansluten via gigabiteternet. Vi utförde också denna beräkning med hjälp av Amazon EC2 tjänst på kluster av 10, 20 och 40 noder (80, 160 och 320 kärnor) kör Hadoop 0,20. I varje fall utfördes Crossbow-ledningen end-to-end med hjälp av skript som distribuerades med Crossbow-paketet. I experimenten med 10-, 20- och 40-node var varje enskild nod en EC2 Extra Large High CPU Court, det vill säga en virtualiserad 64-bitars dator med 7 GB minne och motsvarande 8 processorkärnor klockade på cirka 2,5 till 2,8 Ghz. Vid tidpunkten för detta skrivande, kostnaden för sådana noder var $0.68 ($0.76 i Europa) per nod per timme. Innan Crossbow körs måste den korta läsningen lagras på ett filsystem som Hadoop-klustret kan komma åt. När Hadoop-klustret hyrs ut från Amazons EC2-tjänst beror överföringstiden i hög grad på både storleken på data och hastigheten på Internetupplänken vid källan. Offentliga arkiv som NCBI och European Bioinformatics Institute (EBI) har mycket omfattande länkar till nätverken JANET och Internet2, liksom många akademiska institutioner. Även vid dessa institutioner kan dock bandbredden för en viss server eller arbetsstation vara betydligt mindre (vanligtvis 100 Mb/s eller mindre). Förseningar på grund av långsamma upplänkar kan mildras genom att överföra stora datauppsättningar i etapper som avläsningar genereras av sequencern, snarare än alla på en gång. För att mäta hur hela genomet Crossbow beräkningsskalor, utfördes separata experiment med hjälp av 10, 20 och 40 EC2 Extra Large High CPU noder.  Material och metoder Hadoop är en implementering av MapReduce parallellprogrammeringsmodellen. Under Hadoop, program uttrycks som en serie av karta och minska faser som fungerar på tuples av data. Även om det inte är lätt att uttrycka alla program på detta sätt, kan Hadoops program dra nytta av tjänster som tillhandahålls av Hadoop. Till exempel, Hadoop program behöver inte hantera uppgifter om hur arbete och data distribueras över kluster; dessa detaljer hanteras av Hadoop, som automatiskt partitionerar, sorter och rutter data mellan datorer och processer. Hadoop ger också feltolerans genom att partitionera filer i bitar och lagra dem redundant på HDFS. När en deluppgift misslyckas på grund av maskinvaru- eller programvarufel startar Hadoop om aktiviteten automatiskt, med hjälp av en cached kopia av dess inmatningsdata. En lönnmördare är ett kort program som körs under kartfasen. En mapper får en tuple av indata, utför en beräkning, och utgångar noll eller fler tuples av data. En tuple består av en nyckel och ett värde. Inom Crossbow representeras till exempel en läsning som en tuple där nyckeln är läsnamnet och värdet är lika med lässekvensen och kvalitetssträngarna. Mappern är i allmänhet begränsad till att vara statslös - det vill säga,
Crossbow REF är ett molnkompatibelt verktyg som kombinerar anpassaren Bowtie och SNP-anroparen SOAPsnp, och använder Hadoop för parallell databehandling.
Searching for SNPs with cloud computing
{'venue': 'Genome Biology', 'journal': 'Genome Biology', 'mag_field_of_study': ['Biology', 'Medicine']}