作者aattsat (Tala)
看板Perl
标题[问题] 资料撷取
时间Mon Jun 11 10:25:04 2012
各位大大好
最近在撰写一个程式
是在一笔资料中(为.dat档)要撷取部分资料成为fasta档
范例为其中一笔序列资料 如下
ID 104K_THEPA STANDARD; PRT; 924 AA.
AC P15711;
DT 01-APR-1990 (Rel. 14, Created)
DE 104 kDa microneme-rhoptry antigen.
OS Theileria parva.
OC Eukaryota; Alveolata; Apicomplexa; Piroplasmida; Theileriidae;
OC Theileria.
OX NCBI_TaxID=5875;
RN [1]
RP SEQUENCE FROM N.A.
RC STRAIN=Muguga;
RX MEDLINE=90158697; PubMed=1689460; DOI=10.1016/0166-6851(90)90007-9;
RA Iams K.P., Young J.R., Nene V., Desai J., Webster P., Ole-Moiyoi O.K.,
RA Musoke A.J.;
RT "Characterisation of the gene encoding a 104-kilodalton microneme-
RT rhoptry protein of Theileria parva.";
RL Mol. Biochem. Parasitol. 39:47-60(1990).
CC -!- SUBCELLULAR LOCATION: In microneme/rhoptry complexes.
CC --------------------------------------------------------------------------
CC This SWISS-PROT entry is copyright.
CC --------------------------------------------------------------------------
DR EMBL; M29954; AAA18217.1; -.
DR PIR; A44945; A44945.
DR TIGRFAMs; TIGR01870; cas_TM1810; 1.
KW Antigen; Repeat; Sporozoite.
FT DOMAIN 1 19 Hydrophobic.
FT DOMAIN 905 924 Hydrophobic.
SQ SEQUENCE 924 AA; 103625 MW; 289B4B554A61870E CRC64;
MKFLILLFNI LCLFPVLAAD NHGVGPQGAS GVDPITFDIN SNQTGPAFLT AVEMAGVKYL
TTVELAPEPK ASRIVVDDEG TEADDEETHP PEERQKTEVR RRRPPKKPSK SPRPSKPKKP
KKPDSAYIPS ILAILVVSLI VGIL
//
每笔序列都是从ID开始 //结束
而我要撷取的资料模式为
P15711|104K_THEPA|Antigen; Repeat; Sporozoite
MKFLILLFNI LCLFPVLAAD NHGVGPQGAS GVDPITFDIN SNQTGPAFLT AVEMAGVKYL
TTVELAPEPK ASRIVVDDEG TEADDEETHP PEERQKTEVR RRRPPKKPSK SPRPSKPKKP
KKPDSAYIPS ILAILVVSLI VGIL
(撷取名称)
AC|ID|KW|
SQ
请问我要如何下正规化的指令呢?
谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 113.61.134.176
1F:→ iFEELing:每行开头两个字是空白的? 06/11 22:15
2F:→ iFEELing:啊 没看到底下还有 06/11 22:16
3F:→ OneGuilty:一般正规化做得到这麽复杂吗@@?不考虑用split等之类的处 06/13 17:06
4F:→ OneGuilty:理?? 06/13 17:06
因为连字串该怎麽处里都有点不清楚...
所以应该要先split 再来撷取吗?
请问split部分该如何撰写
目前试着写出AC、ID、KW撷取的字串处理
$AC=~ /AC\s+(\S+);.*/
$ID=~ /ID\s+(\S+)\s.*/
$KW=~ /KW\s+(\S+);.*/
请问我的正规化指令有写对吗?
谢谢!
※ 编辑: aattsat 来自: 113.61.134.176 (06/13 22:59)
5F:→ piglon:何不一行一行处理 06/15 22:01
6F:→ s4553711:序列都在最後面,所以读到SQ之後跳下一行,之後全读,再 06/16 17:35
7F:→ s4553711:把空白拿掉,应该就可以了吧 06/16 17:36
因为卡在没有split 前面程式跑出来都不正确
加入split後 程式已顺利执行 也把空白都置换掉了~
谢谢各位的建议~
※ 编辑: aattsat 来自: 113.61.134.176 (06/20 17:45)
8F:→ windincloud:NCBI应该没那摸麻烦吧~直接选fasta就可以下载seq不是? 06/21 11:31
因为个人研究是要使用旧版的资料,只剩dat档
才会需要此步骤
※ 编辑: aattsat 来自: 113.61.134.176 (06/21 12:54)