Vraag:
Verbeter een referentiegenoom met sequentiegegevens
Scott Gigante
2017-05-18 08:11:37 UTC
view on stackexchange narkive permalink

Ik heb een DNA-monster waarvan ik weet dat het niet helemaal overeenkomt met mijn referentiegenoom - mijn cultuur komt uit een subpopulatie die een significante mutatie heeft ondergaan sinds de referentie is gemaakt.

Uit visuele inspectie met IGV blijkt dat een aanzienlijk aantal van zowel SNP's als SV's aanwezig is, maar een assembly die volledig is opgebouwd uit mijn eigen sequentiegegevens is niet van voldoende hoge kwaliteit voor mijn doeleinden.

Hoe kan ik dit referentiegenoom aanpassen om mijn monster te matchen met nieuwe sequentiegegevens (bij voorkeur met Oxford Nanopore Technologies long reads, maar ik kan deze ook gebruiken om short reads te scaffelen indien nodig), gebruikmakend van mijn kennis dat de bestaande referentie meestal erg goed is, zonder toegang te hebben tot de reads die oorspronkelijk werden gebruikt om het referentiegenoom te construeren?

Hoe zult u ooit in staat zijn om een ​​assembly echt te vertrouwen als de invoergegevensbronnen zo gevarieerd zijn als u zegt (aanzienlijk aantal SNP en structurele varianten)?
Is er een reden waarom u geen nieuwe referentie wilt maken? Eén MinION-run produceert ~ 5 Gbp aan gegevens, wat betekent dat zelfs als je je monsters een streepjescode geeft, je voldoende dekking moet hebben om het genoom de-novo te bouwen. Wat is het doel van het project?
Het voorbeeld dat ik in gedachten heb, is E.coli, ja. We hebben de assemblage geprobeerd met een aantal verschillende tools en de de-novo-assemblage is niet zo hoogwaardig als we zouden willen, ondanks het feit dat we tonnen aan gegevens hebben. Als we dit vanuit een Bayesiaans standpunt benaderen, biedt het referentiegenoom een ​​zeer goede prior als we het verstandig zouden kunnen gebruiken.
Het is een goede voorafgaande, maar als het doel van het project is om erachter te komen hoeveel SV's er zijn verzameld, door middel van op referentie gebaseerde assemblage, zul je de output vertekenen. Het is ook niet duidelijk wat "hoge kwaliteit" betekent.
Het doel van het project is niet om te bepalen waar de SV's zijn, ik heb alleen een referentie nodig die mijn steekproef nauwkeurig weergeeft om de gegevens te gebruiken voor stroomafwaartse analyse (als de trainingsset voor machine learning). Dus door een referentie van hoge kwaliteit , Ik bedoel een die zo goed mogelijk het monster vertegenwoordigt dat werd gesequenced. Om het nog erger te maken, is dit misschien niet degene met de hoogste uitlijningsidentiteit als er systematische sequentiefouten zijn, zoals bij nanopore-sequencing!
Vijf antwoorden:
#1
+4
roblanf
2017-05-18 16:07:14 UTC
view on stackexchange narkive permalink

Een benadering hiervoor is om alle gegevens die je hebt te gebruiken om het referentiegenoom iteratief bij te werken. U kunt gaandeweg kettingbestanden bewaren, zodat u coördinaten (bijv. In gff-bestanden) kunt converteren van de oorspronkelijke verwijzing naar uw nieuwe pseudoreferentie.

Een eenvoudige benadering zou kunnen zijn:

  1. Nieuwe gegevens afstemmen op bestaande referentie
  2. Varianten aanroepen (bijv. Samtools mpileup, GATK of wat het beste voor u is)
  3. Nieuwe referentie maken met varianten van 2
  4. Spoel en herhaal (ga bijvoorbeeld naar 1)

U kunt enkele eenvoudige statistieken bijhouden terwijl u dit doet, bijv. het aantal nieuwe varianten zou moeten afnemen, het aantal in kaart gebrachte leesbewerkingen zou moeten toenemen en de incongruentie zou moeten afnemen, met elke iteratie van de bovenstaande lus. Zodra de pseudoreferentie stabiliseert, weet je dat je niet veel meer kunt doen.

#2
+4
Daniel Standage
2017-05-21 12:43:44 UTC
view on stackexchange narkive permalink

Afhankelijk van de dekking van uw gegevens en de complexiteit van het genoom, kunt u het genoom de novo opnieuw samenstellen of een referentiegeleide (of referentieondersteunde) assembly uitvoeren. Het klinkt alsof je meer naar het laatste neigt.

Er zijn een aantal referentiegeleide montagetools beschikbaar: AlignGraph en Ragout. Deze kunnen al dan niet geschikt zijn, afhankelijk van het organisme van interesse en uw gegevenstypen. Het is bijvoorbeeld zeer onwaarschijnlijk dat deze tools goed werken op Oxford Nanopore-reads die niet zijn gecorrigeerd met Nanopolish of Canu -correct.

Ik kan deze tool toevoegen, Ragout: https://www.ncbi.nlm.nih.gov/pubmed/24931998, en er zijn nogal wat nuttige verwijzingen in de paper. Zelfs als de titel van het artikel zegt dat het zou moeten werken met bacteriële genomen, werkt het ook met zoogdiergenomen
#3
+3
madhu bioinfo
2017-05-18 10:29:39 UTC
view on stackexchange narkive permalink

U kunt nanopolish gebruiken met de illumina-leesbewerkingen. Kijk ook eens naar pilon.

#4
+3
haegglund
2017-05-18 10:38:32 UTC
view on stackexchange narkive permalink

Als het een conceptassemblage met een korte lezing is en u heeft lange lezingen (ONT of Pacbio), voert u links uit om het genoom te ondersteunen en voert u Pilon iteratief uit om te proberen om hiaten te polijsten en op te vullen met behulp van de short-reads.

#5
  0
bedeabc
2017-08-05 00:08:29 UTC
view on stackexchange narkive permalink

Kindel (dat ik schreef) kan consensus afleiden uit uitlijningen van lage kwaliteit van korte reads naar virale referenties, en het uitbreiden om te werken met reads van één molecuul en grotere genomen staat op mijn to-do-lijst, hoewel ik me kan voorstellen dat dit enige herontwerp vereist.
Waarschijnlijk heb je in dit geval te maken met een bacterieel of schimmelgenoom? Ik heb ook een basisversie van C ++, maar die is nog lang niet gebruiksvriendelijk. Hoe dan ook, het kan de moeite waard zijn om eens te kijken - neem gerust contact op als u problemen ondervindt. Ik zou Pilon gebruiken zoals hierboven vermeld



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...