Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stomach layers #168

Merged
merged 23 commits into from
Nov 13, 2021
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
00c052d
Improve central path param to get closer fit to average rat stomach
mlin865 Oct 29, 2021
caafed7
Create and annotate evenly spaced elememts through stomach wall
mlin865 Oct 29, 2021
d51be45
Remove mucosa group in surface annotations
mlin865 Oct 29, 2021
b23d82a
Allow varying thickness across elements through stomach wall
mlin865 Oct 29, 2021
2186bdb
Allow uniform elements through ostium wall
mlin865 Oct 30, 2021
0280345
Allow uniform elements through bladder ureter wall
mlin865 Oct 30, 2021
3a789a6
Allow variable thickness for elements through ostium wall
mlin865 Oct 30, 2021
9b18db9
Update bladder mesh with ostium and annulus changes
mlin865 Oct 30, 2021
a2164fa
Allow varying element thicknesses through annulus wall in stomach
mlin865 Oct 30, 2021
abf93e5
Add annotation groups for annulus wall
mlin865 Oct 30, 2021
cc00f78
Modify code to correctly annotate limiting ridge
mlin865 Nov 1, 2021
acbed49
Update thickness parameters for human and mouse
mlin865 Nov 1, 2021
f841b77
Update relative thicknesses for human colon with data from Simon Brookes
mlin865 Nov 2, 2021
ed2713d
Add annotations needed for fitting
mlin865 Nov 5, 2021
474a97a
Rename relative thickness proportions to relative thicknesses in ostium
mlin865 Nov 5, 2021
8c713b2
Update unit tests
mlin865 Nov 5, 2021
0352a4a
Merge remote-tracking branch 'abi/main' into stomachLayers
mlin865 Nov 5, 2021
1875db3
Correct typo in bladder mesh
mlin865 Nov 5, 2021
97897a3
Make code compliant with PEP8
mlin865 Nov 8, 2021
e8cdfba
Add interlex identifiers to stomach terms
mlin865 Nov 9, 2021
c35f2f4
Re-calculate thickness proportions from relative Thicknesses input
mlin865 Nov 12, 2021
677db9e
Calculate thickness proportions from input relative thicknesses
mlin865 Nov 12, 2021
2f31737
Fix error in calculating relative thicknesses
mlin865 Nov 12, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/scaffoldmaker/annotation/bladder_terms.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,14 @@
("urethra junction of ventral bladder neck", "ILX:0738410")
]

def get_bladder_term(name : str):

def get_bladder_term(name: str):
"""
Find term by matching name to any identifier held for a term.
Raise exception if name not found.
:return ( preferred name, preferred id )
"""
for term in bladder_terms:
if name in term:
return ( term[0], term[1] )
return (term[0], term[1])
raise NameError("Bladder annotation term '" + name + "' not found.")
45 changes: 23 additions & 22 deletions src/scaffoldmaker/annotation/colon_terms.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,36 @@

# convention: preferred name, preferred id, followed by any other ids and alternative names
colon_terms = [
( "ascending colon", "UBERON:0001156", "FMA:14545", "ILX:0734393"),
( "descending colon", "UBERON:0001158", "FMA:14547", "ILX:0724444"),
( "caecum", "UBERON:0001153", "FMA:14541", "ILX:0732270"),
( "circular muscle layer of colon", "ILX:0772428"),
( "colon", "UBERON:0001155", "FMA:14543", "ILX:0736005"),
( "colonic mucosa", "UBERON:0000317", "FMA:14984", "ILX:0731046"),
( "distal colon", "UBERON:0008971", "ILX:0727523"),
( "longitudinal muscle layer of colon", "ILX:0775554"),
( "luminal surface of the colonic mucosa", "ILX:0793083"),
( "mesenteric zone", "None"),
( "non-mesenteric zone", "None"),
( "proximal colon", "UBERON:0008972", "ILX:0733240"),
( "serosa of colon", "UBERON:0003335", "FMA:14990", "ILX:0736932"),
( "spiral colon", "UBERON:0010239", "ILX:0735018"),
( "submucosa of colon", "UBERON:0003331", "FMA:14985", "ILX:0728041"),
( "taenia coli", "UBERON:0012419", "FMA:15041", "ILX:0731555"),
( "taenia libera", "ILX:0739285"),
( "taenia mesocolica", "ILX:0739284"),
( "taenia omentalis", "ILX:0739286"),
( "transverse colon", "UBERON:0001157", "FMA:14546", "ILX:0728767")
("ascending colon", "UBERON:0001156", "FMA:14545", "ILX:0734393"),
("descending colon", "UBERON:0001158", "FMA:14547", "ILX:0724444"),
("caecum", "UBERON:0001153", "FMA:14541", "ILX:0732270"),
("circular muscle layer of colon", "ILX:0772428"),
("colon", "UBERON:0001155", "FMA:14543", "ILX:0736005"),
("colonic mucosa", "UBERON:0000317", "FMA:14984", "ILX:0731046"),
("distal colon", "UBERON:0008971", "ILX:0727523"),
("longitudinal muscle layer of colon", "ILX:0775554"),
("luminal surface of the colonic mucosa", "ILX:0793083"),
("mesenteric zone", "None"),
("non-mesenteric zone", "None"),
("proximal colon", "UBERON:0008972", "ILX:0733240"),
("serosa of colon", "UBERON:0003335", "FMA:14990", "ILX:0736932"),
("spiral colon", "UBERON:0010239", "ILX:0735018"),
("submucosa of colon", "UBERON:0003331", "FMA:14985", "ILX:0728041"),
("taenia coli", "UBERON:0012419", "FMA:15041", "ILX:0731555"),
("taenia libera", "ILX:0739285"),
("taenia mesocolica", "ILX:0739284"),
("taenia omentalis", "ILX:0739286"),
("transverse colon", "UBERON:0001157", "FMA:14546", "ILX:0728767")
]

def get_colon_term(name : str):

def get_colon_term(name: str):
"""
Find term by matching name to any identifier held for a term.
Raise exception if name not found.
:return ( preferred name, preferred id )
"""
for term in colon_terms:
if name in term:
return ( term[0], term[1] )
return (term[0], term[1])
raise NameError("Colon annotation term '" + name + "' not found.")
13 changes: 7 additions & 6 deletions src/scaffoldmaker/annotation/smallintestine_terms.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,20 @@

# convention: preferred name, preferred id, followed by any other ids and alternative names
smallintestine_terms = [
( "duodenum", "UBERON:0002114", "FMA:7206", "ILX:0726125"),
( "ileum", "UBERON:0002116", "FMA:7208", "ILX:0728151"),
( "jejunum", "UBERON:0002115", "FMA:7207", "ILX:0724224"),
( "small intestine", "UBERON:0002108", "FMA:7200", "ILX:0726770")
("duodenum", "UBERON:0002114", "FMA:7206", "ILX:0726125"),
("ileum", "UBERON:0002116", "FMA:7208", "ILX:0728151"),
("jejunum", "UBERON:0002115", "FMA:7207", "ILX:0724224"),
("small intestine", "UBERON:0002108", "FMA:7200", "ILX:0726770")
]

def get_smallintestine_term(name : str):

def get_smallintestine_term(name: str):
"""
Find term by matching name to any identifier held for a term.
Raise exception if name not found.
:return ( preferred name, preferred id )
"""
for term in smallintestine_terms:
if name in term:
return ( term[0], term[1] )
return (term[0], term[1])
raise NameError("Small intestine annotation term '" + name + "' not found.")
107 changes: 74 additions & 33 deletions src/scaffoldmaker/annotation/stomach_terms.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,87 @@

# convention: preferred name, preferred id, followed by any other ids and alternative names
stomach_terms = [
( "antrum on serosa split margin", "None"),
( "body of stomach", "UBERON:0001161", " FMA:14560", "ILX:0724929"),
( "body on serosa split margin", "None"),
( "cardia of stomach", "UBERON:0001162", " FMA:14561", "ILX:0729096"),
( "dorsal stomach", "None"),
( "duodenum", "UBERON:0002114", " FMA:7206", "ILX:0726125"),
( "duodenum on greater curvature", "None"),
( "esophagus", "UBERON:0001043", "FMA: 7131", "ILX:0735017"),
( "esophagus on serosa split margin", "None"),
( "esophagogastric junction", "UBERON:0007650", "FMA: 9434", "ILX:0733910"),
( "forestomach-glandular stomach junction", "UBERON:0012270", "ILX:0729974"),
( "forestomach-glandular stomach junction on inner wall", "None"),
( "forestomach-glandular stomach junction on outer wall", "None"),
( "fundus of stomach", "UBERON:0001160", " FMA:14559", "ILX:0724443"),
( "fundus on serosa split margin", "None"),
( "gastro-esophagal junction on lesser curvature", "None"),
#( "greater curvature of stomach", "UBERON:0001164", "FMA: 14574", "ILX:0724395"),
( "junction between fundus and body on greater curvature", "None"),
# ( "lesser curvature of stomach", "UBERON:0001163", "FMA: 14572", "ILX:0733753"),
( "limiting ridge on greater curvature", "None"),
( "mucosa of stomach", "UBERON:0001199", "FMA:14907", "ILX:0736669"),
( "pylorus", "UBERON:0001166", " FMA:14581", "ILX:0734150"),
( "pyloric antrum", "UBERON:0001165", " FMA:14579", "ILX:0728672"),
( "pylorus on greater curvature", "None"),
( "pylorus on serosa split margin", "None"),
( "serosa of dorsal stomach", "None"),
( "serosa of stomach", "UBERON:0001201", "FMA:14914", "ILX:0735818"),
( "serosa split margin", "None"),
( "serosa of ventral stomach", "None"),
( "stomach", "UBERON:0000945", "FMA:7148", "ILX:0736697"),
( "ventral stomach", "None"),
("body of stomach", "UBERON:0001161", " FMA:14560", "ILX:0724929"),
("body-antrum junction along the greater curvature on circular-longitudinal muscle interface", "ILX:0793127"),
("body-antrum junction along the greater curvature on luminal surface", "ILX:0793128"),
("body-antrum junction along the greater curvature on serosa", "ILX:0793087"),
("cardia of stomach", "UBERON:0001162", " FMA:14561", "ILX:0729096"),
("circular muscle layer of stomach", "ILX:0774731"),
("circular-longitudinal muscle interface of body of stomach along the gastric-omentum attachment", "ILX:0793088"),
("circular-longitudinal muscle interface of dorsal stomach", "ILX:0793089"),
("circular-longitudinal muscle interface of duodenum along the gastric-omentum attachment", "ILX:0793090"),
("circular-longitudinal muscle interface of esophagus along the cut margin", "ILX:0793091"),
("circular-longitudinal muscle interface of fundus of stomach along the gastric-omentum attachment", "ILX:0793092"),
("circular-longitudinal muscle interface of gastroduodenal junction", "ILX:0793093"),
("circular-longitudinal muscle interface of pyloric antrum along the gastric-omentum attachment", "ILX:0793094"),
("circular-longitudinal muscle interface of pyloric canal along the gastric-omentum attachment", "ILX:0793095"),
("circular-longitudinal muscle interface of stomach", "ILX:0793096"),
("circular-longitudinal muscle interface of ventral stomach", "ILX:0793097"),
("dorsal stomach", "ILX:0793086"),
("duodenum", "UBERON:0002114", " FMA:7206", "ILX:0726125"),
("esophagogastric junction", "UBERON:0007650", "FMA: 9434", "ILX:0733910"),
("esophagogastric junction along the greater curvature on circular-longitudinal muscle interface", "ILX:0793098"),
("esophagogastric junction along the greater curvature on luminal surface", "ILX:0793099"),
("esophagogastric junction along the greater curvature on serosa", "ILX:0793100"),
("esophagogastric junction along the lesser curvature on circular-longitudinal muscle interface", "ILX:0793101"),
("esophagogastric junction along the lesser curvature on luminal surface", "ILX:0793102"),
("esophagogastric junction along the lesser curvature on serosa", "ILX:0793103"),
("esophagus", "UBERON:0001043", "FMA:7131", "ILX:0735017"),
("esophagus mucosa", "UBERON:0002469", "FMA:62996", "ILX:0725079"),
("esophagus smooth muscle circular layer", "UBERON:0009960", "FMA:67605", "ILX:0735992"),
("esophagus smooth muscle longitudinal layer", "UBERON:0009961", "FMA:63573", "ILX:0727608"),
("forestomach-glandular stomach junction", "UBERON:0012270", "ILX:0729974"),
("fundus of stomach", "UBERON:0001160", " FMA:14559", "ILX:0724443"),
("fundus-body junction along the greater curvature on circular-longitudinal muscle interface", "ILX:0793104"),
("fundus-body junction along the greater curvature on luminal surface", "ILX:0793105"),
("fundus-body junction along the greater curvature on serosa", "ILX:0793106"),
("gastroduodenal junction", "UBERON:0012650", "FMA:17046", "ILX:0725406"),
("gastroduodenal junction along the greater curvature on circular-longitudinal muscle interface", "ILX:0793107"),
("gastroduodenal junction along the greater curvature on luminal surface", "ILX:0793108"),
("gastroduodenal junction along the greater curvature on serosa", "ILX:0793109"),
("gastroduodenal junction along the lesser curvature on circular-longitudinal muscle interface", "ILX:0793110"),
("gastroduodenal junction along the lesser curvature on luminal surface", "ILX:0793111"),
("gastroduodenal junction along the lesser curvature on serosa", "ILX:0793112"),
("limiting ridge along the greater curvature on circular-longitudinal muscle interface", "ILX:0793113"),
("limiting ridge along the greater curvature on luminal surface", "ILX:0793114"),
("limiting ridge along the greater curvature on serosa", "ILX:0793115"),
("limiting ridge on circular-longitudinal muscle interface", "ILX:0793116"),
("limiting ridge on luminal surface", "ILX:0793117"),
("limiting ridge on serosa", "ILX:0793118"),
("longitudinal muscle layer of stomach", "ILX:0772619"),
("luminal surface of body of stomach", "ILX:0793119"),
("luminal surface of cardia of stomach", "ILX:0793120"),
("luminal surface of duodenum", "ILX:0793121"),
("luminal surface of esophagus", "ILX:0793122"),
("luminal surface of fundus of stomach", "ILX:0793123"),
("luminal surface of pyloric antrum", "ILX:0793124"),
("luminal surface of pyloric canal", "ILX:0793125"),
("luminal surface of stomach", "ILX:0793126"),
("mucosa of stomach", "UBERON:0001199", "FMA:14907", "ILX:0736669"),
("pyloric antrum", "UBERON:0001165", " FMA:14579", "ILX:0728672"),
("pyloric canal", "UBERON:0008858", "FMA:14580", "ILX:0735898"),
("serosa of body of stomach", "ILX:0771402"),
("serosa of cardia of stomach", "ILX:0776646"),
("serosa of duodenum", "UBERON:0003336", "FMA:14948", "ILX:0732373"),
("serosa of esophagus", "UBERON:0001975", "FMA:63057", "ILX:0725745"),
("serosa of fundus of stomach", "UBERON:0012503", "FMA:17073", "ILX:0726906"),
("serosa of pyloric antrum", "ILX:0777005"),
("serosa of pyloric canal", "ILX:0775898"),
("serosa of stomach", "UBERON:0001201", "FMA:14914", "ILX:0735818"),
("stomach", "UBERON:0000945", "FMA:7148", "ILX:0736697"),
("submucosa of esophagus", "UBERON:0001972", "FMA:62997", "ILX:0728662"),
("submucosa of stomach", "UBERON:0001200", "FMA:14908", "ILX:0732950"),
("ventral stomach", "ILX:0793085"),
]

def get_stomach_term(name : str):

def get_stomach_term(name: str):
"""
Find term by matching name to any identifier held for a term.
Raise exception if name not found.
:return ( preferred name, preferred id )
"""
for term in stomach_terms:
if name in term:
return ( term[0], term[1] )
return (term[0], term[1])
raise NameError("Stomach annotation term '" + name + "' not found.")
Loading