Как указать вывод имени чтения из инструмента BWA?
Я использую BWA/ версию 0.7.10 для сопоставления парных чтений Illumina WGS, а затем picard.jar / версия 1.141 для удаления дубликатов. У меня трудности с получением Picard для правильного распознавания прочитанных имен.
Когда я использовал samtools для просмотра контекста файла bam, он выглядел так:
ERR194146.239329560 99 CHR1 9999 0 78M23S = 10396 444 CATAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACACCCTCACCCACACCCTAACCCC В +1BDFFFHHHHHJIJIJJJJJJJJJIJJJIJGGGIGIGIIIGIGIIJIJGJJJCG@3= С??CEEF> В;??? >>A@ (53(-;?25 В2 (((+(0(((2((& NM:i:1 MD:Z:0G77 AS:i:77 XS:i:78 RG:Z:NA12877
Затем я получил предупреждение после того, как попытался удалить дубликаты с помощью picard.jar (v.1.141)
java -jar -Xmx10g picard.jar MarkDuplicates INPUT=NA12877.sort.bam OUTPUT=NA12877.sort.markdup.bam METRICS_FILE=NA12877.sort.metric
ПРЕДУПРЕЖДЕНИЕ 2017-06-18 20:59:49 AbstractOpticalDuplicateFinderCommandLineProgram По умолчанию READ_NAME_REGEX '[a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*'Не соответствует прочитанному имени "ERR194146.239329560". Вам может потребоваться указать READ_NAME_REGEX, чтобы правильно идентифицировать оптические дубликаты. Обратите внимание, что это сообщение не будет отправлено снова, даже если другие имена чтения не соответствуют регулярному выражению.
Что я могу сделать, чтобы справиться с проблемой?
Какие-либо параметры или параметры BWA доступны для изменения, чтобы вывести совместимый формат имени чтения?
Или напрямую пакетно отредактировать формат этих имен чтения, чтобы сделать их узнаваемыми? Но как?
Большое спасибо заранее!!
1 ответ
Я решил проблему, изменив мои командные строки следующим образом:
java -jar -Xmx10g picard.jar MarkDuplicates INPUT=NA12877.sort.bam OUTPUT=NA12877.sort.markdup.bam METRICS_FILE=NA12877.sort.metric READ_NAME_REGEX="ERR194146.*"
Поскольку столбец с именем reads начинается с ERR194146, символа, соответствующего образцу NA12877. Таким образом, я указал имя чтения, изменив регулярное выражение имени чтения инструмента Picard по умолчанию. Наконец-то это работает.
Однако, другая проблема только вышла как детали:
Исключение в потоке "main" java.lang.IndexOutOfBoundsException: нет группы 1 в java.util.regex.Matcher.group(Matcher.java:487) в picard.sam.markduplicates.util.OpticalDuplicateFinder.addLocationInformation(OpticalDuplicateFinder.java:. 139) в picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:209) в picard.cmdline.PicardCommandLine.instanceMain(PicardCommandLine.java:95) в picard.cmdline.PicardCommandLine.main(PicardCommand5.j)
Я не знаком с Java, кто-нибудь может мне помочь?
ТКС заранее!!