Многие дистрибутивы Linux имеют ISO-образ LiveCD, который можно записать с помощью dd
прямо на USB-накопитель. Но другой подход, который мне нравится больше, - это использовать GRUB2 для непосредственной загрузки LiveCD ISO. Это позволит вам иметь несколько дистрибутивов / инструментов на одном USB-накопителе.
Google для Multi ISO GRUB2, и вы найдете несколько инструментов и руководств.
$ echo GTAAGCCGGAAGG | tr 'ATCG' 'TAGC'
CATTCGGCCTTCC
Ver man tr
para más detalles.
#!/bin/bash
read -p 'Please enter DNA sequence of template strand: '
compl=$( tr 'ACGT' 'TGCA' <<<"$REPLY" )
revseq=$( rev <<<"$REPLY" )
revcompl=$( rev <<<"$compl" )
printf 'DNA sequence of antisense strand is %s\n' "$compl"
printf 'Reverse DNA sequence is %s\n' "$revseq"
printf 'Reverse-complement DNA sequence is %s\n' "$revcompl"
Es posible que desee echar un vistazo a el sitio de StackExchange Bioinformatics .
read
leerá la entrada del usuario (o lo que sea que esté controlando la entrada estándar del script ). Con -p
se puede agregar un mensaje de texto o una pregunta. La respuesta del usuario se almacena por defecto en $REPLY
.
tr
cambia los caracteres de un texto de un conjunto a otro. Con <<<"$REPLY"
alimentamos la respuesta del usuario a tr
y tr
cambia todas las apariciones de A
a T
, C
a G
, etc. El resultado se almacena en la variablecompl
(abreviatura de "complemento" ).
rev
es un comando no estándar -que invierte el texto de una línea. Damos la cadena $REPLY
a rev
a <<<"$REPLY"
. rev
también se utiliza para calcular la secuencia de complemento inversa -invirtiendo $compl
.
Las tres declaraciones printf
producen la salida.
Ejemplo de ejecución:
$ bash script.sh
Please enter DNA sequence of template strand: AAACGTTTG
DNA sequence of antisense strand is TTTGCAAAC
Reverse DNA sequence is GTTTGCAAA
Reverse-complement DNA sequence is CAAACGTTT
Si el ADN se almacena en un archivo con solo ADN en él (, es decir, no un archivo fasta ), y suponiendo que GNU tac
esté disponible (que invierte el orden de las líneas en un archivo):
tac filename | rev
tr 'ACGT' 'TGCA' <filename
tr 'ACGT' 'TGCA' <filename | tac | rev