我怎么能为不同的字母设置颜色?

时间:2017-03-20 19:01:39

标签: python bash colors

在bash终端:

cat AGTC.txt
AGCTGGCCAGGTGCCCAGGTCCCC

这基本上是四个DNA核苷酸。我怎么能给它们上色, 说A色为绿色;     G颜色为棕色;     C色为蓝色;     T着色为红色

在bash或Python中,我们怎么能这样做?

THX

3 个答案:

答案 0 :(得分:3)

您可以使用echo命令( eval标记)(使用bash颜色)使用-e命令:

# Set all Bash color vars
A_COLOR="\e[32mA"
G_COLOR="\e[33mG"
C_COLOR="\e[34mC"
T_COLOR="\e[31mT"
NO_COL="\e[0m"

# Set DNA, and perform colored replacements
DNA="AGCTGGCCAGGTGCCCAGGTCCCC"
DNA=${DNA//A/${A_COLOR}}
DNA=${DNA//G/${G_COLOR}}
DNA=${DNA//C/${C_COLOR}}
DNA=${DNA//T/${T_COLOR}}$NO_COL

# Print DNA!
echo -e $DNA

颜色reference for bash

答案 1 :(得分:1)

您可以使用名为termcolor的python库。 有了它,您可以使用颜色设置字符串的输出文本。像这样:

from termcolor import colored
print colored('hello', 'red'), colored('world', 'green')

终端中的输出将是红色文本中的“hello”和绿色文本中的工作“world”

答案 2 :(得分:0)

如果要使用BASH着色输出,请检查颜色代码并相应地替换字母

http://misc.flogisoft.com/bash/tip_colors_and_formatting

A --> [92mA
G --> [33mG
C --> [34mC
T --> [31mT

使用Python(在BASH下运行),您可以使用与上面相同的语法在终端中生成颜色。

echo -e "\e[92mA\e[33mG\e[34mC\e[31mT\e[33mG\e[33mG\e[34mC\e[34mC\e[92mA\e[33mG\e[33mG\e[31mT\e[33mG\e[34mC\e[34mC\e[34mC\e[92mA\e[33mG\e[33mG\e[31mT\e[34mC\e[34mC\e[34mC\e[34mC"

上述回声在BASH中产生正确的输出