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