Kérdés:
Hogyan konvertálhatom a fastq-et fast5-re
aechchiki
2017-08-15 15:46:21 UTC
view on stackexchange narkive permalink
A

fast5 a HDF5 egy változata, a natív formátum, amelyben az Oxford Nanopore MinION nyers adatait nyújtják. Könnyedén kivonhatja az olvasást fast5 formátumban egy standard fastq formátumba, például a poretools használatával.

Tegyük fel, hogy ezeket az olvasásokat fastq formátumban egy külső referencia genomhoz igazítottam, ami egy SAM fájlt eredményezett. Tegyük fel, hogy ezután a SAM fájl egy részhalmazát vettem át a bitenként jelző szerint, hogy csak a leolvasott fájlokat vegyem fel a hivatkozásba. Az olvasási azonosítóval ezután kiválthatom őket az olvasást tartalmazó fájlból fastq formátumban, és létrehozhatok egy fastq formátumú részhalmazfájlt, amely csak az azonosított ID-ket tartalmazza. a referencia.

Most az a kérdésem, hogy a fast5 archívumból beolvashatjuk-e az olvasmányokat a leképezés-olvasások listája szerint, amint az a fájlból származik, a fastq -val olvasható formátum? Ez oktatási célokra szolgál, így kisebb kezdő archívummal rendelkezünk, és a fast5 -> fastq kibontása kevesebb CPU-időt vesz igénybe.

Ez jó kérdésnek tűnik, ha játszhatnánk mintaadatokat. Megadhat (vagy egy linket) egy fast5-re és a leképezések listájára?
Van néhány mintaolvasás a tavalyi TEDx beszélgetésemből [itt] (https://www.dropbox.com/sh/o7fz7s91865u6vw/AAAsIzqbmrylD6lHl-yOJggXa?dl=0), a tavalyi AGTA konferencia során lefuttatott futásokból itt] (https://www.dropbox.com/sh/0iqbjk7drmpsro0/AACBehmjVL7iABf5U2NVi9Lra?dl=0), és kiméra olvasási vizsgálatból olvasható [itt] (http://www.ebi.ac.uk/ena/data / view / PRJEB20601). Az ONT FAST5 "standard" olyan gyakran változik, hogy nehéz olyan dolgot találni, amely a jelenleg elérhetőt reprezentálja.
Kettő válaszokat:
Michael Hall
2017-08-16 09:30:10 UTC
view on stackexchange narkive permalink

ÉRTESÍTÉS : Kicsit megváltoztattam a válaszomat az eredetitől, mivel az eredeti szkriptet pip telepíthető programká alakítottam (tesztekkel), és frissítettem a linkeket és kódrészleteket ennek megfelelően. A válasz lényege továbbra is teljesen ugyanaz.


Ezt már egy ideje értem, hogy megkerüljem, ezért köszönöm a felszólítást.

I létrehozott egy Python programot fast5seek néven annak érdekében, hogy azt tegye, amire (gondolom) kíváncsi.

Amint említetted, ez oktatási célokra szolgál I rengeteg megjegyzést fűztek a kódhoz is, ezért úgy gondolom, hogy semmilyen problémája nem lehet a követése során.

A GitHub repo dokumentumaiban minden információ megtalálható, de otthon olvasók

  pip3 telepítik a fast5seekfast5seek -i / path / to / fast5s -r in.fastq in.bam in.sam -o out.txt  

Mit csinál, olvassa el a <in.fastq | in.bam | in.sam> fájlban, és vonja ki az olvasási azonosítót az egyes fejlécekből. Ezután végigmegy az összes fast5 fájlon a / path / to / fast5s alatt, és ellenőrzi, hogy az olvasási azonosítójuk szerepel-e a <in.fastq | in.bam | in.sam> olvasott azonosítók halmazában. . Ha igen, akkor a fájl elérési útját a saját sorába írja a out.txt.

Ha nincs megadva kimenet ( -o ) , kiírja a kimenetet az stdout fájlba.

Tehát, ha ezeket az útvonalakat egy másik programba akarta csempészni, akkor valami olyat tehet, mint:

  mkdir subset_dir / fast5seek -i / path / to / fast5s / -r in.fastq | xargs cp -t subset_dir /  

A fenti példa a fastq / BAM / SAM fájlban található fast5 fájlokat másolja a subset_dir / fájlba.

Vigyázatképpen ellenőrizni kell a futási azonosítót (ha ez az információ rendelkezésre áll). Van egy kis lehetőség arra, hogy két különböző futtatásból származó FASTQ fájl azonos olvasási azonosítóval rendelkezzen.
Most hozzáadtam ezt az ellenőrzést a fastq fájlokhoz. Bár a run_id nem található meg a BAM / SAM fájlokban (legalábbis nem azoknál, amelyek nálam vannak), így ez az ellenőrzés csak a fastq-n fog megtörténni.
gringer
2017-08-15 23:44:01 UTC
view on stackexchange narkive permalink

Ezt nagyon gyakran teszem, az olvasott fájlnév segítségével azonosítom az egyes olvasásokhoz társított FAST5 fájlokat. Ha egy FASTQ rekord tartalmazza a csatorna számát és az olvasási számot (és lehetőleg a runID-t is), akkor ezeket az információkat felhasználom a társított FAST5 olvasás megkeresésére.

Ha az olvasásokat Albacore-szal hívjuk meg, akkor a sequencing_summary.txt fájl további információkat tartalmaz. Az első oszlop a meghívott fájl pontos neve, a második oszlop a FASTQ szekvencia olvasási azonosítója, a harmadik pedig az adott olvasási azonosítóhoz társított futtatási azonosító. Ezzel sokkal könnyebb dolgozni, de az Albacore-szal való olvasás hívása megköveteli (ami igaz, úgy tűnik, hogy jelenleg a legjobb eredményt produkálja).

igen, ezt tettem, alapvetően: 1. kivonat fast5 to fastq; 2. igazítsa a fastq-t a referenciához; 3. kapja meg a beolvasási azonosítót az igazítás SAM-jából; 4. fogd meg a leképezés beolvassa az azonosítót a fastq-ból; 5. vonja ki a fast5 nevét az egyes olvasások fasta fejlécéből (utolsó mező); 6. keresse meg a megfelelő fast5-öt az eredeti fast5 könyvtárban. De arra gondoltam, hogy nem hiányzik-e olyan szoftver, amely ezt egy menetben képes lenne megtenni.
Hozzáadott egy megjegyzést a germonról, amely közvetlen kapcsolatban áll a FASTQ olvasási azonosítók és a FAST5 fájlnevek között
A fenti megjegyzésed fényében az @AminaEchchiki hozzáadtam a BAM és SAM fájlok kompatibilitását is.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...