Std::length_error: ошибка добавления строки в AlignGraphLinux

Ответить
Anonymous
 Std::length_error: ошибка добавления строки в AlignGraph

Сообщение Anonymous »

Я создаю конвейер, для которого хочу создать докер, включающий AlignGraph. Я установил различные зависимости, такие как blat v34, Bowtie2 и NUCMER. Вы можете проверить их в следующем репозитории AlignGraph на Github. Фрагмент кода Dockerfile представлен ниже.

Код: Выделить всё

# Install necessary dependencies
RUN apt-get update && \
apt-get install -y \
build-essential \
git \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*

# Clone the AlignGraph repository
RUN git clone https://github.com/baoe/AlignGraph.git /opt/AlignGraph

# Set the working directory to AlignGraph
WORKDIR /opt/AlignGraph/AlignGraph

# Compile the AlignGraph source code with optimizations
RUN g++ -o AlignGraph AlignGraph.cpp -lz -lpthread -O2 -march=native -g -Wall -Wextra

# Add AlignGraph directory to PATH
ENV PATH="/opt/AlignGraph/AlignGraph:$PATH"

# Install blat
# Set the working directory
WORKDIR /opt/

# Copy the directory from the local machine to a temporary location in the container
ADD blatSrc /opt/blatSrc/

# Move the directory to its final destination inside the container and build blat
RUN cd blatSrc && \
mkdir -p ~/bin/x86_64 && \
make MACHTYPE=x86_64  && \
cp ~/bin/x86_64/* /usr/local/bin/ && \
ln -s /usr/local/bin/blat /usr/bin/blat && \
ln -s /usr/local/bin/gfClient /usr/bin/gfClient && \
ln -s /usr/local/bin/gfServer /usr/bin/gfServer

# Add /usr/local/bin to PATH
ENV PATH="/usr/local/bin:$PATH"
Мне удалось запустить конвейер на локальном компьютере, никаких ошибок не возникло, все прошло успешно. Но когда я попытался собрать докер, он собрался успешно, но при запуске выдает ошибку. Ошибка приведена ниже.

AlignGraph: алгоритм вторичной сборки генома de novo, основанный на тесно связанных ссылках. Автор: Эргуд Бао, отдел CS, Калифорнийский университет в Риверсайде. Все права защищены. Завершить вызов после создания экземпляра 'std::length_error' What(): basic_string::append /usr/local/bin/dnrgb1.sh: строка 537: 2437 Прервано AlignGraph --read1 /data/reference_based_assembly/padded_out1.fa --read2 /data/reference_based_assembly/padded_out2.fa --contig "$contigpath/contigs.fasta" --genome "$ reference_genome" --distanceLow "$distancelow" --distanceHigh "$distancehigh" --extendedContig sample_extendedcontig.fasta --remainingContig sample_remainingcontig.fasta

Что у меня есть уже сделано, чтобы решить проблему?
  • Настройка среды Docker:
    • Создал Dockerfile для настройки среды с необходимыми зависимостями (BLAT v34, Bowtie2, NUCMER).
    • Установлены системные зависимости, такие как build-essential, git и wget.
  • Установка зависимостей:
    • Успешно установлен BLAT , Bowtie2 и NUCMER, загрузив их исходный код и скомпилировав их.
    • Проверил установку каждого инструмента, чтобы убедиться, что они правильно настроены.
  • Установка AlignGraph:
    • Клонировал репозиторий AlignGraph с GitHub.
    • Перекомпилировал AlignGraph используя флаги -lpthread -O2 -march=native -g -Wall -Wextra, в отличие от предыдущей команды компиляции g++ -o AlignGraph AlignGraph.cpp -lz.
  • Диагностика ошибок:
    < ul>
    Во время выполнения AlignGraph обнаружена ошибка std::length_error, которая не была связана с процессом компиляции. Эта ошибка обычно указывает на то, что программа попыталась превысить максимально допустимый размер строки в C++.
  • Исследованы потенциальные причины ошибки, сосредоточены об ограничениях размера ввода и памяти.
  • BLAT Проверка:
  • Проверил установку BLAT и подтвердил он работает правильно.
    Я не знаю, почему то же самое работает в моей локальной системе, но создает проблемы в контейнере докеров. Любые предложения или исправления в файле Docker приветствуются.


Подробнее здесь: https://stackoverflow.com/questions/790 ... aligngraph
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»