Homework_2020Bioinformatics

Sequence Motif

Posted by Yajin on November 2, 2020

YajinMo_Homework_2020/11/02

Task 01

理解“concatenate sequences of the same 3’UTR”的含义,并找出一个具体的gene的3’UTR当做例子,解释这一步实现的效果。

M:这一步是提取fa文件中相同基因的名字和序列,将名字中加号/减号删除后把对应序列拼接起来。

例如基因ENST00000568319.5,在自定义函数导入前的文件中grep的序列为

1
2
3
4
5
6
$ grep -A 1 '>ENST00000568319.5(-)' interested_three_prime_UTR.fa
>ENST00000568319.5(-)
TATGAGTGACCACAGGGCCTCCCAGCCCAACATCTCCAGCTGGATCCCAGGGAAATATCAGCCTTGGGCAACTGCAGTGACCAGGGGCACCGGCTGCCCACAGGGAACACATTCCTTTGCTGGGGTTCAGCGCCTCTCCTGGGGCTGGAAGTGCCAAAGCCTGGGGCAAAGCTGTGTTTCAGCCACACTGAACCCAATTACACACAGCGGGAGAACGCAGTAAACAGCTTTCCCACAA
--
>ENST00000568319.5(-)
GCTGGAGATTCAGAAAGACGCCCTGGAGCCAGGACAGAGGGTGGTCGTCGTGGATGATCTGCTGGCCACTGGTG

经过自定义函数处理后的输出文件中grep出的结果为

1
2
3
$ grep -A 1 '>ENST00000568319.' interested_three_prime_UTR.fa_old
>ENST00000568319.5
TATGAGTGACCACAGGGCCTCCCAGCCCAACATCTCCAGCTGGATCCCAGGGAAATATCAGCCTTGGGCAACTGCAGTGACCAGGGGCACCGGCTGCCCACAGGGAACACATTCCTTTGCTGGGGTTCAGCGCCTCTCCTGGGGCTGGAAGTGCCAAAGCCTGGGGCAAAGCTGTGTTTCAGCCACACTGAACCCAATTACACACAGCGGGAGAACGCAGTAAACAGCTTTCCCACAAGCTGGAGATTCAGAAAGACGCCCTGGAGCCAGGACAGAGGGTGGTCGTCGTGGATGATCTGCTGGCCACTGGTG

Task 02

自己写一个脚本实现“concatenate sequences of the same 3’UTR”这一步,并以上面找到的具体gene的3’UTR当做示例,展示输入文件,输出文件,及运行脚本。

脚本内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
input_fa=$1
tables=""
while read line
do
  if [[ ${line} == \>* ]]
  then
    tables+=$'\n'
    tables+=${line}" "
  else
    tables+=${line}
fi
done < $input_fa
printf "%s" "$tables" | awk -F ' ' '{x[$1]=x[$1]""$2} END {for(i in x){print i ":" x[i]}}' > ./output.fa

以interested_three_prime_UTR.fa中的ENST00000568319.5为例,bash前后的结果如下

1
2
3
4
5
6
7
8
9
$ grep -A 1 '>ENST00000568319.5(-)' interested_three_prime_UTR.fa
>ENST00000568319.5(-)
TATGAGTGACCACAGGGCCTCCCAGCCCAACATCTCCAGCTGGATCCCAGGGAAATATCAGCCTTGGGCAACTGCAGTGACCAGGGGCACCGGCTGCCCACAGGGAACACATTCCTTTGCTGGGGTTCAGCGCCTCTCCTGGGGCTGGAAGTGCCAAAGCCTGGGGCAAAGCTGTGTTTCAGCCACACTGAACCCAATTACACACAGCGGGAGAACGCAGTAAACAGCTTTCCCACAA
--
>ENST00000568319.5(-)
GCTGGAGATTCAGAAAGACGCCCTGGAGCCAGGACAGAGGGTGGTCGTCGTGGATGATCTGCTGGCCACTGGTG
$ grep -A 1 '>ENST00000568319.' output.fa
>ENST00000568319.5
TATGAGTGACCACAGGGCCTCCCAGCCCAACATCTCCAGCTGGATCCCAGGGAAATATCAGCCTTGGGCAACTGCAGTGACCAGGGGCACCGGCTGCCCACAGGGAACACATTCCTTTGCTGGGGTTCAGCGCCTCTCCTGGGGCTGGAAGTGCCAAAGCCTGGGGCAAAGCTGTGTTTCAGCCACACTGAACCCAATTACACACAGCGGGAGAACGCAGTAAACAGCTTTCCCACAAGCTGGAGATTCAGAAAGACGCCCTGGAGCCAGGACAGAGGGTGGTCGTCGTGGATGATCTGCTGGCCACTGGTG

脚本(test.sh)和输出结果(output.fa)位置:

/home/user_02/moyajin/sequence_motif/practice