bio 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 990d6888c3a4e53089aaf8332c4bc87bb9cc40efe25e1aa13b7337be69145227
4
- data.tar.gz: 361fad495b8f8ee3528a6729b8a52a3522a6d594353679a6a84993e97e1e8f6a
3
+ metadata.gz: 65cb8536e3646ee35c955bddcada6ecc10f0dda7540617f6bca71133894d25dd
4
+ data.tar.gz: f7eacff38af5eec96bb377f4bc87d23fc03c3277cf843a156b5cb1b95c15afdf
5
5
  SHA512:
6
- metadata.gz: 52c72d6055da72526d208e85b42ad75b150b4538b62c2552323e5f344721b9fe0ed3b18adf5e9d570f9d34fba019379fc6528a329a1340962f5a9c6c279e458c
7
- data.tar.gz: f8894738bbb973722b77f65559f56b2ec661619e9f2dfe060456d63523fb921d4697d619171a8998686d234ac6bb5f3a300cbd140c8a78f8083b36029b536825
6
+ metadata.gz: ad51098d8e668c40b0457f9bdbc58c13e179f5a7929c2264928b3257152dc13f3b0632d3c73c2ac58e7c8e679dfa28188338a51b37a8bb31898fdb887b1e56e4
7
+ data.tar.gz: 54f2c6da91324094ac87f0865e9e9b0c5333b8872abc9672cac73110b94ae13b7257f96ba1a75cf358f2fbb66440b4e2790c1ec50b15a381048cf5f04acd3bf8
data/ChangeLog CHANGED
@@ -1,3 +1,82 @@
1
+ commit 1bc877e557e165b42eea992d89f19a63996cb586
2
+ Author: Naohisa Goto <ng@bioruby.org>
3
+ Date: Tue Sep 13 21:19:01 2022 +0900
4
+
5
+ regenerate bioruby.gemspec with rake regemspec
6
+
7
+ bioruby.gemspec | 4 +++-
8
+ 1 file changed, 3 insertions(+), 1 deletion(-)
9
+
10
+ commit 190e4751b84cc45cbce636c4414482a8169b08df
11
+ Author: Naohisa Goto <ng@bioruby.org>
12
+ Date: Tue Sep 13 21:18:06 2022 +0900
13
+
14
+ prepare for BioRuby 2.0.4 release
15
+
16
+ lib/bio/version.rb | 2 +-
17
+ 1 file changed, 1 insertion(+), 1 deletion(-)
18
+
19
+ commit a666639e0393e96b2de0bbcb447c13f8a14ad06d
20
+ Author: Naohisa Goto <ng@bioruby.org>
21
+ Date: Tue Sep 13 21:17:11 2022 +0900
22
+
23
+ update release notes for upcoming BioRuby 2.0.4
24
+
25
+ RELEASE_NOTES.rdoc | 14 ++++++++++++++
26
+ 1 file changed, 14 insertions(+)
27
+
28
+ commit c0d197343dd7fd8999d04083c9e8f24fa37a2f93
29
+ Author: Naohisa Goto <ng@bioruby.org>
30
+ Date: Tue Sep 13 21:13:40 2022 +0900
31
+
32
+ License of UniProt data is CC BY 4.0
33
+
34
+ LEGAL | 9 +++++++++
35
+ 1 file changed, 9 insertions(+)
36
+
37
+ commit e670102e6d4deb04c1fcae62459cc02861132d25
38
+ Author: Naohisa Goto <ng@bioruby.org>
39
+ Date: Tue Sep 13 21:01:50 2022 +0900
40
+
41
+ Bug fix: Bio::UniProtKB#protein_name and #synonyms may raise error
42
+
43
+ * Bug fix: Bio::UniProtKB#protein_name and #synonyms may raise error
44
+ after calling Bio::UniProtKB#de method.
45
+
46
+ lib/bio/db/embl/uniprotkb.rb | 25 ++++++++++++++++++-------
47
+ test/unit/bio/db/embl/test_uniprotkb_P28907.rb | 11 +++++++++++
48
+ 2 files changed, 29 insertions(+), 7 deletions(-)
49
+
50
+ commit 9c04e08e8d1316ffd7fc15ab311cea5dd6937d36
51
+ Author: Naohisa Goto <ng@bioruby.org>
52
+ Date: Tue Sep 13 20:44:46 2022 +0900
53
+
54
+ Supports format change of FT lines since UniProt release 2019_11
55
+
56
+ * Bio::UniProtKB#ft: Supports text format change of FT lines since
57
+ UniProt release 2019_11. (Details of the format changes:
58
+ https://www.uniprot.org/release-notes/2019-12-18-release#text%5Fft )
59
+
60
+ This closes https://github.com/bioruby/bioruby/issues/147 .
61
+
62
+ * Tests are added with a new test data
63
+
64
+ lib/bio/db/embl/uniprotkb.rb | 122 +++++-
65
+ test/data/uniprot/P28907.uniprot | 551 +++++++++++++++++++++++++
66
+ test/unit/bio/db/embl/test_uniprotkb_P28907.rb | 314 ++++++++++++++
67
+ 3 files changed, 983 insertions(+), 4 deletions(-)
68
+ create mode 100644 test/data/uniprot/P28907.uniprot
69
+ create mode 100644 test/unit/bio/db/embl/test_uniprotkb_P28907.rb
70
+
71
+ commit b18ee463d4328b5ef619733b46f568b18459be7a
72
+ Author: Naohisa Goto <ng@bioruby.org>
73
+ Date: Fri Nov 5 23:49:18 2021 +0900
74
+
75
+ BioRuby 2.0.3 is released
76
+
77
+ ChangeLog | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
78
+ 1 file changed, 136 insertions(+)
79
+
1
80
  commit c16e230d15cf30478a3739563b4e4745dc57ef82
2
81
  Author: Naohisa Goto <ng@bioruby.org>
3
82
  Date: Fri Nov 5 23:44:45 2021 +0900
data/LEGAL CHANGED
@@ -114,6 +114,15 @@ test/data/uniprot/p53_human.uniprot:
114
114
  removed.
115
115
 
116
116
 
117
+ test/data/uniprot/P28907.uniprot:
118
+
119
+ Copyrighted by the UniProt Consortium, see https://www.uniprot.org/terms
120
+ Distributed under the Creative Commons Attribution (CC BY 4.0) License
121
+
122
+ https://www.uniprot.org/help/license
123
+ https://creativecommons.org/licenses/by/4.0/
124
+
125
+
117
126
  GPL:
118
127
 
119
128
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
data/RELEASE_NOTES.rdoc CHANGED
@@ -1,3 +1,17 @@
1
+ = BioRuby 2.0.4 RELEASE NOTES
2
+
3
+ Some fixes have been made in BioRuby 2.0.4 after the release of 2.0.3.
4
+
5
+ == Fixes
6
+
7
+ * Bio::UniProtKB#ft: Supports text format change of FT lines since
8
+ UniProt release 2019_11.
9
+ (https://github.com/bioruby/bioruby/issues/147 )
10
+ * Bio::UniProtKB#protein_name and #synonyms methods may raise error
11
+ after calling Bio::UniProtKB#de method.
12
+
13
+
14
+
1
15
  = BioRuby 2.0.3 RELEASE NOTES
2
16
 
3
17
  Some bug fixes have been made in BioRuby 2.0.3 after the release of 2.0.2.
data/bioruby.gemspec CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'bio'
6
- s.version = "2.0.3"
6
+ s.version = "2.0.4"
7
7
 
8
8
  s.author = "BioRuby project"
9
9
  s.email = "staff@bioruby.org"
@@ -454,6 +454,7 @@ Gem::Specification.new do |s|
454
454
  "test/data/sim4/simple2-A4.sim4",
455
455
  "test/data/soft/GDS100_partial.soft",
456
456
  "test/data/soft/GSE3457_family_partial.soft",
457
+ "test/data/uniprot/P28907.uniprot",
457
458
  "test/data/uniprot/p53_human.uniprot",
458
459
  "test/functional/bio/sequence/test_output_embl.rb",
459
460
  "test/functional/bio/test_command.rb",
@@ -498,6 +499,7 @@ Gem::Specification.new do |s|
498
499
  "test/unit/bio/db/embl/test_embl_to_bioseq.rb",
499
500
  "test/unit/bio/db/embl/test_uniprot.rb",
500
501
  "test/unit/bio/db/embl/test_uniprotkb.rb",
502
+ "test/unit/bio/db/embl/test_uniprotkb_P28907.rb",
501
503
  "test/unit/bio/db/embl/test_uniprotkb_new_part.rb",
502
504
  "test/unit/bio/db/fasta/test_defline.rb",
503
505
  "test/unit/bio/db/fasta/test_defline_misc.rb",
@@ -248,9 +248,8 @@ class UniProtKB < EMBLDB
248
248
  # SYNONYM >=0
249
249
  # CONTEINS >=0
250
250
  def protein_name
251
- @data['DE'] ||= parse_DE_line_rel14(get('DE'))
252
- parsed_de_line = @data['DE']
253
- if parsed_de_line then
251
+ parsed_de_line = self.de
252
+ if parsed_de_line.kind_of?(Array) then
254
253
  # since UniProtKB release 14.0 of 22-Jul-2008
255
254
  name = nil
256
255
  parsed_de_line.each do |a|
@@ -275,7 +274,6 @@ class UniProtKB < EMBLDB
275
274
  return name
276
275
  end
277
276
 
278
-
279
277
  # returns synonyms (unofficial and/or alternative names).
280
278
  # Returns an Array containing String objects.
281
279
  #
@@ -292,9 +290,8 @@ class UniProtKB < EMBLDB
292
290
  # synonyms are each placed in () following the official name on the DE line.
293
291
  def synonyms
294
292
  ary = Array.new
295
- @data['DE'] ||= parse_DE_line_rel14(get('DE'))
296
- parsed_de_line = @data['DE']
297
- if parsed_de_line then
293
+ parsed_de_line = self.de
294
+ if parsed_de_line.kind_of?(Array) then
298
295
  # since UniProtKB release 14.0 of 22-Jul-2008
299
296
  parsed_de_line.each do |a|
300
297
  case a[0]
@@ -330,6 +327,20 @@ class UniProtKB < EMBLDB
330
327
  return ary
331
328
  end
332
329
 
330
+ # Returns an Array (for new format since rel 14)
331
+ # or a String (for old format before rel 14) for the DE line.
332
+ #
333
+ def de
334
+ return @data['DE'] if @data['DE']
335
+ parsed_de_line = parse_DE_line_rel14(get('DE'))
336
+ case parsed_de_line
337
+ when Array # new format since rel14
338
+ @data['DE'] ||= parsed_de_line
339
+ else
340
+ super
341
+ end
342
+ @data['DE']
343
+ end
333
344
 
334
345
  # returns gene names in the GN line.
335
346
  #
@@ -1197,9 +1208,124 @@ class UniProtKB < EMBLDB
1197
1208
  return ft[feature_key] if feature_key
1198
1209
  return @data['FT'] if @data['FT']
1199
1210
 
1211
+ ftstr = get('FT')
1212
+ ftlines = ftstr.split("\n")
1213
+ for i in 0..10 do
1214
+ if /^FT +([^\s]+) +(([^\s]+)\:)?([\<\?]?[0-9]+|\?)(?:\.\.([\>\?]?[0-9]+|\?))?\s*$/ =~ ftlines[i] &&
1215
+ /^FT +\/([^\s\=]+)(?:\=(\")?(.+)(\")?)?\s*$/ =~ ftlines[i+1] then
1216
+ fmt_2019_11 = true
1217
+ break #for i
1218
+ end
1219
+ end #for i
1220
+
1221
+ hash = if fmt_2019_11 then
1222
+ ft_2019_11_parser(ftlines)
1223
+ else
1224
+ ft_legacy_parser(ftlines)
1225
+ end
1226
+ @data['FT'] = hash
1227
+ end
1228
+
1229
+ # FT parser since UniProt release 2019_11
1230
+ # https://www.uniprot.org/release-notes/2019-12-18-release#text%5Fft
1231
+ def ft_2019_11_parser(ftlines)
1232
+ table = []
1233
+ cur_ft = nil
1234
+ cont = false
1235
+ begin
1236
+ ftlines.each do |line|
1237
+ if /^FT +([^\s]+) +(([^\s]+)\:)?([\<\?]?[0-9]+|\?)(?:\.\.([\>\?]?[0-9]+|\?))?\s*$/ =~ line
1238
+ cur_ft = [$1.to_s, # Feature Name
1239
+ "#{$2}#{$4}", # From
1240
+ $5.to_s, # To
1241
+ [] # Qualifiers
1242
+ ]
1243
+ table.push cur_ft
1244
+ cont = false
1245
+ elsif cont && /^FT {19}/ =~ line
1246
+ str = $'
1247
+ str.rstrip!
1248
+ orig = cur_ft[3][-1][1].to_s
1249
+ if orig.size > 0 && orig[-1] != ' ' &&
1250
+ str.length > 0 && str[0] != ' ' then
1251
+ orig.concat ' '
1252
+ end
1253
+ orig.concat str
1254
+ cur_ft[3][-1][1] = orig
1255
+ if cont && orig[-1] == "\""
1256
+ orig.chop!
1257
+ cont = false
1258
+ end
1259
+ elsif /^FT +\/([^\s\=]+)(?:\=(\")?(.+))?\s*$/ =~ line
1260
+ key = $1
1261
+ val = $3
1262
+ val.rstrip!
1263
+ cur_ft[3].push [ key, val ]
1264
+ cont = false
1265
+ if $2 == "\""
1266
+ if val.to_s[-1] == "\""
1267
+ val.chop!
1268
+ else
1269
+ cont = true
1270
+ end
1271
+ end
1272
+ else
1273
+ raise "FT parse error: #{line.inspect}"
1274
+ end
1275
+ end
1276
+
1277
+ hash = {}
1278
+ table.each do |feature|
1279
+ cur_h = {
1280
+ # Removing '<', '>' or '?' in FROM/TO endopoint.
1281
+ 'From' => feature[1].sub(/\D/, '').to_i,
1282
+ 'To' => feature[2].sub(/\D/, '').to_i,
1283
+ 'diff' => [],
1284
+ 'original' => feature
1285
+ }
1286
+ hash[feature[0]] ||= []
1287
+ hash[feature[0]].push cur_h
1288
+ feature[3].each do |a|
1289
+ case a[0]
1290
+ when 'From', 'To', 'Description', 'FTId', 'diff', 'original'
1291
+ ; # do nothing
1292
+ else
1293
+ cur_h[a[0]] = a[1]
1294
+ end
1295
+ end
1296
+ if cur_h["id"] then
1297
+ cur_h['FTId'] = cur_h['id']
1298
+ end
1299
+
1300
+ case feature[0]
1301
+ when 'VARSPLIC', 'VARIANT', 'VAR_SEQ', 'CONFLICT'
1302
+ case cur_h['note'].to_s
1303
+ when /(\w[\w ]*\w*) - ?> (\w[\w ]*\w*)/
1304
+ original_res = $1
1305
+ changed_res = $2
1306
+ original_res = original_res.gsub(/ /,'').strip
1307
+ chenged_res = changed_res.gsub(/ /,'').strip
1308
+ when /Missing/i
1309
+ original_res = seq.subseq(cur_h['From'],
1310
+ cur_h['To'])
1311
+ changed_res = ''
1312
+ end
1313
+ cur_h['diff'] = [original_res, chenged_res]
1314
+ end
1315
+ end
1316
+ rescue
1317
+ raise "Invalid FT Lines(#{$!}) in #{entry_id}:, \n'#{self.get('FT')}'\n"
1318
+ end
1319
+
1320
+ hash
1321
+ end
1322
+ private :ft_2019_11_parser
1323
+
1324
+ # FT parser for the format before Uniprot release 2019_11
1325
+ def ft_legacy_parser(ftlines)
1200
1326
  table = []
1201
1327
  begin
1202
- get('FT').split("\n").each do |line|
1328
+ ftlines.each do |line|
1203
1329
  if line =~ /^FT \w/
1204
1330
  feature = line.chomp.ljust(74)
1205
1331
  table << [feature[ 5..12].strip, # Feature Name
@@ -1256,10 +1382,9 @@ class UniProtKB < EMBLDB
1256
1382
  raise "Invalid FT Lines(#{$!}) in #{entry_id}:, \n'#{self.get('FT')}'\n"
1257
1383
  end
1258
1384
 
1259
- @data['FT'] = hash
1385
+ hash
1260
1386
  end
1261
-
1262
-
1387
+ private :ft_legacy_parser
1263
1388
 
1264
1389
  # returns a Hash of conteins in the SQ lines.
1265
1390
  # * Bio::UniProtKBL#sq -> hsh
data/lib/bio/version.rb CHANGED
@@ -10,7 +10,7 @@
10
10
  module Bio
11
11
 
12
12
  # BioRuby version (Array containing Integer)
13
- BIORUBY_VERSION = [2, 0, 3].extend(Comparable).freeze
13
+ BIORUBY_VERSION = [2, 0, 4].extend(Comparable).freeze
14
14
 
15
15
  # Extra version specifier (String or nil).
16
16
  # Existance of the value indicates development version.
@@ -0,0 +1,551 @@
1
+ ID CD38_HUMAN Reviewed; 300 AA.
2
+ AC P28907; O00121; O00122; Q96HY4;
3
+ DT 01-DEC-1992, integrated into UniProtKB/Swiss-Prot.
4
+ DT 23-NOV-2004, sequence version 2.
5
+ DT 03-AUG-2022, entry version 213.
6
+ DE RecName: Full=ADP-ribosyl cyclase/cyclic ADP-ribose hydrolase 1;
7
+ DE EC=3.2.2.6;
8
+ DE AltName: Full=2'-phospho-ADP-ribosyl cyclase;
9
+ DE AltName: Full=2'-phospho-ADP-ribosyl cyclase/2'-phospho-cyclic-ADP-ribose transferase;
10
+ DE EC=2.4.99.20;
11
+ DE AltName: Full=2'-phospho-cyclic-ADP-ribose transferase;
12
+ DE AltName: Full=ADP-ribosyl cyclase 1;
13
+ DE Short=ADPRC 1;
14
+ DE AltName: Full=Cyclic ADP-ribose hydrolase 1;
15
+ DE Short=cADPr hydrolase 1;
16
+ DE AltName: Full=T10;
17
+ DE AltName: CD_antigen=CD38;
18
+ GN Name=CD38;
19
+ OS Homo sapiens (Human).
20
+ OC Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia;
21
+ OC Eutheria; Euarchontoglires; Primates; Haplorrhini; Catarrhini; Hominidae;
22
+ OC Homo.
23
+ OX NCBI_TaxID=9606;
24
+ RN [1]
25
+ RP NUCLEOTIDE SEQUENCE [MRNA] (ISOFORM 1).
26
+ RX PubMed=2319135;
27
+ RA Jackson D.G., Bell J.I.;
28
+ RT "Isolation of a cDNA encoding the human CD38 (T10) molecule, a cell surface
29
+ RT glycoprotein with an unusual discontinuous pattern of expression during
30
+ RT lymphocyte differentiation.";
31
+ RL J. Immunol. 144:2811-2815(1990).
32
+ RN [2]
33
+ RP NUCLEOTIDE SEQUENCE [GENOMIC DNA], NUCLEOTIDE SEQUENCE [MRNA] (ISOFORMS 1
34
+ RP AND 2), AND TISSUE SPECIFICITY.
35
+ RC TISSUE=Esophageal carcinoma, and Pancreas;
36
+ RX PubMed=9074508; DOI=10.1016/s0378-1119(96)00723-8;
37
+ RA Nata K., Takamura T., Karasawa T., Kumagai T., Hashioka W., Tohgo A.,
38
+ RA Yonekura H., Takasawa S., Nakamura S., Okamoto H.;
39
+ RT "Human gene encoding CD38 (ADP-ribosyl cyclase/cyclic ADP-ribose
40
+ RT hydrolase): organization, nucleotide sequence and alternative splicing.";
41
+ RL Gene 186:285-292(1997).
42
+ RN [3]
43
+ RP NUCLEOTIDE SEQUENCE [LARGE SCALE MRNA] (ISOFORM 1).
44
+ RC TISSUE=B-cell;
45
+ RX PubMed=15489334; DOI=10.1101/gr.2596504;
46
+ RG The MGC Project Team;
47
+ RT "The status, quality, and expansion of the NIH full-length cDNA project:
48
+ RT the Mammalian Gene Collection (MGC).";
49
+ RL Genome Res. 14:2121-2127(2004).
50
+ RN [4]
51
+ RP SIMILARITY TO NADASE.
52
+ RX PubMed=1471258; DOI=10.1016/0968-0004(92)90337-9;
53
+ RA States D.J., Walseth T.F., Lee H.C.;
54
+ RT "Similarities in amino acid sequences of Aplysia ADP-ribosyl cyclase and
55
+ RT human lymphocyte antigen CD38.";
56
+ RL Trends Biochem. Sci. 17:495-495(1992).
57
+ RN [5]
58
+ RP CHARACTERIZATION.
59
+ RX PubMed=8253715; DOI=10.1016/s0021-9258(19)74275-6;
60
+ RA Takasawa S., Tohgo A., Noguchi N., Koguma T., Nata K., Sugimoto T.,
61
+ RA Yonekura H., Okamoto H.;
62
+ RT "Synthesis and hydrolysis of cyclic ADP-ribose by human leukocyte antigen
63
+ RT CD38 and inhibition of the hydrolysis by ATP.";
64
+ RL J. Biol. Chem. 268:26052-26054(1993).
65
+ RN [6]
66
+ RP ACTIVE SITE, AND MUTAGENESIS OF CYS-119; CYS-160; CYS-173 AND CYS-201.
67
+ RX PubMed=7961800; DOI=10.1016/s0021-9258(19)61940-x;
68
+ RA Tohgo A., Takasawa S., Noguchi N., Koguma T., Nata K., Sugimoto T.,
69
+ RA Furuya Y., Yonekura H., Okamoto H.;
70
+ RT "Essential cysteine residues for cyclic ADP-ribose synthesis and hydrolysis
71
+ RT by CD38.";
72
+ RL J. Biol. Chem. 269:28555-28557(1994).
73
+ RN [7]
74
+ RP SPLICE ISOFORM(S) THAT ARE POTENTIAL NMD TARGET(S).
75
+ RX PubMed=14759258; DOI=10.1186/gb-2004-5-2-r8;
76
+ RA Hillman R.T., Green R.E., Brenner S.E.;
77
+ RT "An unappreciated role for RNA surveillance.";
78
+ RL Genome Biol. 5:R8.1-R8.16(2004).
79
+ RN [8]
80
+ RP CATALYTIC ACTIVITY.
81
+ RX PubMed=16690024; DOI=10.1016/j.bbrc.2006.04.096;
82
+ RA Moreschi I., Bruzzone S., Melone L., De Flora A., Zocchi E.;
83
+ RT "NAADP+ synthesis from cADPRP and nicotinic acid by ADP-ribosyl cyclases.";
84
+ RL Biochem. Biophys. Res. Commun. 345:573-580(2006).
85
+ RN [9]
86
+ RP GLYCOSYLATION [LARGE SCALE ANALYSIS] AT ASN-100; ASN-209 AND ASN-219.
87
+ RC TISSUE=Liver;
88
+ RX PubMed=19159218; DOI=10.1021/pr8008012;
89
+ RA Chen R., Jiang X., Sun D., Han G., Wang F., Ye M., Wang L., Zou H.;
90
+ RT "Glycoproteomics analysis of human liver tissue by combination of multiple
91
+ RT enzyme digestion and hydrazide chemistry.";
92
+ RL J. Proteome Res. 8:651-661(2009).
93
+ RN [10]
94
+ RP GLYCOSYLATION [LARGE SCALE ANALYSIS] AT ASN-219.
95
+ RC TISSUE=Leukemic T-cell;
96
+ RX PubMed=19349973; DOI=10.1038/nbt.1532;
97
+ RA Wollscheid B., Bausch-Fluck D., Henderson C., O'Brien R., Bibel M.,
98
+ RA Schiess R., Aebersold R., Watts J.D.;
99
+ RT "Mass-spectrometric identification and relative quantification of N-linked
100
+ RT cell surface glycoproteins.";
101
+ RL Nat. Biotechnol. 27:378-386(2009).
102
+ RN [11]
103
+ RP IDENTIFICATION BY MASS SPECTROMETRY [LARGE SCALE ANALYSIS].
104
+ RX PubMed=21269460; DOI=10.1186/1752-0509-5-17;
105
+ RA Burkard T.R., Planyavsky M., Kaupe I., Breitwieser F.P., Buerckstuemmer T.,
106
+ RA Bennett K.L., Superti-Furga G., Colinge J.;
107
+ RT "Initial characterization of the human central proteome.";
108
+ RL BMC Syst. Biol. 5:17-17(2011).
109
+ RN [12]
110
+ RP IDENTIFICATION BY MASS SPECTROMETRY [LARGE SCALE ANALYSIS].
111
+ RX PubMed=25944712; DOI=10.1002/pmic.201400617;
112
+ RA Vaca Jacome A.S., Rabilloud T., Schaeffer-Reiss C., Rompais M., Ayoub D.,
113
+ RA Lane L., Bairoch A., Van Dorsselaer A., Carapito C.;
114
+ RT "N-terminome analysis of the human mitochondrial proteome.";
115
+ RL Proteomics 15:2519-2524(2015).
116
+ RN [13]
117
+ RP X-RAY CRYSTALLOGRAPHY (1.91 ANGSTROMS) OF 45-300, AND DISULFIDE BONDS.
118
+ RX PubMed=16154090; DOI=10.1016/j.str.2005.05.012;
119
+ RA Liu Q., Kriksunov I.A., Graeff R., Munshi C., Lee H.C., Hao Q.;
120
+ RT "Crystal structure of human CD38 extracellular domain.";
121
+ RL Structure 13:1331-1339(2005).
122
+ RN [14]
123
+ RP VARIANT TRP-140.
124
+ RX PubMed=9754820; DOI=10.1007/s001250051026;
125
+ RA Yagui K., Shimada F., Mimura M., Hashimoto N., Suzuki Y., Tokuyama Y.,
126
+ RA Nata K., Tohgo A., Ikehata F., Takasawa S., Okamoto H., Makino H.,
127
+ RA Saito Y., Kanatsuka A.;
128
+ RT "A missense mutation in the CD38 gene, a novel factor for insulin
129
+ RT secretion: association with Type II diabetes mellitus in Japanese subjects
130
+ RT and evidence of abnormal function when expressed in vitro.";
131
+ RL Diabetologia 41:1024-1028(1998).
132
+ CC -!- FUNCTION: Synthesizes the second messengers cyclic ADP-ribose and
133
+ CC nicotinate-adenine dinucleotide phosphate, the former a second
134
+ CC messenger for glucose-induced insulin secretion. Also has cADPr
135
+ CC hydrolase activity. Also moonlights as a receptor in cells of the
136
+ CC immune system.
137
+ CC -!- CATALYTIC ACTIVITY:
138
+ CC Reaction=H2O + NAD(+) = ADP-D-ribose + H(+) + nicotinamide;
139
+ CC Xref=Rhea:RHEA:16301, ChEBI:CHEBI:15377, ChEBI:CHEBI:15378,
140
+ CC ChEBI:CHEBI:17154, ChEBI:CHEBI:57540, ChEBI:CHEBI:57967; EC=3.2.2.6;
141
+ CC Evidence={ECO:0000269|PubMed:16690024};
142
+ CC -!- CATALYTIC ACTIVITY:
143
+ CC Reaction=NADP(+) + nicotinate = nicotinamide + nicotinate-adenine
144
+ CC dinucleotide phosphate; Xref=Rhea:RHEA:38599, ChEBI:CHEBI:17154,
145
+ CC ChEBI:CHEBI:32544, ChEBI:CHEBI:58349, ChEBI:CHEBI:75967;
146
+ CC EC=2.4.99.20; Evidence={ECO:0000269|PubMed:16690024};
147
+ CC -!- ACTIVITY REGULATION: ATP inhibits the hydrolyzing activity.
148
+ CC -!- SUBCELLULAR LOCATION: Membrane; Single-pass type II membrane protein.
149
+ CC -!- ALTERNATIVE PRODUCTS:
150
+ CC Event=Alternative splicing; Named isoforms=2;
151
+ CC Name=1;
152
+ CC IsoId=P28907-1; Sequence=Displayed;
153
+ CC Name=2;
154
+ CC IsoId=P28907-2; Sequence=VSP_000707, VSP_000708;
155
+ CC -!- TISSUE SPECIFICITY: Expressed at high levels in pancreas, liver,
156
+ CC kidney, brain, testis, ovary, placenta, malignant lymphoma and
157
+ CC neuroblastoma. {ECO:0000269|PubMed:9074508}.
158
+ CC -!- DEVELOPMENTAL STAGE: Preferentially expressed at both early and late
159
+ CC stages of the B and T-cell maturation. It is also detected on erythroid
160
+ CC and myeloid progenitors in bone marrow, where the level of surface
161
+ CC expression was shown to decrease during differentiation of blast-
162
+ CC forming unit E to colony-forming unit E.
163
+ CC -!- MISCELLANEOUS: [Isoform 2]: May be produced at very low levels due to a
164
+ CC premature stop codon in the mRNA, leading to nonsense-mediated mRNA
165
+ CC decay. {ECO:0000305}.
166
+ CC -!- SIMILARITY: Belongs to the ADP-ribosyl cyclase family. {ECO:0000305}.
167
+ CC -!- WEB RESOURCE: Name=Wikipedia; Note=CD38 entry;
168
+ CC URL="https://en.wikipedia.org/wiki/CD38";
169
+ CC -!- WEB RESOURCE: Name=Atlas of Genetics and Cytogenetics in Oncology and
170
+ CC Haematology;
171
+ CC URL="http://atlasgeneticsoncology.org/Genes/CD38ID978ch4p15.html";
172
+ CC ---------------------------------------------------------------------------
173
+ CC Copyrighted by the UniProt Consortium, see https://www.uniprot.org/terms
174
+ CC Distributed under the Creative Commons Attribution (CC BY 4.0) License
175
+ CC ---------------------------------------------------------------------------
176
+ DR EMBL; M34461; AAA68482.1; -; mRNA.
177
+ DR EMBL; D84276; BAA18964.1; -; mRNA.
178
+ DR EMBL; D84277; BAA18965.1; -; mRNA.
179
+ DR EMBL; D84284; BAA18966.1; -; Genomic_DNA.
180
+ DR EMBL; BC007964; AAH07964.1; -; mRNA.
181
+ DR CCDS; CCDS3417.1; -. [P28907-1]
182
+ DR PIR; A43521; A43521.
183
+ DR RefSeq; NP_001766.2; NM_001775.3. [P28907-1]
184
+ DR PDB; 1YH3; X-ray; 1.91 A; A/B=45-300.
185
+ DR PDB; 1ZVM; X-ray; 2.20 A; A/B/C/D=45-300.
186
+ DR PDB; 2EF1; X-ray; 2.40 A; A/B=45-300.
187
+ DR PDB; 2HCT; X-ray; 1.95 A; A/B=45-300.
188
+ DR PDB; 2I65; X-ray; 1.90 A; A/B=45-300.
189
+ DR PDB; 2I66; X-ray; 1.70 A; A/B=45-300.
190
+ DR PDB; 2I67; X-ray; 1.71 A; A/B=45-300.
191
+ DR PDB; 2O3Q; X-ray; 1.98 A; A/B=45-300.
192
+ DR PDB; 2O3R; X-ray; 1.75 A; A/B=45-300.
193
+ DR PDB; 2O3S; X-ray; 1.50 A; A/B=45-300.
194
+ DR PDB; 2O3T; X-ray; 1.68 A; A/B=45-300.
195
+ DR PDB; 2O3U; X-ray; 2.11 A; A/B=45-300.
196
+ DR PDB; 2PGJ; X-ray; 1.71 A; A/B=45-300.
197
+ DR PDB; 2PGL; X-ray; 1.76 A; A/B=45-300.
198
+ DR PDB; 3DZF; X-ray; 2.01 A; A/B/C/D/E/F=45-300.
199
+ DR PDB; 3DZG; X-ray; 1.65 A; A/B=45-300.
200
+ DR PDB; 3DZH; X-ray; 1.60 A; A/B=45-300.
201
+ DR PDB; 3DZI; X-ray; 1.73 A; A/B=45-300.
202
+ DR PDB; 3DZJ; X-ray; 1.90 A; A/B=45-300.
203
+ DR PDB; 3DZK; X-ray; 1.81 A; A/B=45-300.
204
+ DR PDB; 3F6Y; X-ray; 1.45 A; A=45-300.
205
+ DR PDB; 3I9M; X-ray; 1.75 A; A/B=45-300.
206
+ DR PDB; 3I9N; X-ray; 2.01 A; A/B=45-300.
207
+ DR PDB; 3OFS; X-ray; 2.20 A; A/B/C/D/E/F=46-300.
208
+ DR PDB; 3RAJ; X-ray; 3.04 A; A=46-300.
209
+ DR PDB; 3ROK; X-ray; 1.65 A; A/B=45-296.
210
+ DR PDB; 3ROM; X-ray; 2.04 A; A/B=45-296.
211
+ DR PDB; 3ROP; X-ray; 1.94 A; A/B=45-296.
212
+ DR PDB; 3ROQ; X-ray; 2.10 A; A/B=45-296.
213
+ DR PDB; 3U4H; X-ray; 1.88 A; A/B=45-300.
214
+ DR PDB; 3U4I; X-ray; 2.12 A; A/B=45-300.
215
+ DR PDB; 4CMH; X-ray; 1.53 A; A=45-300.
216
+ DR PDB; 4F45; X-ray; 2.10 A; A/B=46-300.
217
+ DR PDB; 4F46; X-ray; 1.69 A; A/B=46-300.
218
+ DR PDB; 4OGW; X-ray; 2.05 A; A=46-300.
219
+ DR PDB; 4TMF; X-ray; 2.05 A; A/B=50-300.
220
+ DR PDB; 4XJS; X-ray; 2.80 A; A=46-300.
221
+ DR PDB; 4XJT; X-ray; 2.60 A; A=46-300.
222
+ DR PDB; 5F1K; X-ray; 2.30 A; A/B=45-300.
223
+ DR PDB; 5F1O; X-ray; 2.20 A; A=46-300.
224
+ DR PDB; 5F21; X-ray; 1.90 A; A=46-300.
225
+ DR PDB; 6EDR; X-ray; 2.40 A; A/B=45-300.
226
+ DR PDB; 6VUA; X-ray; 1.50 A; A/B=45-300.
227
+ DR PDB; 7DHA; X-ray; 2.55 A; A=45-300.
228
+ DR PDB; 7DUO; X-ray; 2.81 A; B=57-285.
229
+ DR PDBsum; 1YH3; -.
230
+ DR PDBsum; 1ZVM; -.
231
+ DR PDBsum; 2EF1; -.
232
+ DR PDBsum; 2HCT; -.
233
+ DR PDBsum; 2I65; -.
234
+ DR PDBsum; 2I66; -.
235
+ DR PDBsum; 2I67; -.
236
+ DR PDBsum; 2O3Q; -.
237
+ DR PDBsum; 2O3R; -.
238
+ DR PDBsum; 2O3S; -.
239
+ DR PDBsum; 2O3T; -.
240
+ DR PDBsum; 2O3U; -.
241
+ DR PDBsum; 2PGJ; -.
242
+ DR PDBsum; 2PGL; -.
243
+ DR PDBsum; 3DZF; -.
244
+ DR PDBsum; 3DZG; -.
245
+ DR PDBsum; 3DZH; -.
246
+ DR PDBsum; 3DZI; -.
247
+ DR PDBsum; 3DZJ; -.
248
+ DR PDBsum; 3DZK; -.
249
+ DR PDBsum; 3F6Y; -.
250
+ DR PDBsum; 3I9M; -.
251
+ DR PDBsum; 3I9N; -.
252
+ DR PDBsum; 3OFS; -.
253
+ DR PDBsum; 3RAJ; -.
254
+ DR PDBsum; 3ROK; -.
255
+ DR PDBsum; 3ROM; -.
256
+ DR PDBsum; 3ROP; -.
257
+ DR PDBsum; 3ROQ; -.
258
+ DR PDBsum; 3U4H; -.
259
+ DR PDBsum; 3U4I; -.
260
+ DR PDBsum; 4CMH; -.
261
+ DR PDBsum; 4F45; -.
262
+ DR PDBsum; 4F46; -.
263
+ DR PDBsum; 4OGW; -.
264
+ DR PDBsum; 4TMF; -.
265
+ DR PDBsum; 4XJS; -.
266
+ DR PDBsum; 4XJT; -.
267
+ DR PDBsum; 5F1K; -.
268
+ DR PDBsum; 5F1O; -.
269
+ DR PDBsum; 5F21; -.
270
+ DR PDBsum; 6EDR; -.
271
+ DR PDBsum; 6VUA; -.
272
+ DR PDBsum; 7DHA; -.
273
+ DR PDBsum; 7DUO; -.
274
+ DR AlphaFoldDB; P28907; -.
275
+ DR SMR; P28907; -.
276
+ DR BioGRID; 107390; 10.
277
+ DR IntAct; P28907; 5.
278
+ DR STRING; 9606.ENSP00000226279; -.
279
+ DR BindingDB; P28907; -.
280
+ DR ChEMBL; CHEMBL4660; -.
281
+ DR DrugBank; DB09331; Daratumumab.
282
+ DR DrugBank; DB14811; Isatuximab.
283
+ DR DrugBank; DB16370; Mezagitamab.
284
+ DR DrugCentral; P28907; -.
285
+ DR GuidetoPHARMACOLOGY; 2766; -.
286
+ DR GlyConnect; 997; 1 N-Linked glycan (1 site).
287
+ DR GlyGen; P28907; 5 sites, 1 N-linked glycan (1 site).
288
+ DR iPTMnet; P28907; -.
289
+ DR PhosphoSitePlus; P28907; -.
290
+ DR SwissPalm; P28907; -.
291
+ DR BioMuta; CD38; -.
292
+ DR DMDM; 55977782; -.
293
+ DR EPD; P28907; -.
294
+ DR jPOST; P28907; -.
295
+ DR MassIVE; P28907; -.
296
+ DR MaxQB; P28907; -.
297
+ DR PaxDb; P28907; -.
298
+ DR PeptideAtlas; P28907; -.
299
+ DR PRIDE; P28907; -.
300
+ DR ProteomicsDB; 54507; -. [P28907-1]
301
+ DR ProteomicsDB; 54508; -. [P28907-2]
302
+ DR ABCD; P28907; 65 sequenced antibodies.
303
+ DR Antibodypedia; 9844; 2499 antibodies from 55 providers.
304
+ DR CPTC; P28907; 1 antibody.
305
+ DR DNASU; 952; -.
306
+ DR Ensembl; ENST00000226279.8; ENSP00000226279.2; ENSG00000004468.13. [P28907-1]
307
+ DR Ensembl; ENST00000502843.5; ENSP00000427277.1; ENSG00000004468.13. [P28907-2]
308
+ DR GeneID; 952; -.
309
+ DR KEGG; hsa:952; -.
310
+ DR MANE-Select; ENST00000226279.8; ENSP00000226279.2; NM_001775.4; NP_001766.2.
311
+ DR UCSC; uc003gol.2; human. [P28907-1]
312
+ DR CTD; 952; -.
313
+ DR DisGeNET; 952; -.
314
+ DR GeneCards; CD38; -.
315
+ DR HGNC; HGNC:1667; CD38.
316
+ DR HPA; ENSG00000004468; Tissue enhanced (lymphoid).
317
+ DR MIM; 107270; gene.
318
+ DR neXtProt; NX_P28907; -.
319
+ DR OpenTargets; ENSG00000004468; -.
320
+ DR PharmGKB; PA26214; -.
321
+ DR VEuPathDB; HostDB:ENSG00000004468; -.
322
+ DR eggNOG; ENOG502S1HV; Eukaryota.
323
+ DR GeneTree; ENSGT00390000017291; -.
324
+ DR HOGENOM; CLU_2025937_0_0_1; -.
325
+ DR InParanoid; P28907; -.
326
+ DR OMA; MNYDSCP; -.
327
+ DR PhylomeDB; P28907; -.
328
+ DR TreeFam; TF332530; -.
329
+ DR BioCyc; MetaCyc:HS00103-MON; -.
330
+ DR BRENDA; 2.4.99.20; 2681.
331
+ DR BRENDA; 3.2.2.5; 2681.
332
+ DR BRENDA; 3.2.2.6; 2681.
333
+ DR PathwayCommons; P28907; -.
334
+ DR Reactome; R-HSA-196807; Nicotinate metabolism.
335
+ DR SABIO-RK; P28907; -.
336
+ DR SignaLink; P28907; -.
337
+ DR SIGNOR; P28907; -.
338
+ DR BioGRID-ORCS; 952; 8 hits in 1077 CRISPR screens.
339
+ DR ChiTaRS; CD38; human.
340
+ DR EvolutionaryTrace; P28907; -.
341
+ DR GeneWiki; CD38; -.
342
+ DR GenomeRNAi; 952; -.
343
+ DR Pharos; P28907; Tclin.
344
+ DR PRO; PR:P28907; -.
345
+ DR Proteomes; UP000005640; Chromosome 4.
346
+ DR RNAct; P28907; protein.
347
+ DR Bgee; ENSG00000004468; Expressed in seminal vesicle and 129 other tissues.
348
+ DR ExpressionAtlas; P28907; baseline and differential.
349
+ DR Genevisible; P28907; HS.
350
+ DR GO; GO:0016323; C:basolateral plasma membrane; IEA:Ensembl.
351
+ DR GO; GO:0009986; C:cell surface; IEA:Ensembl.
352
+ DR GO; GO:0070062; C:extracellular exosome; HDA:UniProtKB.
353
+ DR GO; GO:0016021; C:integral component of membrane; IEA:UniProtKB-KW.
354
+ DR GO; GO:0016020; C:membrane; TAS:ProtInc.
355
+ DR GO; GO:0005634; C:nucleus; IEA:Ensembl.
356
+ DR GO; GO:0005886; C:plasma membrane; IDA:HPA.
357
+ DR GO; GO:0030667; C:secretory granule membrane; IEA:Ensembl.
358
+ DR GO; GO:0042802; F:identical protein binding; IEA:Ensembl.
359
+ DR GO; GO:0050135; F:NAD(P)+ nucleosidase activity; IEA:UniProtKB-EC.
360
+ DR GO; GO:0003953; F:NAD+ nucleosidase activity; IBA:GO_Central.
361
+ DR GO; GO:0061809; F:NAD+ nucleotidase, cyclic ADP-ribose generating; IEA:UniProtKB-EC.
362
+ DR GO; GO:0016849; F:phosphorus-oxygen lyase activity; IBA:GO_Central.
363
+ DR GO; GO:0016740; F:transferase activity; IEA:UniProtKB-KW.
364
+ DR GO; GO:0097190; P:apoptotic signaling pathway; TAS:ProtInc.
365
+ DR GO; GO:0014824; P:artery smooth muscle contraction; IEA:Ensembl.
366
+ DR GO; GO:0042100; P:B cell proliferation; IEA:Ensembl.
367
+ DR GO; GO:0050853; P:B cell receptor signaling pathway; IMP:UniProtKB.
368
+ DR GO; GO:0007565; P:female pregnancy; IEA:Ensembl.
369
+ DR GO; GO:0060292; P:long-term synaptic depression; IEA:Ensembl.
370
+ DR GO; GO:0019674; P:NAD metabolic process; TAS:Reactome.
371
+ DR GO; GO:0043066; P:negative regulation of apoptotic process; IMP:UniProtKB.
372
+ DR GO; GO:0045779; P:negative regulation of bone resorption; IEA:Ensembl.
373
+ DR GO; GO:0010977; P:negative regulation of neuron projection development; IEA:Ensembl.
374
+ DR GO; GO:0045892; P:negative regulation of transcription, DNA-templated; IMP:UniProtKB.
375
+ DR GO; GO:0030890; P:positive regulation of B cell proliferation; IMP:UniProtKB.
376
+ DR GO; GO:0030307; P:positive regulation of cell growth; IEA:Ensembl.
377
+ DR GO; GO:0007204; P:positive regulation of cytosolic calcium ion concentration; IEA:Ensembl.
378
+ DR GO; GO:0032024; P:positive regulation of insulin secretion; IEA:Ensembl.
379
+ DR GO; GO:0045893; P:positive regulation of transcription, DNA-templated; IMP:UniProtKB.
380
+ DR GO; GO:0045907; P:positive regulation of vasoconstriction; IEA:Ensembl.
381
+ DR GO; GO:0032355; P:response to estradiol; IEA:Ensembl.
382
+ DR GO; GO:0033194; P:response to hydroperoxide; IEA:Ensembl.
383
+ DR GO; GO:0001666; P:response to hypoxia; IEA:Ensembl.
384
+ DR GO; GO:0070555; P:response to interleukin-1; IEA:Ensembl.
385
+ DR GO; GO:0032570; P:response to progesterone; IEA:Ensembl.
386
+ DR GO; GO:0032526; P:response to retinoic acid; IEA:Ensembl.
387
+ DR GO; GO:0009410; P:response to xenobiotic stimulus; IMP:UniProtKB.
388
+ DR GO; GO:0007165; P:signal transduction; NAS:ProtInc.
389
+ DR CDD; cd04759; Rib_hydrolase; 1.
390
+ DR InterPro; IPR003193; ADP-ribosyl_cyclase.
391
+ DR InterPro; IPR033567; CD38.
392
+ DR PANTHER; PTHR10912; PTHR10912; 1.
393
+ DR PANTHER; PTHR10912:SF5; PTHR10912:SF5; 1.
394
+ DR Pfam; PF02267; Rib_hydrolayse; 1.
395
+ PE 1: Evidence at protein level;
396
+ KW 3D-structure; Alternative splicing; Diabetes mellitus; Disulfide bond;
397
+ KW Glycoprotein; Hydrolase; Membrane; NAD; NADP; Receptor; Reference proteome;
398
+ KW Signal-anchor; Transferase; Transmembrane; Transmembrane helix.
399
+ FT CHAIN 1..300
400
+ FT /note="ADP-ribosyl cyclase/cyclic ADP-ribose hydrolase 1"
401
+ FT /id="PRO_0000144066"
402
+ FT TOPO_DOM 1..21
403
+ FT /note="Cytoplasmic"
404
+ FT /evidence="ECO:0000255"
405
+ FT TRANSMEM 22..42
406
+ FT /note="Helical; Signal-anchor for type II membrane protein"
407
+ FT /evidence="ECO:0000255"
408
+ FT TOPO_DOM 43..300
409
+ FT /note="Extracellular"
410
+ FT /evidence="ECO:0000255"
411
+ FT ACT_SITE 119
412
+ FT /evidence="ECO:0000269|PubMed:7961800"
413
+ FT ACT_SITE 201
414
+ FT /evidence="ECO:0000269|PubMed:7961800"
415
+ FT CARBOHYD 100
416
+ FT /note="N-linked (GlcNAc...) asparagine"
417
+ FT /evidence="ECO:0000269|PubMed:19159218"
418
+ FT CARBOHYD 164
419
+ FT /note="N-linked (GlcNAc...) asparagine"
420
+ FT /evidence="ECO:0000255"
421
+ FT CARBOHYD 209
422
+ FT /note="N-linked (GlcNAc...) asparagine"
423
+ FT /evidence="ECO:0000269|PubMed:19159218"
424
+ FT CARBOHYD 219
425
+ FT /note="N-linked (GlcNAc...) asparagine"
426
+ FT /evidence="ECO:0000269|PubMed:19159218,
427
+ FT ECO:0000269|PubMed:19349973"
428
+ FT DISULFID 67..82
429
+ FT /evidence="ECO:0000269|PubMed:16154090"
430
+ FT DISULFID 99..180
431
+ FT /evidence="ECO:0000269|PubMed:16154090"
432
+ FT DISULFID 160..173
433
+ FT /evidence="ECO:0000269|PubMed:16154090"
434
+ FT DISULFID 254..275
435
+ FT /evidence="ECO:0000269|PubMed:16154090"
436
+ FT DISULFID 287..296
437
+ FT /evidence="ECO:0000269|PubMed:16154090"
438
+ FT VAR_SEQ 122
439
+ FT /note="I -> K (in isoform 2)"
440
+ FT /evidence="ECO:0000303|PubMed:9074508"
441
+ FT /id="VSP_000707"
442
+ FT VAR_SEQ 123..300
443
+ FT /note="Missing (in isoform 2)"
444
+ FT /evidence="ECO:0000303|PubMed:9074508"
445
+ FT /id="VSP_000708"
446
+ FT VARIANT 140
447
+ FT /note="R -> W (seems to contribute to the development of
448
+ FT type II diabetes; 50% reduction in activity;
449
+ FT dbSNP:rs1800561)"
450
+ FT /evidence="ECO:0000269|PubMed:9754820"
451
+ FT /id="VAR_001323"
452
+ FT MUTAGEN 119
453
+ FT /note="C->K: Loss of cADPr hydrolase activity."
454
+ FT /evidence="ECO:0000269|PubMed:7961800"
455
+ FT MUTAGEN 119
456
+ FT /note="C->R,E,A: Loss of cADPr hydrolase and ADP-ribosyl
457
+ FT cyclase activity."
458
+ FT /evidence="ECO:0000269|PubMed:7961800"
459
+ FT MUTAGEN 160
460
+ FT /note="C->A: Loss of cADPr hydrolase and ADP-ribosyl
461
+ FT cyclase activity."
462
+ FT /evidence="ECO:0000269|PubMed:7961800"
463
+ FT MUTAGEN 173
464
+ FT /note="C->A: Loss of cADPr hydrolase and ADP-ribosyl
465
+ FT cyclase activity."
466
+ FT /evidence="ECO:0000269|PubMed:7961800"
467
+ FT MUTAGEN 201
468
+ FT /note="C->D,K,A: Loss of cADPr hydrolase and ADP-ribosyl
469
+ FT cyclase activity."
470
+ FT /evidence="ECO:0000269|PubMed:7961800"
471
+ FT MUTAGEN 201
472
+ FT /note="C->E: Loss of cADPr hydrolase activity."
473
+ FT /evidence="ECO:0000269|PubMed:7961800"
474
+ FT CONFLICT 49
475
+ FT /note="Q -> T (in Ref. 1; AAA68482)"
476
+ FT /evidence="ECO:0000305"
477
+ FT STRAND 51..53
478
+ FT /evidence="ECO:0007829|PDB:3F6Y"
479
+ FT HELIX 59..73
480
+ FT /evidence="ECO:0007829|PDB:3F6Y"
481
+ FT HELIX 75..77
482
+ FT /evidence="ECO:0007829|PDB:2O3S"
483
+ FT HELIX 82..93
484
+ FT /evidence="ECO:0007829|PDB:3F6Y"
485
+ FT STRAND 94..96
486
+ FT /evidence="ECO:0007829|PDB:3RAJ"
487
+ FT HELIX 98..100
488
+ FT /evidence="ECO:0007829|PDB:3F6Y"
489
+ FT HELIX 103..106
490
+ FT /evidence="ECO:0007829|PDB:3F6Y"
491
+ FT HELIX 107..112
492
+ FT /evidence="ECO:0007829|PDB:3F6Y"
493
+ FT HELIX 119..121
494
+ FT /evidence="ECO:0007829|PDB:3F6Y"
495
+ FT STRAND 122..127
496
+ FT /evidence="ECO:0007829|PDB:2O3S"
497
+ FT STRAND 132..134
498
+ FT /evidence="ECO:0007829|PDB:3F6Y"
499
+ FT HELIX 136..141
500
+ FT /evidence="ECO:0007829|PDB:3F6Y"
501
+ FT STRAND 142..144
502
+ FT /evidence="ECO:0007829|PDB:3RAJ"
503
+ FT HELIX 145..147
504
+ FT /evidence="ECO:0007829|PDB:3F6Y"
505
+ FT HELIX 149..154
506
+ FT /evidence="ECO:0007829|PDB:3F6Y"
507
+ FT STRAND 165..167
508
+ FT /evidence="ECO:0007829|PDB:3F6Y"
509
+ FT STRAND 171..173
510
+ FT /evidence="ECO:0007829|PDB:3F6Y"
511
+ FT TURN 176..179
512
+ FT /evidence="ECO:0007829|PDB:3F6Y"
513
+ FT STRAND 181..183
514
+ FT /evidence="ECO:0007829|PDB:3F6Y"
515
+ FT HELIX 184..199
516
+ FT /evidence="ECO:0007829|PDB:3F6Y"
517
+ FT STRAND 202..209
518
+ FT /evidence="ECO:0007829|PDB:3F6Y"
519
+ FT STRAND 212..216
520
+ FT /evidence="ECO:0007829|PDB:3F6Y"
521
+ FT STRAND 218..220
522
+ FT /evidence="ECO:0007829|PDB:2EF1"
523
+ FT HELIX 221..224
524
+ FT /evidence="ECO:0007829|PDB:3F6Y"
525
+ FT HELIX 227..229
526
+ FT /evidence="ECO:0007829|PDB:3F6Y"
527
+ FT TURN 232..234
528
+ FT /evidence="ECO:0007829|PDB:3F6Y"
529
+ FT STRAND 235..243
530
+ FT /evidence="ECO:0007829|PDB:3F6Y"
531
+ FT STRAND 246..249
532
+ FT /evidence="ECO:0007829|PDB:3F6Y"
533
+ FT HELIX 253..255
534
+ FT /evidence="ECO:0007829|PDB:3F6Y"
535
+ FT HELIX 257..268
536
+ FT /evidence="ECO:0007829|PDB:3F6Y"
537
+ FT STRAND 272..278
538
+ FT /evidence="ECO:0007829|PDB:3F6Y"
539
+ FT HELIX 281..289
540
+ FT /evidence="ECO:0007829|PDB:2O3S"
541
+ FT TURN 291..293
542
+ FT /evidence="ECO:0007829|PDB:3DZG"
543
+ FT HELIX 294..296
544
+ FT /evidence="ECO:0007829|PDB:5F21"
545
+ SQ SEQUENCE 300 AA; 34328 MW; 47BBE38C3DE3E6AA CRC64;
546
+ MANCEFSPVS GDKPCCRLSR RAQLCLGVSI LVLILVVVLA VVVPRWRQQW SGPGTTKRFP
547
+ ETVLARCVKY TEIHPEMRHV DCQSVWDAFK GAFISKHPCN ITEEDYQPLM KLGTQTVPCN
548
+ KILLWSRIKD LAHQFTQVQR DMFTLEDTLL GYLADDLTWC GEFNTSKINY QSCPDWRKDC
549
+ SNNPVSVFWK TVSRRFAEAA CDVVHVMLNG SRSKIFDKNS TFGSVEVHNL QPEKVQTLEA
550
+ WVIHGGREDS RDLCQDPTIK ELESIISKRN IQFSCKNIYR PDKFLQCVKN PEDSSCTSEI
551
+ //
@@ -0,0 +1,325 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # test/unit/bio/db/embl/test_uniprotkb_P28907.rb - Unit tests for Bio::UniProtKB
4
+ #
5
+ # Copyright::: Copyright (C) 2022 BioRuby Project <staff@bioruby.org>
6
+ # License:: The Ruby License
7
+ # Contributor:: 2005 Mitsuteru Nakao <n@bioruby.org>
8
+ # 2022 Naohisa Goto <ng@bioruby.org>
9
+ #
10
+
11
+ # loading helper routine for testing bioruby
12
+ require 'pathname'
13
+ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
14
+ 'bioruby_test_helper.rb')).cleanpath.to_s
15
+
16
+ # libraries needed for the tests
17
+ require 'test/unit'
18
+ require 'bio/db/embl/uniprotkb'
19
+
20
+ module Bio
21
+ class TestUniProtKB_P28907 < Test::Unit::TestCase
22
+
23
+ def setup
24
+ data = File.read(File.join(BioRubyTestDataPath,
25
+ 'uniprot', 'P28907.uniprot'))
26
+ @obj = Bio::UniProtKB.new(data)
27
+ end
28
+
29
+ def test_id_line
30
+ assert(@obj.id_line)
31
+ end
32
+
33
+ def test_id_line_entry_name
34
+ assert_equal('CD38_HUMAN', @obj.id_line('ENTRY_NAME'))
35
+ end
36
+
37
+ def test_id_line_data_class
38
+ assert_equal('Reviewed', @obj.id_line('DATA_CLASS'))
39
+ end
40
+
41
+ #def test_id_line_molecule_type
42
+ # assert_equal('PRT', @obj.id_line('MOLECULE_TYPE'))
43
+ #end
44
+
45
+ def test_id_line_sequence_length
46
+ assert_equal(300, @obj.id_line('SEQUENCE_LENGTH'))
47
+ end
48
+
49
+ def test_entry
50
+ entry = 'CD38_HUMAN'
51
+ assert_equal(entry, @obj.entry)
52
+ assert_equal(entry, @obj.entry_name)
53
+ assert_equal(entry, @obj.entry_id)
54
+ end
55
+
56
+ #def test_molecule
57
+ # assert_equal('PRT', @obj.molecule)
58
+ # assert_equal('PRT', @obj.molecule_type)
59
+ #end
60
+
61
+ def test_sequence_length
62
+ seqlen = 300
63
+ assert_equal(seqlen, @obj.sequence_length)
64
+ assert_equal(seqlen, @obj.aalen)
65
+ end
66
+
67
+ def test_ac
68
+ acs = ["P28907", "O00121", "O00122", "Q96HY4"].freeze
69
+ assert_equal(acs, @obj.ac)
70
+ assert_equal(acs, @obj.accessions)
71
+ end
72
+
73
+ def test_accession
74
+ assert_equal('P28907', @obj.accession)
75
+ end
76
+
77
+ def test_dr
78
+ assert_equal(81, @obj.dr.size)
79
+ assert_equal(39, @obj.dr['GO'].size)
80
+ assert_equal([["IPR003193", "ADP-ribosyl_cyclase"],
81
+ ["IPR033567", "CD38"]],
82
+ @obj.dr['InterPro'])
83
+ end
84
+
85
+ def test_dr_with_key
86
+ pfam = [{" " => "1",
87
+ "Version" => "Rib_hydrolayse",
88
+ "Accession" => "PF02267",
89
+ "Molecular Type" => nil
90
+ }].freeze
91
+ assert_equal(pfam, @obj.dr('Pfam'))
92
+ embl = [{"Accession" => "M34461",
93
+ "Version" => "AAA68482.1",
94
+ " " => "-",
95
+ "Molecular Type" => "mRNA"},
96
+ {"Accession" => "D84276",
97
+ "Version" => "BAA18964.1",
98
+ " " => "-",
99
+ "Molecular Type" => "mRNA"},
100
+ {"Accession" => "D84277",
101
+ "Version" => "BAA18965.1",
102
+ " " => "-",
103
+ "Molecular Type" => "mRNA"},
104
+ {"Accession" => "D84284",
105
+ "Version" => "BAA18966.1",
106
+ " " => "-",
107
+ "Molecular Type" => "Genomic_DNA"},
108
+ {"Accession" => "BC007964",
109
+ "Version" => "AAH07964.1",
110
+ " " => "-",
111
+ "Molecular Type" => "mRNA"}].freeze
112
+ assert_equal(embl, @obj.dr('EMBL'))
113
+ end
114
+
115
+ def test_dr_with_key_empty
116
+ assert_equal([], @obj.dr('NOT_A_DATABASE'))
117
+ end
118
+
119
+ def test_dt
120
+ assert(@obj.dt)
121
+ end
122
+
123
+ def test_dt_created
124
+ assert_equal('01-DEC-1992, integrated into UniProtKB/Swiss-Prot.',
125
+ @obj.dt('created'))
126
+ end
127
+
128
+ def test_dt_sequence
129
+ assert_equal('23-NOV-2004, sequence version 2.',
130
+ @obj.dt('sequence'))
131
+ end
132
+
133
+ def test_dt_annotation
134
+ assert_equal('03-AUG-2022, entry version 213.',
135
+ @obj.dt('annotation'))
136
+ end
137
+
138
+ def test_de
139
+ assert(@obj.de)
140
+ end
141
+
142
+ def test_protein_name
143
+ assert_equal("ADP-ribosyl cyclase/cyclic ADP-ribose hydrolase 1",
144
+ @obj.protein_name)
145
+ end
146
+
147
+ def test_synonyms
148
+ ary = [
149
+ "EC 3.2.2.6",
150
+ "2'-phospho-ADP-ribosyl cyclase",
151
+ "2'-phospho-ADP-ribosyl cyclase/2'-phospho-cyclic-ADP-ribose transferase",
152
+ "EC 2.4.99.20",
153
+ "2'-phospho-cyclic-ADP-ribose transferase",
154
+ "ADP-ribosyl cyclase 1",
155
+ "ADPRC 1",
156
+ "Cyclic ADP-ribose hydrolase 1",
157
+ "cADPr hydrolase 1",
158
+ "T10",
159
+ "CD_antigen=CD38"
160
+ ].freeze
161
+ assert_equal(ary, @obj.synonyms)
162
+ end
163
+
164
+ def test_protein_name_after_calling_de
165
+ assert(@obj.de)
166
+ assert_equal("ADP-ribosyl cyclase/cyclic ADP-ribose hydrolase 1",
167
+ @obj.protein_name)
168
+ end
169
+
170
+ def test_synonyms_after_calling_de
171
+ assert(@obj.de)
172
+ assert_equal(11, @obj.synonyms.size)
173
+ end
174
+
175
+ def test_gn
176
+ assert_equal([{:orfs=>[], :synonyms=>[], :name=>"CD38", :loci=>[]}],
177
+ @obj.gn)
178
+ end
179
+
180
+ def test_gn_uniprot_parser
181
+ assert_equal([{:orfs=>[], :loci=>[], :name=>"CD38", :synonyms=>[]}],
182
+ @obj.instance_eval("gn_uniprot_parser"))
183
+ end
184
+
185
+ def test_gn_old_parser
186
+ assert_equal([["Name=CD38;"]],
187
+ @obj.instance_eval("gn_old_parser"))
188
+ end
189
+
190
+ def test_gene_names
191
+ assert_equal(["CD38"], @obj.gene_names)
192
+ end
193
+
194
+ def test_gene_name
195
+ assert_equal('CD38', @obj.gene_name)
196
+ end
197
+
198
+ def test_os
199
+ assert(@obj.os)
200
+ end
201
+
202
+ def test_os_access
203
+ assert_equal("Homo sapiens (Human)", @obj.os(0))
204
+ end
205
+
206
+ def test_os_access2
207
+ assert_equal({"name"=>"(Human)", "os"=>"Homo sapiens"}, @obj.os[0])
208
+ end
209
+
210
+ def test_oc
211
+ assert_equal(["Eukaryota", "Metazoa", "Chordata", "Craniata",
212
+ "Vertebrata", "Euteleostomi", "Mammalia", "Eutheria",
213
+ "Euarchontoglires", "Primates",
214
+ "Haplorrhini", "Catarrhini", "Hominidae", "Homo"],
215
+ @obj.oc)
216
+ end
217
+
218
+ def test_ox
219
+ assert_equal({"NCBI_TaxID"=>["9606"]}, @obj.ox)
220
+ end
221
+
222
+ def test_ref # Bio::UniProtKB#ref
223
+ assert_equal(Array, @obj.ref.class)
224
+ end
225
+
226
+ def test_cc
227
+ assert_equal(Hash, @obj.cc.class)
228
+ end
229
+
230
+ def test_cc_database
231
+ assert_equal(nil, @obj.cc('DATABASE'))
232
+ end
233
+
234
+ def test_cc_alternative_products
235
+ ap = { "Event"=>["Alternative splicing"],
236
+ "Named isoforms"=>"2",
237
+ "Comment"=>"",
238
+ "Variants"=>
239
+ [{"Name"=>"1",
240
+ "Synonyms"=>[],
241
+ "IsoId"=>["P28907-1"],
242
+ "Sequence"=>["Displayed"]},
243
+ {"Name"=>"2",
244
+ "Synonyms"=>[],
245
+ "IsoId"=>["P28907-2"],
246
+ "Sequence"=>["VSP_000707", "VSP_000708"]}]}
247
+ assert_equal(ap, @obj.cc('ALTERNATIVE PRODUCTS'))
248
+ end
249
+
250
+ def test_cc_mass_spectrometry
251
+ assert_equal(nil, @obj.cc('MASS SPECTROMETRY'))
252
+ end
253
+
254
+
255
+ def test_kw
256
+ keywords = ["3D-structure", "Alternative splicing",
257
+ "Diabetes mellitus", "Disulfide bond",
258
+ "Glycoprotein", "Hydrolase", "Membrane",
259
+ "NAD", "NADP", "Receptor", "Reference proteome",
260
+ "Signal-anchor", "Transferase", "Transmembrane",
261
+ "Transmembrane helix"]
262
+ assert_equal(keywords, @obj.kw)
263
+ end
264
+
265
+ def test_ft
266
+ assert(@obj.ft)
267
+ name = 'TOPO_DOM'
268
+ data = [{"From"=>1,
269
+ "To"=>21,
270
+ "diff"=>[],
271
+ "original"=>
272
+ ["TOPO_DOM",
273
+ "1",
274
+ "21",
275
+ [["note", "Cytoplasmic"],
276
+ ["evidence", "ECO:0000255"]]],
277
+ "note"=>"Cytoplasmic",
278
+ "evidence"=>"ECO:0000255"},
279
+ {"From"=>43,
280
+ "To"=>300,
281
+ "diff"=>[],
282
+ "original"=>
283
+ ["TOPO_DOM",
284
+ "43",
285
+ "300",
286
+ [["note", "Extracellular"],
287
+ ["evidence", "ECO:0000255"]]],
288
+ "note"=>"Extracellular",
289
+ "evidence"=>"ECO:0000255"}].freeze
290
+
291
+ assert_equal(data, @obj.ft[name])
292
+ end
293
+
294
+ def test_sq
295
+ assert_equal({"CRC64"=>"47BBE38C3DE3E6AA", "aalen"=>300, "MW"=>34328},
296
+ @obj.sq)
297
+ end
298
+
299
+ def test_sq_crc64
300
+ assert_equal("47BBE38C3DE3E6AA", @obj.sq('CRC64'))
301
+ end
302
+
303
+ def test_sq_mw
304
+ mw = 34328
305
+ assert_equal(mw, @obj.sq('mw'))
306
+ assert_equal(mw, @obj.sq('molecular'))
307
+ assert_equal(mw, @obj.sq('weight'))
308
+ end
309
+
310
+ def test_sq_len
311
+ length = 300
312
+ assert_equal(length, @obj.sq('len'))
313
+ assert_equal(length, @obj.sq('length'))
314
+ assert_equal(length, @obj.sq('AA'))
315
+ end
316
+
317
+ def test_seq
318
+ seq = "MANCEFSPVSGDKPCCRLSRRAQLCLGVSILVLILVVVLAVVVPRWRQQWSGPGTTKRFPETVLARCVKYTEIHPEMRHVDCQSVWDAFKGAFISKHPCNITEEDYQPLMKLGTQTVPCNKILLWSRIKDLAHQFTQVQRDMFTLEDTLLGYLADDLTWCGEFNTSKINYQSCPDWRKDCSNNPVSVFWKTVSRRFAEAACDVVHVMLNGSRSKIFDKNSTFGSVEVHNLQPEKVQTLEAWVIHGGREDSRDLCQDPTIKELESIISKRNIQFSCKNIYRPDKFLQCVKNPEDSSCTSEI"
319
+ assert_equal(seq, @obj.seq)
320
+ assert_equal(seq, @obj.aaseq)
321
+ end
322
+
323
+ end # class TestUniProtKB
324
+ end # module Bio
325
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - BioRuby project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-05 00:00:00.000000000 Z
11
+ date: 2022-09-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: BioRuby is a library for bioinformatics (biology + information science).
14
14
  email: staff@bioruby.org
@@ -465,6 +465,7 @@ files:
465
465
  - test/data/sim4/simple2-A4.sim4
466
466
  - test/data/soft/GDS100_partial.soft
467
467
  - test/data/soft/GSE3457_family_partial.soft
468
+ - test/data/uniprot/P28907.uniprot
468
469
  - test/data/uniprot/p53_human.uniprot
469
470
  - test/functional/bio/sequence/test_output_embl.rb
470
471
  - test/functional/bio/test_command.rb
@@ -509,6 +510,7 @@ files:
509
510
  - test/unit/bio/db/embl/test_embl_to_bioseq.rb
510
511
  - test/unit/bio/db/embl/test_uniprot.rb
511
512
  - test/unit/bio/db/embl/test_uniprotkb.rb
513
+ - test/unit/bio/db/embl/test_uniprotkb_P28907.rb
512
514
  - test/unit/bio/db/embl/test_uniprotkb_new_part.rb
513
515
  - test/unit/bio/db/fasta/test_defline.rb
514
516
  - test/unit/bio/db/fasta/test_defline_misc.rb