美文网首页
取最大且唯一intron

取最大且唯一intron

作者: byejya | 来源:发表于2020-09-19 19:59 被阅读0次

    先按4,4(start)sort -n -u,去除同开头的read

    再按5,5(end)sort -n -u ,因为都是把小的排前面,但是留下最长的,因此不用反向排序。

    去掉同开头结尾的,只剩完全在内和部分超出的。

    需要先按start排序,因为start一定顺序增加,所以比对end即可。

    if end2<end1:

        end2完全在内,将end2变成#####

    if end1>start2:

        部分重叠,或者对i,将end1换成end2,或者对i+1将start2换成start1

    1 2 3

    这里同start没留下最长的,不知为何。

    看来还需检查。

    3

    需要了解sort的规则,会不会根据旁边的排序。

    2

    可见,拼接是正确的

    2 2

    看来sort规则有问题,不如全用python脚本处理。

    改全部用python脚本后:

    1 3 4 2

    保留最长和拼接重叠片段都能实现。由此,获取intron唯一位置。

    所需的前期处理是:

    1.按intron名字排序去重。【可选】,如果不处理也行,因为python中写了start=start end=end的处理

    2.按start排序<必做!!>程序为了简便,只是用i i+1去处理,如果不排序,直接会出错

    方法:

    3

    但目前只是将chr1单独取出,因为对sort使用理解不深,现在想一次性取出全部染色体的唯一intron

    2

    代码:sort -t '    ' -k1n -k4n look>look_sort_1,4

    sort可以加多个-k,能和-n连写。但是Mt Pt按n有误,所以改Pt=6 Mt=7

    参考:https://blog.csdn.net/z1164072826/article/details/81056872

    3 4 3

    代码:sed 's/^Mt/7/g' look>look_mt7

                sed 's/^Pt/6/g' look_mt7>look_mt7_pt6

    4

    解决。

    主要是sort 能加两个-k,并将mt pt 变成数字。因为sort的步骤非常重要,所以一定要用到sort。后面的合并删除都一样

    所用脚本:get_longest_intron.py

    要改和合并的脚本:seq_in_intron.py

    前期处理步骤:

    sed 's/^Mt/7/g' look>look_mt7

    sed 's/^Pt/6/g' look_mt7>look_mt7_pt6

    sort -t '    ' -k1n -k4n look_mt7_pt6>llook_mt7_pt6_sort_1,4

    相关文章

      网友评论

          本文标题:取最大且唯一intron

          本文链接:https://www.haomeiwen.com/subject/olqyyktx.html