Sign inSign up

shenweiyan/lineardesign

By shenweiyan

•Updated 7 months ago

Reverse translate protein into RNA to maximize double-stranded regions.

Image
Data science
0

165

shenweiyan/lineardesign repository overview

Reference: He Zhang et al. Algorithm for Optimized mRNA Design Improves Stability and Immunogenicity. Nature https://doi.org/10.1038/s41586-023-06127-z⁠ (2023)

How to use:

docker run -it --rm shenweiyan/lineardesign:1.0

If needed to share a local directory:

docker run -it --rm -v ${PWD}:/data -w /data shenweiyan/lineardesign:1.0

The container will be interactive (-it), deleted when job is finshed (--rm), share the current directory (${PWD}), mapped as /data, and set the working directory as /data. Using the curly bracket nomenclature ({ }) makes the command suitable for bash and zsh (macOS, Linux,) and Windows PowerShell.

⁠Note

Since the ARM64 version does not work correctly duew to Python, it may be necessary to specify the platform when pulling the image:

docker pull  --platform=amd64 jysgro/lineardesign:1.0

AMD64 version works:

# echo MNDTEAI | ./lineardesign
mRNA sequence:  AUGAACGAUACGGAGGCGAUC
mRNA structure: ......(((.((....)))))
mRNA folding free energy: -1.10 kcal/mol; mRNA CAI: 0.695

⁠Docker file

# GUESSING....
# dfimage shenweiyan/lineardesign:1.0
# WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
# FROM shenweiyan/lineardesign:1.0

FROM ubuntu:jammy-20230425

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.ref.name=ubuntu
LABEL org.opencontainers.image.version=22.04
# ADD file:2fc6364d149eccc7f94ead482a0dcf24b0e44cc0d00ac6a2c1797776153e9608 in /

RUN apt-get update && apt-get install -y git

# Need to add Python2 (should be 2.7.18)
# https://linuxconfig.org/install-python-2-on-ubuntu-22-04-jammy-jellyfish-linux

RUN apt-get install -y python2

# Need to add GCC
# https://linuxconfig.org/how-to-install-gcc-the-c-compiler-on-ubuntu-22-04-lts-jammy-jellyfish-linux

RUN apt-get install -y build-essential

RUN apt-get clean

RUN git clone https://gitcode.com/bio-mirrors/LinearDesign.git /lineardesign # buildkit

RUN cd /lineardesign && make

RUN mkdir /mnt/data             # buildkit
WORKDIR /lineardesign
VOLUME [/mnt/data]
CMD ["/bin/bash"]

⁠ARM64 version does not work

Wanted to create an ARM64 version. However only the AMD64 works. The ARM64 version has exception:

# echo MNDTEAI | ./lineardesign
Traceback (most recent call last):
  File "./lineardesign", line 29, in <module>
    main()
  File "./lineardesign", line 25, in main
    subprocess.call(cmd, stdin=open('/dev/tty', 'r'))
  File "/usr/lib/python2.7/subprocess.py", line 172, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Using shell=True as suggested by many Google Searches does not fix problem and is deemed security risk (See using-the-subprocess-module⁠.)

Tag summary

Content type

Image

Digest

sha256:aa43b2470…

Size

198.4 MB

Last updated

7 months ago

docker pull shenweiyan/lineardesign:1.0