diff --git a/src/finalizing/templates/doi-xml.njk b/src/finalizing/templates/doi-xml.njk
index d14c355..9deffcd 100644
--- a/src/finalizing/templates/doi-xml.njk
+++ b/src/finalizing/templates/doi-xml.njk
@@ -10,23 +10,23 @@
{{ creator.fullName | safe }}
{{ creator.firstName | safe }}
{{ creator.lastName | safe }}
- {{ creator.orcid }}
+ {{ creator.orcid }}
{%- endfor %}
{{ publisher }}
{{ creation_date | year }}
-{{ resource_title_mappings[type] }}
+{{ resource_title_mappings[resource_type] }}
{{ title }}, {{ version }}
-
+
{%- for creator in project_leads %}
{{ creator.fullName | safe }}
{{ creator.firstName | safe }}
{{ creator.lastName | safe }}
- {{ creator.orcid }}
+ {{ creator.orcid }}
{%- endfor -%}
{%- for creator in reviewers %}
@@ -34,7 +34,7 @@
{{ creator.fullName | safe }}
{{ creator.firstName | safe }}
{{ creator.lastName | safe }}
- {{ creator.orcid }}
+ {{ creator.orcid }}
{%- endfor %}
{%- for creator in externalReviewers %}
@@ -42,7 +42,7 @@
{{ creator.fullName | safe }}
{{ creator.firstName | safe }}
{{ creator.lastName | safe }}
- {{ creator.orcid }}
+ {{ creator.orcid }}
{%- endfor %}
@@ -50,14 +50,14 @@
{{ creation_date }}
- {{ description }}
-
+ {{ description }}
+
EN
-
- {{ hubmapId }}
- {{ citation }}
- {{ citationOverall }}
-
+
+ {{ hubmapId }}
+ {{ citation }}
+ {{ citationOverall }}
+
.{{ datatable | fileExtension }}
diff --git a/src/finalizing/utils/generate-doi-xml.js b/src/finalizing/utils/generate-doi-xml.js
index cf13699..90311cf 100644
--- a/src/finalizing/utils/generate-doi-xml.js
+++ b/src/finalizing/utils/generate-doi-xml.js
@@ -10,12 +10,23 @@ const TYPE_MAPPINGS = {
omap: 'Organ Mapping Antibody Panels(OMAPs)',
'ref-organ': '3D Reference Organs',
},
- resource_mappings: { 'asct-b': 'Dataset', '2d-ftu': 'Image', omap: 'Dataset', 'ref-organ': 'Model' },
+ resource_mappings: {
+ 'asct-b': 'Dataset',
+ '2d-ftu': 'Image',
+ omap: 'Dataset',
+ 'ref-organ': 'Model',
+ 'asct-b-crosswalk': 'Dataset',
+ 'ref-organ-crosswalk': 'Dataset',
+ '2d-ftu-crosswalk': 'Dataset',
+ },
resource_title_mappings: {
'asct-b': 'ASCT+B Table',
'2d-ftu': '2D reference human organ FTU object',
omap: 'Organ Mapping Antibody Panel',
'ref-organ': '3D reference human organ model',
+ 'asct-b-crosswalk': 'ASCT+B Crosswalk Table',
+ '2d-ftu-crosswalk': 'ASCT+B table to 2D FTU crosswalk Table',
+ 'ref-organ-crosswalk': 'ASCT+B table to 3D model crosswalk Table',
},
cite_model_mappings: { 'asct-b': 'Data Table', '2d-ftu': '2D Data', omap: 'OMAP Tables', 'ref-organ': '3D Data' },
cite_overall_model_mappings: {
@@ -24,14 +35,15 @@ const TYPE_MAPPINGS = {
omap: 'OMAP Tables',
'ref-organ': '3D Data',
},
- extension_fixes: { ai: 'svg', xlsx: 'csv' }
+ extension_fixes: { ai: 'svg', xlsx: 'csv' },
};
export function renderDoiXml(templateFile, context, metadata) {
const env = new Environment(undefined, { autoescape: false });
env.addFilter('fileExtension', (str) => {
str = Array.isArray(str) ? str[0] : str;
- const ext = str !== undefined ? str.slice(str.replace('.zip', '').lastIndexOf('.') + 1).replace(')', '') : '';
+ str = str.replace('.zip', '').replace('.7z', '');
+ const ext = str !== undefined ? str.slice(str.lastIndexOf('.') + 1).replace(')', '') : '';
return TYPE_MAPPINGS.extension_fixes[ext] || ext;
});
env.addFilter('mdLinkAsUrlOnly', (str) => str.slice(str.lastIndexOf('(') + 1, str.lastIndexOf(')') - 1));
@@ -40,9 +52,11 @@ export function renderDoiXml(templateFile, context, metadata) {
? 'Creative Commons Attribution 4.0 International (CC BY 4.0)'
: str.slice(str.lastIndexOf('[') + 1, str.lastIndexOf(']')).replace(/\*/g, '')
);
- env.addFilter('year', (str) => String(str || new Date().getFullYear()).match(/\d\d\d\d/)[0])
+ env.addFilter('year', (str) => String(str || new Date().getFullYear()).match(/\d\d\d\d/)[0]);
const template = readFileSync(templateFile).toString();
- return env.renderString(template, { ...TYPE_MAPPINGS, ...metadata, ...context.selectedDigitalObject });
+ const data = { ...TYPE_MAPPINGS, ...metadata, ...context.selectedDigitalObject };
+ data.resource_type = data.name.includes('crosswalk') ? `${data.type}-crosswalk` : data.type;
+ return env.renderString(template, data);
}
export function writeDoiXml(context, metadata) {
diff --git a/src/migration/ccf-releases/2d-ftu-lookup.csv b/src/migration/ccf-releases/2d-ftu-lookup.csv
index c1584f4..61ba9a8 100644
--- a/src/migration/ccf-releases/2d-ftu-lookup.csv
+++ b/src/migration/ccf-releases/2d-ftu-lookup.csv
@@ -8,8 +8,8 @@ kidney-outer-medullary-collecting-duct,UBERON:0004204,outer medullary collecting
kidney-renal-corpuscle,UBERON:0001229,renal corpuscle,#FTURenalCorpuscle,Kidney,UBERON:0002113
kidney-thick-ascending-loop-of-henle,UBERON:0001291,thick ascending limb of loop of Henle,#FTUThickAscendingLimb
large-intestine-crypt-lieberkuhn,UBERON:0001984,crypt of Lieberkuhn of large intestine,#FTUCryptOfLieberkuhn,Large Intestine,UBERON:0000059
-liver-liver-lobule,UBERON:0004647,liver lobule,#FTULiverLobule_inset1,Liver,UBERON:0002107
-liver-liver-lobule,UBERON:0004647,liver lobule,#FTULiverLobule_inset2,Liver,UBERON:0002107
+liver-liver-lobule,UBERON:0004647,liver lobule,#FTULiverLobule_Inset1,Liver,UBERON:0002107
+liver-liver-lobule,UBERON:0004647,liver lobule,#FTULiverLobule_Inset2,Liver,UBERON:0002107
lung-bronchial-submucosal-gland,UBERON_8410043,bronchus submucosal gland,#FTUBronchialSubmucosalGland
lung-pulmonary-alveolus,UBERON:0002299,alveolus of lung,#FTUAlveoli,Lung,UBERON:0002048
pancreas-intercalated-duct,UBERON:0014726,intercalated duct of pancreas,#FTUIntercalatedDuct
@@ -18,6 +18,7 @@ pancreas-pancreatic-acinus,UBERON:0001263,pancreatic acinus,#FTUAcinus
prostate-prostate-glandular-acinus,UBERON:0004179,prostate glandular acinus,#FTUProstateGlandularAcinus,Prostate Gland,UBERON:0002367
skin-dermal-papilla,UBERON:0001992,papillary layer of dermis,#FTUDermalPapilla
skin-epidermal-ridge,UBERON:0013487,epidermal ridge of digit,#FTUEpidermalRidge
+small-intestine-villus,UBERON:0001213,intestinal villus,#FTUVillus
spleen-red-pulp,UBERON:0001250,red pulp of spleen,#FTURedPulp_Inset1
spleen-red-pulp,UBERON:0001250,red pulp of spleen,#FTURedPulp_Inset2
spleen-white-pulp,UBERON:0001959,white pulp of spleen,#FTUWhitePulp_Inset1
diff --git a/src/migration/ccf-releases/md-parser.js b/src/migration/ccf-releases/md-parser.js
index b17af29..96ede52 100644
--- a/src/migration/ccf-releases/md-parser.js
+++ b/src/migration/ccf-releases/md-parser.js
@@ -72,9 +72,9 @@ export class HraMarkdownParser {
const funders = this.getMultiValue(funderKey);
const awards = this.getMultiValue(awardKey);
- return funders.map((funder, index) => ({
- funder,
- awardNumber: awards[index],
+ return awards.map((awardNumber, index) => ({
+ funder: funders[index] || (funders?.slice(-1)[0] ?? undefined),
+ awardNumber,
}));
}
diff --git a/src/migration/ccf-releases/migrate.js b/src/migration/ccf-releases/migrate.js
index 25f251b..8c5ce69 100644
--- a/src/migration/ccf-releases/migrate.js
+++ b/src/migration/ccf-releases/migrate.js
@@ -66,7 +66,7 @@ export function migrateCcfReleases(context) {
const srcDir = resolve(context.processorHome, 'src/migration/ccf-releases');
const allMd = sh
- .ls(resolve(inputDir, 'v1.*/markdown/*/*.md'))
+ .ls(resolve(inputDir, 'v2.*/markdown/*/*.md'))
.map((s) => s.split('/').slice(-5))
.map((s) => [s[1], s[3], s[4].replace('.md', '')]);
diff --git a/src/migration/ccf-releases/ref-organ-lookup.csv b/src/migration/ccf-releases/ref-organ-lookup.csv
index 6fc243a..5661b8f 100644
--- a/src/migration/ccf-releases/ref-organ-lookup.csv
+++ b/src/migration/ccf-releases/ref-organ-lookup.csv
@@ -1,4 +1,5 @@
glbFile,oldId
+3d-vh-m-allen-brain,#VHMAllenBrain
Allen_M_Brain,#VHMAllenBrain
SBU_M_Intestine_Large,#VHMColon
SBU_Intestine_Large,#VHMColon
@@ -20,6 +21,7 @@ VH_M_Lung,#VHMLung
NIH_M_Lymph_Node_Left,#VHMLeftLymphNode
NIH_M_Lymph_Node_Right,#VHMRightLymphNode
NIH_M_Lymph_Node,#VHMLymphNode
+3d-vh-m-pancreas,#VHMPancreas
VH_M_Pancreas,#VHMPancreas
VH_M_Pelvis,#VHMPelvis
VH_M_Prostate,#VHMProstate
@@ -37,6 +39,7 @@ VH_M_Spinal_Cord,#VHMSpinalCord
3d-vh-m-palatine-tonsil-r,#VHMRightPalatineTonsil
3d-vh-m-trachea,#VHMTrachea
Allen_F_Brain,#VHFAllenBrain
+3d-vh-f-allen-brain,#VHFAllenBrain
NIH_F_Lymph_Node_Left,#VHFLeftLymphNode
NIH_F_Lymph_Node_Right,#VHFRightLymphNode
NIH_F_Lymph_Node,#VHFLymphNode
@@ -59,6 +62,7 @@ VH_F_Liver,#VHFLiver
VH_F_Lung,#VHFLung
VH_F_Ovary_L,#VHFLeftOvary
VH_F_Ovary_R,#VHFRightOvary
+3d-vh-f-pancreas,#VHFPancreas
VH_F_Pancreas,#VHFPancreas
VH_F_Pelvis,#VHFPelvis
3d-vh-f-skin,#VHFSkin