Проблемы с обработкой данных из проанализированного файла - PullRequest
0 голосов
/ 22 декабря 2010

Я пытаюсь проанализировать выходной файл html из программы с именем mirdeep. Я получил сценарий до того момента, когда данные были извлечены в массив массивов, и я пытаюсь извлечь нужную информацию из соответствующих столбцов. По какой-то странной причине я продолжаю получать вывод, который не должен быть возможным.

По сути, это должно быть подсчет количества из miRNA мирбазы, которые были обнаружены mirdeep AND и необнаруженными, но оставить таблицу статистики и новый раздел в покое.

Однако, счетчики, которые в настоящее время извлекаются для необнаруженного раздела, странным образом хранятся неправильно. (Из-за способа их вывода, некоторые из так называемых «звездных» и «зрелых» данных были помещены в отдельные строки вместо того, чтобы находиться в одной строке, поэтому я пытаюсь их рекомбинировать. Я вполне уверен, что ошибка в рекомбинации является источником проблемы.

Я проверял свои успехи с помощью операторов печати и заметил, что некоторые из данных, которые должны иметь только счетчик зрелости или счет звездочек, имеют и то и другое, и что второе число, кажется, всегда равно счету зрелых строк ниже в HTML-файл, который не имеет смысла для меня. Может ли кто-нибудь помочь мне отследить, что пошло не так? Я впервые использую пакеты для ориентации объектов, поэтому здесь могут быть любые ошибки.

Вот сценарий и пример файла данных

Только что создал аккаунт, по какой-то причине я не могу установить HTML :: TableExtract;

Выполнение make install make test вернуло плохое состояние, без принудительной установки не выполнится. Сбой при выполнении этой команды: GAAS / HTML-Parser-3.68.tar.gz: make_test NO MSISK / HTML-TableExtract-2.10.tar.gz: make_test NO

кажется, что моя установка на perl была screwey, я пытался использовать bioperl, и по какой-то причине бомбы использовали fink, которая установила свою собственную копию perl вместо предоставления библиотек для основной установки perl. Кто-нибудь знает, как заставить fink играть хорошо с основной установкой MAC perl (& cpan)? Когда я использую основной Perl, он работает, но я не могу установить модуль на старый Perl Fink, который я должен использовать, чтобы получить доступ к bioperl. Чудесно, не правда ли?

P.S. Больше всего меня беспокоит то, что это происходит не с каждым элементом данных, а те, с которыми он сталкивается, в большинстве своем не должны получать два значения. Это кажется несколько псевдослучайным, но детерминированным в том смысле, что это происходит с теми же предметами каждый раз.

1 Ответ

0 голосов
/ 22 декабря 2010

Это сотни строк кода. Если вы просто пытаетесь извлечь таблицу из HTML, используйте HTML :: TableExtract .

Например:

#!/usr/bin/perl

use strict; use warnings;
use HTML::TableExtract;
use YAML;

my $te = HTML::TableExtract->new(
    headers => [
        '',
        'novel miRNAs',
        'known miRBase miRNAs',
        '',
        '',
    ],
    slice_columns => 0,
);

$te->parse_file('t.html');

for my $table ( $te->tables ) {
    for my $row ( $table->rows ) {
        print Dump $row;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...