입력 체인에서 보완 체인을 인쇄하는 방법

입력 체인에서 보완 체인을 인쇄하는 방법

DNA 상보 가닥 서열과 역방향 서열을 인쇄하는 데 문제가 있습니다. 다음과 같은 출력을 원합니다. 템플릿 가닥의 DNA 서열을 입력하세요: GTAAGCCGGAAGG 안티센스 가닥의 DNA 서열은 CATTCGGCCTTCC입니다. 역방향 DNA 서열은 GGAAGCCGAATG입니다.

답변1

#!/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"

한 번 살펴보고 싶을 수도 있습니다StackExchange 생물정보학 웹사이트.


read사용자(또는 스크립트의 표준 입력을 제어하는 ​​모든 항목)의 입력을 읽습니다. -p프롬프트 텍스트나 질문을 추가 할 수 있습니다 . 사용자 응답은 기본적으로 에 저장됩니다 $REPLY.

tr텍스트의 문자를 한 세트에서 다른 세트로 변경합니다. <<<"$REPLY"사용자의 응답을 입력 하고 trto , to 등 의 tr모든 항목을 변경합니다 . 결과는 변수 ("complement"의 약어)에 저장됩니다.ATCGcompl

rev행 텍스트를 반전시키는 비표준 명령입니다. $REPLY문자열을 revthrough 에 할당 합니다 <<<"$REPLY". rev또한 반전에 의한 역보체 시퀀스를 계산하는 데에도 사용됩니다 $compl.

이 세 가지 printf명령문은 출력을 생성합니다.


예제를 실행하세요:

$ 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

DNA가 파일에 저장되어 있는 경우오직그 안에 있는 DNA(예:아니요fasta 파일), GNU를 tac사용할 수 있다고 가정합니다(파일의 줄 순서를 반대로 바꿈).

  • 역순으로:tac filename | rev
  • 보완 순서:tr 'ACGT' 'TGCA' <filename
  • 역보체 순서:tr 'ACGT' 'TGCA' <filename | tac | rev

답변2

$ echo GTAAGCCGGAAGG | tr 'ATCG' 'TAGC'
CATTCGGCCTTCC

man tr자세한 내용은 참조하십시오 .

관련 정보