annotate uniprot_ID_mapper/test.py @ 3:6651ac4651f0 draft default tip

Uploaded
author rsajulga
date Thu, 16 Jul 2015 16:41:35 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
1 import re
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
2 import sys
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
3 from optparse import OptionParser
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
4
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
5 def read_tabular(filepath,col):
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
6 accessions = []
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
7 totalNumber = 0
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
8 with open(filepath) as fp:
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
9 for i,line in enumerate(fp):
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
10 totalNumber = totalNumber + 1
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
11 if line.strip() == '' or line.startswith('#'):
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
12 continue
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
13 fields = line.rstrip('\n').split('\t')
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
14 accession = fields[col]
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
15 accessions.append(accession)
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
16 print totalNumber
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
17 return accessions
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
18
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
19 accessions = []
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
20 parser = OptionParser()
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
21 parser.add_option('-f','--file', dest='filepath', help='direct which file to use')
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
22 (options, args) = parser.parse_args()
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
23
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
24 accessions += read_tabular(options.filepath,0)
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
25
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
26 matches = 0
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
27 mismatches = 0
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
28
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
29 # getAccession
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
30 fmt = [('([OPQ][0-9][A-Z0-9]{3}[0-9])|([A-NR-Z][0-9](?:[A-Z][A-Z0-9]{2}[0-9]){1,2})','ACC'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
31 ('(THISDOESNTWORK...*)_....*','ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
32 ('UPI(\d+).*','UPARC'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
33 ('(UniRef50_\w+.*)','NF50'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
34 ('(UniRef90_\w+.*)','NF90'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
35 ('(UniRef100_\w+.*)','NF100'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
36 ('([A-L][A-Z]?\d{6})|([A-NR-Z]\d{5})|([A-Z]{4}\d{8})','EMBL_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
37 ('([A-Z]*\d*\.\d$)','EMBL'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
38 ('([IBC]\d{5})','PIR'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
39 ('(Hs\.\d*)','UNIGENE_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
40 ('[A-Z]P_(\d*\.\d)','P_REFSEQ_AC'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
41 ('[NX][MC]_(\d*\.\d)','REFSEQ_NT_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
42 ('(\d[A-Z0-9]{3})','PDB_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
43 ('(DP\d{5})','DISPROT_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
44
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
45 ('(\d*$)','P_ENTREZGENEID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
46 ('(\d*$)','P_GI'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
47 ('(\d*$)','DMDM_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
48 ('(\d*$)','BIOGRID_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
49 ('(\d*$)','GUIDETOPHARMACOLOGY_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
50 ('(\d*$)','ALLERGOME_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
51 ('(\d*$)','PEROXIBASE_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
52 ('(\d*$)','REBASE_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
53 ('(\d*$)','DNASU_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
54
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
55 ('(DIP-\d*N$)','DIP_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
56 ('(MINT-\d*)','MINT_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
57 ('(9606\.ENSP\d*)','STRING_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
58 ('(CHEMBL\d*)','CHEMBL_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
59 ('(DB\d*)','DRUGBANK_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
60 ('([A-Z]\d\d\.[A-Z0-9]\d{2})','MEROPS_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
61 ('NOTHING POPS UP','MYCOCLAP_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
62 ('(\d\.[A-Z](?:\.\d*){3})','TCDB_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
63 ('NOTHING POPS UP','WORLD_2DPAGE_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
64 ('(ENSG\d*)','ENSEMBAF85406.1BL_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
65 ('(ENSP\d+)','ENSEMBL_PRO_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
66 ('(ENST\d+)','ENSEMBL_TRS_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
67 (' ','ENSEMBLGENOME_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
68 (' ','ENSEMBLGENOME_PRO_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
69 (' ','ENSEMBLGENOME_TRS_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
70 ('(hsa:\d*)','KEGG_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
71 ('(uc\d*[a-z]*\.\d$)','UCSC_ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
72 ('(.*[CKN]OG\d*)','EGGNOG_ID')
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
73 ]
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
74 # getFASTA
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
75 fmt2 = [('>?(?:sp|tr|sw)\|(\w+).*','ACC+ID'),
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
76 ('>?gi|\d+\|ref\|(NP_\d+\.\d+).*','ACC+ID')
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
77 ]
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
78 # print options.filepath[10:-4]
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
79 type = 7
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
80 mismatch = []
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
81 unmatched = []
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
82 matched = 0
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
83 for header in accessions:
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
84 for i,cat in enumerate(fmt):
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
85 CAT = catBAF85406.1[0]
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
86 m = re.match(CAT,header)
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
87 if m:
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
88 if i == type:
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
89 matches = matches + 1
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
90 matched = 1
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
91 else:
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
92 print i
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
93 mismatch += [header]
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
94 mismatches = mismatches + 1
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
95 if matched == 1:
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
96 matched = 0
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
97 else:
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
98 unmatched += [header]
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
99
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
100 print 'unmatched: '
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
101 print unmatched
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
102 print 'mismatch: '
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
103 print mismatch
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
104 outputFile = sys.stdout
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
105 outputFile.write("matches: %s\n" % matches)
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
106 outputFile.write("mismatches: %s\n" % mismatches)
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
107
6651ac4651f0 Uploaded
rsajulga
parents:
diff changeset
108