- 论坛徽章:
- 0
|
请教!字符串循环右移
各位大侠!小弟求教!
因为是学生物,所以编程基础不扎实,小弟编程设计SSR引物,将ATATATATATAT TATATATATA这样的相同两个重复的字符串自动划分为AT和TA两类,但实际上我们是当做一类。因此想将TA换成AT。但是实际上存在 ATTTGGGATTTGGGATTTGGG这上4个序列重复等,这样很长序列的重复。
这样用编程的说法我觉得是字符串右移,既将ATTTGGG
TTTGGGA
TTGGGAT
TGGGATT
GGGATTT
GGATTTG
GATTTGG
这样的字符串都换做ATTTGGG,因为重复单元的长度和序列都不相同,有2万多个字符串,手工基本不可能,
请教!!!
最终是按照重复单元分类并计数。
原始表格是:
Sequence ID Repeat Type Repeat Start Base End Base Length
>TA9635_3708 trinucleotide GCTGCTGCTGCTGC 486 499 14
>TA9630_3708 tetranucleotide TTTGTTTGTTTGTT 481 494 14
>TA9618_3708 dinucleotide GAGAGAGAGAGAGAGAGAGA 31 50 20
的样式,一共2000多行,
其中Repeat项的重复序列挑出来。后来我加上excel弄出来 不过非常复杂。
先将 重复类型都换成数字 2,3,4,5.
按照其重复的类型,重复几次 就几次substr($3,1,$2) substr($3,2,$2) 用awk将几个重复类型都输出来。
如第一行 有GCT CTG TGC三个重复类型
再在excel表格中用替换 将A换成1 将C换成2 将G换成3 将T换成4 然后选最小值。如第一行的324 243 432 就选243 然后再替换回来。
所以这个问题如果没有其他方法 我勉勉强强,基本算是解决了。谢谢各位大虾!
现在又有新的问题了,就是怎么讲字符串的顺序倒置? 比如说 ABCDEF 换成 FEDCBA 。表格形式是:
ATGTT
ATTCC
ATTCG
ATTCT
ATTGT
ATTTC
ATTTG
ATTTT
CCCCT
求教!!!!!
[ 本帖最后由 hulnglei 于 2009-11-29 11:17 编辑 ] |
|