CINXE.COM
Implementation of PDB Entry Versioning and Better Revision History to Improve PDB Archive Management
<!DOCTYPE html><html lang="en"><head><script src="https://www.googletagmanager.com/gtag/js?id=G-5JMGYPWJRR" async></script><script>//- global rcsb-config object var RC = { googleAnalyticsTrackingId: 'UA-3923365-3' , instance: 'production' , isProductionServer: true , dataUrl: 'https://data.rcsb.org/' , searchUrl: 'https://search.rcsb.org/rcsbsearch/v2/' , alignmentHost: 'https://alignment.rcsb.org' , alignmentUrl: 'https://alignment.rcsb.org/api/v1/' , fileStorageUrl: 'https://user-upload.rcsb.org/v1/' , fileStoragePutEndpoint: 'putMultipart' , fileStorageGetEndpoint: 'download' , sequenceCoordinatesUrl: 'https://1d-coordinates.rcsb.org/' , internalAnalyticsOriginHeaderKey: 'Rcsb-Analytics-Traffic-Origin' , internalAnalyticsOriginHeaderValue: 'internal' , internalAnalyticsStageHeaderKey: 'Rcsb-Analytics-Traffic-Stage' , internalAnalyticsStageHeaderValue: 'production' , MOLSTAR_IMG_URL: 'https://cdn.rcsb.org/images/structures/' }; </script><script src="/search/search-data?ts=5775654"></script><script src="/js/search/react-search.js?ts=5775654"></script><script>!function(){if("performance"in window==0&&(window.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in window.performance==0){var n=Date.now();performance.timing&&performance.timing.navigationStart&&(n=performance.timing.navigationStart),window.performance.now=function(){return Date.now()-n}}}();(function(){var h="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,k="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};function l(){l=function(){};h.Symbol||(h.Symbol=m)}var n=0;function m(a){return"jscomp_symbol_"+(a||"")+n++} function p(){l();var a=h.Symbol.iterator;a||(a=h.Symbol.iterator=h.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&k(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return q(this)}});p=function(){}}function q(a){var b=0;return r(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function r(a){p();a={next:a};a[h.Symbol.iterator]=function(){return this};return a}function t(a){p();var b=a[Symbol.iterator];return b?b.call(a):q(a)} function u(a){if(!(a instanceof Array)){a=t(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var v=0;function w(a,b){var c=XMLHttpRequest.prototype.send,d=v++;XMLHttpRequest.prototype.send=function(f){for(var e=[],g=0;g<arguments.length;++g)e[g-0]=arguments[g];var E=this;a(d);this.addEventListener("readystatechange",function(){4===E.readyState&&b(d)});return c.apply(this,e)}} function x(a,b){var c=fetch;fetch=function(d){for(var f=[],e=0;e<arguments.length;++e)f[e-0]=arguments[e];return new Promise(function(d,e){var g=v++;a(g);c.apply(null,[].concat(u(f))).then(function(a){b(g);d(a)},function(a){b(a);e(a)})})}}var y="img script iframe link audio video source".split(" ");function z(a,b){a=t(a);for(var c=a.next();!c.done;c=a.next())if(c=c.value,b.includes(c.nodeName.toLowerCase())||z(c.children,b))return!0;return!1} function A(a){var b=new MutationObserver(function(c){c=t(c);for(var b=c.next();!b.done;b=c.next())b=b.value,"childList"==b.type&&z(b.addedNodes,y)?a(b):"attributes"==b.type&&y.includes(b.target.tagName.toLowerCase())&&a(b)});b.observe(document,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["href","src"]});return b} function B(a,b){if(2<a.length)return performance.now();var c=[];b=t(b);for(var d=b.next();!d.done;d=b.next())d=d.value,c.push({timestamp:d.start,type:"requestStart"}),c.push({timestamp:d.end,type:"requestEnd"});b=t(a);for(d=b.next();!d.done;d=b.next())c.push({timestamp:d.value,type:"requestStart"});c.sort(function(a,b){return a.timestamp-b.timestamp});a=a.length;for(b=c.length-1;0<=b;b--)switch(d=c[b],d.type){case "requestStart":a--;break;case "requestEnd":a++;if(2<a)return d.timestamp;break;default:throw Error("Internal Error: This should never happen"); }return 0}function C(a){a=a?a:{};this.w=!!a.useMutationObserver;this.u=a.minValue||null;a=window.__tti&&window.__tti.e;var b=window.__tti&&window.__tti.o;this.a=a?a.map(function(a){return{start:a.startTime,end:a.startTime+a.duration}}):[];b&&b.disconnect();this.b=[];this.f=new Map;this.j=null;this.v=-Infinity;this.i=!1;this.h=this.c=this.s=null;w(this.m.bind(this),this.l.bind(this));x(this.m.bind(this),this.l.bind(this));D(this);this.w&&(this.h=A(this.B.bind(this)))} C.prototype.getFirstConsistentlyInteractive=function(){var a=this;return new Promise(function(b){a.s=b;"complete"==document.readyState?F(a):window.addEventListener("load",function(){F(a)})})};function F(a){a.i=!0;var b=0<a.a.length?a.a[a.a.length-1].end:0,c=B(a.g,a.b);G(a,Math.max(c+5E3,b))} function G(a,b){!a.i||a.v>b||(clearTimeout(a.j),a.j=setTimeout(function(){var b=performance.timing.navigationStart,d=B(a.g,a.b),b=(window.a&&window.a.A?1E3*window.a.A().C-b:0)||performance.timing.domContentLoadedEventEnd-b;if(a.u)var f=a.u;else performance.timing.domContentLoadedEventEnd?(f=performance.timing,f=f.domContentLoadedEventEnd-f.navigationStart):f=null;var e=performance.now();null===f&&G(a,Math.max(d+5E3,e+1E3));var g=a.a;5E3>e-d?d=null:(d=g.length?g[g.length-1].end:b,d=5E3>e-d?null:Math.max(d, f));d&&(a.s(d),clearTimeout(a.j),a.i=!1,a.c&&a.c.disconnect(),a.h&&a.h.disconnect());G(a,performance.now()+1E3)},b-performance.now()),a.v=b)} function D(a){a.c=new PerformanceObserver(function(b){b=t(b.getEntries());for(var c=b.next();!c.done;c=b.next())if(c=c.value,"resource"===c.entryType&&(a.b.push({start:c.fetchStart,end:c.responseEnd}),G(a,B(a.g,a.b)+5E3)),"longtask"===c.entryType){var d=c.startTime+c.duration;a.a.push({start:c.startTime,end:d});G(a,d+5E3)}});a.c.observe({entryTypes:["longtask","resource"]})}C.prototype.m=function(a){this.f.set(a,performance.now())};C.prototype.l=function(a){this.f.delete(a)}; C.prototype.B=function(){G(this,performance.now()+5E3)};h.Object.defineProperties(C.prototype,{g:{configurable:!0,enumerable:!0,get:function(){return[].concat(u(this.f.values()))}}});var H={getFirstConsistentlyInteractive:function(a){a=a?a:{};return"PerformanceLongTaskTiming"in window?(new C(a)).getFirstConsistentlyInteractive():Promise.resolve(null)}}; "undefined"!=typeof module&&module.exports?module.exports=H:"function"===typeof define&&define.amd?define("ttiPolyfill",[],function(){return H}):window.ttiPolyfill=H;})();function gtag(){dataLayer.push(arguments)}var logger=function(){"use strict";function n(n){if(n=JSON.stringify(n),"sendBeacon"in navigator)navigator.sendBeacon(t,n);else{var e=new XMLHttpRequest;e.open("POST",t,!1),e.setRequestHeader("Content-Type","text/plain;charset=UTF-8"),e.send(n)}}function e(e,t,i){if(!RC.isProductionServer)switch(e){case"error":case"warn":case"info":i?console[e](t,i):console[e](t);break;default:console.log(t,i)}"error"!==e&&"warn"!==e||(r.push({level:e,msg:t||"",info:Object.assign({},i,{path:window.location.pathname,userAgent:navigator.userAgent})}),r.length>=o&&n(r.splice(0,o)))}var t="/analytics",o=10,r=[];return window.addEventListener("unload",function(){n(r)},!1),{stack:Function.prototype.bind.call(function(n){n&&e("error",n.name+': "'+n.message+'"',{type:n.name,description:n.message,trace:n.stack})}),error:Function.prototype.bind.call(function(n,t){e("error",n,t)}),warn:Function.prototype.bind.call(function(n,t){e("warn",n,t)}),info:Function.prototype.bind.call(function(n,t){e("info",n,t)}),verbose:Function.prototype.bind.call(function(n,t){e("verbose",n,t)}),debug:Function.prototype.bind.call(function(n,t){e("debug",n,t)}),silly:Function.prototype.bind.call(function(n,t){e("silly",n,t)})}}();window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-5JMGYPWJRR"),window.addEventListener("error",function(n){logger.stack(n.error)}),window.addEventListener("unhandledrejection",function(n){n&&n.reason&&logger.error('Unhandled promise rejection: "'+n.reason.message+'"',{type:"PromiseRejection",description:n.reason.message,trace:n.reason.stack})});var gtagFirstMeaningfulPaint=function(){var n=!1;return function(){n?logger.warn('Timing for "firstMeaningfulPaint" already sent'):(console.log("firstMeaningfulPaint",Math.round(performance.now())),n=!0)}}();!function(){"use strict";var n=0;if("PerformanceObserver"in window&&"PerformancePaintTiming"in window){new PerformanceObserver(function(e){e.getEntries().forEach(function(e){if(0===n){e.startTime,e.duration}})}).observe({entryTypes:["paint"]});var e=window.__tti={e:[]};e.o=new PerformanceObserver(function(n){e.e=e.e.concat(n.getEntries())}),e.o.observe({entryTypes:["longtask"]}),ttiPolyfill.getFirstConsistentlyInteractive({}).then(function(n){});new PerformanceObserver(function(n){n.getEntries().forEach(function(n){var e=n.attribution[0]||{},t={containerType:e.containerType,containerName:e.containerName,containerId:e.containerId,containerSrc:e.containerSrc,frameOrigin:n.name,durationMs:n.duration,startTimeMs:n.startTime};n.duration>500&&logger.warn("Long running task, duration "+n.duration.toFixed(2)+"ms.",t)})}).observe({entryTypes:["longtask"]})}var t=performance.now();window.addEventListener("visibilitychange",function(){document.hidden?t=performance.now():n+=performance.now()-t}),window.addEventListener("load",function(){performance.now()}),window.addEventListener("DOMContentLoaded",function(){performance.now()})}();</script><title>Implementation of PDB Entry Versioning and Better Revision History to Improve PDB Archive Management</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta property="og:title" content="Implementation of PDB Entry Versioning and Better Revision History to Improve PDB Archive Management"><meta property="og:description" content="A new FTP repository, ftp-versioned.wwpdb.org, now hosts versioned structural model files in PDBx/mmCIF and PDBML formats."><meta property="og:image" content="FTP repository, <a href="><meta property="og:url" content="https://www.rcsb.org/news/59cd3fa822e913222ac88fcd"><meta property="og:type" content="article"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Implementation of PDB Entry Versioning and Better Revision History to Improve PDB Archive Management"><meta name="twitter:description" content="A new FTP repository, ftp-versioned.wwpdb.org, now hosts versioned structural model files in PDBx/mmCIF and PDBML formats."><meta name="twitter:image" content="FTP repository, <a href="><meta name="description" content="A new FTP repository, ftp-versioned.wwpdb.org, now hosts versioned structural model files in PDBx/mmCIF and PDBML formats."><meta name="author" content="RCSB Protein Data Bank"><meta name="email" content="info@rcsb.org"><meta name="Charset" content="UTF-8"><meta name="Distribution" content="Global"><meta name="Rating" content="General"><meta http-equiv="content-language" content="en-US"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="theme-color" content="#5e94c3"><meta class="elastic" name="release_date" content="10/03/2017"><link rel="manifest" href="/manifest.json"><link rel="apple-touch-icon" href="/img/rcsb-apple-touch-icon.jpg"><link rel="stylesheet" href="https://cdn.rcsb.org/javascript/bootstrap/latest/css/bootstrap.min.css"><link rel="stylesheet" href="https://cdn.rcsb.org/javascript/fontawesome/latest/css/font-awesome.min.css"><link rel="stylesheet" href="/build/css/main.css"><link rel="stylesheet" href="/css/search.css?ts=5775654"><script>window.addEventListener('load', function () { // load the JIRA feedback button only after everything else has been loaded var script = document.createElement("script"); script.src = "/js/jira-fdbck.js"; script.type = "text/javascript"; document.getElementsByTagName("head")[0].appendChild(script); var link = document.createElement("link"); link.rel = "stylesheet"; link.href = "https://cdn.rcsb.org/jira-feedback/css/jira-fdbck.css"; document.getElementsByTagName("head")[0].appendChild(link); // load the ekko-lightbox css only after everything else has been loaded var link = document.createElement("link"); link.rel = "stylesheet"; link.href = "/css/ekko-lightbox.css"; document.getElementsByTagName("head")[0].appendChild(link); }); </script><script src="https://cdn.rcsb.org/javascript/jquery/jquery-3.3.1.min.js"></script><script src="https://cdn.rcsb.org/javascript/bootstrap/latest/js/bootstrap.min.js"></script><script src="/js/ekko-lightbox.min.js" defer></script><script>$(document).delegate('*[data-toggle="lightbox"]',"click",function(t){t.preventDefault(),$(this).ekkoLightbox()});$(function(){$(".nav>.dropdown").on("mouseenter",function(o){$(this).addClass("open")}),$(".nav>.dropdown").on("mouseleave",function(o){$(".dropdown").removeClass("open")}),$('[data-toggle="tooltip"]').tooltip()});</script><link rel="stylesheet" href="/css/news.css"><style>div#news-container { margin: 0; padding-left: 5px} ul#newsByYear li { padding: 0 4px 4px 0; } .wwPDBnews { color: #0b810b; } .wwPDBnews img, .pdb101news img { margin-top: -4px; } #news_sidenav { border-left: 1px dotted #ccc; } #news_sidenav h3 { margin-top: 8px; } </style><script>var type = 'feature' var path = (type === 'feature') ? '/news/feature/' : '/news/' function news_go_next(id) { if (id !== "undefined") { window.location.pathname = path + id } } function news_go_previous(id) { if (id !== "undefined") { window.location.pathname = path + id } } </script></head><body><div data-elastic-exclude><div data-elastic-exclude><nav class="navbar navbar-inverse navbar-fixed-top hidden-print" id="nav" role="navigation"><div class="hide hidden-print" id="UnsupportedBrowser" style="width: 100%; border-bottom: 2px solid #FFA500; background-color: #FFFFFF; color: #000000; display: inline-block; font-size: .9em; line-height: 2em; text-align: center; font-weight: bold; font-style: italic;"><span class="label label-warning" style="font-size: 100%;">Warning</span> You are using a web browser that we do not support. Our website will not work properly. Please update to a newer version or download a new web browser, such as Chrome or Firefox.</div><div class="container"><div class="row pull-right"><div class="col-sm-12"><div class="input-group"> <a class="button btn btn-sm basic navbar-buttons" href="/help">Help</a><div class="button btn btn-sm basic jira-fdbck-btn navbar-buttons" id="feedbackLink-ContactUs">Contact us</div><div class="navbar-buttons hidden-xs mypdb-style" id="mypdb-menu-container"></div></div></div></div><!-- Brand and toggle get grouped for better mobile display--><div class="navbar-header"><button class="navbar-toggle pull-left" type="button" data-toggle="collapse" data-target="#navbar-collapse-RCSB"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="/">RCSB PDB</a></div><div class="collapse navbar-collapse" id="navbar-collapse-RCSB" style="max-height: 420px;"><ul class="nav navbar-nav pull-left"><li class="dropdown" id="headnav_deposit"><a class="dropdown-toggle" href="#" data-toggle="dropdown" aria-expanded="false">Deposit <b class="caret"></b></a><div class="dropdown-menu multi-column" id="DepositDropdownNav"><div class="row"><div class="col-xs-12 col-sm-2 col-md-2"><ul class="dropdown-menu" id="head-deposit_prepare"><h4>Prepare Data</h4><li> <a href="https://www.wwpdb.org/deposition/preparing-pdbx-mmcif-files" rel="noopener" target="_blank">PDBx/mmCIF file</a></li><li> <a href="https://pdb-extract.wwpdb.org/" rel="noopener" target="_blank">pdb_extract</a></li><li> <a href="http://sf-tool.wwpdb.org/" rel="noopener" target="_blank">SF-Tool</a></li><li> <a href="http://ligand-expo.rcsb.org/" rel="noopener" target="_blank">Ligand Expo</a></li><li> <a href="https://sw-tools.rcsb.org/apps/MAXIT/index.html" rel="noopener" target="_blank">MAXIT</a></li></ul></div><div class="col-xs-12 col-sm-3 col-md-3"><ul class="dropdown-menu" id="head-deposit_validate"><h4>Validate Data</h4><li> <a href="https://validate-rcsb.wwpdb.org" rel="noopener" target="_blank">Validation Server</a></li><li> <a href="http://www.wwpdb.org/validation/onedep-validation-web-service-interface" rel="noopener" target="_blank">Validation API</a></li><li> <a href="http://www.wwpdb.org/documentation/journals" rel="noopener" target="_blank">Information for Journals</a></li><li> <a href="http://www.wwpdb.org/task/validation-task-forces.php" rel="noopener" target="_blank">Validation Task Forces</a></li></ul></div><div class="col-xs-12 col-sm-3 col-md-3"><ul class="dropdown-menu" id="head-deposit_deposit-data"><h4>Deposit Data</h4><li style="word-break: normal"> <a href="https://deposit.wwpdb.org/deposition/" rel="noopener" target="_blank" style="word-break: normal">wwPDB OneDep System</a></li><li style="word-break: normal"> <a href="https://pdb-dev.wwpdb.org/" rel="noopener" target="_blank" style="word-break: normal">PDB-Dev</a></li></ul></div><div class="col-xs-12 col-sm-2 col-md-3"><ul class="dropdown-menu" id="head-deposit_deposit-help"><h4>Help and Resources</h4><li> <a href="http://www.wwpdb.org/deposition/faq" rel="noopener" target="_blank">Deposit FAQ</a></li><li> <a href="http://www.wwpdb.org/validation/2017/FAQs" rel="noopener" target="_blank">Validation FAQ</a></li><li> <a href="http://www.wwpdb.org/deposition/tutorial" rel="noopener" target="_blank">Tutorials</a></li><li> <a href="http://www.wwpdb.org/documentation/policy" rel="noopener" target="_blank">Annotation Policies</a></li><li> <a href="http://www.wwpdb.org/documentation/procedure" rel="noopener" target="_blank">Processing Procedures</a></li><li> <a href="https://mmcif.wwpdb.org/" rel="noopener" target="_blank">PDBx/mmCIF Dictionary</a></li><li> <a href="https://mmcif.wwpdb.org/docs/user-guide/guide.html" rel="noopener" target="_blank">PDBx/mmCIF User Guide</a></li><li> <a href="https://www.wwpdb.org/data/ccd" rel="noopener" target="_blank">Chemical Component Dictionary</a></li><li> <a href="https://www.wwpdb.org/data/bird" rel="noopener" target="_blank">Biologically Interesting Molecule Reference Dictionary (BIRD)</a></li><li> <a href="https://biosync.sbkb.org/" rel="noopener" target="_blank">BioSync/Beamlines/Facilities</a></li><li> <a href="https://sw-tools.rcsb.org/" rel="noopener" target="_blank">Related Tools</a></li></ul></div></div></div></li><li class="dropdown" id="headnav_search"><a class="dropdown-toggle" href="#" data-toggle="dropdown">Search <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="/search/advanced" rel="noopener">Advanced Search</a></li><li><a href="/search/advanced/sequence" rel="noopener">Sequence Similarity Search</a></li><li><a href="/search/advanced/structure" rel="noopener">Structure Similarity Search</a></li><li><a href="/search/advanced/chemical" rel="noopener">Chemical Similarity Search</a></li><li><a href="/chemical-sketch" rel="noopener">Chemical Sketch Tool</a></li><li><a href="/search/browse/atc" rel="noopener">Browse by Annotations</a></li><li><a href="/search?query=%7B%22parameters%22%3A%7B%22attribute%22%3A%22rcsb_accession_info.initial_release_date%22%2C%22operator%22%3A%22range%22%2C%22value%22%3A%7B%22from%22%3A%22now-1w%22%2C%22include_lower%22%3Afalse%2C%22to%22%3A%22now%22%2C%22include_upper%22%3Atrue%7D%7D%7D" rel="noopener">New Entries</a></li><li><a href="/pages/unreleased" rel="noopener">Unreleased Entries</a></li><li><a href="/stats" rel="noopener">PDB Statistics</a></li></ul></li><li class="dropdown" id="headnav_visualize"><a class="dropdown-toggle" href="#" data-toggle="dropdown">Visualize <b class="caret"></b></a><ul class="dropdown-menu"> <li><a href="/3d-view" rel="noopener">Mol* (MolStar)</a></li><li><a href="/docs/sequence-viewers/sequence-annotations-viewer" rel="noopener">Sequence Annotations Viewer</a></li><li><a href="/docs/sequence-viewers/genome-view" rel="noopener">Genome View</a></li></ul></li><li class="dropdown" id="headnav_analyze"><a class="dropdown-toggle" href="#" data-toggle="dropdown">Analyze <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="/alignment" rel="noopener">Pairwise Structure Alignment</a></li><li><a href="/docs/general-help/symmetry-resources-in-the-pdb" rel="noopener">Symmetry Resources in the PDB</a></li><li><a href="https://www.wwpdb.org/validation/validation-reports" rel="noopener" target="_blank">Structure Quality </a></li><li><a href="/docs/grouping-structures/overview-grouping-structures" rel="noopener">Grouping Structures</a></li><li><a href="https://cdn.rcsb.org/rcsb-pdb/pdb50mesh/index.html" rel="noopener" target="_blank">PDB Citation MeSH Network Explorer </a></li><li><a href="/stats" rel="noopener">PDB Statistics</a></li><li><a href="https://www.eppic-web.org" rel="noopener" target="_blank">EPPIC Biological Assemblies </a></li><li class="extraList">External Data and Resources </li><li class="extraMargin"><a href="/docs/general-help/data-from-external-resources-integrated-into-rcsb-pdb" rel="noopener">Integrated Resources </a></li><li class="extraMargin"><a href="/docs/additional-resources/databases-and-knowledgebases" rel="noopener">Additional Resources </a></li></ul></li><li class="dropdown hidden-xs hidden-sm" id="headnav_download"><a class="dropdown-toggle" href="#" data-toggle="dropdown">Download <b class="caret"></b></a><ul class="dropdown-menu"> <li><a href="/downloads" rel="noopener">Coordinates and Experimental Data</a></li><li><a href="/downloads/fasta" rel="noopener">Sequences</a></li><li><a href="/downloads/ligands" rel="noopener">Ligands</a></li><li><a href="/docs/programmatic-access/file-download-services" rel="noopener">File Download Services</a></li><li><a href="/docs/programmatic-access/web-apis-overview" rel="noopener">Web APIs</a></li></ul></li><li class="dropdown" id="headnav_learn"><a class="dropdown-toggle" href="#" data-toggle="dropdown">Learn <b class="caret"></b></a><ul class="dropdown-menu"><h4><a href="http://pdb101.rcsb.org" target="_blank" rel="noopener"><img class="image_submenu" src="https://cdn.rcsb.org/rcsb-pdb/v2/home/images/menuImgs/pdb101Logo.png"></a></h4><li><a href="https://pdb101.rcsb.org/train/training-events" rel="noopener" target="_blank">Training Courses </a></li><li><a href="https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction" rel="noopener" target="_blank">Guide to PDB Data </a></li><li><a href="https://pdb101.rcsb.org/motm/motm-by-date" rel="noopener" target="_blank">Molecule of the Month </a></li><li><a href="https://pdb101.rcsb.org/learn/paper-models" rel="noopener" target="_blank">Educational Resources </a></li><li><a href="https://pdb101.rcsb.org/teach/overview" rel="noopener" target="_blank">Curricula </a></li><li><a href="https://pdb101.rcsb.org/browse" rel="noopener" target="_blank">Browse </a></li><li><a href="https://pdb101.rcsb.org/news/2023" rel="noopener" target="_blank">News </a></li><li class="extraList">SciArt Galleries </li><li class="extraMargin"><a href="https://pdb101.rcsb.org/sci-art/geis-archive/gallery-by-name" rel="noopener" target="blank">Irving Geis </a></li><li class="extraMargin"><a href="https://pdb101.rcsb.org/sci-art/goodsell-gallery" rel="noopener" target="blank">David Goodsell </a></li></ul></li><li class="dropdown" id="headnav_more"><a class="dropdown-toggle" href="#" data-toggle="dropdown">About <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="/pages/contactus" rel="noopener">Contact Us</a></li><li><a href="/pages/about-us/index" rel="noopener">About RCSB PDB</a></li><li><a href="/pages/about-us/mission" rel="noopener">Vision and Mission</a></li><li><a href="/pages/policies" rel="noopener">Citation, Usage, Privacy Policies, Logo</a></li><li><a href="/pages/news" rel="noopener">News</a></li><li><a href="/pages/about-us/history" rel="noopener">PDB History</a></li><li><a href="/pages/pdb50" rel="noopener">PDB50</a></li><li><a href="/pages/about-us/pdb-user-community" rel="noopener">User Community</a></li><li><a href="/pages/publications" rel="noopener">Publications</a></li><li><a href="/pages/advisory-committee" rel="noopener">RCSB PDB Advisory Committee</a></li><li><a href="/pages/team" rel="noopener">Team Members</a></li><li><a href="/pages/about-us/deia" rel="noopener">Diversity, Equity, Inclusion, and Access</a></li><li><a href="https://status.rcsb.org/" rel="noopener" target="_blank">Service Status </a></li></ul></li><li class="nodropdown"><a class="dropdown-toggle" href="/pages/jobs">Careers</a></li><li class="nodropdown"><a class="dropdown-toggle" href="/news/feature/5e74d55d2d410731e9944f52">COVID-19</a></li><li class="dropdown visible-xs"><div id="socialmedia_section_mobile"><ul class="fa-ul hidden-print"><li><a href="https://www.facebook.com/RCSBPDB" target="_blank" rel="noopener" title="Facebook" data-placement="top" data-toggle="tooltip"><i class="fa fa-facebook-square fa-lg"></i></a></li><li><a href="https://twitter.com/buildmodels" target="_blank" rel="noopener" title="Twitter" data-placement="top" data-toggle="tooltip"><i class="fa fa-twitter fa-lg"></i></a></li><li><a href="https://www.youtube.com/user/RCSBProteinDataBank" target="_blank" rel="noopener" title="YouTube" data-placement="top" data-toggle="tooltip"><i class="fa fa-youtube-play fa-lg"></i></a></li><li><a href="https://github.com/rcsb" target="_blank" rel="noopener" title="Github" data-placement="top" data-toggle="tooltip"><i class="fa fa-github fa-lg"></i></a></li><li><a href="https://www.linkedin.com/company/rcsb-protein-data-bank" target="_blank" rel="noopener" title="LinkedIn" data-placement="top" data-toggle="tooltip"><i class="fa fa-linkedin fa-lg"></i></a></li></ul></div></li></ul></div></div></nav></div><style>#PDBmembers li {margin-right: 15px; } </style><div data-elastic-exclude><div id="header"><div class="container"><div class="row" style="margin-bottom: 0px;"><div class="col-md-6 col-lg-5 hidden-sm hidden-xs" id="logo_container" style="padding-bottom: 15px;"><table class="header-left"><tr><td><a href="/"><img id="rcsblogo" src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/rcsb_logo.png" alt="RCSB PDB"></a></td><td><table id="header-counts"><tr><td><div class="results-content-type-sm experimental"><span class="fa fa-flask" data-toggle="tooltip" data-placement="right" data-original-title="Experimental PDB Structure"></span></div></td><td><a href="/search?request=%7B%22query%22%3A%7B%22type%22%3A%22group%22%2C%22nodes%22%3A%5B%7B%22type%22%3A%22group%22%2C%22nodes%22%3A%5B%7B%22type%22%3A%22group%22%2C%22nodes%22%3A%5B%7B%22type%22%3A%22terminal%22%2C%22service%22%3A%22text%22%2C%22parameters%22%3A%7B%22attribute%22%3A%22rcsb_entry_info.structure_determination_methodology%22%2C%22operator%22%3A%22exact_match%22%2C%22value%22%3A%22experimental%22%7D%7D%5D%2C%22logical_operator%22%3A%22and%22%7D%5D%2C%22logical_operator%22%3A%22and%22%2C%22label%22%3A%22text%22%7D%5D%2C%22logical_operator%22%3A%22and%22%7D%2C%22return_type%22%3A%22entry%22%2C%22request_options%22%3A%7B%22scoring_strategy%22%3A%22combined%22%2C%22results_content_type%22%3A%5B%22experimental%22%5D%7D%7D" style="font-weight: bold; font-size: 110%">227,933</a><span> Structures from the PDB</span></td></tr><tr><td><div class="results-content-type-sm computational"><span class="fa fa-desktop" data-toggle="tooltip" data-placement="right" data-original-title="Computed Structure Model"></span></div></td><td><a href="/search?request=%7B%22query%22%3A%7B%22type%22%3A%22group%22%2C%22nodes%22%3A%5B%7B%22type%22%3A%22group%22%2C%22nodes%22%3A%5B%7B%22type%22%3A%22group%22%2C%22nodes%22%3A%5B%7B%22type%22%3A%22terminal%22%2C%22service%22%3A%22text%22%2C%22parameters%22%3A%7B%22attribute%22%3A%22rcsb_entry_info.structure_determination_methodology%22%2C%22operator%22%3A%22exact_match%22%2C%22value%22%3A%22computational%22%7D%7D%5D%2C%22logical_operator%22%3A%22and%22%7D%5D%2C%22logical_operator%22%3A%22and%22%2C%22label%22%3A%22text%22%7D%5D%2C%22logical_operator%22%3A%22and%22%7D%2C%22return_type%22%3A%22entry%22%2C%22request_options%22%3A%7B%22scoring_strategy%22%3A%22combined%22%2C%22results_content_type%22%3A%5B%22computational%22%5D%7D%7D" style="font-weight: bold; font-size: 110%">1,068,577</a><span> Computed Structure Models (CSM)</span></td></tr></table></td></tr></table></div><div class="col-sm-12 col-md-6 col-lg-7 hidden-print" id="search-bar-container"></div></div></div><div class="logos_bcg"><div class="container"><ul class="hidden-xs hidden-print" id="PDBmembers"><li><span data-toggle="tooltip" data-placement="right" data-original-title="PDB-101: Training and outreach portal of RCSB PDB"><a href="https://pdb101.rcsb.org/"><img id="pdb101logo" src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/pdb101-truncated.png" alt="PDB-101"></a></span></li><li><span data-toggle="tooltip" data-placement="right" data-original-title="wwPDB: Worldwide Protein Data Bank"><a href="https://www.wwpdb.org/" target="_blank" rel="noopener"><img id="wwpdblogo" src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/wwpdb-truncated.png" alt="wwPDB"></a></span></li><li><span data-toggle="tooltip" data-placement="right" data-original-title="EMDataResource: 3DEM resources"><a href="https://www.emdataresource.org" target="_blank" rel="noopener"><img id="emdatabanklogo" src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/emdb-truncated.png" alt="EMDataResource"></a></span></li><li><span data-toggle="tooltip" data-placement="right" data-original-title="NAKB: Nucleic Acid Knowledgebase"><a href="https://nakb.org/" target="_blank" rel="noopener"><img id="nakblogo" src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/nakb-logo.png" alt="NAKB: Nucleic Acid Knowledgebase"></a></span></li><li><span data-toggle="tooltip" data-placement="right" data-original-title="wwPDB Foundation: Donate to support wwPDB outreach activities"><a href="https://foundation.wwpdb.org/" target="_blank" rel="noopener"><img id="wwpdbfoundationlogo" src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/foundation-truncated.png" alt="wwPDB Foundation"></a></span></li><li><span data-toggle="tooltip" data-placement="right" data-original-title="PDB-Dev: Prototype Archiving System for Integrative Structures"><a href="https://pdb-dev.wwpdb.org/" target="_blank" rel="noopener"><img id="pdbdevlogo" src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/pdb-dev-logo.png" alt="PDB-Dev Logo"></a></span></li></ul><div id="socialmedia_section"><ul class="fa-ul hidden-print"><li><a href="https://www.facebook.com/RCSBPDB" target="_blank" rel="noopener" title="Facebook" data-placement="top" data-toggle="tooltip"><i class="fa fa-facebook-square fa-lg"></i></a></li><li><a href="https://twitter.com/buildmodels" target="_blank" rel="noopener" title="Twitter" data-placement="top" data-toggle="tooltip"><i class="fa fa-twitter fa-lg"></i></a></li><li><a href="https://www.youtube.com/user/RCSBProteinDataBank" target="_blank" rel="noopener" title="YouTube" data-placement="top" data-toggle="tooltip"><i class="fa fa-youtube-play fa-lg"></i></a></li><li><a href="https://github.com/rcsb" target="_blank" rel="noopener" title="Github" data-placement="top" data-toggle="tooltip"><i class="fa fa-github fa-lg"></i></a></li><li><a href="https://www.linkedin.com/company/rcsb-protein-data-bank" target="_blank" rel="noopener" title="LinkedIn" data-placement="top" data-toggle="tooltip"><i class="fa fa-linkedin fa-lg"></i></a></li></ul></div></div></div></div></div><div class="container" id="maincontentcontainer"><div id="news-container"><div class="row"><div class="col-xs-12 text-center"><h3 id="newsPageTitle">New Features</h3></div></div><div class="row"><div class="col-xs-12"><div data-elastic-exclude><ul class="list-inline text-center" id="newsByYear"><li><a class="btn btn-default btn-sm" href="/news/feature/2024">2024</a></li><li><a class="btn btn-default btn-sm" href="/news/feature/2023">2023</a></li><li><a class="btn btn-default btn-sm" href="/news/feature/2022">2022</a></li><li><a class="btn btn-default btn-sm" href="/news/feature/2021">2021</a></li><li><a class="btn btn-default btn-sm" href="/news/feature/2020">2020</a></li><li><a class="btn btn-default btn-sm" href="/news/feature/2019">2019</a></li><li><a class="btn btn-default btn-sm" href="/news/feature/2018">2018</a></li><li><a class="btn btn-default btn-sm active" href="/news/feature/2017">2017</a></li><li><a class="btn btn-default btn-sm" href="/news/feature/2016">2016</a></li></ul></div></div></div><div class="row"><div class="col-sm-8 col-xs-12"><div data-elastic-exclude><button class="btn btn-primary btn-sm pull-left" id="news-scroll-previous" type="button" onClick="news_go_next("59405a8a9c93a220db9fccc9")"><span class="glyphicon glyphicon-chevron-left"></span>Previous<span class="hidden-xs"> Article</span></button><button class="btn btn-primary btn-sm pull-right disabled" id="news-scroll-next" type="button" onClick="news_go_previous("undefined")">Next<span class="hidden-xs"> Article</span><span class="glyphicon glyphicon-chevron-right"></span></button><div class="clearfix"></div></div><div data-elastic-include><div id="news_content"></div><h2 class="wwPDBnews">Implementation of PDB Entry Versioning and Better Revision History to Improve PDB Archive Management</h2><h4 class="wwPDBnews">10/03 <a href="http://wwpdb.org"><img src="https://cdn.rcsb.org/rcsb-pdb/v2/common/images/logo_wwpdb_tiny.png" alt="wwPDB News"></a></h4><p><p>A new FTP repository, <a href='ftp://ftp-versioned.wwpdb.org/'>ftp://ftp-versioned.wwpdb.org/</a> now hosts versioned structural model files in PDBx/mmCIF and PDBML formats. As <a href='https://www.wwpdb.org/news/news?year=2017#5910c8d8d3b1d333029d4ea8'>announced</a> on May 17, 2017, wwPDB has introduced a versioning system to enable depositor-initiated or wwPDB-initiated updates to previously released PDB entries while retaining the same PDB accession code. Updates to atomic coordinates, polymer sequence or chemical description in a PDB coordinate file will trigger a major version increment. Other changes will be classified as minor. All major versions of each PDB structure are retained in the new FTP archive. In the 2018 phase of the project, wwPDB will enable depositor-initiated updates of coordinates.</p> <p><div style="margin-left: 20px; font-size: 12px">File names in the versioned FTP archive conform to a new naming scheme, which allows users to easily see the major and minor version numbers:</div></p> <p><div style="margin-left: 20px; font-size: 12px"><PDB_ID>_<content_type>_v<major_version>-<minor_version>.<file_format_type>.<file_compression_type></div></p> <p><div style="margin-left: 20px; font-size: 12px">The familiar 4-character PDB accession code is extended to 8 characters prefixed with “pdb”. Thus PDB accession code for entry 1abc becomes pdb_00001abc. This new format of PDB accession code will be included in the model files at a later date. For example, the first initial release of PDB entry 1abc would have the following form under the new file-naming scheme:</div></p> <p><div style="margin-left: 20px; font-size: 12px">pdb_00001abc_xyz_v1-0.cif.gz</div></p> <p><div style="margin-left: 20px; font-size: 12px">where xyz stands for coordinate content; cif indicates the file format; and gz indicates a compressed UNIX archive file.</div></p> <p><div style="margin-left: 20px; font-size: 12px">The first minor revision of PDB entry 1abc would then have the following name:</div></p> <p><div style="margin-left: 20px; font-size: 12px">pdb_00001abc_xyz_v1-1.cif.gz</div></p> <p><div style="margin-left: 20px; font-size: 12px">If PDB entry 1abc then had a major update, it would have the following name:</div></p> <p><div style="margin-left: 20px; font-size: 12px">pdb_00001abc_xyz_v2-0.cif.gz (N.B.: The minor update number will be reset to zero every time a new major update is made.)</div></p> <p><div style="margin-left: 20px; font-size: 12px">The versioned data files for a particular entry are stored in single directory following a 2-character hash from the two penultimate characters of the PDB code:</div></p> <p><div style="margin-left: 20px; font-size: 12px">../pdb_versioned/data/entries/<two-letter-hash>/<pdb_accession_code>/<entry_data_File_names></div></p> <p><div style="margin-left: 20px; font-size: 12px">For example, major version 1 with minor version 2 file for entry 1ABC would have the following path:</div></p> <p><div style="margin-left: 20px; font-size: 12px">../pdb_versioned/data/entries/ab/pdb_00001abc/pdb_00001abc_xyz_v1-2.cif.gz</div></p> <p>Different views of the repository are provided for content type and format as a convenience for repository users. The wwPDB provides a link to the absolutely latest version files as well as latest version of each major version in the entries directories.</p> <p><div style="margin-left: 20px; font-size: 12px">For example, users can access the absolute latest version of each coordinate mmCIF file (e.g. 1ABC) via below file path.</div></p> <p><div style="margin-left: 20px; font-size: 12px">../pdb_versioned/views/latest/coordinates/mmcif/ab/pdb_00001abc/pdb_00001abc_xyz.cif.gz <br />→../pdb_versioned/data/entries/ab/pdb_00001abc/pdb_00001abc_xyz_v2-0.cif.gz</div></p> <p>Or users can access all major versions of coordinate mmCIF files for entry 1ABC via below file path.</p> <p><div style="margin-left: 20px; font-size: 12px">../pdb_versioned/views/all/coordinates/mmcif/ab/pdb_00001abc/pdb_00001abc_xyz_v1.cif.gz <br />→../pdb_versioned/data/entries/ab/pdb_00001abc/pdb_00001abc/pdb_00001abc_xyz_v1-2.cif.gz</div></p> <p><div style="margin-left: 20px; font-size: 12px">../pdb_versioned/views/all/coordinates/mmcif/ab/pdb_00001abc/pdb_00001abc/pdb_00001abc_xyz_v2.cif.gz <br />→../pub/pdb_versioned/data/entries/ab/pdb_00001abc/pdb_00001abc_xyz_v2-0.cif.gz</div></p> <p>Data files in the current archive location ftp://ftp.wwpdb.org/pub/pdb/data/structures/ will continue to use the familiar naming style and will continue to contain only the latest version for every entry.</p></p></div></div><div class="col-sm-4 col-xs-12" id="news_sidenav"><div data-elastic-exclude><h3>New Features Index</h3><ul class="list-unstyled"><li class="news_article"><div class="news-indent"><a class="news_link" href="/news/feature/59cd3fa822e913222ac88fcd"><span class="label news_view_marker label-rcsb-active">10/03</span></a> <a class="news_link" href="/news/feature/59cd3fa822e913222ac88fcd"><span class="news_title">wwPDB News: Implementation of PDB Entry Versioning and Better Revision History to Improve PDB Archive Management</span></a></div></li></ul><ul class="list-unstyled"><li class="news_article"><div class="news-indent"><a class="news_link" href="/news/feature/59405a8a9c93a220db9fccc9"><span class="label news_view_marker label-rcsb">07/11</span></a> <a class="news_link" href="/news/feature/59405a8a9c93a220db9fccc9"><span class="news_title">Improved Text Searching</span></a></div></li></ul><ul class="list-unstyled"><li class="news_article"><div class="news-indent"><a class="news_link" href="/news/feature/5942da669c93a220db9fccca"><span class="label news_view_marker label-rcsb">06/25</span></a> <a class="news_link" href="/news/feature/5942da669c93a220db9fccca"><span class="news_title">HTTPS @ www.rcsb.org</span></a></div></li></ul><ul class="list-unstyled"><li class="news_article"><div class="news-indent"><a class="news_link" href="/news/feature/59136dc4d3b1d333029d4ea9"><span class="label news_view_marker label-rcsb">06/20</span></a> <a class="news_link" href="/news/feature/59136dc4d3b1d333029d4ea9"><span class="news_title">Structural variation in clusters from PDBFlex</span></a></div></li></ul><ul class="list-unstyled"><li class="news_article"><div class="news-indent"><a class="news_link" href="/news/feature/5910c8d8d3b1d333029d4ea8"><span class="label news_view_marker label-rcsb">05/17</span></a> <a class="news_link" href="/news/feature/5910c8d8d3b1d333029d4ea8"><span class="news_title">wwPDB News: Revise Your Structure Without Changing the PDB Accession Code and Related Changes to the FTP Archive</span></a></div></li></ul><ul class="list-unstyled"><li class="news_article"><div class="news-indent"><a class="news_link" href="/news/feature/59089826d3b1d333029d4ea1"><span class="label news_view_marker label-rcsb">05/02</span></a> <a class="news_link" href="/news/feature/59089826d3b1d333029d4ea1"><span class="news_title">wwPDB News: Enriched PDB Structure Entry Files Conforming to OneDep Data Standards Are Now Available for Testing</span></a></div></li></ul><ul class="list-unstyled"><li class="news_article"><div class="news-indent"><a class="news_link" href="/news/feature/5fca8c9ef9cdf729ca790510"><span class="label news_view_marker label-rcsb">01/10</span></a> <a class="news_link" href="/news/feature/5fca8c9ef9cdf729ca790510"><span class="news_title">Explore Improved Carbohydrate Data</span></a></div></li></ul></div></div></div></div></div><div data-elastic-exclude><div class="hidden-print" id="footer_main"><div class="container" style="padding:0"><div class="row"><div class="col-md-6 col-sm-12" style="padding-left:0"> <div class="row"><div class="col-sm-4"><ul><li><span class="row_header">About</span></li><li><a href="/pages/about-us/index">About Us</a></li><li><a href="/pages/policies#References">Citing Us</a></li><li><a href="/pages/publications">Publications</a></li><li><a href="/pages/team">Team</a></li><li><a href="/pages/jobs">Careers</a></li><li><a href="/pages/policies">Usage & Privacy</a></li></ul></div><div class="col-sm-4" style="padding-left:0"><ul><li><span class="row_header">Support</span></li><li><a href="/pages/contactus">Contact Us</a></li><li><a href="/help">Help</a></li><li><a href="/docs/general-help/website-faq">Website FAQ</a></li><li><a href="/docs/general-help/glossary">Glossary</a></li><li><a href="https://status.rcsb.org/" target="_blank">Service Status</a></li></ul></div><div class="col-md-4 hidden-sm"></div></div></div><div class="col-md-6 col-sm-12" style="padding-left:5px"> <div class="row"><div class="col-sm-4"><p class="row_header">RCSB PDB is hosted by</p><div class="footerLogos"><hr><a href="http://www.rutgers.edu/"><img class="Rutgerslogo" src="https://cdn.rcsb.org/rcsb-pdb//v2/common/images/Logo_Rutgers-2024.png" alt="Rutgers University logo"></a><hr><a href="https://ucsd.edu/"><img class="UCSDlogo" src="https://cdn.rcsb.org/rcsb-pdb//v2/common/images/Logo_UCSD-navy.png" alt="Uiversity of California San Diego logo"></a><a href="https://www.sdsc.edu/"><img class="SDSClogo" src="https://cdn.rcsb.org/rcsb-pdb//v2/common/images/Logo_SDSC-black.png" alt="San Diego Supercomputer Center logo"></a><hr><a href="https://www.ucsf.edu/"><img class="UCSFlogo" src="https://cdn.rcsb.org/rcsb-pdb//v2/common/images/Logo_UCSF.png" alt="University of California San Francisco Logo"></a></div></div><div class="col-sm-4"><p class="row_header">RCSB PDB is a member of the</p><div class="footerLogos"><span id="pdbmembers_footer"><hr><a href="https://www.wwpdb.org" target="_blank" rel="noopener"><img class="wwpdblogo" src="https://cdn.rcsb.org/rcsb-pdb//v2/common/images/Logo_wwpdb.png" alt="wwPDB"></a><hr><a href="https://www.emdataresource.org" target="_blank" rel="noopener"><img id="emdatabanklogo_footer" src="https://cdn.rcsb.org/rcsb-pdb//v2/common/images/EMDataResourcelogo.png" alt="EMDataResource"></a></span></div></div><div class="col-sm-4"><ul><li><span class="row_header">RCSB Partners</span></li><li><a href="https://nakb.org/" target="_blank" rel="noopener">Nucleic Acid Knowledgebase</a></li></ul><ul><li><span class="row_header"><a href="https://www.wwpdb.org/" target="_blank" rel="noopener" style="text-decoration: none; color: black">wwPDB Partners</a></span></li><li><a href="/">RCSB PDB</a></li><li><a href="https://www.ebi.ac.uk/pdbe/" target="_blank" rel="noopener">PDBe</a></li><li><a href="https://www.pdbj.org/" target="_blank" rel="noopener">PDBj</a></li><li><a href="https://bmrb.io/" target="_blank" rel="noopener">BMRB</a></li><li><a href="https://emdb-empiar.org/" target="_blank" rel="noopener">EMDB</a></li></ul></div></div></div></div></div></div><div id="footer_grant"><div class="container"><div class="row"><p>RCSB PDB Core Operations are funded by the <a href="http://www.nsf.gov/" target="_blank" rel="noopener">U.S. National Science Foundation</a> (DBI-2321666), the <a href="http://science.energy.gov/" target="_blank" rel="noopener">US Department of Energy</a> (DE-SC0019749), and the <a href="http://www.cancer.gov/" target="_blank" rel="noopener">National Cancer Institute</a>, <a href="http://www.niaid.nih.gov/" target="_blank" rel="noopener">National Institute of Allergy and Infectious Diseases</a>, and <a href="http://www.nigms.nih.gov/" target="_blank" rel="noopener">National Institute of General Medical Sciences</a> of the <a href="http://www.nih.gov/" target="_blank" rel="noopener">National Institutes of Health</a> under grant R01GM157729.</p></div></div></div><div id="jira-fdbck"></div></div></div></body></html>