Код: Выделить всё
# 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
Мобильная версия