Hoe gelezen te tellen in bam per bedinterval met bedtools

Ik heb onlangs Ubuntu 16.04 geïnstalleerd (omdat ik nog steeds 12.04 gebruikte). Maar het lijkt erop dat mijn bedtools-scripts niet meer goed werken. Ik kan er niet achter komen hoe ik de nieuwe bedtools moet gebruiken voor mijn oude manieren. Wat ik wil doen is het aantal reads uit een bam-bestand halen, per interval uit een bed-bestand. Het was heel eenvoudig met mijn oude versie van Ubuntu en bedtools:

bedtools coverage -abam file.bam -b All_peaks.bed > file.cov.txt 

Maar dit lijkt niet meer te werken. Vroeger kreeg ik kleine bestanden als resultaat (~ 3 MB), maar nu worden enorme bestanden aangemaakt (~ 4 GB) inclusief leesnamen ??

Ik gebruik nu bedtools v2.25.

Antwoord

De volgorde van -a en -b veranderde op een gegeven moment. Je wilt:

bedtools coverage -a All_peaks.bed -b file.bam > file.cov.txt 

Ter referentie, dit is het einde van de help-uitvoer in versie 2.25:

Default Output: After each entry in A, reports: 1) The number of features in B that overlapped the A interval. 2) The number of bases in A that had non-zero coverage. 3) The length of the entry in A. 4) The fraction of bases in A that had non-zero coverage. 

En dit is de equivalente output van versie 2.19:

Default Output: After each entry in B, reports: 1) The number of features in A that overlapped the B interval. 2) The number of bases in B that had non-zero coverage. 3) The length of the entry in B. 4) The fraction of bases in B that had non-zero coverage. 

Update : De gedragsverandering vond plaats in versie 2.24:

We hebben het gedrag van de dekkingstool gewijzigd zodat het consistent is met de andere tools Specifiek wordt nu de dekking berekend voor de intervallen in het A-bestand op basis van de overlap s met het B-bestand, in plaats van andersom.

Reacties

  • Bedankt Devon! Ik was niet ' op de hoogte van de ' switch '. Het wisselen van -a en -b lost inderdaad mijn probleem op!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *