Frage:
Wie kann überprüft werden, ob die BAMs korrekt heruntergeladen wurden?
EB2127
2018-05-09 02:03:46 UTC
view on stackexchange narkive permalink

Ich habe derzeit mehrere hundert BAM-Dateien, die von jemand anderem heruntergeladen wurden. Diese sind unberührt geblieben - bevor ich mit ihnen arbeite, möchte ich noch einmal überprüfen, ob diese BAMs vollständig heruntergeladen wurden.

Ich kann mir keine MD5-Prüfsummen ansehen.

Um die BAMs zu validieren, würde ich Picards ValidateSamFile verwenden, https://broadinstitute.github.io/picard/command-line-overview.html#ValidateSamFile

  java -jar picard.jar ValidateSamFile \ I = input.bam \ MODE = SUMMARY  

Ich könnte ein Bash-Skript schreiben und diese BAMs ausführen und lesen Sie dann die Picard-Ausgabe durch. Dies überprüft jedoch, ob die BAM gültig ist und nicht, ob sie vollständig heruntergeladen wurde (z. B. könnte die BAM korrekt heruntergeladen werden, aber auf andere Weise von Natur aus fehlerhaft sein).

Wenn die BAM vollständig heruntergeladen wurde, ist dies nicht der Fall Gibt es nicht einige "Dateiende" -Bytes, die ich schnell überprüfen könnte? Gibt es andere effizientere Methoden?

Einer antworten:
Devon Ryan
2018-05-09 02:05:12 UTC
view on stackexchange narkive permalink

samtools quickcheck ist alles was Sie brauchen. Aus dem Handbuch:

Überprüfen Sie schnell, ob die Eingabedateien intakt zu sein scheinen. Überprüft, ob der Anfang der Datei einen gültigen Header (alle Formate) enthält, der mindestens eine Zielsequenz enthält, sucht dann bis zum Ende der Datei und prüft, ob ein Dateiende (EOF) vorhanden und intakt ist (nur BAM).

Daten in der Mitte der Datei werden nicht gelesen, da dies viel zeitaufwändiger wäre. Beachten Sie daher, dass dieser Befehl keine interne Beschädigung erkennt, aber nützlich ist, um zu testen, ob Dateien vor der Ausführung nicht abgeschnitten werden Intensivere Aufgaben für sie.

Dieser Befehl wird mit einem Exit-Code ungleich Null beendet, wenn Eingabedateien keinen gültigen Header haben oder ein EOF-Block fehlt. Andernfalls wird es erfolgreich beendet (mit einem Null-Exit-Code).

Perfekt, ich wusste nicht, dass `samtools` diese Funktionalität hat


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...