<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>body{font-family:Helvetica,Arial;font-size:13px}</style>
</head>
<body>
<div style="font-family:Helvetica,Arial;font-size:13px; "></div>
<div class="gmail_signature">On January 27, 2019 at 2:29:58 PM, Gordon Haverland (<a href="mailto:ghaverla@materialisations.com">ghaverla@materialisations.com</a>) wrote:</div>
<div>
<blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">
<span>
<div>
<div></div>
<div>On Sun, 27 Jan 2019 18:54:53 +0000<br>
"Fields, Christopher J" <cjfields@illinois.edu> wrote:<br>
<br>
> Yes, that’s what I was thinking. You should be able to simply tie<br>
> back into the same file and reuse the btree.<br>
<br>
Quite a while ago, I was working with DBM::Deep, and developed a fair<br>
complex Perl structure. The ability to store this to file (which is<br>
what DBM::Deep did originally) or dbase (still a work in progress?)<br>
apparently isn't trivial.<br>
<br>
Duplicating parts of the structure could use a shallow copy, a deep<br>
copy, or sometimes you would have to write a custom subroutine to do<br>
what you wanted.<br>
<br>
If you wanted to change the structure, you had to get a deep copy of<br>
what was "in the file" into memory, make the changes, and then copy<br>
this new structure on top of the original location, and then save to<br>
file again.<br>
<br>
The levels of autovivification that Perl could do, often influenced how<br>
you altered the structure.<br>
<br>
None of which is about BerkeleyDB. But I believe in the reading I was<br>
doing around this work, that the reason a lot of this had to be done,<br>
was because of the "tie" interface, and/or what was available for<br>
serializing Perl structures. Which may crop up in this application<br>
(maybe).<br>
<br>
Which is why I brought up DBM::Deep.<br>
<br>
I had worked with MLDBM before DBM::Deep, on related things.<br>
<br>
Gord</div>
</div>
</span></blockquote>
</div>
<p>There is some code for storing more complex data in BerkeleyDB buried several places in BioPerl. For example Lincoln had a backend using if for his Bio::DB::SeqFeature::Store implementation.  </p>
<p>chris</p>
<p><br>
</p>
<p><br>
</p>
<div></div>
</body>
</html>