Dit is de opdracht kwal die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
Jellyfish is software om k-meren in DNA-sequenties te tellen.
KORTE INHOUD
kwallen tellen [-ovoorvoegsel] [-mmeerlengte] [-tschroefdraad] [-shashgrootte] [--beide strengen] vasten
[vasten ... ]
kwallen samenvoegen HASH1 HASH2 ...
kwallen dump hachee
kwallenstatistieken hachee
kwallen histo [-hhoog] [-llage] [-iaanwas] hachee
kwallen vraag hachee
kwallen citeren
Plus equivalente versie voor Quake-modus: qhisto, qdump en qmerge.
PRODUCTBESCHRIJVING
Jellyfish is een k-mer-teller op basis van een hashtabel-implementatie met meerdere threads.
TELLEN EN SAMENVOEGEN
Om k-mers te tellen, gebruik je een commando als:
kwallen tellen -m 22 -o output -c 3 -s 10000000 -t 32 input.fasta
Dit telt de 22-mers in input.fasta met 32 threads. Het tellerveld in de
hash gebruikt slechts 3 bits en de hash heeft minstens 10 miljoen ingangen.
De uitvoerbestanden zullen output_0, output_1, enz. heten (het voorvoegsel wordt gespecificeerd met de
-o schakelaar). Als de hash groot genoeg is (is gespecificeerd door de -s schakelaar) om alle
k-mers, zal er slechts één uitvoerbestand zijn met de naam output_0. Als de hasj eerder vol was?
alle mers zijn gelezen, de hash wordt op schijf gedumpt, op nul gezet en in mers gelezen
hervat. Er zullen meerdere tussenbestanden aanwezig zijn op de schijven, genaamd output_0,
uitvoer_1, enz.
Om correcte resultaten te verkrijgen van de andere subcommando's (zoals histo, stats, enz.), gebruikt de
meerdere uitvoerbestanden, indien aanwezig, moeten worden samengevoegd tot één met de opdracht samenvoegen. Voor
voorbeeld met het volgende commando:
kwallen samenvoegen -o output.jf output\_*
Mocht u veel tussenliggende uitvoerbestanden krijgen (bijvoorbeeld honderden), dan is de grootte van de hashtabel
het is te klein. Rerun Jellyfish met een grotere maat (optie -s) is waarschijnlijk sneller dan
het samenvoegen van alle tussenliggende bestanden.
ORIENTATION
Wanneer de oriëntatie van de reeksen in het invoer-fasta-bestand niet bekend is, bijv. in
sequencing leest, met behulp van --beide strengen (-C) is het meest logisch.
Voor elke k-mer m is de canonieke representatie m zelf of het omgekeerde complement ervan,
wat lexicografisch het eerst komt. Met de optie -C, alleen de canonieke
representatie van de mers worden opgeslagen in de hash en de telwaarde is het aantal
voorkomens van zowel de mer als zijn omgekeerde complement.
KIEZEN HET HASH SIZE
Om de beste prestaties te bereiken, moet een minimum aantal tussenbestanden worden geschreven
naar schijf. Dus de parameter -s moet worden gekozen om zoveel mogelijk k-meren te passen (idealiter
allemaal) terwijl ze nog steeds in het geheugen passen.
We kijken naar voorbeelden: het tellen van meren bij sequencing-uitlezingen en in een voltooid genoom.
Stel eerst dat we k-mers tellen in korte sequencing reads: er zijn n reads en er is
een gemiddelde van 1 fout per uitlezing waarbij elke fout k unieke meren genereert. Als het genoom
maat is G, de grootte van de hash (optie: -s) om alle k-meren tegelijk te passen wordt geschat op: $(G
+ k*n)/0.8$. De deling door 0.8 compenseert het maximale gebruik van ongeveer $80%$
van de hashtabel.
Aan de andere kant, bij het tellen van k-meren in een samengestelde reeks van lengte G, instelling -s
tot G geschikt is.
Voor het gemak begrijpt Jellyfish ISO-achtervoegsels voor de grootte van de hash.
Vandaar dat '-s 10M' staat voor 10 miljoen vermeldingen, terwijl '-s 50G' staat voor 50 miljard vermeldingen.
Het werkelijke geheugengebruik van de hashtabel kan als volgt worden berekend. De werkelijke grootte van
de hash wordt naar boven afgerond op de volgende macht van 2: s=2^l. De parameter r is zodanig dat
de maximale reprobe-waarde (-p) plus één is kleiner dan 2^r. Dan het geheugengebruik per invoer
in de hash is (in bits, niet in bytes) 2k-l+r+1. Het totale geheugengebruik van de hashtabel in
bytes is: 2^l*(2k-l+r+1)/8.
KIEZEN HET TELLEN VELD SIZE
Om ruimte te besparen, ondersteunt de hashtabel een teller met variabele lengte, dat wil zeggen dat een k-mer optreedt
slechts een paar keer zal een kleine teller gebruiken, een k-mer die vaak voorkomt, zal meerdere gebruiken
vermeldingen in de hash.
Belangrijk: de grootte van het couting-veld verandert het resultaat NIET, het heeft alleen invloed op de
hoeveelheid geheugen gebruikt. Er zit met name geen maximale waarde in de hash. Zelfs als de
telveld gebruikt 5 bits, een k-mer die 2 miljoen keer voorkomt, heeft een gerapporteerde waarde van
2 miljoen (dat wil zeggen, het is niet beperkt tot 2^5).
De -c specificeer de lengte (in bits) van het telveld. De afweging is als volgt: a
een lage waarde bespaart ruimte per item in de hash, maar kan mogelijk het aantal
gebruikte vermeldingen, waardoor misschien een grotere hash nodig is.
Gebruik in de praktijk een waarde voor -c zodat de meeste van jullie k-mers maar 1 invoer nodig hebben. Voor
om bijvoorbeeld k-meren te tellen in een genoom, waar het grootste deel van de sequentie uniek is, gebruik -c1 or
-c2. Gebruik voor leesvolgorde een waarde voor -c groot genoeg om tot twee keer zoveel te tellen
Dekking. Als de dekking bijvoorbeeld 10X is, kiest u een tellerlengte van 5 (-c5) als $2^5
> 20$.
SUBCOMMANDO'S EN OPTIES
COUNT
Gebruik: kwallen tellen [opties] file:path+
Tel k-mers of qmers in fasta- of fastq-bestanden
Opties (standaardwaarde in (), *vereist):
-m, --mer-len=uint32
*Lengte van meer
-s, --maat=uint64
* Hash-grootte
-t, --draden=uint32
Aantal draden (1)
-o, --uitvoer=tekenreeks
Uitvoervoorvoegsel (mer_counts)
-c, --tegen-len= Lengte
in bits Lengte van telveld (7)
--uit-tegen-lens= Lengte
in bytes Lengte van tellerveld in uitgang (4)
-C,--beide strengen
Tel beide strengen, canonieke weergave (false)
-p, --verwerpt=uint32
Maximaal aantal herprobes (62)
-r,--rauw
Schrijf onbewerkte database (false)
-q,--beving
Quake-compatibiliteitsmodus (false)
--kwaliteit-start=uint32
ASCII starten voor kwaliteitswaarden (64)
--min-kwaliteit=uint32
Minimale kwaliteit. Een basis met mindere kwaliteit wordt een N (0)
-L, --lager aantal=uint64
Voer k-mer niet uit met telling < lagere telling
-U, --bovenste telling=uint64
Voer k-mer niet uit met count > upper-count
--Matrix=Matrix
bestand Hash-functie binaire matrix
--tijdstip= Timing
bestand Print timing informatie
--statistieken=Statistieken
bestand Afdrukstatistieken
--gebruik
Gebruik
-h,--help
Dit bericht
--volledige hulp
Gedetailleerde hulp
-V,--versie
Versie
STATISTIEKEN
Gebruik: kwallenstatistieken [opties] db:path
Statistieken
Geef enkele statistieken weer over de k-mers in de hash:
Uniek: Aantal k-meren dat maar één keer voorkomt. Onderscheidend: aantal k-meren, niet meegerekend
veelheid. Totaal: Aantal k-meren, inclusief multipliciteit. Max_count: Maximaal aantal
optreden van een k-mer.
Opties (standaardwaarde in (), *vereist):
-L, --lager aantal=uint64
Beschouw k-mer niet met telling < lagere telling
-U, --bovenste telling=uint64
Beschouw k-mer niet met count > upper-count
-v,--uitgebreid
Uitgebreid (vals)
-o, --uitvoer=tekenreeks
Uitvoerbestand
--gebruik
Gebruik
-h,--help
Dit bericht
--volledige hulp
Gedetailleerde hulp
-V,--versie
Versie
HISTO
Gebruik: kwallen histo [opties] db:path
Maak een histogram van k-mer-voorvallen
Maak een histogram met het aantal k-meren met een bepaalde telling. In emmer 'ik' zijn
geteld de k-meren die een telling 'c' hebben die voldoet aan 'low+i*inc <= c < low+(i+1)*inc'.
Emmers in de uitvoer worden gelabeld door het lage eindpunt (low+i*inc).
De laatste bucket in de output gedraagt zich als een catchall: het komt overeen met alle k-mers met een telling
groter of gelijk aan het lage eindpunt van deze emmer.
Opties (standaardwaarde in (), *vereist):
-l, --laag=uint64
Lage telwaarde van histogram (1)
-h, --hoog=uint64
Hoge telwaarde van histogram (10000)
-i, --toename=uint64
Verhogingswaarde voor emmers (1)
-t, --draden=uint32
Aantal draden (1)
-f,--vol
Volledige histo. Sla tel 0 niet over. (false)
-o, --uitvoer=tekenreeks
Uitvoerbestand
-v,--uitgebreid
Uitvoerinformatie (false)
--gebruik
Gebruik
--help
Dit bericht
--volledige hulp
Gedetailleerde hulp
-V,--versie
Versie
DUMP
Gebruik: kwallendump [opties] db:path
Dump k-mer telt
Dump standaard in een fasta-indeling waarbij de kop de telling is en de reeks de
reeks van de k-mer. Het kolomformaat is een uitvoer met 2 kolommen: k-mer count.
Opties (standaardwaarde in (), *vereist):
-c,--kolom
Kolomformaat (false)
-t,--tabblad
Tabscheidingsteken (false)
-L, --lager aantal=uint64
Voer k-mer niet uit met telling < lagere telling
-U, --bovenste telling=uint64
Voer k-mer niet uit met count > upper-count
-o, --uitvoer=tekenreeks
Uitvoerbestand
--gebruik
Gebruik
-h,--help
Dit bericht
-V,--versie
Versie
MERGE
Gebruik: kwallen samenvoegen [opties] input:string+
Kwallendatabases samenvoegen
Opties (standaardwaarde in (), *vereist):
-s, --buffer grootte=Bufferen
lengte Lengte in bytes van invoerbuffer (10000000)
-o, --uitvoer=tekenreeks
Uitvoerbestand (mer_counts_merged.jf)
--uit-tegen-lens=uint32
Lengte (in bytes) van telveld in uitvoer (4)
--out-buffer-grootte=uint64
Grootte van uitvoerbuffer per thread (10000000)
-v,--uitgebreid
Wees uitgebreid (vals)
--gebruik
Gebruik
-h,--help
Dit bericht
-V,--versie
Versie
VRAAG
Gebruik: kwallenquery [opties] db:pad
Opvragen vanuit een gecomprimeerde database
Vraag een hash aan. Het leest k-mers van de standaardinvoer en schrijft de tellingen op de standaard
uitgang.
Opties (standaardwaarde in (), *vereist):
-C,--beide strengen
Beide strengen (false)
-c,--cary-bit
Waardeveld als de cary-bitinformatie (false)
-i, --invoer=bestand
Invoer bestand
-o, --uitvoer=bestand
Uitvoerbestand
--gebruik
Gebruik
-h,--help
Dit bericht
-V,--versie
Versie
QHISTO
Gebruik: kwallen qhisto [opties] db:string
Maak een histogram van k-mer-voorvallen
Opties (standaardwaarde in (), *vereist):
-l, --laag=dubbel
Lage telwaarde van histogram (0.0)
-h, --hoog=dubbel
Hoge telwaarde van histogram (10000.0)
-i, --toename=dubbel
Verhogingswaarde voor emmers (1.0)
-f,--vol
Volledige histo. Sla tel 0 niet over. (false)
--gebruik
Gebruik
--help
Dit bericht
-V,--versie
Versie
QDUMP
Gebruik: kwal qdump [opties] db:path
Dump k-mer uit een qmer-database
Dump standaard in een fasta-indeling waarbij de kop de telling is en de reeks de
reeks van de k-mer. Het kolomformaat is een uitvoer met 2 kolommen: k-mer count.
Opties (standaardwaarde in (), *vereist):
-c,--kolom
Kolomformaat (false)
-t,--tabblad
Tabscheidingsteken (false)
-L, --lager aantal=dubbel
Voer k-mer niet uit met telling < lagere telling
-U, --bovenste telling=dubbel
Voer k-mer niet uit met count > upper-count
-v,--uitgebreid
Wees uitgebreid (vals)
-o, --uitvoer=tekenreeks
Uitvoerbestand
--gebruik
Gebruik
-h,--help
Dit bericht
-V,--versie
Versie
QMERGE
Gebruik: kwallen samenvoegen [opties] db:string+
Aardbevingsdatabases samenvoegen
Opties (standaardwaarde in (), *vereist):
-s, --maat=uint64
* Samengevoegde hashtabelgrootte
-m, --mer-len=uint32
*Meer lengte
-o, --uitvoer=tekenreeks
Uitvoerbestand (merged.jf)
-p, --verwerpt=uint32
Maximaal aantal herprobes (62)
--gebruik
Gebruik
-h,--help
Dit bericht
--volledige hulp
Gedetailleerde hulp
-V,--versie
Versie
CITE
Gebruik: kwallen noemen [opties]
Hoe de krant van Jellyfish te citeren?
Citaat van papier
Opties (standaardwaarde in (), *vereist):
-b,--bibtex
Bibtex-formaat (false)
-o, --uitvoer=tekenreeks
Uitvoerbestand
--gebruik
Gebruik
-h,--help
Dit bericht
-V,--versie
Versie
VERSIE
Versie: 1.1.4 van 2010/10/1
Gebruik kwallen online met onworks.net-services