Skip to content
Snippets Groups Projects
Commit 09133b4f authored by Robert Bossy's avatar Robert Bossy
Browse files

moved microorganisms roots in a single file

parent 5deb245f
No related branches found
No related tags found
No related merge requests found
Showing
with 55 additions and 30 deletions
......@@ -4,27 +4,42 @@
import sys
import re
ROOT_FILES = sys.argv[1:]
ROOT_FILE = sys.argv[1]
ROOT_CANDIDATES = []
for rf in ROOT_FILES:
with open(rf) as f:
r = f.read().strip()
ROOT_CANDIDATES.append((rf, r))
with open(ROOT_FILE) as f:
headers = None
for line in f:
cols = list(c.strip() for c in line.split('\t'))
if headers is None:
headers = cols
continue
record = dict(zip(headers, cols))
if record['Taxonomy ID'] == '':
sys.stderr.write('ignoring %s, not a taxon root\n' % (record['Name'],))
else:
ROOT_CANDIDATES.append((record['Name'], record['Taxonomy path']))
ROOTS = []
for rf1, r1 in ROOT_CANDIDATES:
for name1, path1 in ROOT_CANDIDATES:
accept = True
for rf2, r2 in ROOT_CANDIDATES:
if r1 == r2 and rf1 == rf2:
for name2, path2 in ROOT_CANDIDATES:
if path1 == path2 and name1 == path2:
continue
if r1.startswith(r2 + '/'):
sys.stderr.write('%s excluded since it is subsumed by %s\n' % (rf1, rf2))
if path1.startswith(path2 + '/'):
sys.stderr.write('%s excluded since it is subsumed by %s\n' % (name1, name2))
accept = False
if accept:
ROOTS.append(r1)
sys.stderr.write('Root %s (%s)\n' % (name1, path1))
ROOTS.append((name1, path1))
PATTERN = re.compile(r'\t(?:' + '|'.join(ROOTS) + r')[/\t]')
PATTERN = re.compile(r'\t(?:' + '|'.join(path for (name, path) in ROOTS) + r')[/\t]')
REMAIN = list(ROOTS)
for line in sys.stdin:
m = PATTERN.search(line)
if m is not None:
sys.stdout.write(line)
for name, path in REMAIN:
if path in line:
REMAIN.remove((name, path))
for name, path in REMAIN:
sys.stderr.write('%s not seen' % (name,))
Name MeSH ID MeSH Tree Taxonomy ID Taxonomy path
Alveolata D056893 B01.043 ncbi:33630 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2698737/ncbi:33630
Amoebozoa D056894 B01.046 ncbi:554915 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:554915
Archaea D001105 B02 ncbi:2157 /ncbi:1/ncbi:131567/ncbi:2157
Bacteria D001419 B03 ncbi:2 /ncbi:1/ncbi:131567/ncbi:2
Chlamydomonadales D000077105 B01.650.940.150.511 ncbi:3042 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33090/ncbi:3041/ncbi:2692248/ncbi:3166/ncbi:2812636/ncbi:3042
Chlorella D002708 B01.650.940.150.469 ncbi:3071 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33090/ncbi:3041/ncbi:2692248/ncbi:75966/ncbi:35460/ncbi:35461/ncbi:2511126/ncbi:3071
Choanoflagellida D056897 B01.175 ncbi:28009 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:28009
Cryptophyta D044785 B01.206 ncbi:3027 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:3027
Desmidiales D058114 B01.650.940.800.150.200 ncbi:131210 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33090/ncbi:35493/ncbi:131221/ncbi:131209/ncbi:2684882/ncbi:131210
Diplomonadida D016828 B01.237 ncbi:5738 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611341/ncbi:207245/ncbi:5738
Euglenozoa D056898 B01.268 ncbi:33682 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611352/ncbi:33682
Fungi D005658 B01.300 ncbi:4751 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:4751
Glaucocystophyceae D058108 B01.650.232 ncbi:38254 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:38254
Haptophyta D058087 B01.400 ncbi:2830 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2608109/ncbi:2830
Ichthyosporea D050298 B01.500 ncbi:127916 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:127916
Nematoda D009348 B01.050.500.500.294 ncbi:6231 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:33208/ncbi:6072/ncbi:33213/ncbi:33317/ncbi:1206794/ncbi:6231
Oxymonadida D056899 B01.625 ncbi:66288 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611341/ncbi:2662611/ncbi:66288
Parabasalia D056900 B01.630 ncbi:5719 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611341/ncbi:5719
Prototheca D011525 B01.650.940.150.634 ncbi:3110 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:33090/ncbi:3041/ncbi:2692248/ncbi:75966/ncbi:35460/ncbi:35461/ncbi:3110
Retortamonadidae D056919 B01.675 ncbi:193075 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611341/ncbi:207245/ncbi:193075
Rhizaria D056901 B01.680 ncbi:543769 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2698737/ncbi:543769
Stramenopiles D058009 B01.750 ncbi:33634 /ncbi:1/ncbi:131567/ncbi:2759/ncbi:2698737/ncbi:33634
Viruses D014780 B04 ncbi:10239 /ncbi:1/ncbi:10239
Microbiological Phenomena D008827 G06
Microbiology D008829 H01.158.273.540
Microbiological Techniques D008828 E05.200.875,E01.370.225.875
Attachment Sites, Microbiological D001287 G05.360.340.024.079
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:2698737/ncbi:33630
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:554915
/ncbi:1/ncbi:131567/ncbi:2157
/ncbi:1/ncbi:131567/ncbi:2
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:33090/ncbi:3041/ncbi:2692248/ncbi:3166/ncbi:2812636/ncbi:3042
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:33090/ncbi:3041/ncbi:2692248/ncbi:75966/ncbi:35460/ncbi:35461/ncbi:2511126/ncbi:3071
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:28009
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:3027
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:33090/ncbi:35493/ncbi:131221/ncbi:131209/ncbi:2684882/ncbi:131210
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611341/ncbi:207245/ncbi:5738
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611352/ncbi:33682
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:4751
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:38254
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:2608109/ncbi:2830
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:127916
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:33154/ncbi:33208/ncbi:6072/ncbi:33213/ncbi:33317/ncbi:1206794/ncbi:6231
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611341/ncbi:2662611/ncbi:66288
/ncbi:1/ncbi:131567/ncbi:2759/ncbi:2611341/ncbi:5719
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment