In [38]:
!pwd


/mnt/synology/retina/projects/bart/website

In [39]:
!ls


Parse+diag.bib.ipynb  Scratch_Parse diag.bib.ipynb  diag.bib
Rescale Photo.ipynb   bibtex_parser.ipynb

In [112]:
!sudo pip install latexcodec


[sudo] password for user: 

In [2]:
import latexcodec
with open('diag.bib', 'rb') as f:
    diag = f.read().decode('utf-8-sig')
diag_lines = diag.split('\r\n\r\n')

Helper functions


In [3]:
def get_blocks(content, start_character, delim=('{','}')):
    '''
    yields all blocks (entries enclosed by the specified delimiters)
    start_character will look backwards from the start of the block for this character
    the result will be a tuple of two strings: from start character to start of the block, and the block content
    '''
    delim_start, delim_end = delim
    stack = []
    for i, c in enumerate(content):
        if c == '{':
            stack.append(i)
        elif c == '}' and stack:
            start = stack.pop()
            if len(stack)==0:
                start_index = content.rfind(start_character, 0, start)
                yield content[start_index: start], content[start + 1: i]

assert [x for x in get_blocks('abc = {test}, bac = {test2}', 'a')] == [('abc = ', 'test'), ('ac = ', 'test2')]

In [4]:
def tokenize(string, delim=('{', '}'), trim=False):
    '''
    yields tokens instead of characters
    everything enclosed by the delimitors is returned as one token
    '''
    delim_start, delim_end = delim
    stack = []
    if trim:
        inp = string[1:-1]
    else:
        inp = string
    for i, c in enumerate(inp):
        if c == delim_start:
            stack.append(i)
        elif c == delim_end and stack:
            start = stack.pop()
            if len(stack) == 0:
                if trim:
                    yield(string[start+2:i+1])
                else:
                    yield(string[start:i+1])            
            continue
        if len(stack) == 0:
            yield c
            
assert [x for x in tokenize('a{abc}c', delim=('{', '}'))] == ['a', '{abc}', 'c']
assert [x for x in tokenize('{a{abc}c{def}gh{i}}', delim=('{', '}'), trim=True)] == ['a', 'abc', 'c', 'def', 'g', 'h', 'i']

In [5]:
def list_split(lst, token):
    '''
    splits a list on a token
    yields individual parts of the list, split by the token
    '''
    last = -1
    for i, t in enumerate(lst):
        if t==token:
            yield lst[last+1:i]
            last = i
    yield lst[last+1:]            

assert [x for x in list_split([1, 2, 3, 4], 2)]  == [[1], [3, 4]]

In [6]:
def token_split(token_list, pattern=' and '):
    '''
    splits a tokenlist on a pattern
    yields individual parts of the tokenlist, split by the pattern
    '''
    pattern_index = 0
    last = -1
    for i, t in enumerate(token_list):
        if t == pattern[pattern_index]:
            pattern_index += 1
            if pattern_index == len(pattern):
                yield token_list[last+1:i-len(pattern)+1]
                last = i 
                pattern_index = 0
        else:
            pattern_index = 0
    yield token_list[last+1:]
    
assert [x for x in token_split([1, 2, 1, 'test', 2, 'test'], pattern = [1, 'test'])] == [[1, 2], [2, 'test']]

In [7]:
def rindex(lst, token):
    '''
    returns the last index of token in lst
    '''
    return next(i for i, v in zip(range(len(lst)-1, -1, -1), reversed(lst)) if v == token)

assert rindex('abc abc', 'a') == 4

Parse author names


In [8]:
def parse_name(name, omit=('{', '}')):
    '''
    assumes this format:
    https://tex.stackexchange.com/questions/557/how-should-i-type-author-names-in-a-bib-file
    cleans the string from characters in 'omit'
    
    returns a tuple (first, von, last, jr)
    '''
    parts = list(list_split(name, ','))
    if len(parts)==1:# "First von Last"
        if ' ' in name:
            s, e = name.index(' '), rindex(name, ' ')
        else: 
            s, e = 0, 0
        first = name[:s]
        von = name[s:e]
        last = name[e:]
        jr = ''
    elif len(parts)==2: # "von Last, First"
        first = parts[1]
        e = rindex(parts[0], ' ') if ' ' in parts[0] else 0
        von = parts[0][:e]
        last = parts[0][e:]
        jr = ''
    elif len(parts)==3: # "von Last, Jr, First"
        first = parts[2]
        e = rindex(parts[0], ' ') if ' ' in parts[0] else 0
        von = parts[0][:e]
        last = parts[0][e:]
        jr = parts[1]
    else:
        print('warning! bibtex format error in name "{}"'.format(''.join(name)))
        first, von, last, jr = '', '', name, ''
               
    def clean(name_part):
        return ''.join(letter 
                       for token in name_part
                       for letter in token 
                       if not letter in omit).strip()
    return tuple(clean(x) for x in (first, von, last, jr))

assert parse_name('Bart Liefers') == ('Bart', '', 'Liefers', '')
assert parse_name('Bart von Liefers') == ('Bart', 'von', 'Liefers', '')
assert parse_name('Liefers, Bart') == ('Bart', '', 'Liefers', '')
assert parse_name('von Liefers, Bart') == ('Bart', 'von', 'Liefers', '')
assert parse_name('von Liefers, Jr, Bart') == ('Bart', 'von', 'Liefers', 'Jr')

In [9]:
def parse_authors(author_line):
    '''
    returns a list of author tuples
    ''' 
    author_line = author_line.replace('~', ' ')
    # remove enclosing braces
    try:
        cleaned_line = next(get_blocks(author_line, ''))[1] 
    except:
        print('error in author line: {}'.format(author_line))
        cleaned_line = author_line[1:-1]


    #split on ' and ' tokens (but not between brackets!) to split out the separate authors
    authors = token_split(list(tokenize(cleaned_line)), pattern=' and ')
    return [parse_name(author) for author in authors]

assert parse_authors('{a and bandc and d { and } e}') == [('', '', 'a', ''), ('', '', 'bandc', ''), ('d', 'and', 'e', '')]

Parse entries


In [10]:
def get_entry_content(content):
    '''
    returns a dict mapping the bib-keys to 
    '''
    def get_key_value(lines):
        for line in lines:
            if not '=' in line:
                continue
            i = line.index('=')
            key = line[:i].strip()
            value = line[i + 1:].strip()
            if value.startswith('{'):
                value = value[:rindex(value, '}') + 1]
            elif value.endswith(','):
                value = value[:-1]
            yield key, value
    return  {k: v for k, v in get_key_value(content.split('\r\n'))}

def get_entry(entry):
    '''
    returns a tuple: the bibkey and a dict containing the key-values in this entry
    '''
    key_index = entry.index(',')
    bib_key = entry[:key_index]
    content = get_entry_content(entry[key_index:])
    return bib_key, content

Indexing


In [11]:
from collections import defaultdict

In [12]:
def decode_latex(input_string, print_error_key=False):
    '''
        replace latex characters with unicode
    '''
    try:
        return input_string.encode('utf-8').decode('latex')
    except Exception as e:
        if print_error_key:
            print('{} : warning: encoding error!!!'.format(print_error_key))
            print(e)
        return input_string

In [13]:
def authors_to_string(authors):
    def parse_author(author):
        first, von, last, jr = author
        
        if len(first)>=2 and first[1]=='.':
            # first probably contains initials
            initials = first
        else:
            initials = '.'.join(x[0] for x in first.split(' ') if x)
            if len(initials):
                initials += '.'
            
        result = initials        
        if not von == '':
            if len(von)>=2 and von[1]=='.':
                # von probably contains some initials
                result += von
            else:
                result += ' ' + von
        result += ' ' +last
        if not jr == '':
            result += ' ' + jr
        return result
    
    names = [parse_author(a) for a in authors]
    return ', '.join(names[:-1]) + ' and ' + names[-1] 

def clean_bib_string(bib_string):
    if not bib_string[0] == '{' and bib_string[-1] == '}':
        print('unexpected content:', bib_string)
    return ''.join(b for b in tokenize(bib_string, trim=True))

In [14]:
class BibItem:
    
    url_syntax = {
        'doi': 'http://dx.doi.org/{}',
        'pmid': 'http://www.ncbi.nlm.nih.gov/pubmed/{}',
        'url': '{}'
    }
    
    def __init__(self, key, entry, entry_type):
        self.key = key
        self.entry = entry
        self.entry_type = entry_type
        self.values = {}
    
    def __getattr__ (self, key):
        if key in self.values:
            # memoization
            return self.values[key]
        
        if key == 'author':
            result = self._get_authors()
        elif key in ('journal', 'booktitle', 'title', 'series'):
            result = self._get_string_rule_or_decode(key)
        elif key in ('year', 'volume', 'pages', 'number'):
            result = self._get_simple_value(key).replace('--', '-')
        elif key in ('doi', 'pmid', 'url'):
            result = self._get_url(key)
        else:
            result = ''
        self.values[key] = result
        return result

    def _get_authors(self):
        if not 'author' in self.entry:
            a = []    
        a = parse_authors(decode_latex(self.entry['author']))
        return authors_to_string(a)
    
    def _get_string_rule_or_decode(self, item):
        if not item in self.entry:
            return ''
        result = self.entry[item]
        if result.startswith('{'):
            return clean_bib_string(decode_latex(result))
        else:
            return result

    def _get_simple_value(self, key):
        if not key in self.entry:
            return ''
        else:
            value = self.entry[key]
            if value.startswith('{'):
                return value[1:-1]
            else:
                return value 
    
    def _get_url(self, key):
        url = self._get_simple_value(key)
        if len(url):
            return self.url_syntax[key].format(url)
        return ''

Formatting


In [15]:
def converter(value_convert, bib_item):
    def get_val(k, v):
        if not k in bib_item.entry:
            return ''
        return value_convert[k].format(get_from_string_rule(getattr(bib_item, k)))
    return {k:get_val(k, v) for k, v in value_convert.items()}

def HTML_proceedings_formatter(bib_item):
    value_convert = {
        'booktitle': 'in: <i>{}</i>',
        'volume': ', volume {}',
        'series': ' of {}'
    }
    for k in ('year', 'number', 'pages'):
        value_convert[k] = ', {}'
    return '{booktitle}{volume}{series}{year}{number}{pages}'.format(**converter(value_convert, bib_item));

def HTML_abstract_formatter(bib_item):
    value_convert = {
        'booktitle': 'in: {}', # italics?
        'year': ', {}', 
    }
    return '{booktitle}{year}'.format(**converter(value_convert, bib_item))

def HTML_article_formatter(bib_item):
    value_convert = {
        'year': ' {}',
        'volume': ';{}',
        'number': '({})',
        'pages': ':{}'
    }
    values = converter(value_convert, bib_item)
    values['journal'] = ''
    journal = get_from_string_rule(bib_item.journal)
    if bib_item.journal.startswith('arXiv'):
        arxiv_id = journal[:6];
        values['journal'] = ', <a href="https://arxiv.org/abs/{}">{}</a>'.format(arxiv_id, journal)
    else:
        values['journal'] = ', <i>{}</i>'.format(journal)
    return '{journal}{year}{volume}{number}{pages}'.format(**values)            

def get_HTML_Thesis_formatter(name):
    value_convert = {
        'school': ', {}',
        'year': ', {}', 
    }
    def func(bib_item):
        return '<i>{name}</i>{school}{year}'.format(name=name, **converter(value_convert, bib_item))
    return func

def HTML_Patent_formatter(bib_item):
    value_convert = {
        'year': '{}',
        'nationality': ', {}', 
        'optnumber': ', patent number {}'
    }
    return '{year}{nationality}{optnumber}'.format(**converter(value_convert, bib_item))            

def HTML_formatter(bib_item):
    type_formatters = {
        '@InProceedings': HTML_proceedings_formatter,
        '@Conference': HTML_abstract_formatter,
        '@Article': HTML_article_formatter,
        '@PhdThesis': get_HTML_Thesis_formatter('PhD thesis'),
        '@Mastersthesis': get_HTML_Thesis_formatter('Mastersthesis'),
        '@Patent': HTML_Patent_formatter
    }
    if bib_item.entry_type in type_formatters:
        return type_formatters[bib_item.entry_type](bib_item)

Make index


In [63]:
from collections import Counter

In [64]:
Counter(v.entry_type for v in global_index.values())


Out[64]:
Counter({'@Article': 2903,
         '@Book': 20,
         '@Conference': 212,
         '@Electronic': 1,
         '@InBook': 2,
         '@InCollection': 2,
         '@InProceedings': 346,
         '@MastersThesis': 4,
         '@Misc': 3,
         '@Patent': 3,
         '@PhdThesis': 170})

In [16]:
index = defaultdict(dict)
global_index = {}
string_rules = {}
for type_name, entry in get_blocks(diag, start_character='@'):
    if type_name == '@Comment':
        continue
    elif type_name == '@String':
        k, v = [x.strip() for x in entry.split('=')]
        string_rules[k] = v
    else:
        key, entry_dict = get_entry(entry)
        bib_item = BibItem(key, entry_dict, type_name)
        global_index[key] = bib_item
        index[type_name][key] = bib_item

In [17]:
def find_key(text):
    for k, bib_item in global_index.items():
        if text in clean_bib_string(bib_item.entry['title']):
            return k

In [18]:
find_key('Non-solid and Part-solid Nodules: Compa'), find_key('Automatic Cerebrospinal Fluid Segmentation')


Out[18]:
('Silv17a', 'Pate17a')

In [19]:
global_index['Pate17a'].entry_type


Out[19]:
'@InProceedings'

In [58]:
sorted(global_index.items())


Out[58]:
[('04', <__main__.BibItem at 0x7f5a67730d30>),
 ('04a', <__main__.BibItem at 0x7f5a67730f60>),
 ('Aald17', <__main__.BibItem at 0x7f5a676d77f0>),
 ('Aald17a', <__main__.BibItem at 0x7f5a676dcd68>),
 ('Aalt11', <__main__.BibItem at 0x7f5a7c05a668>),
 ('Aarn11', <__main__.BibItem at 0x7f5a7c05cb70>),
 ('Aarn12', <__main__.BibItem at 0x7f5a7c060898>),
 ('Aarn12a', <__main__.BibItem at 0x7f5a7c05c358>),
 ('Aarn12b', <__main__.BibItem at 0x7f5a7c05cfd0>),
 ('Aarn13', <__main__.BibItem at 0x7f5a7c05c780>),
 ('Aarn13a', <__main__.BibItem at 0x7f5a7c05aac8>),
 ('Aarn13b', <__main__.BibItem at 0x7f5a7c060470>),
 ('Aarn16', <__main__.BibItem at 0x7f5a7c0b5e48>),
 ('Aars89', <__main__.BibItem at 0x7f5a7c060c50>),
 ('Aart06', <__main__.BibItem at 0x7f5a7c066c88>),
 ('Aart06a', <__main__.BibItem at 0x7f5a7c063780>),
 ('Aart07', <__main__.BibItem at 0x7f5a7c0657b8>),
 ('Aart07a', <__main__.BibItem at 0x7f5a7c066470>),
 ('Aart08', <__main__.BibItem at 0x7f5a7c063b70>),
 ('Aart08a', <__main__.BibItem at 0x7f5a7c065be0>),
 ('Aart08b', <__main__.BibItem at 0x7f5a7c063f98>),
 ('Aart09', <__main__.BibItem at 0x7f5a7c0634a8>),
 ('Aart09a', <__main__.BibItem at 0x7f5a7c066048>),
 ('Aart10', <__main__.BibItem at 0x7f5a7c065400>),
 ('Aart12', <__main__.BibItem at 0x7f5a7c060fd0>),
 ('Aart99', <__main__.BibItem at 0x7f5a7c0bb5c0>),
 ('Abas05', <__main__.BibItem at 0x7f5a7c06b2e8>),
 ('Abas05a', <__main__.BibItem at 0x7f5a7c06b0f0>),
 ('Abbi06', <__main__.BibItem at 0x7f5a7c06b6d8>),
 ('Abee14', <__main__.BibItem at 0x7f5a7c06bb38>),
 ('Abel95', <__main__.BibItem at 0x7f5a7c06bba8>),
 ('Aben11', <__main__.BibItem at 0x7f5a7c06e0b8>),
 ('Abra08a', <__main__.BibItem at 0x7f5a7c06e3c8>),
 ('Abuh08', <__main__.BibItem at 0x7f5a6773c128>),
 ('Adri09', <__main__.BibItem at 0x7f5a7c0726d8>),
 ('Adri09a', <__main__.BibItem at 0x7f5a7c072ef0>),
 ('Adri10', <__main__.BibItem at 0x7f5a7c06ea90>),
 ('Adri11', <__main__.BibItem at 0x7f5a7c072ac8>),
 ('Adri11a', <__main__.BibItem at 0x7f5a7c06e7f0>),
 ('Adri11b', <__main__.BibItem at 0x7f5a7c072278>),
 ('Adri11c', <__main__.BibItem at 0x7f5a7c06ee10>),
 ('Aebe93', <__main__.BibItem at 0x7f5a7c073358>),
 ('Aert11', <__main__.BibItem at 0x7f5a7c073b00>),
 ('Aert12', <__main__.BibItem at 0x7f5a7c0736a0>),
 ('Aert14', <__main__.BibItem at 0x7f5a7c073ef0>),
 ('Ahlg10', <__main__.BibItem at 0x7f5a7c0762b0>),
 ('Akyi15', <__main__.BibItem at 0x7f5a7c076630>),
 ('Albe11', <__main__.BibItem at 0x7f5a7c076f28>),
 ('Albe12', <__main__.BibItem at 0x7f5a7c076b00>),
 ('Albe94', <__main__.BibItem at 0x7f5a7c078208>),
 ('Alex15', <__main__.BibItem at 0x7f5a7c0785c0>),
 ('Alon09', <__main__.BibItem at 0x7f5a7c0789e8>),
 ('Alta13', <__main__.BibItem at 0x7f5a7c078e10>),
 ('Altm97', <__main__.BibItem at 0x7f5a676c8048>),
 ('Amer13', <__main__.BibItem at 0x7f5a7c07b240>),
 ('Amin11', <__main__.BibItem at 0x7f5a7c07b6a0>),
 ('Amir13', <__main__.BibItem at 0x7f5a7c07b8d0>),
 ('Amir13a', <__main__.BibItem at 0x7f5a7c07bcc0>),
 ('Amir14', <__main__.BibItem at 0x7f5a7c07f0f0>),
 ('Ande05', <__main__.BibItem at 0x7f5a7c07f4e0>),
 ('Andr12a', <__main__.BibItem at 0x7f5a7c07f908>),
 ('Araz15', <__main__.BibItem at 0x7f5a676f9978>),
 ('Aren11', <__main__.BibItem at 0x7f5a7c081898>),
 ('Aren12', <__main__.BibItem at 0x7f5a7c081c88>),
 ('Aren13', <__main__.BibItem at 0x7f5a7c081470>),
 ('Aren15', <__main__.BibItem at 0x7f5a7c0850b8>),
 ('Aren16', <__main__.BibItem at 0x7f5a7c07ff28>),
 ('Aria04', <__main__.BibItem at 0x7f5a7c085cf8>),
 ('Aria06', <__main__.BibItem at 0x7f5a7c0858d0>),
 ('Aria13', <__main__.BibItem at 0x7f5a7c0854e0>),
 ('Arif14', <__main__.BibItem at 0x7f5a7c00b2e8>),
 ('Arif14c', <__main__.BibItem at 0x7f5a7c009e10>),
 ('Arif15a', <__main__.BibItem at 0x7f5a7c009978>),
 ('Arif15b', <__main__.BibItem at 0x7f5a7c00b748>),
 ('Arif16a', <__main__.BibItem at 0x7f5a7c0093c8>),
 ('Arif16b', <__main__.BibItem at 0x7f5a7c009198>),
 ('Arma08', <__main__.BibItem at 0x7f5a7c00bb00>),
 ('Arno16', <__main__.BibItem at 0x7f5a7c00d438>),
 ('Arno17', <__main__.BibItem at 0x7f5a7c00bef0>),
 ('Arnt15', <__main__.BibItem at 0x7f5a7c00d860>),
 ('Arnt16', <__main__.BibItem at 0x7f5a7c063710>),
 ('Arta09', <__main__.BibItem at 0x7f5a7c00df98>),
 ('Arta09a', <__main__.BibItem at 0x7f5a7c00dba8>),
 ('Arte12', <__main__.BibItem at 0x7f5a7c010400>),
 ('Arzh06', <__main__.BibItem at 0x7f5a7c010be0>),
 ('Arzh06a', <__main__.BibItem at 0x7f5a7c014240>),
 ('Arzh07', <__main__.BibItem at 0x7f5a7c012b70>),
 ('Arzh07a', <__main__.BibItem at 0x7f5a7c0124a8>),
 ('Arzh07b', <__main__.BibItem at 0x7f5a7c012208>),
 ('Arzh07c', <__main__.BibItem at 0x7f5a7c012f60>),
 ('Arzh09', <__main__.BibItem at 0x7f5a7c0145f8>),
 ('Arzh09b', <__main__.BibItem at 0x7f5a7c010e80>),
 ('Arzh09c', <__main__.BibItem at 0x7f5a7c010940>),
 ('Arzh10', <__main__.BibItem at 0x7f5a7c012748>),
 ('As09', <__main__.BibItem at 0x7f5a7c0149e8>),
 ('Ashr10', <__main__.BibItem at 0x7f5a7c014da0>),
 ('Asse11', <__main__.BibItem at 0x7f5a7c017198>),
 ('Aste08', <__main__.BibItem at 0x7f5a7c017550>),
 ('Aste15', <__main__.BibItem at 0x7f5a7c017940>),
 ('Atsm08', <__main__.BibItem at 0x7f5a7c017d68>),
 ('Atti11', <__main__.BibItem at 0x7f5a7c019128>),
 ('Avil17', <__main__.BibItem at 0x7f5a676dcf28>),
 ('Avoi13', <__main__.BibItem at 0x7f5a7c019550>),
 ('Ayez13', <__main__.BibItem at 0x7f5a7c019828>),
 ('Babo16', <__main__.BibItem at 0x7f5a7c01cb70>),
 ('Back09', <__main__.BibItem at 0x7f5a7c01f6a0>),
 ('Back10', <__main__.BibItem at 0x7f5a7c01f160>),
 ('Bagl13', <__main__.BibItem at 0x7f5a676d7978>),
 ('Bail16', <__main__.BibItem at 0x7f5a7c01fb70>),
 ('Bake15', <__main__.BibItem at 0x7f5a7c022160>),
 ('Bakk01a', <__main__.BibItem at 0x7f5a7c0225c0>),
 ('Bakk07', <__main__.BibItem at 0x7f5a7c022908>),
 ('Bala05', <__main__.BibItem at 0x7f5a7c022cc0>),
 ('Bald04', <__main__.BibItem at 0x7f5a7c025160>),
 ('Bald04a', <__main__.BibItem at 0x7f5a7c025550>),
 ('Bald05', <__main__.BibItem at 0x7f5a7c025978>),
 ('Ball15', <__main__.BibItem at 0x7f5a7c025c88>),
 ('Balm04', <__main__.BibItem at 0x7f5a7c0280f0>),
 ('Balo11', <__main__.BibItem at 0x7f5a7c028518>),
 ('Balo13', <__main__.BibItem at 0x7f5a7c0287b8>),
 ('Band17', <__main__.BibItem at 0x7f5a7c028c18>),
 ('Bank07', <__main__.BibItem at 0x7f5a7c0296d8>),
 ('Bank12', <__main__.BibItem at 0x7f5a7c029320>),
 ('Bank15', <__main__.BibItem at 0x7f5a7c028eb8>),
 ('Barb05', <__main__.BibItem at 0x7f5a676f9e10>),
 ('Bare07a', <__main__.BibItem at 0x7f5a7c02e6a0>),
 ('Bare11', <__main__.BibItem at 0x7f5a7c029b38>),
 ('Bare12a', <__main__.BibItem at 0x7f5a7c02ee80>),
 ('Bare13', <__main__.BibItem at 0x7f5a7c02c400>),
 ('Bare15b', <__main__.BibItem at 0x7f5a7c034278>),
 ('Bare16', <__main__.BibItem at 0x7f5a7c02ca90>),
 ('Bare16a', <__main__.BibItem at 0x7f5a7c034710>),
 ('Bare17', <__main__.BibItem at 0x7f5a7c029f60>),
 ('Bare90', <__main__.BibItem at 0x7f5a7c02c7f0>),
 ('Bare96', <__main__.BibItem at 0x7f5a7c02eac8>),
 ('Bare99', <__main__.BibItem at 0x7f5a7c02ce10>),
 ('Bare99c', <__main__.BibItem at 0x7f5a7c02e2e8>),
 ('Barr03', <__main__.BibItem at 0x7f5a7c035160>),
 ('Barr12', <__main__.BibItem at 0x7f5a7c034cc0>),
 ('Bart13', <__main__.BibItem at 0x7f5a7c035908>),
 ('Bart15', <__main__.BibItem at 0x7f5a7c035518>),
 ('Bast06', <__main__.BibItem at 0x7f5a7c035d30>),
 ('Bast06a', <__main__.BibItem at 0x7f5a7c039160>),
 ('Bast09', <__main__.BibItem at 0x7f5a7c039a90>),
 ('Bast12', <__main__.BibItem at 0x7f5a7c039550>),
 ('Bax03', <__main__.BibItem at 0x7f5a7c03b550>),
 ('Bax05', <__main__.BibItem at 0x7f5a7c03b160>),
 ('Bax08b', <__main__.BibItem at 0x7f5a7c039eb8>),
 ('Bax09', <__main__.BibItem at 0x7f5a7c03b898>),
 ('Be03', <__main__.BibItem at 0x7f5a7c019be0>),
 ('Be05', <__main__.BibItem at 0x7f5a7c01c400>),
 ('Be07', <__main__.BibItem at 0x7f5a7c019fd0>),
 ('Beck02', <__main__.BibItem at 0x7f5a7c03bc88>),
 ('Beck16', <__main__.BibItem at 0x7f5a7c03f0b8>),
 ('Beek16', <__main__.BibItem at 0x7f5a7c03f2b0>),
 ('Beer08', <__main__.BibItem at 0x7f5a7c03f7f0>),
 ('Behe07', <__main__.BibItem at 0x7f5a7c03fb70>),
 ('Behr02', <__main__.BibItem at 0x7f5a7c043358>),
 ('Behr02a', <__main__.BibItem at 0x7f5a7c03ff60>),
 ('Beic11', <__main__.BibItem at 0x7f5a7c043748>),
 ('Beic13', <__main__.BibItem at 0x7f5a7c0439e8>),
 ('Beic16', <__main__.BibItem at 0x7f5a7c043c88>),
 ('Beij13', <__main__.BibItem at 0x7f5a7c043ef0>),
 ('Bejn13', <__main__.BibItem at 0x7f5a67e948d0>),
 ('Bejn14', <__main__.BibItem at 0x7f5a67e94be0>),
 ('Bejn15', <__main__.BibItem at 0x7f5a67e94048>),
 ('Bejn17', <__main__.BibItem at 0x7f5a67e92d30>),
 ('Beke16', <__main__.BibItem at 0x7f5a7c045320>),
 ('Bela94', <__main__.BibItem at 0x7f5a7c045828>),
 ('Belk15', <__main__.BibItem at 0x7f5a7c045b70>),
 ('Berc15', <__main__.BibItem at 0x7f5a7c045f60>),
 ('Berd00', <__main__.BibItem at 0x7f5a676fb400>),
 ('Berg00a', <__main__.BibItem at 0x7f5a67805d68>),
 ('Berg04c', <__main__.BibItem at 0x7f5a67fc2f60>),
 ('Berg07', <__main__.BibItem at 0x7f5a67fc2b38>),
 ('Berg08', <__main__.BibItem at 0x7f5a67fca6d8>),
 ('Berg10', <__main__.BibItem at 0x7f5a67fca2b0>),
 ('Berg10a', <__main__.BibItem at 0x7f5a67fc5358>),
 ('Berg15', <__main__.BibItem at 0x7f5a67fc23c8>),
 ('Berg15a', <__main__.BibItem at 0x7f5a67fcab38>),
 ('Berg96', <__main__.BibItem at 0x7f5a67805940>),
 ('Berg98', <__main__.BibItem at 0x7f5a67fc2710>),
 ('Berg98a', <__main__.BibItem at 0x7f5a67fc59b0>),
 ('Berg98b', <__main__.BibItem at 0x7f5a67fc5e10>),
 ('Berg99', <__main__.BibItem at 0x7f5a67fc5710>),
 ('Berk04', <__main__.BibItem at 0x7f5a67fcf198>),
 ('Berk08', <__main__.BibItem at 0x7f5a67fcb358>),
 ('Berk14', <__main__.BibItem at 0x7f5a67fcaef0>),
 ('Berk14a', <__main__.BibItem at 0x7f5a67fcba20>),
 ('Berk15a', <__main__.BibItem at 0x7f5a67fcb710>),
 ('Berk16', <__main__.BibItem at 0x7f5a67fcbd30>),
 ('Berk94', <__main__.BibItem at 0x7f5a67fcd780>),
 ('Berk94a', <__main__.BibItem at 0x7f5a67fcd208>),
 ('Berk95', <__main__.BibItem at 0x7f5a67fcd470>),
 ('Berk96', <__main__.BibItem at 0x7f5a67fcdb70>),
 ('Berk96a', <__main__.BibItem at 0x7f5a67fcddd8>),
 ('Bern92', <__main__.BibItem at 0x7f5a67fcf898>),
 ('Bern92a', <__main__.BibItem at 0x7f5a67fcfcc0>),
 ('Bern96', <__main__.BibItem at 0x7f5a67fcf550>),
 ('Berr15', <__main__.BibItem at 0x7f5a67fd2048>),
 ('Berr15a', <__main__.BibItem at 0x7f5a67fd2358>),
 ('Berr17', <__main__.BibItem at 0x7f5a67fd27b8>),
 ('Bert11', <__main__.BibItem at 0x7f5a67fd2c18>),
 ('Bert16', <__main__.BibItem at 0x7f5a67fd30b8>),
 ('Bert16a', <__main__.BibItem at 0x7f5a67fd3550>),
 ('Beso15', <__main__.BibItem at 0x7f5a676fb978>),
 ('Beuc06', <__main__.BibItem at 0x7f5a67fd3ac8>),
 ('Beul09', <__main__.BibItem at 0x7f5a67fd3ef0>),
 ('Beum16', <__main__.BibItem at 0x7f5a67fd9320>),
 ('Beum17', <__main__.BibItem at 0x7f5a676de4a8>),
 ('Bex14', <__main__.BibItem at 0x7f5a67fd9668>),
 ('Bhas13', <__main__.BibItem at 0x7f5a67fd9ac8>),
 ('Bhun13', <__main__.BibItem at 0x7f5a67fd9eb8>),
 ('Bijg16', <__main__.BibItem at 0x7f5a67fdb2b0>),
 ('Bink08', <__main__.BibItem at 0x7f5a67fdb588>),
 ('Bipa08', <__main__.BibItem at 0x7f5a67fdb9e8>),
 ('Bitt12', <__main__.BibItem at 0x7f5a67fdbda0>),
 ('Bitt14', <__main__.BibItem at 0x7f5a67fde208>),
 ('Blac96', <__main__.BibItem at 0x7f5a676dc2b0>),
 ('Blan11', <__main__.BibItem at 0x7f5a67fde5f8>),
 ('Blee03', <__main__.BibItem at 0x7f5a67fdeda0>),
 ('Blee03a', <__main__.BibItem at 0x7f5a67fe4630>),
 ('Blee04', <__main__.BibItem at 0x7f5a67fe49e8>),
 ('Blee04a', <__main__.BibItem at 0x7f5a67fdea58>),
 ('Blee04b', <__main__.BibItem at 0x7f5a67fe0198>),
 ('Blee04c', <__main__.BibItem at 0x7f5a67fe0588>),
 ('Blee04d', <__main__.BibItem at 0x7f5a67fe09b0>),
 ('Blee05', <__main__.BibItem at 0x7f5a67fea1d0>),
 ('Blee05a', <__main__.BibItem at 0x7f5a67fea5c0>),
 ('Blee07a', <__main__.BibItem at 0x7f5a67fe4240>),
 ('Blee07b', <__main__.BibItem at 0x7f5a67fe7588>),
 ('Blee07c', <__main__.BibItem at 0x7f5a67fe7978>),
 ('Blee08', <__main__.BibItem at 0x7f5a67fe4dd8>),
 ('Blee09a', <__main__.BibItem at 0x7f5a67fe0da0>),
 ('Blee11', <__main__.BibItem at 0x7f5a67fe71d0>),
 ('Blee15', <__main__.BibItem at 0x7f5a67fe7da0>),
 ('Blic04', <__main__.BibItem at 0x7f5a67fea9b0>),
 ('Blic06', <__main__.BibItem at 0x7f5a67fead30>),
 ('Blok12', <__main__.BibItem at 0x7f5a67fed5c0>),
 ('Blok14', <__main__.BibItem at 0x7f5a67fed198>),
 ('Blue10', <__main__.BibItem at 0x7f5a67fee1d0>),
 ('Blue12', <__main__.BibItem at 0x7f5a67feddd8>),
 ('Blue15', <__main__.BibItem at 0x7f5a67fed9b0>),
 ('Blum15', <__main__.BibItem at 0x7f5a67fee5f8>),
 ('Bodd08', <__main__.BibItem at 0x7f5a67fee7f0>),
 ('Boe03', <__main__.BibItem at 0x7f5a7c01c7f0>),
 ('Boek99', <__main__.BibItem at 0x7f5a67feebe0>),
 ('Boel08', <__main__.BibItem at 0x7f5a676fe588>),
 ('Boel10', <__main__.BibItem at 0x7f5a676fbeb8>),
 ('Boel15a', <__main__.BibItem at 0x7f5a67feef98>),
 ('Boer03', <__main__.BibItem at 0x7f5a67ff91d0>),
 ('Boer07', <__main__.BibItem at 0x7f5a67ff3240>),
 ('Boer08', <__main__.BibItem at 0x7f5a67ff3908>),
 ('Boer11', <__main__.BibItem at 0x7f5a67ff3d68>),
 ('Boer11a', <__main__.BibItem at 0x7f5a67ff1978>),
 ('Boer12', <__main__.BibItem at 0x7f5a67ff1588>),
 ('Boer12a', <__main__.BibItem at 0x7f5a67ff1da0>),
 ('Boer12b', <__main__.BibItem at 0x7f5a67ff35c0>),
 ('Boer14', <__main__.BibItem at 0x7f5a67ff9d68>),
 ('Boer15a', <__main__.BibItem at 0x7f5a67ff9940>),
 ('Boer17', <__main__.BibItem at 0x7f5a676de9b0>),
 ('Boer17a', <__main__.BibItem at 0x7f5a676deef0>),
 ('Boer85', <__main__.BibItem at 0x7f5a67ff9588>),
 ('Boet01', <__main__.BibItem at 0x7f5a67ffb5f8>),
 ('Boet07', <__main__.BibItem at 0x7f5a67ffb1d0>),
 ('Bois12', <__main__.BibItem at 0x7f5a67ffb978>),
 ('Bol14', <__main__.BibItem at 0x7f5a67ffdbe0>),
 ('Bol15', <__main__.BibItem at 0x7f5a67ffd748>),
 ('Bol16', <__main__.BibItem at 0x7f5a67ffd278>),
 ('Bol16a', <__main__.BibItem at 0x7f5a67ffbdd8>),
 ('Boll08', <__main__.BibItem at 0x7f5a676d7ef0>),
 ('Bom00', <__main__.BibItem at 0x7f5a67f80080>),
 ('Bom98', <__main__.BibItem at 0x7f5a67f80358>),
 ('Bom98a', <__main__.BibItem at 0x7f5a67f806a0>),
 ('Bome12', <__main__.BibItem at 0x7f5a67f84278>),
 ('Bome13', <__main__.BibItem at 0x7f5a67f846a0>),
 ('Bome14', <__main__.BibItem at 0x7f5a67f80ac8>),
 ('Bome16a', <__main__.BibItem at 0x7f5a67f80e48>),
 ('Bome17', <__main__.BibItem at 0x7f5a67731b00>),
 ('Bome17a', <__main__.BibItem at 0x7f5a676e04e0>),
 ('Bomm14', <__main__.BibItem at 0x7f5a67f84a58>),
 ('Bond02', <__main__.BibItem at 0x7f5a67f84eb8>),
 ('Bone11', <__main__.BibItem at 0x7f5a67f872b0>),
 ('Bone12', <__main__.BibItem at 0x7f5a67f876d8>),
 ('Bong05', <__main__.BibItem at 0x7f5a67f87b00>),
 ('Boo09', <__main__.BibItem at 0x7f5a67f89208>),
 ('Boo11', <__main__.BibItem at 0x7f5a67f89ac8>),
 ('Boo11a', <__main__.BibItem at 0x7f5a67f89668>),
 ('Boo11b', <__main__.BibItem at 0x7f5a67f89ef0>),
 ('Boo12', <__main__.BibItem at 0x7f5a67f87f28>),
 ('Boo12a', <__main__.BibItem at 0x7f5a67f36208>),
 ('Boog13', <__main__.BibItem at 0x7f5a67f8b358>),
 ('Boog15', <__main__.BibItem at 0x7f5a67f8b780>),
 ('Boom12', <__main__.BibItem at 0x7f5a67f8bf28>),
 ('Boom12a', <__main__.BibItem at 0x7f5a67f8f320>),
 ('Boom13', <__main__.BibItem at 0x7f5a67f8f518>),
 ('Boom14', <__main__.BibItem at 0x7f5a67f8bba8>),
 ('Boot17', <__main__.BibItem at 0x7f5a67f8f710>),
 ('Bos15', <__main__.BibItem at 0x7f5a67f8fc18>),
 ('Bos15a', <__main__.BibItem at 0x7f5a67f8ff60>),
 ('Bosc17', <__main__.BibItem at 0x7f5a676f23c8>),
 ('Boss01', <__main__.BibItem at 0x7f5a67f91160>),
 ('Boss16b', <__main__.BibItem at 0x7f5a67f91588>),
 ('Bouc02', <__main__.BibItem at 0x7f5a67f942e8>),
 ('Bouc03', <__main__.BibItem at 0x7f5a67f91e80>),
 ('Bouc04', <__main__.BibItem at 0x7f5a67f91a58>),
 ('Boud16', <__main__.BibItem at 0x7f5a67f94d30>),
 ('Boud16a', <__main__.BibItem at 0x7f5a67f94748>),
 ('Bout08', <__main__.BibItem at 0x7f5a67f97240>),
 ('Bov97', <__main__.BibItem at 0x7f5a67f97630>),
 ('Boxt15', <__main__.BibItem at 0x7f5a67f979e8>),
 ('Boze12', <__main__.BibItem at 0x7f5a67f9b240>),
 ('Boze14', <__main__.BibItem at 0x7f5a67f97dd8>),
 ('Bozo16', <__main__.BibItem at 0x7f5a67f9b588>),
 ('Brac14', <__main__.BibItem at 0x7f5a67f9b940>),
 ('Brak00', <__main__.BibItem at 0x7f5a67f9db70>),
 ('Brak00a', <__main__.BibItem at 0x7f5a67f9bda0>),
 ('Brak01', <__main__.BibItem at 0x7f5a67f9d390>),
 ('Brak98', <__main__.BibItem at 0x7f5a67f9d7b8>),
 ('Brak99', <__main__.BibItem at 0x7f5a67f9bf28>),
 ('Brak99b', <__main__.BibItem at 0x7f5a67f9df60>),
 ('Bran07a', <__main__.BibItem at 0x7f5a67f9f748>),
 ('Bran11', <__main__.BibItem at 0x7f5a67f9f358>),
 ('Brec08', <__main__.BibItem at 0x7f5a67fa1588>),
 ('Brec09', <__main__.BibItem at 0x7f5a67fa11d0>),
 ('Brec12', <__main__.BibItem at 0x7f5a67f9fe10>),
 ('Brec12a', <__main__.BibItem at 0x7f5a67f9fb70>),
 ('Bree00', <__main__.BibItem at 0x7f5a67fa17b8>),
 ('Brem99', <__main__.BibItem at 0x7f5a67fa1c18>),
 ('Breu10', <__main__.BibItem at 0x7f5a67fa77b8>),
 ('Breu11', <__main__.BibItem at 0x7f5a67fa3be0>),
 ('Breu11a', <__main__.BibItem at 0x7f5a67fa3898>),
 ('Breu12', <__main__.BibItem at 0x7f5a67fa3f98>),
 ('Breu12a', <__main__.BibItem at 0x7f5a67fa7390>),
 ('Breu12b', <__main__.BibItem at 0x7f5a67fa31d0>),
 ('Breu14', <__main__.BibItem at 0x7f5a67fa7b70>),
 ('Breu15', <__main__.BibItem at 0x7f5a67fa3438>),
 ('Bria13', <__main__.BibItem at 0x7f5a67fa7fd0>),
 ('Bria16a', <__main__.BibItem at 0x7f5a67fa9828>),
 ('Bria16b', <__main__.BibItem at 0x7f5a67fa9470>),
 ('Brid17', <__main__.BibItem at 0x7f5a6773ce80>),
 ('Bril11', <__main__.BibItem at 0x7f5a67fa9c18>),
 ('Brin08', <__main__.BibItem at 0x7f5a67faf978>),
 ('Brin08a', <__main__.BibItem at 0x7f5a67fadcc0>),
 ('Brin09', <__main__.BibItem at 0x7f5a67faf550>),
 ('Brin09a', <__main__.BibItem at 0x7f5a67faf128>),
 ('Brin09b', <__main__.BibItem at 0x7f5a67fad240>),
 ('Brin10', <__main__.BibItem at 0x7f5a67fad8d0>),
 ('Brin11', <__main__.BibItem at 0x7f5a67fad4a8>),
 ('Brin13', <__main__.BibItem at 0x7f5a67fafd68>),
 ('Broc12', <__main__.BibItem at 0x7f5a67fb4390>),
 ('Broc14', <__main__.BibItem at 0x7f5a67faff60>),
 ('Broe04', <__main__.BibItem at 0x7f5a67fb4ba8>),
 ('Broe05', <__main__.BibItem at 0x7f5a67fb74a8>),
 ('Broe05a', <__main__.BibItem at 0x7f5a67fb4e48>),
 ('Broe05b', <__main__.BibItem at 0x7f5a67fb7c18>),
 ('Broe06', <__main__.BibItem at 0x7f5a67fb7198>),
 ('Broe09', <__main__.BibItem at 0x7f5a67fbc048>),
 ('Broe09a', <__main__.BibItem at 0x7f5a67fb8438>),
 ('Broe09b', <__main__.BibItem at 0x7f5a67fb8048>),
 ('Broe09c', <__main__.BibItem at 0x7f5a67fb8c18>),
 ('Broe10', <__main__.BibItem at 0x7f5a67fb8828>),
 ('Broe10a', <__main__.BibItem at 0x7f5a67fbc438>),
 ('Broe13', <__main__.BibItem at 0x7f5a67fb77b8>),
 ('Brom10', <__main__.BibItem at 0x7f5a67fbcd30>),
 ('Brom10a', <__main__.BibItem at 0x7f5a67f42f60>),
 ('Brom11', <__main__.BibItem at 0x7f5a67fbef28>),
 ('Brom12', <__main__.BibItem at 0x7f5a67f42748>),
 ('Brom12a', <__main__.BibItem at 0x7f5a67f42320>),
 ('Brom13', <__main__.BibItem at 0x7f5a67fbcac8>),
 ('Brom14', <__main__.BibItem at 0x7f5a67f453c8>),
 ('Brom14a', <__main__.BibItem at 0x7f5a67fbe128>),
 ('Brom14b', <__main__.BibItem at 0x7f5a67fbeb00>),
 ('Brom15', <__main__.BibItem at 0x7f5a67f42b38>),
 ('Brom16', <__main__.BibItem at 0x7f5a67fbe518>),
 ('Brou02', <__main__.BibItem at 0x7f5a67f48da0>),
 ('Brou03', <__main__.BibItem at 0x7f5a67f48a20>),
 ('Brou03a', <__main__.BibItem at 0x7f5a67f4a550>),
 ('Brou03b', <__main__.BibItem at 0x7f5a67f4d1d0>),
 ('Brou04', <__main__.BibItem at 0x7f5a67f457b8>),
 ('Brou04a', <__main__.BibItem at 0x7f5a67f45a20>),
 ('Brou04b', <__main__.BibItem at 0x7f5a67f45e10>),
 ('Brou04c', <__main__.BibItem at 0x7f5a67f4a198>),
 ('Brou05', <__main__.BibItem at 0x7f5a67f48240>),
 ('Brou05a', <__main__.BibItem at 0x7f5a67f48630>),
 ('Brou05b', <__main__.BibItem at 0x7f5a67f4a940>),
 ('Brou08', <__main__.BibItem at 0x7f5a67f4ad68>),
 ('Brow08a', <__main__.BibItem at 0x7f5a67f4dc88>),
 ('Brow09', <__main__.BibItem at 0x7f5a67f4d9b0>),
 ('Brow10', <__main__.BibItem at 0x7f5a67f4df60>),
 ('Brow12', <__main__.BibItem at 0x7f5a67f4d5c0>),
 ('Brug10', <__main__.BibItem at 0x7f5a67f4f5f8>),
 ('Brug13', <__main__.BibItem at 0x7f5a67f4f240>),
 ('Brui02', <__main__.BibItem at 0x7f5a67f511d0>),
 ('Brui03', <__main__.BibItem at 0x7f5a67f51588>),
 ('Brui03a', <__main__.BibItem at 0x7f5a67f4fa90>),
 ('Brui03b', <__main__.BibItem at 0x7f5a67f4fe10>),
 ('Brui04', <__main__.BibItem at 0x7f5a67f51978>),
 ('Brui10', <__main__.BibItem at 0x7f5a67f522e8>),
 ('Brui16', <__main__.BibItem at 0x7f5a67f51d68>),
 ('Brun07', <__main__.BibItem at 0x7f5a67f566d8>),
 ('Brun07a', <__main__.BibItem at 0x7f5a67f56e80>),
 ('Brun09', <__main__.BibItem at 0x7f5a67f52c50>),
 ('Brun10', <__main__.BibItem at 0x7f5a67f52898>),
 ('Brun11', <__main__.BibItem at 0x7f5a67f56358>),
 ('Brun11a', <__main__.BibItem at 0x7f5a67f526d8>),
 ('Brun12', <__main__.BibItem at 0x7f5a67f52f28>),
 ('Brun13', <__main__.BibItem at 0x7f5a67f56a90>),
 ('Brus04', <__main__.BibItem at 0x7f5a67f592e8>),
 ('Buch10', <__main__.BibItem at 0x7f5a676febe0>),
 ('Budd10', <__main__.BibItem at 0x7f5a67f59ef0>),
 ('Budd10a', <__main__.BibItem at 0x7f5a67f59668>),
 ('Budd11', <__main__.BibItem at 0x7f5a67f59a90>),
 ('Budi11', <__main__.BibItem at 0x7f5a67f5b2b0>),
 ('Bug15', <__main__.BibItem at 0x7f5a67f5b710>),
 ('Buij11', <__main__.BibItem at 0x7f5a67f5b978>),
 ('Buij90', <__main__.BibItem at 0x7f5a67f5bf60>),
 ('Buij98a', <__main__.BibItem at 0x7f5a67f5bd68>),
 ('Buit17', <__main__.BibItem at 0x7f5a676e0ac8>),
 ('Bult12', <__main__.BibItem at 0x7f5a67f5d2b0>),
 ('Bult12a', <__main__.BibItem at 0x7f5a67f5de48>),
 ('Bult14', <__main__.BibItem at 0x7f5a67f5d668>),
 ('Bult14a', <__main__.BibItem at 0x7f5a67f5da20>),
 ('Bult15a', <__main__.BibItem at 0x7f5a67f602b0>),
 ('Busc16', <__main__.BibItem at 0x7f5a67f60748>),
 ('Buss10', <__main__.BibItem at 0x7f5a67f62898>),
 ('Buss11', <__main__.BibItem at 0x7f5a67f62470>),
 ('Buss11a', <__main__.BibItem at 0x7f5a67f62cf8>),
 ('Buss13', <__main__.BibItem at 0x7f5a67f60c18>),
 ('Buss14', <__main__.BibItem at 0x7f5a67f62048>),
 ('Cair03', <__main__.BibItem at 0x7f5a67f66ac8>),
 ('Call15', <__main__.BibItem at 0x7f5a67f66ef0>),
 ('Camb04', <__main__.BibItem at 0x7f5a67f696d8>),
 ('Camb06', <__main__.BibItem at 0x7f5a67f692e8>),
 ('Cann06', <__main__.BibItem at 0x7f5a67807470>),
 ('Cann08', <__main__.BibItem at 0x7f5a67f69b00>),
 ('Cann08a', <__main__.BibItem at 0x7f5a67f69f28>),
 ('Cany13', <__main__.BibItem at 0x7f5a67f6c390>),
 ('Cao2017', <__main__.BibItem at 0x7f5a676c8e10>),
 ('Capp00', <__main__.BibItem at 0x7f5a67f6c7b8>),
 ('Capp03', <__main__.BibItem at 0x7f5a67807898>),
 ('Capp98', <__main__.BibItem at 0x7f5a67f6c9b0>),
 ('Capp99', <__main__.BibItem at 0x7f5a67f6ce10>),
 ('Cara17', <__main__.BibItem at 0x7f5a676fd1d0>),
 ('Care11', <__main__.BibItem at 0x7f5a67f6e2e8>),
 ('Carl02', <__main__.BibItem at 0x7f5a67f6e6d8>),
 ('Carr11', <__main__.BibItem at 0x7f5a67f6ea90>),
 ('Carr15a', <__main__.BibItem at 0x7f5a67f6eda0>),
 ('Carv17', <__main__.BibItem at 0x7f5a67698be0>),
 ('Case99', <__main__.BibItem at 0x7f5a67f744a8>),
 ('Cate05', <__main__.BibItem at 0x7f5a67f76390>),
 ('Cate08', <__main__.BibItem at 0x7f5a67f74dd8>),
 ('Cate10', <__main__.BibItem at 0x7f5a67f74898>),
 ('Cesp00', <__main__.BibItem at 0x7f5a67f66128>),
 ('Cesp97', <__main__.BibItem at 0x7f5a67f66518>),
 ('Cesp99', <__main__.BibItem at 0x7f5a67f66898>),
 ('Chan06', <__main__.BibItem at 0x7f5a67f76940>),
 ('Char13', <__main__.BibItem at 0x7f5a67f78ac8>),
 ('Char15', <__main__.BibItem at 0x7f5a67f76da0>),
 ('Char15a', <__main__.BibItem at 0x7f5a67f78550>),
 ('Char15b', <__main__.BibItem at 0x7f5a67f781d0>),
 ('Char16', <__main__.BibItem at 0x7f5a67f78748>),
 ('Char16a', <__main__.BibItem at 0x7f5a67f78940>),
 ('Char16b', <__main__.BibItem at 0x7f5a67f783c8>),
 ('Char16c', <__main__.BibItem at 0x7f5a67f78da0>),
 ('Chat14', <__main__.BibItem at 0x7f5a67f7d358>),
 ('Chat15', <__main__.BibItem at 0x7f5a67f7dc18>),
 ('Chat16', <__main__.BibItem at 0x7f5a67f7d7b8>),
 ('Chat16a', <__main__.BibItem at 0x7f5a67f7d128>),
 ('Chau14a', <__main__.BibItem at 0x7f5a67f010b8>),
 ('Chav93', <__main__.BibItem at 0x7f5a67f01550>),
 ('Chen14', <__main__.BibItem at 0x7f5a67f018d0>),
 ('Chen15', <__main__.BibItem at 0x7f5a676fd780>),
 ('Chen15b', <__main__.BibItem at 0x7f5a6773c630>),
 ('Chen17', <__main__.BibItem at 0x7f5a6773cb38>),
 ('Chen17b', <__main__.BibItem at 0x7f5a6769a0b8>),
 ('Chia08', <__main__.BibItem at 0x7f5a67f01cf8>),
 ('Chit11', <__main__.BibItem at 0x7f5a67f02080>),
 ('Choe12', <__main__.BibItem at 0x7f5a67f02860>),
 ('Choe13', <__main__.BibItem at 0x7f5a67f02470>),
 ('Chon11', <__main__.BibItem at 0x7f5a67f05208>),
 ('Chon11a', <__main__.BibItem at 0x7f5a67f02f98>),
 ('Chon11b', <__main__.BibItem at 0x7f5a67f02c50>),
 ('Chri11', <__main__.BibItem at 0x7f5a67f05c88>),
 ('Chri13a', <__main__.BibItem at 0x7f5a67f055c0>),
 ('Chri13b', <__main__.BibItem at 0x7f5a67f05828>),
 ('Chun11', <__main__.BibItem at 0x7f5a67f090b8>),
 ('Chun15', <__main__.BibItem at 0x7f5a67f09940>),
 ('Chun17', <__main__.BibItem at 0x7f5a67f094e0>),
 ('Chun17a', <__main__.BibItem at 0x7f5a677311d0>),
 ('Chyk13', <__main__.BibItem at 0x7f5a6773c438>),
 ('Ciet11', <__main__.BibItem at 0x7f5a67f09c50>),
 ('Ciet14', <__main__.BibItem at 0x7f5a67f09e80>),
 ('Ciha99', <__main__.BibItem at 0x7f5a67f0e278>),
 ('Ciom09', <__main__.BibItem at 0x7f5a67f143c8>),
 ('Ciom09a', <__main__.BibItem at 0x7f5a67f17048>),
 ('Ciom10', <__main__.BibItem at 0x7f5a67f14c88>),
 ('Ciom10a', <__main__.BibItem at 0x7f5a67f172e8>),
 ('Ciom11', <__main__.BibItem at 0x7f5a67f14978>),
 ('Ciom12', <__main__.BibItem at 0x7f5a67f146d8>),
 ('Ciom12a', <__main__.BibItem at 0x7f5a67f0e7f0>),
 ('Ciom13', <__main__.BibItem at 0x7f5a67f0ea58>),
 ('Ciom13a', <__main__.BibItem at 0x7f5a67f0f940>),
 ('Ciom14', <__main__.BibItem at 0x7f5a67f175c0>),
 ('Ciom14a', <__main__.BibItem at 0x7f5a67f0f320>),
 ('Ciom14c', <__main__.BibItem at 0x7f5a67f0fbe0>),
 ('Ciom15', <__main__.BibItem at 0x7f5a67f14080>),
 ('Ciom15a', <__main__.BibItem at 0x7f5a67f0f550>),
 ('Ciom16', <__main__.BibItem at 0x7f5a67f0ecf8>),
 ('Ciom16a', <__main__.BibItem at 0x7f5a6769a438>),
 ('Ciom17', <__main__.BibItem at 0x7f5a67f0f080>),
 ('Claa14', <__main__.BibItem at 0x7f5a67f17908>),
 ('Claa16', <__main__.BibItem at 0x7f5a67f17cc0>),
 ('Clae08', <__main__.BibItem at 0x7f5a67f1a320>),
 ('Clae08a', <__main__.BibItem at 0x7f5a67f1a710>),
 ('Clem10', <__main__.BibItem at 0x7f5a67f1ab38>),
 ('Cloo83', <__main__.BibItem at 0x7f5a67f1b390>),
 ('Cloo85', <__main__.BibItem at 0x7f5a67f1b780>),
 ('Cloo86', <__main__.BibItem at 0x7f5a67f1af60>),
 ('Coel15', <__main__.BibItem at 0x7f5a67f1bb70>),
 ('Coen09', <__main__.BibItem at 0x7f5a67f1bef0>),
 ('Cohe16', <__main__.BibItem at 0x7f5a67f1e240>),
 ('Cohe16a', <__main__.BibItem at 0x7f5a67f1e6d8>),
 ('Cohe17', <__main__.BibItem at 0x7f5a67f1ebe0>),
 ('Conw11', <__main__.BibItem at 0x7f5a676fdcf8>),
 ('Cool99', <__main__.BibItem at 0x7f5a67f1f198>),
 ('Corn05', <__main__.BibItem at 0x7f5a67f25780>),
 ('Corn10', <__main__.BibItem at 0x7f5a67f25b70>),
 ('Corn93', <__main__.BibItem at 0x7f5a67f1ff60>),
 ('Corn94', <__main__.BibItem at 0x7f5a67f1f518>),
 ('Corn94a', <__main__.BibItem at 0x7f5a67f1f710>),
 ('Corn95', <__main__.BibItem at 0x7f5a67f1fb00>),
 ('Corn95a', <__main__.BibItem at 0x7f5a67f25358>),
 ('Corv14', <__main__.BibItem at 0x7f5a67f25f60>),
 ('Cox11', <__main__.BibItem at 0x7f5a67f27358>),
 ('Crim09a', <__main__.BibItem at 0x7f5a7c07fd30>),
 ('Crol11', <__main__.BibItem at 0x7f5a67f27780>),
 ('Cuij07', <__main__.BibItem at 0x7f5a67f27be0>),
 ('Cuyp95', <__main__.BibItem at 0x7f5a67f2a320>),
 ('Cuyp95a', <__main__.BibItem at 0x7f5a67f27fd0>),
 ('Daen87', <__main__.BibItem at 0x7f5a67f2aa58>),
 ('Daerr11', <__main__.BibItem at 0x7f5a67f2a6a0>),
 ('Dald99', <__main__.BibItem at 0x7f5a67f2ad68>),
 ('Dale04', <__main__.BibItem at 0x7f5a67f2dba8>),
 ('Dale07', <__main__.BibItem at 0x7f5a67f2d320>),
 ('Dale07a', <__main__.BibItem at 0x7f5a67f2dfd0>),
 ('Dale07b', <__main__.BibItem at 0x7f5a67f2d7f0>),
 ('Dalm15', <__main__.BibItem at 0x7f5a67f2ff98>),
 ('Dalm15a', <__main__.BibItem at 0x7f5a67f2fda0>),
 ('Dalm15c', <__main__.BibItem at 0x7f5a67f311d0>),
 ('Dalm16', <__main__.BibItem at 0x7f5a67f2f978>),
 ('Dalm17', <__main__.BibItem at 0x7f5a67f316a0>),
 ('Dalm17a', <__main__.BibItem at 0x7f5a67f2f390>),
 ('Dams99', <__main__.BibItem at 0x7f5a67f31c88>),
 ('Dams99a', <__main__.BibItem at 0x7f5a67f31eb8>),
 ('Dana97', <__main__.BibItem at 0x7f5a67f350b8>),
 ('Dana99', <__main__.BibItem at 0x7f5a67f35320>),
 ('Danc16', <__main__.BibItem at 0x7f5a67f35710>),
 ('Daou17', <__main__.BibItem at 0x7f5a67f35a90>),
 ('Das07', <__main__.BibItem at 0x7f5a67f35d68>),
 ('Davi06', <__main__.BibItem at 0x7f5a676862b0>),
 ('DeGr99', <__main__.BibItem at 0x7f5a67ec1b00>),
 ('DeK09', <__main__.BibItem at 0x7f5a67f36e10>),
 ('DeSt11', <__main__.BibItem at 0x7f5a6773e470>),
 ('DeV03', <__main__.BibItem at 0x7f5a67f3dda0>),
 ('DeV11', <__main__.BibItem at 0x7f5a67f3d320>),
 ('DeV16', <__main__.BibItem at 0x7f5a67f39e10>),
 ('Deba10', <__main__.BibItem at 0x7f5a67f3e6d8>),
 ('Deba11', <__main__.BibItem at 0x7f5a67f3eb38>),
 ('Deba11a', <__main__.BibItem at 0x7f5a67ec1470>),
 ('Deba16', <__main__.BibItem at 0x7f5a67f3ef60>),
 ('Deba16a', <__main__.BibItem at 0x7f5a67f3e198>),
 ('Defe16', <__main__.BibItem at 0x7f5a67ec16a0>),
 ('Dekk12', <__main__.BibItem at 0x7f5a67ec3208>),
 ('Dekk13', <__main__.BibItem at 0x7f5a67ec1dd8>),
 ('Dekk14', <__main__.BibItem at 0x7f5a67ec3ba8>),
 ('Dekk16a', <__main__.BibItem at 0x7f5a67ec35f8>),
 ('Delg12', <__main__.BibItem at 0x7f5a67ec7ef0>),
 ('Delh10', <__main__.BibItem at 0x7f5a67eca8d0>),
 ('Delh16', <__main__.BibItem at 0x7f5a67eca320>),
 ('Dels13', <__main__.BibItem at 0x7f5a67ecacc0>),
 ('Demi09', <__main__.BibItem at 0x7f5a67ecd0b8>),
 ('Deng09', <__main__.BibItem at 0x7f5a6769af98>),
 ('Desa09', <__main__.BibItem at 0x7f5a67ed03c8>),
 ('Desa10a', <__main__.BibItem at 0x7f5a67ed0be0>),
 ('Desa11', <__main__.BibItem at 0x7f5a67ecdf28>),
 ('Desa11b', <__main__.BibItem at 0x7f5a67ed07f0>),
 ('Desa12', <__main__.BibItem at 0x7f5a67ed3080>),
 ('Desa12a', <__main__.BibItem at 0x7f5a67ecdb00>),
 ('Desa16', <__main__.BibItem at 0x7f5a67ecd588>),
 ('Dese04', <__main__.BibItem at 0x7f5a67ed3d68>),
 ('Dese09', <__main__.BibItem at 0x7f5a67ed3438>),
 ('Dese10', <__main__.BibItem at 0x7f5a67ed3668>),
 ('Dese11', <__main__.BibItem at 0x7f5a67ed38d0>),
 ('Desl14', <__main__.BibItem at 0x7f5a67ed5198>),
 ('Dess16', <__main__.BibItem at 0x7f5a67ed5630>),
 ('Dett14', <__main__.BibItem at 0x7f5a67ed5be0>),
 ('Deun07', <__main__.BibItem at 0x7f5a67ed7eb8>),
 ('Deun09', <__main__.BibItem at 0x7f5a67ed72e8>),
 ('Deun09a', <__main__.BibItem at 0x7f5a67ed7ac8>),
 ('Deun09b', <__main__.BibItem at 0x7f5a67ed7080>),
 ('Deun10', <__main__.BibItem at 0x7f5a67ed76d8>),
 ('Deun10a', <__main__.BibItem at 0x7f5a67ed92e8>),
 ('Deur01', <__main__.BibItem at 0x7f5a67ed9ac8>),
 ('Deur01a', <__main__.BibItem at 0x7f5a67ed96d8>),
 ('Deur01b', <__main__.BibItem at 0x7f5a67ed9ef0>),
 ('Deur03', <__main__.BibItem at 0x7f5a67edd358>),
 ('Deur93', <__main__.BibItem at 0x7f5a67edd780>),
 ('Deur94', <__main__.BibItem at 0x7f5a67eddfd0>),
 ('Deur94a', <__main__.BibItem at 0x7f5a67eddc18>),
 ('Deva11', <__main__.BibItem at 0x7f5a67ee0438>),
 ('Deva17', <__main__.BibItem at 0x7f5a67695fd0>),
 ('Devo04', <__main__.BibItem at 0x7f5a67ee07b8>),
 ('Devo04a', <__main__.BibItem at 0x7f5a67ee0b00>),
 ('Devo05', <__main__.BibItem at 0x7f5a67ee0f28>),
 ('Dey14', <__main__.BibItem at 0x7f5a67ee2390>),
 ('DiF09', <__main__.BibItem at 0x7f5a67ee28d0>),
 ('Dick11', <__main__.BibItem at 0x7f5a67ee2cf8>),
 ('Dick12', <__main__.BibItem at 0x7f5a67ee5160>),
 ('Dick13', <__main__.BibItem at 0x7f5a67ee5550>),
 ('Dien99', <__main__.BibItem at 0x7f5a67ee5908>),
 ('Diez14', <__main__.BibItem at 0x7f5a67ee5c88>),
 ('Dijc11', <__main__.BibItem at 0x7f5a67ee5f98>),
 ('Dijk06a', <__main__.BibItem at 0x7f5a67ef28d0>),
 ('Dijk07', <__main__.BibItem at 0x7f5a67eef240>),
 ('Dijk07a', <__main__.BibItem at 0x7f5a67eefc88>),
 ('Dijk07b', <__main__.BibItem at 0x7f5a67ef55f8>),
 ('Dijk07c', <__main__.BibItem at 0x7f5a67ef5198>),
 ('Dijk07d', <__main__.BibItem at 0x7f5a67ef24e0>),
 ('Dijk07e', <__main__.BibItem at 0x7f5a67ef2d68>),
 ('Dijk09a', <__main__.BibItem at 0x7f5a67eef4a8>),
 ('Dijk10', <__main__.BibItem at 0x7f5a67ef8e10>),
 ('Dijk10a', <__main__.BibItem at 0x7f5a67ef8198>),
 ('Dijk10b', <__main__.BibItem at 0x7f5a67eea390>),
 ('Dijk10c', <__main__.BibItem at 0x7f5a67eef8d0>),
 ('Dijk11', <__main__.BibItem at 0x7f5a67ef5d68>),
 ('Dijk12', <__main__.BibItem at 0x7f5a67ef2048>),
 ('Dijk13', <__main__.BibItem at 0x7f5a67ef89b0>),
 ('Dijk13a', <__main__.BibItem at 0x7f5a67ef59b0>),
 ('Dijk13b', <__main__.BibItem at 0x7f5a67eec400>),
 ('Dijk13c', <__main__.BibItem at 0x7f5a67eec860>),
 ('Dijk14', <__main__.BibItem at 0x7f5a67eeabe0>),
 ('Dijk14b', <__main__.BibItem at 0x7f5a67eea7b8>),
 ('Dijk15', <__main__.BibItem at 0x7f5a67ef8588>),
 ('Dijk15a', <__main__.BibItem at 0x7f5a67eec080>),
 ('Dijk15b', <__main__.BibItem at 0x7f5a67eea588>),
 ('Dijk16', <__main__.BibItem at 0x7f5a67eeccc0>),
 ('Dine10', <__main__.BibItem at 0x7f5a67efa240>),
 ('Ding08', <__main__.BibItem at 0x7f5a6773fda0>),
 ('Ding2006', <__main__.BibItem at 0x7f5a67efa400>),
 ('Dirn06', <__main__.BibItem at 0x7f5a676dc550>),
 ('Diss10', <__main__.BibItem at 0x7f5a67efa9b0>),
 ('Diss11', <__main__.BibItem at 0x7f5a67efae10>),
 ('Doer06', <__main__.BibItem at 0x7f5a67efd2b0>),
 ('Doll14', <__main__.BibItem at 0x7f5a67efd6a0>),
 ('Domb99', <__main__.BibItem at 0x7f5a67efdac8>),
 ('Donc12', <__main__.BibItem at 0x7f5a67efdef0>),
 ('Dong10', <__main__.BibItem at 0x7f5a67e81390>),
 ('Donn13', <__main__.BibItem at 0x7f5a67e81668>),
 ('Dors04', <__main__.BibItem at 0x7f5a67e819b0>),
 ('Doum10', <__main__.BibItem at 0x7f5a67e81da0>),
 ('Doyl01', <__main__.BibItem at 0x7f5a67e831d0>),
 ('Drai09', <__main__.BibItem at 0x7f5a67e835c0>),
 ('Drie16', <__main__.BibItem at 0x7f5a67e839e8>),
 ('Dupp15', <__main__.BibItem at 0x7f5a67e83e10>),
 ('Dupp15a', <__main__.BibItem at 0x7f5a67e862e8>),
 ('Durm12', <__main__.BibItem at 0x7f5a67e86710>),
 ('Durm14', <__main__.BibItem at 0x7f5a67e868d0>),
 ('Durm14a', <__main__.BibItem at 0x7f5a67e86cc0>),
 ('Duss98', <__main__.BibItem at 0x7f5a67e8a160>),
 ('Eder10', <__main__.BibItem at 0x7f5a67e8a518>),
 ('Eerd03', <__main__.BibItem at 0x7f5a67e8a908>),
 ('Eerd03a', <__main__.BibItem at 0x7f5a67e8cc50>),
 ('Eerd04', <__main__.BibItem at 0x7f5a67e8c4a8>),
 ('Eerd05', <__main__.BibItem at 0x7f5a67e921d0>),
 ('Eerd05a', <__main__.BibItem at 0x7f5a67e8ac88>),
 ('Eerd05b', <__main__.BibItem at 0x7f5a67e8c860>),
 ('Eerd06', <__main__.BibItem at 0x7f5a67e8c0b8>),
 ('Eerd06a', <__main__.BibItem at 0x7f5a67e90048>),
 ('Eerd07', <__main__.BibItem at 0x7f5a67e90438>),
 ('Eerd10', <__main__.BibItem at 0x7f5a67e90be0>),
 ('Eerd14', <__main__.BibItem at 0x7f5a67e90828>),
 ('Egge03', <__main__.BibItem at 0x7f5a67e92438>),
 ('Ehte16', <__main__.BibItem at 0x7f5a67e94400>),
 ('Ehte16a', <__main__.BibItem at 0x7f5a67e927f0>),
 ('Eijc09', <__main__.BibItem at 0x7f5a67e97358>),
 ('Eijc10', <__main__.BibItem at 0x7f5a67e97780>),
 ('Eijc11', <__main__.BibItem at 0x7f5a67e94ef0>),
 ('Eijc13', <__main__.BibItem at 0x7f5a67e97b70>),
 ('Eijk12', <__main__.BibItem at 0x7f5a67e97fd0>),
 ('Eijn09', <__main__.BibItem at 0x7f5a67e99400>),
 ('Eile08', <__main__.BibItem at 0x7f5a67e99d30>),
 ('Eile14', <__main__.BibItem at 0x7f5a67e99828>),
 ('Eise03', <__main__.BibItem at 0x7f5a67e9c978>),
 ('Eise12', <__main__.BibItem at 0x7f5a67e9c588>),
 ('Eise14', <__main__.BibItem at 0x7f5a67e9c198>),
 ('Elha14', <__main__.BibItem at 0x7f5a67e9cd30>),
 ('Elli11', <__main__.BibItem at 0x7f5a676c2390>),
 ('Emau15a', <__main__.BibItem at 0x7f5a67ea3208>),
 ('Engb12', <__main__.BibItem at 0x7f5a67ea3668>),
 ('Enge00', <__main__.BibItem at 0x7f5a67ea9c50>),
 ('Enge01', <__main__.BibItem at 0x7f5a67ea3cc0>),
 ('Enge02', <__main__.BibItem at 0x7f5a67eadb38>),
 ('Enge03', <__main__.BibItem at 0x7f5a67ea5860>),
 ('Enge03a', <__main__.BibItem at 0x7f5a67ead390>),
 ('Enge03b', <__main__.BibItem at 0x7f5a67ea90b8>),
 ('Enge05', <__main__.BibItem at 0x7f5a67ea98d0>),
 ('Enge05b', <__main__.BibItem at 0x7f5a67ea5048>),
 ('Enge06', <__main__.BibItem at 0x7f5a67ea94a8>),
 ('Enge06a', <__main__.BibItem at 0x7f5a67ea5c88>),
 ('Enge06b', <__main__.BibItem at 0x7f5a67ea3a58>),
 ('Enge06c', <__main__.BibItem at 0x7f5a67eade80>),
 ('Enge07', <__main__.BibItem at 0x7f5a67ea5438>),
 ('Enge12', <__main__.BibItem at 0x7f5a67ead780>),
 ('Enge98', <__main__.BibItem at 0x7f5a67ea9f98>),
 ('Enoc99', <__main__.BibItem at 0x7f5a67eaf2b0>),
 ('Eras08', <__main__.BibItem at 0x7f5a67686860>),
 ('Erik16', <__main__.BibItem at 0x7f5a67eaf828>),
 ('Erke17', <__main__.BibItem at 0x7f5a676f3550>),
 ('Erni84', <__main__.BibItem at 0x7f5a67eafcf8>),
 ('Esbe10', <__main__.BibItem at 0x7f5a67686dd8>),
 ('Esch17a', <__main__.BibItem at 0x7f5a67eaff98>),
 ('Esen14', <__main__.BibItem at 0x7f5a67eb2588>),
 ('Esma14', <__main__.BibItem at 0x7f5a67eb2d68>),
 ('Esma14a', <__main__.BibItem at 0x7f5a67eb2908>),
 ('Essi81', <__main__.BibItem at 0x7f5a67eb51d0>),
 ('Este17', <__main__.BibItem at 0x7f5a67eb5588>),
 ('Estr12', <__main__.BibItem at 0x7f5a67e66ac8>),
 ('Eter15', <__main__.BibItem at 0x7f5a67eb5898>),
 ('Eter16a', <__main__.BibItem at 0x7f5a676e14a8>),
 ('Fabe09', <__main__.BibItem at 0x7f5a67e44eb8>),
 ('Facc12', <__main__.BibItem at 0x7f5a67e47320>),
 ('Fagg11', <__main__.BibItem at 0x7f5a67687390>),
 ('Fall16', <__main__.BibItem at 0x7f5a67e47710>),
 ('Fant16', <__main__.BibItem at 0x7f5a67e47c88>),
 ('Fe14', <__main__.BibItem at 0x7f5a67eb8a58>),
 ('Fekk15', <__main__.BibItem at 0x7f5a67e4a240>),
 ('Fekk16', <__main__.BibItem at 0x7f5a67687940>),
 ('Feng10', <__main__.BibItem at 0x7f5a67e4a438>),
 ('Fens13', <__main__.BibItem at 0x7f5a67e4a9b0>),
 ('Ferg91', <__main__.BibItem at 0x7f5a67e4ad68>),
 ('Ferr08', <__main__.BibItem at 0x7f5a67f74278>),
 ('Firo08', <__main__.BibItem at 0x7f5a67e4e518>),
 ('Firo10', <__main__.BibItem at 0x7f5a67e4d978>),
 ('Firo10a', <__main__.BibItem at 0x7f5a67e4d588>),
 ('Firo12', <__main__.BibItem at 0x7f5a67e4dd68>),
 ('Firo12a', <__main__.BibItem at 0x7f5a67e4e160>),
 ('Firo13', <__main__.BibItem at 0x7f5a67e4d2e8>),
 ('Fisc09', <__main__.BibItem at 0x7f5a67e4e748>),
 ('Flac14', <__main__.BibItem at 0x7f5a676d9c88>),
 ('Fleu11', <__main__.BibItem at 0x7f5a67e55208>),
 ('Fleu13', <__main__.BibItem at 0x7f5a67e52d68>),
 ('Fleu13a', <__main__.BibItem at 0x7f5a67e52128>),
 ('Fleu14', <__main__.BibItem at 0x7f5a67e52518>),
 ('Fleu14a', <__main__.BibItem at 0x7f5a67e55668>),
 ('Fleu14b', <__main__.BibItem at 0x7f5a67e52940>),
 ('Fleu14c', <__main__.BibItem at 0x7f5a67e4ed68>),
 ('Fleu14d', <__main__.BibItem at 0x7f5a67e4eb38>),
 ('Floh02', <__main__.BibItem at 0x7f5a67e55a90>),
 ('Fond13', <__main__.BibItem at 0x7f5a67e55e80>),
 ('Fort12', <__main__.BibItem at 0x7f5a67e58ac8>),
 ('Fort13', <__main__.BibItem at 0x7f5a67e586d8>),
 ('Fort13a', <__main__.BibItem at 0x7f5a67e582e8>),
 ('Fort13b', <__main__.BibItem at 0x7f5a67e58ef0>),
 ('Fort14', <__main__.BibItem at 0x7f5a67e5b358>),
 ('Fort14a', <__main__.BibItem at 0x7f5a67e58128>),
 ('Fort17a', <__main__.BibItem at 0x7f5a676f9550>),
 ('Fraa90', <__main__.BibItem at 0x7f5a67e5b780>),
 ('Fran14', <__main__.BibItem at 0x7f5a67e5bba8>),
 ('Fran15', <__main__.BibItem at 0x7f5a67e5c160>),
 ('Frei14', <__main__.BibItem at 0x7f5a67e5c4a8>),
 ('Frel09', <__main__.BibItem at 0x7f5a67e5c908>),
 ('Frer07', <__main__.BibItem at 0x7f5a67e5cc88>),
 ('Frer13', <__main__.BibItem at 0x7f5a67e5f0b8>),
 ('Freu14', <__main__.BibItem at 0x7f5a67e5f4e0>),
 ('Frid02', <__main__.BibItem at 0x7f5a67687ef0>),
 ('Frie12a', <__main__.BibItem at 0x7f5a67e5f908>),
 ('Frig17', <__main__.BibItem at 0x7f5a676e1a90>),
 ('Fuch03', <__main__.BibItem at 0x7f5a67e620f0>),
 ('Fuch08', <__main__.BibItem at 0x7f5a67e5fc88>),
 ('Fue15', <__main__.BibItem at 0x7f5a67eb8160>),
 ('Fue16', <__main__.BibItem at 0x7f5a67eb85f8>),
 ('Fue16a', <__main__.BibItem at 0x7f5a67eb5c88>),
 ('Fuet05', <__main__.BibItem at 0x7f5a67ebfc50>),
 ('Fuet06', <__main__.BibItem at 0x7f5a67e42470>),
 ('Fuet07', <__main__.BibItem at 0x7f5a67e42c18>),
 ('Fuett04', <__main__.BibItem at 0x7f5a67e44080>),
 ('Fuett06', <__main__.BibItem at 0x7f5a67e42080>),
 ('Fuett07', <__main__.BibItem at 0x7f5a67ebb0f0>),
 ('Fuett08', <__main__.BibItem at 0x7f5a67e44ac8>),
 ('Fuett08a', <__main__.BibItem at 0x7f5a67ebbc88>),
 ('Fuett08b', <__main__.BibItem at 0x7f5a67e44438>),
 ('Fuett08c', <__main__.BibItem at 0x7f5a67e42828>),
 ('Fuett08d', <__main__.BibItem at 0x7f5a67ebf828>),
 ('Fuett09', <__main__.BibItem at 0x7f5a67ebf4a8>),
 ('Fuett11a', <__main__.BibItem at 0x7f5a67ebb4e0>),
 ('Fuett12', <__main__.BibItem at 0x7f5a67ebf0f0>),
 ('Fuett12a', <__main__.BibItem at 0x7f5a67ebb8d0>),
 ('Fuett12b', <__main__.BibItem at 0x7f5a67e44748>),
 ('Fuij12a', <__main__.BibItem at 0x7f5a67e62518>),
 ('Fust11', <__main__.BibItem at 0x7f5a67e62898>),
 ('Futt06', <__main__.BibItem at 0x7f5a67eb8e48>),
 ('Gain11', <__main__.BibItem at 0x7f5a67e62cc0>),
 ('Gal13', <__main__.BibItem at 0x7f5a67e640b8>),
 ('Gala92', <__main__.BibItem at 0x7f5a67e64cf8>),
 ('Gala92a', <__main__.BibItem at 0x7f5a67e66160>),
 ('Gala93', <__main__.BibItem at 0x7f5a67e649b0>),
 ('Gala93a', <__main__.BibItem at 0x7f5a67e64278>),
 ('Gala94', <__main__.BibItem at 0x7f5a67e645c0>),
 ('Gall11b', <__main__.BibItem at 0x7f5a67e69320>),
 ('Gall12a', <__main__.BibItem at 0x7f5a67e664e0>),
 ('Gall13', <__main__.BibItem at 0x7f5a67e66710>),
 ('Gall14', <__main__.BibItem at 0x7f5a67e69128>),
 ('Gall16', <__main__.BibItem at 0x7f5a67e66cf8>),
 ('Galp11', <__main__.BibItem at 0x7f5a67e69780>),
 ('Gamb04', <__main__.BibItem at 0x7f5a67e6d6a0>),
 ('Gamb05', <__main__.BibItem at 0x7f5a67e6ba90>),
 ('Gamb05a', <__main__.BibItem at 0x7f5a67e699b0>),
 ('Gamb06', <__main__.BibItem at 0x7f5a67e69dd8>),
 ('Gamb07', <__main__.BibItem at 0x7f5a67e6d2b0>),
 ('Gamb08', <__main__.BibItem at 0x7f5a67e6b668>),
 ('Gamb10', <__main__.BibItem at 0x7f5a67e6b278>),
 ('Gamb11', <__main__.BibItem at 0x7f5a67e6be80>),
 ('Gand15', <__main__.BibItem at 0x7f5a67e6da90>),
 ('Gara95', <__main__.BibItem at 0x7f5a6768b4a8>),
 ('Garc05', <__main__.BibItem at 0x7f5a67e714e0>),
 ('Garc06', <__main__.BibItem at 0x7f5a67e70550>),
 ('Garc07', <__main__.BibItem at 0x7f5a67e702b0>),
 ('Garc08a', <__main__.BibItem at 0x7f5a67e70b70>),
 ('Garc09', <__main__.BibItem at 0x7f5a67e70eb8>),
 ('Garc09a', <__main__.BibItem at 0x7f5a67e70710>),
 ('Garc15', <__main__.BibItem at 0x7f5a67e712e8>),
 ('Garc16', <__main__.BibItem at 0x7f5a67e6deb8>),
 ('Garc17', <__main__.BibItem at 0x7f5a6769c1d0>),
 ('Gasp07', <__main__.BibItem at 0x7f5a67e71828>),
 ('Gatt09', <__main__.BibItem at 0x7f5a67e77320>),
 ('Gatt10', <__main__.BibItem at 0x7f5a67e71c88>),
 ('Gatt14', <__main__.BibItem at 0x7f5a67e71f98>),
 ('Gebb93', <__main__.BibItem at 0x7f5a67e77588>),
 ('Gebh15', <__main__.BibItem at 0x7f5a67e77908>),
 ('Geel07', <__main__.BibItem at 0x7f5a67e77eb8>),
 ('Geer11', <__main__.BibItem at 0x7f5a67e7a7b8>),
 ('Geer15', <__main__.BibItem at 0x7f5a67e7a358>),
 ('Geer17', <__main__.BibItem at 0x7f5a676e4128>),
 ('Gees07', <__main__.BibItem at 0x7f5a67e7ab70>),
 ('Gees08', <__main__.BibItem at 0x7f5a67e7af60>),
 ('Gees15', <__main__.BibItem at 0x7f5a67e7d390>),
 ('Gees15b', <__main__.BibItem at 0x7f5a676953c8>),
 ('Gees17', <__main__.BibItem at 0x7f5a677318d0>),
 ('Gees17a', <__main__.BibItem at 0x7f5a676f29b0>),
 ('Geor16', <__main__.BibItem at 0x7f5a67e7d7b8>),
 ('Geur12', <__main__.BibItem at 0x7f5a67e7db70>),
 ('Geus07a', <__main__.BibItem at 0x7f5a67e7eb70>),
 ('Geus08', <__main__.BibItem at 0x7f5a67e0d208>),
 ('Geus15', <__main__.BibItem at 0x7f5a67e7def0>),
 ('Geve14', <__main__.BibItem at 0x7f5a67e0d588>),
 ('Geve14a', <__main__.BibItem at 0x7f5a6768b9e8>),
 ('Ghad14', <__main__.BibItem at 0x7f5a67e0d9b0>),
 ('Ghaf13', <__main__.BibItem at 0x7f5a67e109b0>),
 ('Ghaf16', <__main__.BibItem at 0x7f5a67e0dfd0>),
 ('Ghaf16a', <__main__.BibItem at 0x7f5a67e106a0>),
 ('Ghaf17', <__main__.BibItem at 0x7f5a67e0ddd8>),
 ('Ghaf17b', <__main__.BibItem at 0x7f5a67736358>),
 ('Ghaf17c', <__main__.BibItem at 0x7f5a677365c0>),
 ('Ghos12', <__main__.BibItem at 0x7f5a6768bef0>),
 ('Giam13', <__main__.BibItem at 0x7f5a67e10fd0>),
 ('Giam14', <__main__.BibItem at 0x7f5a67e13438>),
 ('Giam14a', <__main__.BibItem at 0x7f5a67e10ba8>),
 ('Gibs17', <__main__.BibItem at 0x7f5a67693c88>),
 ('Giet06', <__main__.BibItem at 0x7f5a67e152e8>),
 ('Giet07a', <__main__.BibItem at 0x7f5a67e13eb8>),
 ('Giet07c', <__main__.BibItem at 0x7f5a67e15f60>),
 ('Giet07d', <__main__.BibItem at 0x7f5a67e13860>),
 ('Giet07e', <__main__.BibItem at 0x7f5a67e13b00>),
 ('Giet10', <__main__.BibItem at 0x7f5a67e156a0>),
 ('Giet10a', <__main__.BibItem at 0x7f5a67e15b00>),
 ('Gige01', <__main__.BibItem at 0x7f5a67e16208>),
 ('Gige13', <__main__.BibItem at 0x7f5a67e165f8>),
 ('Gijs15', <__main__.BibItem at 0x7f5a67e169e8>),
 ('Gijs15c', <__main__.BibItem at 0x7f5a67e16c18>),
 ('Gijs17', <__main__.BibItem at 0x7f5a67e16ef0>),
 ('Gilh02', <__main__.BibItem at 0x7f5a67e1a4a8>),
 ('Gill00', <__main__.BibItem at 0x7f5a67e1afd0>),
 ('Gill08', <__main__.BibItem at 0x7f5a67e1a828>),
 ('Gill10a', <__main__.BibItem at 0x7f5a67e1abe0>),
 ('Gils99', <__main__.BibItem at 0x7f5a67e1e3c8>),
 ('Ginn00', <__main__.BibItem at 0x7f5a67e26828>),
 ('Ginn00a', <__main__.BibItem at 0x7f5a67e26ba8>),
 ('Ginn00b', <__main__.BibItem at 0x7f5a67e26f60>),
 ('Ginn01', <__main__.BibItem at 0x7f5a67e1e7b8>),
 ('Ginn01a', <__main__.BibItem at 0x7f5a67e1e940>),
 ('Ginn01b', <__main__.BibItem at 0x7f5a67e23a90>),
 ('Ginn01c', <__main__.BibItem at 0x7f5a67e28630>),
 ('Ginn02', <__main__.BibItem at 0x7f5a67e23cf8>),
 ('Ginn02a', <__main__.BibItem at 0x7f5a67e2bb38>),
 ('Ginn02b', <__main__.BibItem at 0x7f5a67e28a20>),
 ('Ginn03', <__main__.BibItem at 0x7f5a67e1eb70>),
 ('Ginn03a', <__main__.BibItem at 0x7f5a67e23748>),
 ('Ginn03b', <__main__.BibItem at 0x7f5a67e282e8>),
 ('Ginn04', <__main__.BibItem at 0x7f5a67e2d5c0>),
 ('Ginn05', <__main__.BibItem at 0x7f5a67e2eb38>),
 ('Ginn05a', <__main__.BibItem at 0x7f5a67e2ef98>),
 ('Ginn06', <__main__.BibItem at 0x7f5a67e1ee80>),
 ('Ginn06a', <__main__.BibItem at 0x7f5a67e2d828>),
 ('Ginn06b', <__main__.BibItem at 0x7f5a67e30588>),
 ('Ginn06c', <__main__.BibItem at 0x7f5a67e2bf28>),
 ('Ginn07', <__main__.BibItem at 0x7f5a67e28c18>),
 ('Ginn07a', <__main__.BibItem at 0x7f5a67db36a0>),
 ('Ginn08', <__main__.BibItem at 0x7f5a67e23358>),
 ('Ginn08a', <__main__.BibItem at 0x7f5a67e1f2b0>),
 ('Ginn08b', <__main__.BibItem at 0x7f5a67e309e8>),
 ('Ginn08c', <__main__.BibItem at 0x7f5a67e2b588>),
 ('Ginn08d', <__main__.BibItem at 0x7f5a67e2b748>),
 ('Ginn08e', <__main__.BibItem at 0x7f5a67e2e2e8>),
 ('Ginn09a', <__main__.BibItem at 0x7f5a67e2b128>),
 ('Ginn09b', <__main__.BibItem at 0x7f5a67e2de48>),
 ('Ginn10', <__main__.BibItem at 0x7f5a67e1f6a0>),
 ('Ginn10a', <__main__.BibItem at 0x7f5a67e1ff60>),
 ('Ginn10b', <__main__.BibItem at 0x7f5a67e2dba8>),
 ('Ginn11', <__main__.BibItem at 0x7f5a67e2e6d8>),
 ('Ginn12', <__main__.BibItem at 0x7f5a67e28ef0>),
 ('Ginn13', <__main__.BibItem at 0x7f5a67e2e4a8>),
 ('Ginn13a', <__main__.BibItem at 0x7f5a67e2e048>),
 ('Ginn14', <__main__.BibItem at 0x7f5a67e2b908>),
 ('Ginn15', <__main__.BibItem at 0x7f5a67e2ecf8>),
 ('Ginn17', <__main__.BibItem at 0x7f5a67e1f9b0>),
 ('Ginn98', <__main__.BibItem at 0x7f5a67e30208>),
 ('Ginn99', <__main__.BibItem at 0x7f5a67e26160>),
 ('Ginn99a', <__main__.BibItem at 0x7f5a67e264e0>),
 ('Ginn99b', <__main__.BibItem at 0x7f5a67e2d1d0>),
 ('Gish14', <__main__.BibItem at 0x7f5a67e30da0>),
 ('Goed92', <__main__.BibItem at 0x7f5a67e33198>),
 ('Gold07b', <__main__.BibItem at 0x7f5a67e334e0>),
 ('Gome12', <__main__.BibItem at 0x7f5a67e338d0>),
 ('Gool91', <__main__.BibItem at 0x7f5a67e33cf8>),
 ('Gort08', <__main__.BibItem at 0x7f5a67e34080>),
 ('Gort08a', <__main__.BibItem at 0x7f5a67e344a8>),
 ('Goto13', <__main__.BibItem at 0x7f5a67e348d0>),
 ('Gott02', <__main__.BibItem at 0x7f5a67dc2e48>),
 ('Gott02a', <__main__.BibItem at 0x7f5a67dc6a90>),
 ('Gott03', <__main__.BibItem at 0x7f5a67e37eb8>),
 ('Gott03a', <__main__.BibItem at 0x7f5a67dc21d0>),
 ('Gott03b', <__main__.BibItem at 0x7f5a67dc6320>),
 ('Gott03c', <__main__.BibItem at 0x7f5a67dc46a0>),
 ('Gott04', <__main__.BibItem at 0x7f5a67e3e748>),
 ('Gott04a', <__main__.BibItem at 0x7f5a67e3cac8>),
 ('Gott04b', <__main__.BibItem at 0x7f5a67dc4ef0>),
 ('Gott06', <__main__.BibItem at 0x7f5a67e3c6d8>),
 ('Gott06a', <__main__.BibItem at 0x7f5a67e3ee10>),
 ('Gott06b', <__main__.BibItem at 0x7f5a67dc6710>),
 ('Gott06c', <__main__.BibItem at 0x7f5a67dc4ac8>),
 ('Gott06d', <__main__.BibItem at 0x7f5a67e3c2e8>),
 ('Gott06e', <__main__.BibItem at 0x7f5a67dc8240>),
 ('Gott06f', <__main__.BibItem at 0x7f5a67dc6e48>),
 ('Gott07', <__main__.BibItem at 0x7f5a67e3ea90>),
 ('Gott07a', <__main__.BibItem at 0x7f5a67dc25f8>),
 ('Gott10', <__main__.BibItem at 0x7f5a67e34c88>),
 ('Gott10a', <__main__.BibItem at 0x7f5a67e3ceb8>),
 ('Gott10b', <__main__.BibItem at 0x7f5a67e37a90>),
 ('Gott10c', <__main__.BibItem at 0x7f5a67e34f98>),
 ('Gott11', <__main__.BibItem at 0x7f5a67e37358>),
 ('Gott13', <__main__.BibItem at 0x7f5a67e3e358>),
 ('Gott13a', <__main__.BibItem at 0x7f5a67dc4278>),
 ('Gott14', <__main__.BibItem at 0x7f5a67dc29e8>),
 ('Gott14a', <__main__.BibItem at 0x7f5a67e37748>),
 ('Gova12', <__main__.BibItem at 0x7f5a67dc85c0>),
 ('Gove16', <__main__.BibItem at 0x7f5a67dc89e8>),
 ('Graa08', <__main__.BibItem at 0x7f5a67dcec50>),
 ('Graa10', <__main__.BibItem at 0x7f5a67dcb128>),
 ('Graa10a', <__main__.BibItem at 0x7f5a67dd2eb8>),
 ('Graa11', <__main__.BibItem at 0x7f5a67dcb908>),
 ('Graa91a', <__main__.BibItem at 0x7f5a67dce080>),
 ('Graa91b', <__main__.BibItem at 0x7f5a67dd2470>),
 ('Graa91c', <__main__.BibItem at 0x7f5a67dd20b8>),
 ('Graa92a', <__main__.BibItem at 0x7f5a67dd27b8>),
 ('Graa92b', <__main__.BibItem at 0x7f5a67dc8e80>),
 ('Graa96', <__main__.BibItem at 0x7f5a67dcbcf8>),
 ('Graa97', <__main__.BibItem at 0x7f5a67dce400>),
 ('Graa99a', <__main__.BibItem at 0x7f5a67dcb518>),
 ('Graaf00', <__main__.BibItem at 0x7f5a67dd2b00>),
 ('Graaf04', <__main__.BibItem at 0x7f5a67dce860>),
 ('Grae93', <__main__.BibItem at 0x7f5a67dd32e8>),
 ('Gran03', <__main__.BibItem at 0x7f5a67dd36a0>),
 ('Gran07', <__main__.BibItem at 0x7f5a67dd39e8>),
 ('Gran09', <__main__.BibItem at 0x7f5a67dd3e10>),
 ('Gras07', <__main__.BibItem at 0x7f5a67dd7278>),
 ('Grat02', <__main__.BibItem at 0x7f5a67dd7668>),
 ('Greb14', <__main__.BibItem at 0x7f5a67dd7a20>),
 ('Gree16', <__main__.BibItem at 0x7f5a67dd7dd8>),
 ('Gren10', <__main__.BibItem at 0x7f5a67dda208>),
 ('Greu07', <__main__.BibItem at 0x7f5a67dda5f8>),
 ('Grin12', <__main__.BibItem at 0x7f5a67de08d0>),
 ('Grin12a', <__main__.BibItem at 0x7f5a67ddea20>),
 ('Grin13', <__main__.BibItem at 0x7f5a67ddec18>),
 ('Grin13a', <__main__.BibItem at 0x7f5a67de00b8>),
 ('Grin13b', <__main__.BibItem at 0x7f5a67dde2b0>),
 ('Grin14', <__main__.BibItem at 0x7f5a67dde080>),
 ('Grin15', <__main__.BibItem at 0x7f5a67ddabe0>),
 ('Grin15a', <__main__.BibItem at 0x7f5a67de0b00>),
 ('Grin16', <__main__.BibItem at 0x7f5a67de0d30>),
 ...]

In [59]:
entry = global_index['04']

In [61]:
entry.entry


Out[61]:
{'abstract': '{Gene therapy delivers a functional gene into a target cell to restore the physiological levels of the deficient gene (1, 2). This therapeutic methodology has been used in the clinic to treat diseases and cancers induced by genetic disorders (3). For example, a cytotoxic gene can destroy a specific type of cancer cell without excessive damage to normal tissue (4). Because viruses are inherently capable of packaging nucleic acids and delivering them to susceptible cells with high efficiency, they become a preferred system for natural gene therapy delivery (5). Viral vectors can be engineered with a gene expression cassette or converted to a targeted vector. Both methods allow delivery of the gene of interest (transgene) to the desired cells or tissues (3). As a gene therapy vector, the viruses need to meet three criteria: safety, high transfer efficiency, and reliable transgene expression. Assessment of the development of viral vectors in vivo becomes an important step in the implementation of gene therapy in the clinic. With its inherent high spatial resolution, magnetic resonance imaging (MRI) can be effectively used to examine the pharmacokinetics and development of viral vectors in vivo, especially their adsorption, distribution, biotransformation, and excretion. Baculoviruses (BV) are a family of rod-shaped viruses with a circular, double-stranded genome ranging from 80 to 180 kbp that can encode ~100?200 proteins (6). BV mainly replicates in insect cells, not in mammalian cells, through the function of a glycoprotein gp64 (512 amino acids) located on the viral envelop (7). BV can efficiently mediate gene transfer in mammalian cells in the presence of active mammalian cell promoters such as the cytomegalovirus promoter. The inherent inability of BV to replicate in mammalian cells makes it an attractive candidate for gene therapy (7) and for protein expressions such as ion channels, G-protein?coupled receptors, nuclear receptors, and transporters (5). As a gene delivery vector, BV has several unique features, including extremely high levels of gene expression and accessibility and an excellent biosafety profile (5). A BV with avidin is a recombinant BV that has avidin inserted into its native envelope glycoprotein gp64 (8). The presence of avidin on the surface of the BV provides a versatile platform, the avidin displaying BV (Baavi), for binding a variety of biotinylated molecules, including imaging probes (9). The insertion of avidin also increases the transduction efficiency of BV by 5?26-fold (8). Complexation of Baavi with biotinylated ultra-small superparamagnetic iron oxide nanoparticles (bUSPIO) forms an agent (Baavi-bUSPIO) used for MRI imaging of recombinant BV (9). The USPIOs contain an icosahedral core of superparamagnetic crystalline Fe3O4 (magnetite) (10). They possess a high magnetic susceptibility that results in a significant induced magnetization inside a magnetic field. This creates microscopic field gradients that diphase nearby protons and cause a shortening of T2 relaxation times (11). With a 50-nm USPIO and a virus of approximately 25 nm × 200 nm, each bUSPIO binds ~1?2 viruses. The Baavi includes a LacZ transgene, which is a gene for encoding of a common enzymatic reporter protein ?-galactosidase (?-gal) (12). The presence of ?-gal allows for quantitative measurement of transduction efficiency of Baavi-bUSPIO in vitro and/or histological evaluation of Baavi-bUSPIO in targeted tissues ex vivo.}',
 'article': '{Avidin-coated baculoviral vectors-biotinylated ultra-small superparamagnetic iron oxide nanoparticles}',
 'contribution': '{2008-03-31}',
 'keywords': '{Baavi-bUSPIO; Protein, nanoparticle (virus); Other; Other; Magnetic resonance imaging (MRI); Iron oxides}',
 'medium': '{Internet}',
 'pmid': '{20641353}',
 'publisher': '{National Center for Biotechnology Information (US)}',
 'publocation': '{Bethesda (MD)}',
 'pubstatus': '{ppublish}',
 'pubtype': '{Review}',
 'revised': '{2008-4-30}',
 'sections': '{Background; Synthesis; In Vitro Studies: Testing in Cells and Tissues; Animal Studies; Human Studies; References}',
 'title': '{Molecular Imaging and Contrast Agent Database (MICAD)}',
 'year': '{2004}'}

In [60]:
entry.entry_type


Out[60]:
'@Article'

In [71]:
entry.entry


Out[71]:
{'abstract': '{Gene therapy delivers a functional gene into a target cell to restore the physiological levels of the deficient gene (1, 2). This therapeutic methodology has been used in the clinic to treat diseases and cancers induced by genetic disorders (3). For example, a cytotoxic gene can destroy a specific type of cancer cell without excessive damage to normal tissue (4). Because viruses are inherently capable of packaging nucleic acids and delivering them to susceptible cells with high efficiency, they become a preferred system for natural gene therapy delivery (5). Viral vectors can be engineered with a gene expression cassette or converted to a targeted vector. Both methods allow delivery of the gene of interest (transgene) to the desired cells or tissues (3). As a gene therapy vector, the viruses need to meet three criteria: safety, high transfer efficiency, and reliable transgene expression. Assessment of the development of viral vectors in vivo becomes an important step in the implementation of gene therapy in the clinic. With its inherent high spatial resolution, magnetic resonance imaging (MRI) can be effectively used to examine the pharmacokinetics and development of viral vectors in vivo, especially their adsorption, distribution, biotransformation, and excretion. Baculoviruses (BV) are a family of rod-shaped viruses with a circular, double-stranded genome ranging from 80 to 180 kbp that can encode ~100?200 proteins (6). BV mainly replicates in insect cells, not in mammalian cells, through the function of a glycoprotein gp64 (512 amino acids) located on the viral envelop (7). BV can efficiently mediate gene transfer in mammalian cells in the presence of active mammalian cell promoters such as the cytomegalovirus promoter. The inherent inability of BV to replicate in mammalian cells makes it an attractive candidate for gene therapy (7) and for protein expressions such as ion channels, G-protein?coupled receptors, nuclear receptors, and transporters (5). As a gene delivery vector, BV has several unique features, including extremely high levels of gene expression and accessibility and an excellent biosafety profile (5). A BV with avidin is a recombinant BV that has avidin inserted into its native envelope glycoprotein gp64 (8). The presence of avidin on the surface of the BV provides a versatile platform, the avidin displaying BV (Baavi), for binding a variety of biotinylated molecules, including imaging probes (9). The insertion of avidin also increases the transduction efficiency of BV by 5?26-fold (8). Complexation of Baavi with biotinylated ultra-small superparamagnetic iron oxide nanoparticles (bUSPIO) forms an agent (Baavi-bUSPIO) used for MRI imaging of recombinant BV (9). The USPIOs contain an icosahedral core of superparamagnetic crystalline Fe3O4 (magnetite) (10). They possess a high magnetic susceptibility that results in a significant induced magnetization inside a magnetic field. This creates microscopic field gradients that diphase nearby protons and cause a shortening of T2 relaxation times (11). With a 50-nm USPIO and a virus of approximately 25 nm × 200 nm, each bUSPIO binds ~1?2 viruses. The Baavi includes a LacZ transgene, which is a gene for encoding of a common enzymatic reporter protein ?-galactosidase (?-gal) (12). The presence of ?-gal allows for quantitative measurement of transduction efficiency of Baavi-bUSPIO in vitro and/or histological evaluation of Baavi-bUSPIO in targeted tissues ex vivo.}',
 'article': '{Avidin-coated baculoviral vectors-biotinylated ultra-small superparamagnetic iron oxide nanoparticles}',
 'contribution': '{2008-03-31}',
 'keywords': '{Baavi-bUSPIO; Protein, nanoparticle (virus); Other; Other; Magnetic resonance imaging (MRI); Iron oxides}',
 'medium': '{Internet}',
 'pmid': '{20641353}',
 'publisher': '{National Center for Biotechnology Information (US)}',
 'publocation': '{Bethesda (MD)}',
 'pubstatus': '{ppublish}',
 'pubtype': '{Review}',
 'revised': '{2008-4-30}',
 'sections': '{Background; Synthesis; In Vitro Studies: Testing in Cells and Tissues; Animal Studies; Human Studies; References}',
 'title': '{Molecular Imaging and Contrast Agent Database (MICAD)}',
 'year': '{2004}'}

Checks


In [105]:
def check(bib_item):
    if 'title' in bib_item.entry and bib_item.entry['title'].endswith('.}'):
        title = bib_item.entry['title']
        raise Exception('wrong title')

In [110]:
for bib_key, bib_item in global_index.items():
    try:
        check(bib_item)
    except Exception as e:
        print(e, bib_key)
        print(bib_item.title)
        fix = input("Fix? ")
        if fix in ('y', 'yes', 'j', 'ja'):
            bib_item.entry['title'] = bib_item.entry['title'][:-2] + '}'


wrong title Stul11
Dot1 binding induces chromatin rearrangements by histone methylation-dependent and -independent mechanisms.
Fix? y
wrong title Sans97
Dehydration in the elderly: strategies for prevention and management.
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-110-1d4ecc88dee0> in <module>()
      2     try:
----> 3         check(bib_item)
      4     except Exception as e:

<ipython-input-105-fe371876167e> in check(bib_item)
      4         title = bib_item.entry['title']
----> 5         raise Exception('wrong title')

Exception: wrong title

During handling of the above exception, another exception occurred:

KeyboardInterrupt                         Traceback (most recent call last)
/usr/local/lib/python3.5/dist-packages/ipykernel/kernelbase.py in _input_request(self, prompt, ident, parent, password)
    720             try:
--> 721                 ident, reply = self.session.recv(self.stdin_socket, 0)
    722             except Exception:

/usr/local/lib/python3.5/dist-packages/jupyter_client/session.py in recv(self, socket, mode, content, copy)
    777         try:
--> 778             msg_list = socket.recv_multipart(mode, copy=copy)
    779         except zmq.ZMQError as e:

/usr/local/lib/python3.5/dist-packages/zmq/sugar/socket.py in recv_multipart(self, flags, copy, track)
    394         """
--> 395         parts = [self.recv(flags, copy=copy, track=track)]
    396         # have first part already, only loop while more to receive

zmq/backend/cython/socket.pyx in zmq.backend.cython.socket.Socket.recv (zmq/backend/cython/socket.c:7683)()

zmq/backend/cython/socket.pyx in zmq.backend.cython.socket.Socket.recv (zmq/backend/cython/socket.c:7460)()

zmq/backend/cython/socket.pyx in zmq.backend.cython.socket._recv_copy (zmq/backend/cython/socket.c:2344)()

/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/checkrc.pxd in zmq.backend.cython.checkrc._check_rc (zmq/backend/cython/socket.c:9621)()

KeyboardInterrupt: 

During handling of the above exception, another exception occurred:

KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-110-1d4ecc88dee0> in <module>()
      5         print(e, bib_key)
      6         print(bib_item.title)
----> 7         fix = input("Fix? ")
      8         if fix in ('y', 'yes', 'j', 'ja'):
      9             bib_item.entry['title'] = bib_item.entry['title'][:-2] + '}'

/usr/local/lib/python3.5/dist-packages/ipykernel/kernelbase.py in raw_input(self, prompt)
    694             self._parent_ident,
    695             self._parent_header,
--> 696             password=False,
    697         )
    698 

/usr/local/lib/python3.5/dist-packages/ipykernel/kernelbase.py in _input_request(self, prompt, ident, parent, password)
    724             except KeyboardInterrupt:
    725                 # re-raise KeyboardInterrupt, to truncate traceback
--> 726                 raise KeyboardInterrupt
    727             else:
    728                 break

KeyboardInterrupt: 

In [111]:
global_index['Stul11'].entry


Out[111]:
{'abstract': '{Methylation of histone H3 lysine 79 (H3K79) by Dot1 is highly conserved among species and has been associated with both gene repression and activation. To eliminate indirect effects and examine the direct consequences of Dot1 binding and H3K79 methylation, we investigated the effects of targeting Dot1 to different positions in the yeast genome. Targeting Dot1 did not activate transcription at a euchromatic locus. However, chromatin-bound Dot1 derepressed heterochromatin-mediated gene silencing over a considerable distance. Unexpectedly, Dot1-mediated derepression was established by both a H3K79 methylation-dependent and a methylation-independent mechanism; the latter required the histone acetyltransferase Gcn5. By monitoring the localization of a fluorescently tagged telomere in living cells, we found that the targeting of Dot1, but not its methylation activity, led to the release of a telomere from the repressive environment at the nuclear periphery. This probably contributes to the activity-independent derepression effect of Dot1. Targeting of Dot1 promoted gene expression by antagonizing gene repression through both histone methylation and chromatin relocalization. Our findings show that binding of Dot1 to chromatin can positively affect local gene expression by chromatin rearrangements over a considerable distance.}',
 'author': '{Stulemeijer, Iris Je and Pike, Brietta L and Faber, Alex W and Verzijlbergen, Kitty F and van Welsem, Tibor and Frederiks, Floor and Lenstra, Tineke L and Holstege, Frank Cp and Gasser, Susan M and van Leeuwen, Fred}',
 'completed': '{2011-07-14}',
 'country': '{England}',
 'created': '{2011-02-15}',
 'doi': '{10.1186/1756-8935-4-2}',
 'issn': '{1756-8935}',
 'issn-linking': '{1756-8935}',
 'issue': '{1}',
 'journal': '{Epigenetics \\& chromatin}',
 'month': 'feb',
 'nlm': '{PMC3038881}',
 'nlm-id': '{101471619}',
 'owner': '{NLM}',
 'pages': '{2}',
 'pii': '{1756-8935-4-2}',
 'pmc': '{PMC3038881}',
 'pmid': '{21291527}',
 'pubmodel': '{Electronic}',
 'pubstatus': '{epublish}',
 'revised': '{2017-02-20}',
 'title': '{Dot1 binding induces chromatin rearrangements by histone methylation-dependent and -independent mechanisms}',
 'volume': '{4}',
 'year': '{2011}'}

In [ ]:
def checks(global_index):
    # skip some types
    if not bib_item.entry_type in include_keys:
        print('missing fields')
        continue

    # skip if incomplete information
    if not all(k in bib_item.entry for k in include_keys[bib_item.entry_type]):
        continue

Write


In [92]:
include_keys = {
    '@Article': ('author', 'title', 'journal', 'year', 'url'),
    '@InProceedings': ('author', 'booktitle', 'journal', 'year')
}

def fwrite_line(f, line):
    f.write((line + '\n').encode('utf-8'))
    
def write_bib(filename, string_rules, global_index):
    with open(filename, 'wb') as f:
        fwrite_line(f, '% Encoding: UTF-8\n\n')
        for k, v in string_rules.items():
            fwrite_line(f, "@String{" + k + " = " + v + '}')

        for k, bib_item in sorted(global_index.items()):
            if not bib_item.entry_type in include_keys:
                continue
            
            fwrite_line(f, bib_item.entry_type + '{' + k + ',')
            
            for keyword in include_keys[bib_item.entry_type]:
                if not keyword in bib_item.entry:
                    continue
                content = bib_item.entry[keyword]
                fwrite_line(f, '  ' + keyword + ' = ' + content + ',')
            fwrite_line(f, '}')
            fwrite_line(f)

In [93]:
write_bib('diag_bib_out.bib', string_rules, global_index)

In [48]:
!less diag.bib


% Encoding: UTF-8

@String{AA                = _Age_and_Ageing_}
@String{AAC               = _Antimicrobial_Agents_and_Chemotherapy_}
@String{AACC              = _AACN_Advanced_Critical_Care_}
@String{AAPM              = _American_Association_of_Physicists_in_Medicine_}
@String{ABDI              = _Abdominal_Imaging_}
@String{ACAEMEMED         = _Academic_Emergency_Medicine_}
@String{ACHA              = _Applied_and_Computational_Harmonic_Analysis_}
@String{ACMCS             = _ACM_Computing_Surveys_}
@String{ACMTG             = _ACM_Transactions_on_Graphics_}
@String{ACMTIS            = _ACM_Transactions_on_Information_Systems_}
@String{ACMTMS            = _ACM_Transactions_on_Mathematical_Software_}
@String{ACR               = _Anticancer_Research_}
@String{ACSCHENEU         = _ACS_Chemical_Neuroscience_}
@String{ACTAB             = _Acta_Anaesthesiologica_Belgica_}
@String{ACTANASCA         = _Acta_Anaesthesiologica_Scandinavica_}
@String{ACTBIOMAT         = _Acta_Biomaterialia_}
@String{ACTNC             = _Acta_Neurochirurgica_}
@String{ACTNEUBEL         = _Acta_Neurologica_Belgica_}
@String{ACTNEUSCA         = _Acta_Neurologica_Scandinavica_}
@String{ACTNP             = _Acta_Neuropsychiatrica_}
@String{ACTONC            = _Acta_Oncologica_}
:g.bib

In [36]:
global_index['Oei16a'].entry


Out[36]:
{'author': '{Marcel T. H. Oei and Frederick J.A. Meijer and Willem-Jan {van der Woude} and Ewoud J. Smit and Bram {van Ginneken} and Rashindra Manniesing and Mathias Prokop}',
 'doi': '{10.1007/s00330-016-4592-z}',
 'journal': 'ER',
 'number': '{6}',
 'pages': '{2411-2418}',
 'title': '{Interleaving Cerebral {CT} Perfusion with Neck {CT} Angiography. {Part II}: Clinical Implementation and Image Quality}',
 'volume': '{27}',
 'year': '{2017}'}

In [37]:
global_index.keys()


Out[37]:
dict_keys(['Mert14', 'Ritt90', 'Kan05', 'Rene03', 'Mare14', 'Peet09', 'Zijl94', 'Schr13a', 'Kort94a', 'Reek02', 'Nune12', 'Band17', 'Kobu14a', 'Stul11', 'Schw15', 'Thij14', 'Ciet14', 'Klei15a', 'Terr15', 'Stee94a', 'Sans97', 'Lave15', 'Sche08', 'Hesk14', 'Seti15a', 'Witt12b', 'Aarn13a', 'Bree00', 'Vuka09a', 'Vuka10', 'Bart15', 'Stou01', 'Galp11', 'Voog11', 'Rudy14', 'Hoog16', 'Voge07a', 'Naga16', 'Kall16a', 'Berk94a', 'Scia11', 'Bejn15', 'Hoek13b', 'Wier07', 'Terr16', 'Pete13b', 'Scho02a', 'Hoog15', 'Wand15b', 'Mord16b', 'LinE05', 'Schi97', 'Adri11c', 'Stil14', 'Stee98a', 'Arzh09b', 'Gatt14', 'Hesk12a', 'Mord17', 'Oost13', 'Hesk13a', 'Tall01', 'Veld10a', 'Puig00', 'Vos08b', 'Mets12', 'Rikx11a', 'Zand01', 'Tann11a', 'Dekk12', 'Brom13', 'Kok07', 'Brom10', 'Dale04', 'Rikx07a', 'Weij10', 'Geor16', 'Arnt16', 'Kars89', 'Kars06', 'Kuip08', 'Boog13', 'Mus17', 'Wate12', 'Scha05a', 'Obde14', 'Thij05', 'Kamm01', 'Surc14a', 'Srin10b', 'Aart09', 'Hans10a', 'Scha16', 'Nune13', 'Koui16a', 'Reic90a', 'Hoop08a', 'Gal13', 'Stee94', 'Gott13', 'Sche05a', 'Leer14', 'Powe17', 'Verh93', 'Loog05', 'Sonn16', 'Pari11', 'Wrig12', 'Boog15', 'King14', 'Laar03a', 'Hans12', 'Kooi17b', 'Esen14', 'Lage16a', 'Jana03', 'Joda14', 'Vrie10b', 'Serl05', 'Treu16', 'Ginn06c', 'Hoge10', 'Blan11', 'Heij13', 'deG13', 'Xu08', 'Berg98', 'Behe07', 'Scho13b', 'Rama16', 'Sana11', 'Pol09', 'Laar05b', 'Arzh09', 'Slee06', 'Arzh06a', 'Wier08', 'Schn03a', 'Waai07', 'Muen14a', 'Dekk16a', 'Breu12', 'Roll10', 'Camb04', 'Riel17', 'Eerd05', 'Vugt11a', 'Manf17', 'deG06c', 'Bom98a', 'Tan16', 'Ven13d', 'Vink88', 'Loka10', 'Verm10', 'Egge03', 'Kali07', 'Hoog03a', 'Horn04a', 'Roel07', 'Post05', 'Kira03', 'Samu07', 'Jaco10a', 'Mann99a', 'Zerb13', 'Tibb95', 'Sche02b', 'Scho15a', 'Fuett12', 'Gall13', 'Wong17', 'Stil13', 'Lesn11', 'Arte12', 'Marc11b', 'Humm14', 'Hart91', 'Nune08', 'Mara17', 'Radk07', 'Phil08', 'Wiel03', 'Wiel10', 'Gube14', 'Vent14a', 'Meij13d', 'Robi03', 'Koui13b', 'Venh15b', 'Yaka12', 'Mikk14', 'Bouc03', 'Mehr17', 'Eile08', 'Scha04', 'Scha92', 'Fabe09', 'Huis96', 'Cann06', 'Gish14', 'Zhai16', 'Mann16a', 'Otte05', 'Meij09d', 'Chyk13', 'Groo14', 'Nieu08', 'Bast06a', 'Jaco15', 'Brui10', 'Jong12', 'Brou03b', 'Gott03', 'Stou07', 'Gott04a', 'Plat14', 'Coen09', 'Guo12a', 'Thij69', 'Scha13', 'Reis15', 'Seln12a', 'Weve95', 'van15f', 'Hoge13a', 'Bert16', 'Brou05a', 'Grin13a', 'Lang98a', 'Boer12b', 'Heer03', 'Wier11', 'Kars96a', 'Rij05', 'Scha09b', 'Garc09', 'Ciom17', 'Rutt10', 'Siae04', 'McLo04', 'Hoge15', 'Kort97b', 'Buit17', 'Beij13', 'Adri10', 'Scha14h', 'Devo04', 'Jans03b', 'DeV03', 'Leyt13', 'Mann10', 'Hoek13a', 'Jans00', 'Hein16', 'Hoge17', 'Kall08b', 'Nigh07', 'Mull13', 'Kapu01', 'Geer11', 'Arif15b', 'Kaem94', 'Oei07', 'Vos13a', 'Jans05', 'Jans15c', 'Jage03', 'Vent13', 'Diss11', 'Will16', 'Defe16', 'Dijk15a', 'Gain11', 'Broe09', 'Gall11b', 'Velt10', 'Bakk07', 'Thal02a', 'Vers07', 'Silv17a', 'Remi15a', 'van16a', 'Berg15', 'Gala92', 'Ven13a', 'Graa92b', 'Nadar2017b', 'Pury16', 'Tann13', 'Cuyp95', 'Thij85', 'Tan15', 'Lage16b', 'Lust08', 'Hoes13', 'Veli08d', 'Zaim15', 'Geer17', 'Murp12a', 'Troo08a', 'Lave04', 'Buij11', 'Deva11', 'Kobu13a', 'Koen17a', 'Eerd07', 'Heim09', 'Litj14', 'Esma14a', 'Isgu03a', 'Pomp15a', 'Mann17', 'Heer97a', 'Hend05', 'Boll08', 'Barr03', 'Dese11', 'Bank12', 'Brak00a', 'Laur15', 'Geel07', 'Rikx12', 'Schu12', 'Isgu07a', 'Lo13', 'Meeu12', 'Eijc10', 'Eise14', 'Mens09', 'Work17a', 'Kopp04', 'Slui03', 'Arif16a', 'DeV11', 'Mavi10', 'Bert11', 'Oei07a', 'Stie13', 'Kue03', 'Dett14', 'Scha10b', 'Mool99', 'Puar2017b', 'Muse13a', 'Vlie12', 'Garc09a', 'Horn06', 'Heuv15', 'Essi81', 'Gube15d', 'Bol16', 'Gara95', 'Jans04a', 'Wels08', 'Stee97', 'Malo16', 'Jaco15b', 'Brac14', 'Gube10', 'Kroe16a', 'Wein15', 'Bela94', 'Mets16', 'Wieg17', 'Riks06', 'Sabo11', 'Kan06', 'Wal11', 'Breu11a', 'Post03b', 'Veli10', 'Lakh16b', 'Ginn01a', 'Koll12', 'Beek16', 'Litj12', 'Snead16', 'Vila08', 'Enge03b', 'Tan13a', 'Lave11', 'Deba16', 'Enge12', 'Bax08b', 'Scha03b', 'Ven16a', 'Muhs06', 'Klei11', 'Oei12', 'Wijs15', 'Giet07e', 'Nott14', 'Blee08', 'Chen17', 'Lens17', 'Bol16a', 'Grin15', 'Sche02c', 'Xu06a', 'Pelo07', 'Ciom11', 'Litj16c', 'Thij07', 'Huefn99', 'Wrig08', 'Simo06', 'Mend10b', 'Kort15', 'Rikx08c', 'Gott06a', 'Kris07', 'Amir14', 'Weve11', 'Phil15a', 'Berg04c', 'Mass91b', 'Mend09a', 'Nagh03', 'Madu15', 'Lang99a', 'Dijk16', 'Hesk13', 'Buij98a', 'Clae08', 'Kall16', 'Klae05a', 'Hout02', 'Jong10', 'Vos13', 'Ven16', 'Bouc04', 'Eise03', 'Boo09', 'Wate12a', 'Will17', 'Kars93', 'LinE06', 'Kouw07a', 'Vos10b', 'van15h', 'Sanc08b', 'Fuch03', 'Mord16', 'Vlan11', 'Kopp06a', 'Sand11a', 'Kopp05', 'Stil13a', 'Vree16c', 'Heij07', 'Tiel07', 'Lo11', 'Isgu07b', 'Sun14a', 'Ginn03a', 'Murp09a', 'Verz10', 'Yaka12a', 'Grin13b', 'Will16a', 'Zerb14a', 'Fuett11a', 'Tess16', 'Hoek11a', 'Leem15', 'Brou03', 'Kell12', 'Terr14', 'Wimm14', 'Sanc08', 'Vist14', 'Fran15', 'Doll14', 'Boe03', 'Beso15', 'Greu07', 'Hoeb13', 'Woli15', 'Weij12a', 'Maes17', 'Samu08', 'Kock16', 'Klei17', 'Stro14', 'Smid16', 'Hamb10', 'Gran09', 'Haas14a', 'Nill10', 'Budd10a', 'Thij88', 'Rij13', 'Char15b', 'Veld00b', 'Kars91', 'Hups09', 'Bov97', 'Slui02', 'Chau14a', 'Sche11', 'Bran11', 'Scho14c', 'Woli15a', 'Vos10a', 'Giet06', 'Vos14', 'Taya17', 'Mets12i', 'Krab08', 'Keul09a', 'Berk94', 'Lopa11', 'Plat11', 'Idze08b', 'Demi09', 'Smit12', 'Vugt14', 'Oyen09', 'Scho03a', 'Isgu05', 'Aart08', 'Veli08', 'Kooi17d', 'Hoeb14', 'Koek12', 'Jaco12', 'Troo14', 'Kars05', 'Gand15', 'Zelb14', 'Khan14a', 'Prok96', 'Capp03', 'Beic16', 'Fond13', 'Venh17b', 'Somm09', 'Rege13', 'Have03a', 'Oezde16', 'Carv17', 'Litj12c', 'Bex14', 'Dupp15a', 'Scha12', 'Boer12a', 'Bagl13', 'Schi05b', 'Hekm17', 'Xu09', 'Hoek13c', 'Ven11', 'Andr12a', 'Boer08', 'Kall16b', 'Mele14a', 'Over13', 'Laar06b', 'Frid02', 'Isgu11', 'Jong86', 'Trem04', 'Schi05a', 'Wilb14a', 'Liu15', 'Muse15', 'Bald04a', 'Hooi08', 'Trui07', 'Durm14a', 'Ginn00a', 'van16h', 'Hesk16', 'Aben11', 'Doer06', 'Stef99', 'Merc14', 'Henn10a', 'Fue16a', 'Stee97a', 'Ohta09', 'Schr11a', 'Rooi14b', 'John13a', 'Be05', 'Tel13', 'van15g', 'Deba11', 'Wier10', 'Khal12', 'Jans00a', 'Breu12a', 'Kort14a', 'Kort00', 'Kort97a', 'Hooi09', 'Buss11', 'deJ03', 'Troo07', 'Ginn11', 'Madu15a', 'Joha01', 'Gold07b', 'Amir13a', 'Adri09', 'Kadz17', 'Lee09c', 'Leem17', 'Need15a', 'Blac96', 'Pete13', '04', 'Urib11', 'Stoi17b', 'Mann08c', 'Hoge13b', 'Boom12a', 'Pomp15', 'Thij89', 'Fekk16', 'Ruh06', 'Xu08b', 'Aart09a', 'Prin13c', 'Ruh05', 'Hore14a', 'Sawi16', 'Riet07', 'Terr15a', 'Rikx08b', 'Conw11', 'Nedr11', 'Fuet05', 'Brou05b', 'Cany13', 'Mavi12a', 'Kouw05a', 'deG06', 'Roos12', 'Sanc12', 'Stei12', 'Rath98', 'Roel04', 'Roth04', 'Venh17', 'Gran07', 'Wein06', 'Stik03', 'Lopa09b', 'Viss11', 'Chen14', 'Fleu14b', 'Viss09', 'Kouw06c', 'Oost15', 'Kolk15', 'Heer99', 'Wu13a', 'Meli09', 'Schw16', 'Thij87', 'Over16', 'Will04a', 'Carr11', 'Puig03', 'Sard16', 'Rabb14', 'Delh16', 'Ginn01', 'Vree16a', 'Niel16', 'Garc17', 'Graa92a', 'Hoop10a', 'Voge14', 'Scha13g', 'Maaz95', 'Laar05', 'Laue13', 'Tan13', 'Spaa09', 'Brom14b', 'Schr14', 'Verg15', 'Gott06e', 'Timp07', 'Will09', 'Frig17', 'Berg10', 'Boer17a', 'van15b', 'Bare13', 'Bern92', 'Fort14', 'Mend09', 'Marc11c', 'in00', 'Hadl84', 'Seab11', 'Verg16', 'Vijv16', 'Viss07', 'Garc07', 'Broe04', 'van15p', 'Rutt08a', 'Muen10', 'Jasp11', 'Ter17', 'Wrig10', 'Meli10a', 'Ruer07', 'Aarn13', 'Brom16', 'Rijp03a', 'Enge01', 'Loog04d', 'Sabo08', 'Zuij08', 'Mann08', 'Ven13b', 'Oyen05', 'Scha02d', 'Niem10a', 'Scha13a', 'Samu09', 'Hoog17a', 'Prok02', 'Rijp14a', 'Lave02a', 'Bome13', 'Kall08', 'Mann10a', 'Lage12a', 'Prok97a', 'Zerb12a', 'DiF09', 'Hamo14', 'Brui03b', 'Desa11b', 'Hu15', 'Kars11b', 'Kort16a', 'Kall12b', 'Ferr08', 'Mend10a', 'Huig15', 'Kort16', 'Boel15a', 'Jaco13b', 'Phil15', 'Rene08', 'Steen92', 'Isgu09a', 'Roos14', 'Hesk12', 'Holl16a', 'Klom09', 'Wieg17a', 'Heer92', 'Desa10a', 'Blue15', 'Vos15', 'Inag14a', 'Meij13a', 'Cohe16', 'Ginn08e', 'Hoop09a', 'Jaco11a', 'Stev12', 'Reza16', 'Kamm96', 'Stev13', 'Hart93', 'Berk04', 'Klym16', 'Thij93', 'Witt12', 'Gees15b', 'Hari03', 'Scha12a', 'Sand00', 'Plui12', 'Rijp17', 'Mets16a', 'Sava11', 'Vos15b', 'Riel13a', 'Heij07a', 'Lue14', 'Luij10', 'Verb94', 'Keij09', 'Horb17', 'Broe09b', 'Preh09a', 'Kobu15c', 'Thij80', 'Yan07', 'Brun07', 'Ghos12', 'Budd11', 'Less16', 'Arno16', 'Sieg15', 'Hoog88', 'Ven13', 'Groo14a', 'Huo13', 'Cair03', 'Maas13b', 'Coel15', 'Puig02a', 'Brou08', 'Scho17', 'Fort13', 'Araz15', 'Ponc14', 'Hees07', 'Silv17', 'Blee11', 'Koun09', 'Ros90', 'Vila08a', 'Scha03', 'Graa97', 'Scho93', 'Wand17', 'Kamm03', 'Heij12b', 'van15', 'Boer07', 'Lava15', 'Ma14', 'Schu11a', 'Rijp03', 'Muhs06a', 'Seti16', 'Claa16', 'Cesp00', 'Wijn15', 'Dijk15b', 'Herm12a', 'Nair12a', 'Wies17b', 'Groo15a', 'Hoge12', 'Vrie10c', 'Luet14b', 'Prin13d', 'Blee04b', 'Eter16a', 'Schi06c', 'Mets12f', 'Brom12a', 'Veli08a', 'Lutj09', 'Bome14', 'Grae93', 'Schm02', 'Berk95', 'Weid05', 'in99', 'Iqba08a', 'Hekm16', 'Mart05', 'Chun17a', 'Brec12a', 'Grin16c', 'Phil15b', 'Prok97', 'Grot13', 'Dekk14', 'Dese09', 'Gebb93', 'Ring06', 'Prok03b', 'Lake98', 'Aart99', 'Rijk15', 'Wang12', 'Lang98', 'Mooi16', 'Kall09', 'Bank15', 'Desl14', 'Niem11b', 'Chat16a', 'Usui14', 'Shuk02', 'Lass15a', 'Mend07a', 'Zadr02', 'Roth14', 'Senf08', 'Ross12', 'Enge03a', 'Stro14a', 'Brom15', 'Boer15a', 'Blee03', 'Dalm17a', 'Rijp02', 'Slui06', 'Sanc06a', 'Klei15', 'Hoge11', 'Kolk04', 'Brun10', 'Puar16', 'Ginn10b', 'Luts07', 'Heer97', 'Brec09', 'Isgu10', 'Wier04', 'Rong05', 'Prin13b', 'Schi10a', 'Bitt12', 'Klav09', 'Scho14b', 'Futt06', 'Ginn09b', 'Vrie12', 'Ritc16', 'Oyen92', 'Ter16', 'Bejn13', 'Uffm08', 'Wilb14', 'Meij08', 'Gort08', 'Enge05b', 'Carl02', 'Gill00', 'Gijs15c', 'Niel11', 'Sand11', 'Fue16', 'Hase16', 'Lass12', 'Dijk07d', 'Clae08a', 'deV02', 'Enge06c', 'Lage16', 'Moha14', 'Emau15a', 'Pros12', 'Subr13', 'Jans14', 'Zwol2001', 'Stee11', 'Sche09', 'Hint05', 'Lupo03', 'Scha12b', 'Beer08', 'Rooi14a', 'Prok93a', 'Lass15', 'Voge08', 'Blee03a', 'Gott06c', 'Harl11', 'Thij95', 'Huss98', 'Laar09', 'Mann08b', 'Wata16', 'Maas16', 'Pate17b', 'Staa04a', 'Ferg91', 'Aert14', 'Wate14a', 'Schu05', 'Troo09', 'Mend09b', 'Kok05', 'Weim97', 'Kars09', 'Jans13b', 'Enge05', 'Rikx06a', 'Kars97', 'Wies17', 'Verz12', 'Enge02', 'Litj13', 'Teus13', 'Brin08', 'Brak00', 'Altm97', 'Avoi13', 'Ginn15', 'Luij01', 'Idze12', 'Voge07b', 'Grat02', 'Mert12', 'Zech09', 'Vuka12', 'Brow12', 'Boer85', 'Muse15a', 'Gube15c', 'Kok02', 'Roos08', 'Zaid14', 'Hoek11', 'Rooi17a', 'Hoge10a', 'Hamo14a', 'Hoek13', 'Sand99a', 'Gott11', 'Chun15', 'Dey14', 'Thal03a', 'Duss98', 'Hees09', 'Schi06a', 'Litj15', 'Ball15', 'Stei16', 'Scho12a', 'Crim09a', 'Mann06e', 'Kock10a', 'Rene05', 'Schm12', 'Radd08', 'Gebh15', 'Aert11', 'Laar03', 'Scha14d', 'Idze15', 'Murp08c', 'Hoog90', 'Oost08', 'deJ09a', 'Grin12a', 'Lepp95', 'Gube12', 'Ginn08c', 'Romi91', 'Albe12', 'Laar06a', 'Fleu13a', 'Hofs88', 'Veli09', 'Lage13a', 'Thij86', 'Lopa09a', 'Yim11', 'DeGr99', 'Kemp09', 'Litj15c', 'Oyen15', 'Gren10', 'Schw13', 'Kars90b', 'MacM17', 'Nijh13', 'Zerb14', 'Mets12g', 'Will16c', 'Meer17', 'Ven12c', 'Murp08b', 'Cuij07', 'Idze06', 'Broe05', 'Durm14', 'Kapu00a', 'Wies15', 'Will16d', 'Enge00', 'Ciom12', 'Mets12b', 'Mema06a', 'Brow10', 'Murp12', 'Wijm95', 'Bult12', 'Boo11b', 'Napo16', 'Sriv14', 'Oyen11', 'Flac14', 'Post07', 'Meeg14', 'Steen94', 'Meij07', 'Ande05', 'Meij16b', 'Schi09a', 'Care11', 'Vegt06', 'Vers08', 'Somf13', 'Niem05a', 'Voge05b', 'Thal03b', 'Riel15b', 'Fleu11', 'Wijs16', 'Aarn12a', 'Leeu17', 'Gott06b', 'Lee08', 'Niem08a', 'Dijk15', 'Kooi17a', 'Klae05', 'Unde15', 'Zand11', 'Stru13', 'Stoeg17', 'Deba16a', 'Yim11a', 'Stei14', 'Schu00', 'Muse14', 'Bare99', 'Beum16', 'Scha90', 'Ozde13', 'Firo13', 'Sarr13', 'Niem09e', 'Mook08', 'Wrig09', 'Ginn02a', 'Fall16', 'Camb06', 'Gutb11', 'Gott14', 'Hans16', 'Smit91', 'Kort11', 'Thij08', 'Oei11a', 'Grin13', 'Herm12b', 'Oost85', 'Bouc02', 'Bome17', 'Yim10', 'Aebe93', 'Fagg11', 'Hans09', 'Esch17a', 'Kooi17', 'Veld03b', 'Mema07', 'Muse14b', 'Gamb06', 'Aart06', 'Mets13b', 'Laak78', 'Renn07', 'Zand03', 'Mulk04', 'Boo11', 'Morg14', 'Mann14', 'Amer13', 'Isgu09', 'Steen91a', 'Aalt11', 'Meij17a', 'Meij13b', 'Fort12', 'Renn10', 'Brun12', 'Schi05', 'Idze14', 'Mele12', 'Teus15a', 'Troo10a', 'Meij16', 'Simo03', 'Plat12', 'Tall00', 'Blee04a', 'Marc12a', 'Grin14', 'Lopa09', 'Naka11', 'Yang14', 'Mele14b', 'Prok00', 'Brun13', 'Naid13', 'Meij12d', 'Chon11', 'Yen04', 'Gube13a', 'Meij15c', 'Gils99', 'DeSt11', 'Hent16', 'Tate06', 'Hoop10b', 'Holl15a', 'Kamp15', 'Nab92', 'Tanc10', 'Veer14', 'Rikx09b', 'Rikx11d', 'Pale13', 'Gamb04', 'Sanc11b', 'Usma13a', 'Schu14', 'Blic04', 'Litj16b', 'Holl16c', 'Busc16', 'Rikx09a', 'Herm13', 'Niem06b', 'Stoe08', 'deB16a', 'Sari14', 'Niek14a', 'van15d', 'Blue12', 'Rooi14', 'Niek11', 'Pond08', 'Ghaf17c', 'Kobu12a', 'Gibs17', 'Dirn06', 'Dijk06a', 'Suko03', 'Bol14', 'Rikx09d', 'Brou03a', 'Yana15', 'Muld16', 'Vos14b', 'Surc14', 'Troo05', 'Meij17b', 'Jara15a', 'Ginn08b', 'Holl14', 'Kall11a', 'Rikx09c', 'Erik16', 'Brin10', 'Jaco91', 'Scha97c', 'Theu15', 'Luij08', 'Sche01', 'Prok05a', 'Rijp15', 'Broe10', 'Thij90a', 'Reic89', 'Kost16', 'Wijs17', 'Walk08', 'Krau07', 'Laba17', 'Gige01', 'Vier11', 'Litj09', 'Hoog17', 'Vos12a', 'Kooi16a', 'Mann00', 'Stei15', 'Hama15', 'Dalm15', 'Moha13', 'Dijk11', 'Lepo15', 'Prok01', 'Schm13', 'Kars11a', 'Eerd14', 'Rij11', 'Kroo17', 'Jeur11', 'Wu09', 'Meel17', 'Mus17a', 'Schi06b', 'Jaco10c', 'Gube11a', 'Enge07', 'Srin15', 'Ginn14', 'van16f', 'Lori13', 'Kopp05a', 'Tan15a', 'Hamb11', 'Elha14', 'Star09', 'Ciom12a', 'Prin12', 'Romi87', 'Reic90', 'Ritc15', 'Mowa13', 'Wand17a', 'Albe11', 'Rutt08', 'Gott07a', 'Scha15', 'Broe05a', 'Bome17a', 'Riel15d', 'Kooi86', 'Kull11', 'Moor13', 'deG08', 'Prok93', 'Kaem95', 'Otte09', 'Teus15', 'Ruer02', 'Niel14', 'Ciom15', 'Niek12', 'Lass11', 'Pane15', 'Ramo13b', 'Kobu16b', 'Mann16c', 'Kapu07', 'Bank07', 'Wieg16a', 'Kars10', 'Scha03e', 'Litj15b', 'Rikx07b', 'Stee17a', 'Vere03', 'Kan04', 'Prok90', 'Bare17', 'Mend11', 'Schi11c', 'Mull15', 'Lang02', 'Nijh16', 'Scha02c', 'Simo05c', 'Kort97', 'Poko14', 'Roos10a', 'Mann06b', 'Boxt15', 'Fuett07', 'Oei08', 'Klei09', 'Laan12', 'Mare11', 'Arzh09c', 'Post03a', 'Stei14a', 'Oezd16', 'Ginn06', 'Broe05b', 'Eter15', 'Nill11', 'deG09', 'Voge06a', 'Loog06b', 'Scha03c', 'Post03d', 'Page12', 'Nieu15a', 'Raza15', 'Aren12', 'Jans15a', 'Berk15a', 'Wille06', 'Will16b', 'Kamm94', 'Joos17', 'Kooi17c', 'Hoop08', 'Vos14a', 'Ciom13a', 'Carr15a', 'Kobu12b', 'Brui03a', 'Boot17', 'Balo11', 'Romi89b', 'Loog02a', 'Doum10', 'Shi09', 'Scho17a', 'Jans04', 'Samu11a', 'Dors04', 'Hend16', 'Berk96a', 'Hesk14b', 'Somf08', 'Nabu08', 'Brui04', 'Vent14b', 'Scho13d', 'Bhun13', 'Marc12b', 'Holt02', 'Lang98b', 'Stav97', 'Lakh14', 'Case99', 'Star10', 'Barr12', 'Deur94', 'Geus07a', 'Huge15', 'Niem09d', 'Ginn01c', 'Nune09', 'Fuett12b', 'Kita07', 'Ven13c', 'Scha14e', 'Ji13', 'Bril11', 'Rikx08', 'Lupo02', 'Kort00a', 'Aarn12b', 'Wand15a', 'Gasp07', 'Abra08a', 'Corv14', 'Thij11', 'Thij82', 'Litj12d', 'Deng09', 'Smit09', 'Graa91a', 'Luca13', 'Niem08', 'Hoog15a', 'Wijn10a', 'Gilh02', 'Sieg17', 'Kale01', 'Nabu10a', 'Ginn09a', 'Desa12a', 'Sanc10a', 'Goed92', 'Garc15', 'Meij15', 'Lee10d', 'Aald17', 'Prok05', 'Arzh07a', 'Vlie07', 'Hump17', 'Wolf98', 'Pete17', 'Isgu03', 'Wink15a', 'Eijc09', 'Popa11', 'Broe10a', 'Chon11b', 'Rens11a', 'Geer15', 'Vend17c', 'Vran12', 'Snoe05', 'Scha99', 'Over06', 'Muyo14', 'Mann07', 'Heij15', 'Snoe03', 'Bare12a', 'Freu14', 'Ginn07a', 'Cesp99', 'Saks14', 'Sche00', 'Berg98b', 'Post11', 'Groo16a', 'Phil04a', 'Mook09', 'Groo16b', 'Mars14', 'Sun03', 'Waai09', 'Verz14', 'Hoog87', 'Kroe09', 'Lesn12a', 'Bejn17', 'Bria16b', 'Chat14', 'Bult12a', 'Boze12', 'Mang09', 'Cloo86', 'Poko15', 'Nabu10', 'Gige13', 'Meij09c', 'Zerb12', 'Jans15b', 'Wolt16', 'Seti15', 'Schi03a', 'Teeu12', 'Sun16b', 'Devo04a', 'Sche07', 'Hoop10', 'Holl17b', 'Dald99', 'Mets02', 'Steh14', 'Eijn09', 'Snoe04', 'Pere15', 'Boer11', 'Gala93', 'Heer94', 'Cann08', 'Koni14', 'Daen87', 'Fens13', 'Veli07', 'Klei04', 'Phil2016', 'Fuett04', 'Kran98', 'Leem17a', 'Klei06a', 'Gala94', 'Brin11', 'Sanc11a', 'deJ09b', 'Desa12', 'Ciom14a', 'Heer93', 'Dijk07a', 'Isba15', 'Sch08', 'Vegt10', 'Jans02a', 'Vugt12', 'Oliv11a', 'Samu08b', 'Lamb06', 'Roth03', 'Mets13c', 'Kouw05b', 'West09', 'Subr13a', 'Hore13b', 'Smit94', 'Gill08', 'Radm11', 'Verz11', 'Fleu14d', 'Muse13b', 'Weve94', 'Blee15', 'Wern04', 'Mele16a', 'Mari17', 'Valc97', 'Leym96', 'Madu13c', 'Ding2006', 'Voge04', 'Usma14a', 'Bare96', 'Lori13a', 'Gees07', 'Lass12a', 'Merc12', 'Srik13', 'Boom14', 'Kyri09', 'Veld09a', 'Klei12', 'Niem05', 'Plat11a', 'deG05', 'Rikx06', 'JPBe01', 'Hart11', 'Moe13', 'Scho14', 'Bald04', 'Timp04', 'Scho14d', 'Elli11', 'Laar07', 'Cloo83', 'Lief17', 'Niem09c', 'Herm11c', 'Stee98', 'Mada11', 'Oz14', 'Madu11a', 'Snoe10', 'Zhan08a', 'McCa02', 'Tang11', 'Lens16', 'Terw13', 'Heij14', 'Wu06b', 'Firo10a', 'Schm92', 'Pins13', 'Olbr95', 'Sper04', 'Ciom14', 'Lee13', 'Pill09', 'Capp98', 'Boo11a', 'Fleu14a', 'Wies17a', 'Jage96', 'Scha93', 'Broc14', 'Groo16j', 'Arzh06', 'Mull99', 'Thoe09', 'Luka04', 'Mann98', 'Oest91a', 'Vell08', 'Mann11', 'Verb05', 'Osch05', 'Cate08', 'Vasa02', 'Ginn12', 'Back09', 'Vos07', 'Albe94', 'Litj10', 'Olbr96', 'Rijp04', 'Chen17b', 'Rij14', 'Stef02', 'Reuv15', 'Vare93', 'Chun11', 'Meij14a', 'Scha13c', 'Hore13a', 'Bare99c', 'teR15', 'Vald16', 'Scha14f', 'Beke16', 'Gome12', 'Bax05', 'Wang15', 'Idze06a', 'Deun10a', 'Enge03', 'Gala92a', 'Schu11', 'Klei03c', 'Fust11', 'Pate17a', 'Schi13c', 'Kort98', 'Corn10', 'Luts09', 'Rooi16', 'Mend12', 'Hori10', 'deH03', 'Scha05', 'Sari11', 'Huan16', 'Scha02e', 'Vran14', 'Muen14', 'Qaiy91', 'Koui13', 'Sari16', 'Hart04a', 'Mord14', 'Schu12a', 'Kan09a', 'Gees08', 'Preh09', 'Lakh16', 'Giet10a', 'Heij09', 'Rein06', 'Samu08a', 'Gube15a', 'Gott02a', 'Klei03b', 'Syme09', 'Mann13a', 'Scha06', 'Niem03b', 'Sail04', 'Mohr16', 'Voge05', 'Ribb07', 'Smit93', 'Sala15', 'Dijk09a', 'Fuett08d', 'Ward2005', 'John01a', 'Diss10', 'Ven12', 'Troo08', 'McBr09', 'Kort02b', 'Wang12f', 'Staa04b', 'Wijk03', 'Vess16', 'Stol09', 'Nill16', 'Scha13e', 'Pomp16a', 'Thal03', 'Merg98', 'Oliv11', 'Kroe13', 'Wick07', 'Enge06', 'Scha08b', 'Hoek12', 'Meij15a', 'Prok03a', 'Eile14', 'Rikx13', 'Velt08', 'Adri11', 'Aren16', 'Will00', 'deG02', 'Heij12a', 'Klom07', 'Kobu15d', 'Veld00', 'Herm11d', 'Trui09c', 'Mele15', 'Brou05', 'Scha05c', 'Riks07', 'Grin16a', 'Luetj14', 'Heim07a', 'Nab90', 'Schm14', 'Vere03a', 'deN16', 'Idze08a', 'Nune14', 'Groo15c', 'Renn02', 'Theu12', 'Desa11', 'Aert12', 'Scha02b', 'Mele12a', 'Veth05', 'Vers97', 'Boss16b', 'Schi07', 'Hove08', 'Mol10', 'Kall12a', 'Hoeb14b', 'Kock10b', 'Mass91a', 'Hart02', 'Kuro14a', 'Madu13a', 'Brak99', 'Boom13', 'Tan12', 'Boer14', 'Broe09a', 'Ghaf13', 'Schm04', 'Vuka09', 'Slui06a', 'Berg99', 'Belk15', 'Keij11', 'Stee09', 'Deba11a', 'Thij89a', 'Gube15b', 'Bone11', 'Gove16', 'Boo12a', 'Jans16', 'Seln12', 'van15l', 'Vegt11a', 'Valv11b', 'Will07a', 'Weij13', 'Aarn13b', 'Dalm15c', 'Graaf04', 'Veni04', 'Tres16', 'Sche07c', 'Isgu09b', 'Sier16', 'Pomp16', 'Chat16', 'Meer16', 'Babo16', 'Jong11a', 'Renn03a', 'Cate05', 'Troo10e', 'Rij16', 'Troo10d', 'Char16c', 'Sard14', 'Alon09', 'Arma08', 'Verh85', 'Kars04', 'Jaco13a', 'Daerr11', 'Will07', 'Ciom15a', 'Yama16', 'Stil10', 'Lave12a', 'Wier07a', 'Sun16', 'Mang05', 'Donc12', 'Lieb15', 'Kamm00', 'Adri09a', 'Brug10', 'Buij90', 'Lass12b', 'Berg15a', 'Sleb15', 'Heer85', 'Kome11', 'Domb99', 'Fleu14', 'Bran07a', 'Schr15', 'Bare11', 'Aren11', 'Donn13', 'Kolk98', 'Mets12a', 'Keul09', 'Rose10a', 'Ding08', 'Vree16b', 'Ciom09', 'Wiel11', 'Berg10a', 'Scho11', 'Mets12e', 'van15a', 'Witj03', 'Kull11a', 'Gube15f', 'Hesc89', 'Marc12', 'Kaem96', 'Holl17a', 'Zhan14a', 'Boss01', 'Sanc06', 'Ciom16a', 'Veli13', 'Bast09', 'DeV16', 'Walk08a', 'Stou01a', 'Noeba01', 'Brun11a', 'Kale94', 'Yous16', 'Kan07', 'Ritc15a', 'Kloo14', 'Meij10a', 'Blee09a', 'Hori10a', 'Mako11', 'Vegt08', 'Ciom16', 'Mord16a', 'Giet10', 'Roess16', 'van16c', 'Lee08a', 'Dine10', 'Scha97', 'Hups10', 'Moe12', 'Jara15', 'Madu16', 'Jaco14a', 'Sari11a', 'Bert16a', 'Koui16', 'Oonk14', 'Meye12', 'Somf13b', 'Prok97c', 'Thij78', 'Bout08', 'Boo12', 'Aart12', 'Zels12', 'Giam14', 'Kobu11', 'Smit10', 'Mann04b', 'Greb14', 'Hees15', 'Kall08a', 'Klei02a', 'Vran16', 'Berk16', 'Xiao10', 'Blee05', 'Vend16', 'Venh15a', 'Gott06', 'Werr05', 'Vos08a', 'Mann10e', 'Gott07', 'Amin11', 'Aarn12', 'Bink08', 'Stie14', 'Vos11b', 'Hero14', 'Kort02a', 'van15n', 'deJ07', 'Berk96', 'Horn04', 'Renn02a', 'Chun17', 'Hamo13', 'Grin12', 'Robb11', 'Klaa17', 'Rutt15', 'Kopp06c', 'Eerd05a', 'Thij93a', 'Riel15', 'Gamb10', 'Oyen07', 'Graa10a', 'Be07', 'Dijk12', 'Isgu04', 'Timp06', 'Tan13e', 'Scho14f', 'Jaco13', 'Rikx12a', 'Beuc06', 'Aars89', 'Yaka11c', 'Luko08', 'Dijk07', 'Witt04', 'Moye14', 'Brid17', 'Dijk10c', 'Seff14', 'Mann16', 'Aart08a', 'Styb12', 'Lave07', 'in98', 'Scho17b', 'Staa04', 'Hend89', 'Jans13a', 'Arzh07c', 'Kall12', 'Brun09', 'Lass17', 'Meij17d', 'Deva17', 'Aste15', 'Lupo02a', 'Ginn05a', 'Rous01', 'Sche01a', 'Hell12', 'Eder10', 'Syme11a', 'Kort94', 'Visw14', 'Hage04', 'Poza06', 'Hove08a', 'Lamm12a', 'Durm12', 'Akyi15', 'Kapu00', 'Schi03', 'Lopa10a', 'Kroe17', 'Rads11', 'Gran03', 'Buss13', 'Venh16a', 'Leeu11', 'Enge98', 'Tixi16', 'Vend16a', 'Arif15a', 'Scha08c', 'Sieb06', 'Simo02', 'Pate17', 'Ciom10a', 'deJ11b', 'Wijs16a', 'Bern96', 'Schm12a', 'Ven15', 'Thij76', 'Vrie15a', 'Lass14', 'Budi11', 'Wies16a', 'Vrie09c', 'Gatt09', 'Scha12c', 'Geve14a', 'Laak79', 'Niem09a', 'Lang94', 'Ciha99', 'Uffm04', 'Hama13', 'Maas13', 'Fuett12a', 'Thal07', 'Witt11', 'Jans13', 'Brow09', 'Link09', 'Hees08', 'Scho15b', 'Reic91', 'Venh15c', 'Ginn03b', 'Hoge13', 'Isgu10a', 'Kan07a', 'Keij09a', 'Mann05a', 'Eise12', 'Staa07', 'Lave02b', 'Stee93', 'Post12', 'deG07b', 'Mord12', 'Avil17', 'Scha14j', 'Scha05d', 'Scha13h', 'Wieg16', 'Valv11', 'Brem99', 'Ciom13', 'Trui09a', 'Jans10', 'Riet06', 'Hari15', 'Kloo15', 'Ciom09a', 'Dijk13b', 'Heer04', 'Hesk10', 'Chri13b', 'Brun11', 'Lyck97', 'Cox11', 'deK07', 'Lopa10', 'Hanc16', 'Be03', 'Grin16', 'deR15', 'Mann06', 'Niem06a', 'Luts08', 'Berg00a', 'Klom09a', 'Kobu16', 'Li12', 'Seme13', 'Wang15b', 'Zhan07', 'Loog03', 'Hunt05', 'Geus15', 'Brec08', 'Ginn02b', 'Fort13b', 'Huss00', 'Idze08', 'Ginn17', 'Lier12', 'Blee05a', 'vanr99', 'Seab10', 'Verb09', 'Peng05a', 'Isgu04a', 'Kars08b', 'Siep10', 'Gree16', 'Brui02', 'Bald05', 'Huis05', 'Yaka10', 'Ghaf17', 'Garc05', 'Uffm05a', 'Hoeb10', 'Adri11b', 'deG07', 'Lopa10c', 'Lo12', 'Jagt09', 'Kauc15', 'Brou04', 'Ghaf16', 'Madu13', 'Heij12c', 'Rikx11', 'Fuch08', 'Prok91', 'Kobu12', 'Thal02', 'Heer97b', 'Blee07b', 'Riel15c', 'Gube11', 'Dick11', 'Zand10', 'Haas15', 'Niek14', 'Ramo13a', 'Vrie11a', 'Peet05c', 'Niem11a', 'Schu99', 'Breu12b', 'Dijk07b', 'Gamb05a', 'Gott06f', 'Char13', 'Kell12a', 'Tan13d', 'Kall15a', 'Arif14', 'Graa11', 'Murp10a', 'Soly15', 'Yaka08', 'Dijk10', 'Ciom14c', 'Steg09', 'Kauc15a', 'Idze09', 'Wang08b', 'Perr13a', 'Voge05a', 'Male10', 'Litj11', 'Velt08a', 'Arta09a', 'Bala05', 'Wrig12b', 'Fleu13', 'Sanc09b', 'McWi02', 'Chat15', 'Ahlg10', 'Hawk16', 'Scho13c', 'Nune11', 'Vos06a', 'Dels13', 'Gamb11', 'Arif14c', 'Wand15', 'Holl16b', 'Tan14', 'Post03', 'Giet07d', 'Perr13', 'Desa16', 'Bos15a', 'Vos11', 'Bake15', 'Haax07', 'Remi15', 'Bult15a', 'Loog06', 'Jaco15a', 'Land05a', 'Dana97', 'Klik06', 'Ridg15', 'Hamb12', 'Ghaf17b', 'Jost02', 'Wals00', 'Wolf93', 'Bria16a', 'Brow08a', 'Oonk15', 'Ven14', 'Stav96', 'Fuett08b', 'Mele14', 'Nill11a', 'Brou04b', 'deJ09', 'Sper02', 'Pate10', 'Eerd06a', 'Gort08a', 'Breu14', 'Mour16', 'Ginn13a', 'Deun09', 'Zhou12a', 'Bax09', 'Graa91b', 'Lave12', 'Crol11', 'Frei14', 'Gube16', 'Legt02', 'Hees12', 'Thij96', 'Mahm14', 'Rooi17', 'Kort03', 'Hill2016', 'Timp05', 'Meij17c', 'Bitt14', 'Gott10a', 'Dick13', 'Heij11', 'Idze12a', 'Brui16', 'Gott03c', 'Dess16', 'Kapu14', 'Huis01', 'Huis10', 'Lest05', 'Graa91c', 'Meye11', 'Gees15', 'Ven11a', 'Scho11a', 'Igle09', 'Mord13', 'Jaco10f', 'Moto10', 'Rutt15a', 'Srin10', 'Schu09', 'Loog04e', 'Verh91', 'Boek99', 'Blok12', 'Thom12', 'Chit11', 'Huis98b', 'Kall10', 'Vrie15', 'Reis12', 'Meij09', 'Char16a', 'Scho12d', 'Kaem00', 'Sanc04', 'Niem10', 'Kadz16a', 'Vrie09', 'Sun12', 'Troo15', 'Madu13b', 'Heet11', 'Eerd10', 'Scha05g', 'Jong09', 'Berr15a', 'Sech15', 'Leen04', 'Jaco10e', 'Boze14', 'Ven10b', 'Meij11', 'Ginn99b', 'Somf13a', 'deG12a', 'Schi10', 'Terr14a', 'Schu07', 'Idze13', 'Berg98a', 'Toxo15', 'Rijk14', 'Habr09', 'Scha14', 'Desa09', 'Stee06', 'Lo13a', 'Ramo12', 'Dalm16', 'Bol15', 'Veld00a', 'Brug13', 'Roel06', 'Choe12', 'Blee07a', 'Bare16', 'Ruij15', 'Mus12', 'Koe05', 'Bhas13', 'Scho10', 'Vrie10a', 'Kabu09', 'Veer15', 'Delh10', 'Mets12c', 'Renn04b', 'Witt97', 'Mend10', 'Loog06a', 'Wier05', 'Work17', 'Wijn10', 'Sand97', 'Valv11a', 'Shin13a', 'Klei03a', 'Vend17b', 'Hups09a', 'Ginn10', 'Will14b', 'Scho10c', 'Silv13a', 'Klae03a', 'Grin15a', 'Poet14', 'Char16b', 'Sche15a', 'Fuett06', 'Gall16', 'Navi13', 'Aart07a', 'Smit13', 'deJ11a', 'Madu11', 'Vare06', 'Wang13b', 'Bone12', 'Corn94', 'Vers14', 'He15', 'Fuett08', 'Rikx09e', 'Scha05e', 'Wate14b', 'Estr12', 'Litj15a', 'Call15', 'Hesk15a', 'Stou11', 'Jans13c', 'Murp11a', 'Brus04', 'Herp09', 'Kuro14', 'Peng07', 'Melb11', 'Lage17', 'Litj12b', 'den06', 'Koop06', 'Koop08a', 'Kobu15a', 'Geve14', 'Vos08', 'Trom12', 'Jaco14', 'Voge07', 'Bong05', 'Drie16', 'Hoek09', 'Bare16a', 'Deur01b', 'Diez14', 'Meij14', 'Thal05', 'Buss10', 'Litj14c', 'Oyen04', 'Madu09', 'Koop16', 'Verb12', 'Jaco12c', 'Niem04a', 'Kool94', 'Hesk14c', 'Dick12', 'Dijk13c', 'Kemp06', 'Gall12a', 'Thom07', 'Ginn08', 'Pegg17b', 'Cara17', 'deJ11', 'Dekk13', 'Hari16a', '04a', 'Vleu12', 'Hend06', 'Hern17', 'Klom08a', 'Meeu11a', 'Kobu13', 'Aarn16', 'Heme16', 'Rene11a', 'Tang08', 'Huls13', 'Rozi99', 'Dale07b', 'Char16', 'Stee16', 'Rott15', 'Vos06', 'Kan09', 'Broe09c', 'Slui05a', 'Ciom10', 'Kars08', 'Rozi98', 'Broc12', 'Vegt11', 'Aren15', 'Voge06', 'Hans10b', 'Meij09a', 'Haer95', 'deG06b', 'van15r', 'Niem05b', 'Vos12b', 'Hans12a', 'Meij13c', 'Stap15', 'Grin16b', 'Wate13', 'Tan05', 'Hoff16', 'Heer88a', 'Stee17', 'Buss11a', 'Stil07', 'Lage13', 'Tigc16a', 'Fue15', 'Yaka11', 'Scha05f', 'DeK09', 'Kobu15', 'Vos13c', 'Mann12b', 'Habe15', 'Lave08', 'Prok14', 'Gott04', 'Murp07', 'Boer12', 'Laar10', 'Kars10b', 'Lave00', 'Need15', 'Verh02', 'Lesn12', 'Ginn99a', 'Vrie11', 'Rikx10b', 'Lamm13', 'Brui03', 'Tula13', 'Witj00', 'Kall11', 'Firo08', 'Hoop10c', 'Wate14', 'deR15a', 'Erni84', 'Iqba08', 'Gott06d', 'Bare07a', 'Jac07', 'Usma15', 'Viss12', 'Kort99a', 'Ven10', 'Boud16', 'Eerd06', 'Chon11a', 'Behr02', 'Idze14a', 'Homo02', 'Garc16', 'Kobu11a', 'Hoog03b', 'Char15a', 'Rij05a', 'Sand99b', 'Maka10', 'Merl17', 'Arzh07', 'Fekk15', 'Scha02g', 'Vos10', 'Luyt89', 'Laar05c', 'Riks05', 'Hups12a', 'Hend12', 'Kawa08', 'Frer07', 'Muen12a', 'Jaco10d', 'Voge07c', 'Murp11', 'Kroon2017', 'Abee14', 'Cohe16a', 'ter12', 'Koui13a', 'Hoog92', 'Bast12', 'Wilb13', 'Deur01a', 'Kort99', 'Litj14b', 'Atti11', 'Claa14', 'Terl80', 'Sun14', 'Eijc11', 'Thij14a', 'Vorw94', 'Schi11a', 'Fuett09', 'Bois12', 'Petr12', 'Arta09', 'Troo10b', 'Hoss16', 'Weve99', 'Horb17a', 'Vree15a', 'Huge15a', 'Rahm11', 'Fuett08c', 'Ghad14', 'Mema05', 'Smit12a', 'Zame14', 'Lang09b', 'Kram03', 'Ashr10', 'Litj16', 'Witt12c', 'Leak14', 'Sch03a', 'Samu06', 'Kars9b', 'Uffm04a', 'Thij81', 'Lope03', 'Tan11c', 'Stou12', 'Chia08', 'Klom07a', 'Fisc09', 'Vrie14', 'Scha12d', 'Huis07', 'Stol09b', 'Aren13', 'deG06a', 'van15j', 'Viss11a', 'Blum15', 'Yana15a', 'Wand15c', 'Huis10a', 'Roth15f', 'Mavi09', 'Stri02', 'Kars93c', 'Nabu12', 'Renn03', 'Niem09', 'Vrie09a', 'Voer12', 'Cate10', 'Rein09a', 'Lakh16a', 'Zulf12', 'Kouw06d', 'Riel15e', 'Gott14a', 'Goto13', 'Puar2017a', 'Breu15', 'Lamm13a', 'Brom14a', 'Wang15a', 'Rior11', 'Bug15', 'Aart10', 'Will14', 'Thij85a', 'Wate06', 'Mets12h', 'Ghaf16a', 'Ledo96', 'Adri11a', 'Nill15a', 'Woli16', 'Frie12a', 'Klom11b', 'Dams99a', 'Esma14', 'Aria06', 'Idem12', 'Wand16', 'Broe13', 'Aart07', 'Scha14g', 'Sanc10', 'Cuyp95a', 'Graa96', 'Jans12', 'Heer89', 'Dijk10b', 'Hoes12', 'Bos15', 'Plat07', 'Wijn10b', 'Kock10', 'Koen14', 'Sard17', 'vand76', 'Graa99a', 'Idze12c', 'Blee04d', 'Lave06', 'Niel16a', 'Kok02a', 'Abbi06', 'Bare15b', 'Nott11', 'Clem10', 'Scha14a', 'Post13', 'Stol08', 'Kraa17', 'Hari16', 'Giam14a', 'Kouw04', 'Bijg16', 'Ring07', 'Viss10a', 'Velt10a', 'Laar05a', 'Deun07', 'Post04', 'Firo12a', 'Vuka08', 'Nune14a', 'Murp08', 'Nill08', 'Gamb08', 'Lang03', 'Bome12', 'Giam13', 'Pouw09', 'Hiary13', 'Firo12', 'Litj17', 'Stei17', 'Rikx10', 'Huij15', 'Bart13', 'Kars99a', 'Sche00a', 'Wijn10c', 'Mett17', 'Chri13a', 'Vaal91', 'Hans14', 'Chan06', 'Wild06', 'Deur01', 'Lave03', 'Navi11', 'Hoog15b', 'Scha14b', 'Mann99', 'Floh02', 'Nadar2017', 'Meli10', 'Lave09', 'Yoo16', 'Mets13', 'Prin13', 'Erke17', 'Mann09', 'Khan14', 'Liu17', 'Marc12c', 'Sche08d', 'Sald91', 'Phil13', 'Mann09a', 'Ginn04', 'Syme12', 'John12a', 'Graa10', 'Mets03', 'Oei13', 'Gube13', 'Weij98a', 'Beck02', 'Stol10', 'Lo10', 'Thij91', 'Huis98', 'Chen15b', 'Dijk14', 'Thij00', 'Mann09b', 'Vos07a', 'Bria13', 'Aart08b', 'Lave02', 'Oei14', 'Kest14', 'Thom14', 'Hans16a', 'Pete17a', 'Zimm04', 'Oost03a', 'Bult14a', 'Huds10', 'Mets11a', 'Scha05b', 'Haan04', 'Buch10', 'Gott03b', 'Meeu11b', 'Mann04a', 'Vos12c', 'Wrig12a', 'Chav93', 'Renn04a', 'Dese04', 'Behr02a', 'Berk14a', 'Pros13', 'Kobu14', 'Luye11', 'Kars08a', 'Klym16a', 'Uffm09', 'Jagt2016', 'Bern92a', 'Laar06', 'Kort17', 'Koet06', 'Thij84', 'Kaem94a', 'Kolk98a', 'Roos11', 'Hups13', 'Rope07', 'Lue12', 'Wies15a', 'Berg07', 'Brou04a', 'Mosh12', 'Tang07', 'Bult14', 'Kroo16', 'Zeng17', 'Litj12a', 'Gott13a', 'Litj14a', 'Oost93', 'Bipa08', 'Helm11', 'Dijk13', 'Tres16a', 'Boel08', 'Shar12', 'Koel07', 'Enge06a', 'Jong10c', 'Blee07c', 'Brak01', 'Kadi10', 'Kok03', 'Moha13a', 'Fuet06', 'Mord15', 'Scho13a', 'Hart10', 'Fort13a', 'Niem07b', 'Wijn12', 'Kort06', 'Doyl01', 'Bast06', 'Mann06c', 'Roll09', 'Mann13', 'Kort09', 'Dale07', 'Rikx05', 'As09', 'Hama11', 'Ramo15', 'Mann10c', 'Nadar2017a', 'Laur16', 'Slui04', 'Tan12a', 'Arno17', 'Rikx10a', 'Prin12a', 'Boel10', 'Uffm05', 'Scha01b', 'Rij05b', 'Srin10a', 'Vos14c', 'Aart06a', 'Hoeb14a', 'Lafe08', 'Lang01', 'Fuet07', 'Pomp17', 'Aarn11', 'Jans16a', 'Dijk14b', 'Gott10b', 'Fant16', 'Huis98a', 'Pate16', 'Beul09', 'Yen07', 'Tops16', 'Stie15a', 'Dalm17', 'Sonn15', 'Scha14i', 'Rooy11', 'Graaf00', 'Timp06a', 'Nada17', 'Schi06', 'Eerd04', 'Lerr13', 'Alta13', 'Gamb05', 'Garc06', 'Samu11', 'Holl15c', 'Rijp14', 'Roll08', 'Leen03a', 'Dijk10a', 'Scha96', 'Hoge10b', 'Snoe07', 'Rooy90', 'Brin09a', 'Luij09', 'Brin08a', 'Mend06', 'Timp10', 'Litj10a', 'Veli09a', 'Hoog88a', 'Quak15', 'Seti13', 'Engb12', 'Madu11b', 'Corn93', 'Jaco11c', 'Kopp06b', 'Sie97', 'Schi08', 'Puar2017', 'Smit15', 'Prok03', 'Lage12', 'Meij12a', 'Mann10d', 'Maat14', 'Bond02', 'Balo13', 'Joos10', 'Sanc09a', 'Brou02', 'Vos11a', 'Meijer2017', 'Heyd11', 'Dijk07c', 'Berd00', 'Ehte16', 'Rikx09', 'Riad13', 'Bail16', 'Jaco11', 'Keij11a', 'Gall14', 'Wijn17', 'Sche08a', 'Stol96', 'Litj11b', 'Holl16', 'Delg12', 'Hame13', 'Zwee98', 'Ginn03', 'Chri11', 'Slui03a', 'Ven10c', 'Luet15', 'Dana99', 'Kolw09', 'Cloo85', 'Nete06', 'Gova12', 'Hups13a', 'Bare90', 'Heuv16', 'Ginn98', 'Somf12', 'Kock17a', 'Corn95', 'Seti14', 'Meij15b', 'Deun09a', 'Imai12', 'Bakk01a', 'Muse16', 'Kall15', 'Jaco10', 'Kall15b', 'Hoes12a', 'Hees06', 'Schi09', 'Roru16a', 'Hooi07', 'daS11', 'Vree15', 'Oost89', 'Giet07a', 'Hans13', 'Niem11', 'Vent14', 'Murp10', 'Stil12', 'Nill07', 'Arzh10', 'Leen03', 'Schu02', 'Veli10a', 'Waai07a', 'Thij02', 'Kars16', 'Veli12', 'Wimm16', 'Nill09a', 'Wata16a', 'Zhai15', 'Cesp97', 'Srik12', 'Oei16a', 'Balm04', 'Scha14c', 'Gott04b', 'Brin09', 'Vrie05', 'Kuij10', 'Meij17', 'Moha11', 'Troo10c', 'Eerd03', 'Fort17a', 'Boet01', 'Breu10', 'Heij15a', 'Roth02', 'Corn94a', 'Mann10b', 'Geur12', 'Lopa10b', 'Reed12', 'Geus08', 'Brom11', 'Zhao16', 'Wage06', 'Takx14', 'Gube16a', 'Murp08a', 'Mann04', 'Taou13', 'Stie15b', 'Gool91', 'Dong10', 'Eijc13', 'Keij08a', 'Selv06', 'Gijs17', 'Bozo16', 'Hore14b', 'deG06d', 'Makr14', 'Pegg17', 'Kars98', 'Sanc09', 'Blic06', 'Mohs15', 'Gees17', 'Gijs15', 'Brom12', 'Groo15', 'Rikx10c', 'Mann15a', 'Lang99', 'Kost16a', 'Dien99', 'Brou04c', 'Huys00', 'Vend17a', 'Wijk02', 'Venh17a', 'Oei16', 'Niem09b', 'Poza08', 'Scho11c', 'Witt10', 'Kouw05', 'Moha15', 'Dijk07e', 'Murp09', 'Heer88', 'Lo09', 'Gott02', 'deG12', 'Berr17', 'Kars87', 'Verg17', 'Ploe10', 'Beic11', 'Deun10', 'Ginn06b', 'Winf15', 'Over14', 'Sche08c', 'Bosc17', 'Lerr13a', 'Ginn02', 'Aria04', 'Wens06', 'Will14a', 'Heuv17b', 'Schi14', 'Hoog91', 'Abas05', 'Gamb07', 'Kouw04a', 'Wilb15', 'Budd10', 'Kuij07', 'Kort98a', 'Brak98', 'Ayez13', 'Ciet11', 'Kars88', 'Wijs13', 'Back10', 'Hama06', 'Amir13', 'Nabu12a', 'Inag14', 'Thij77', 'Gees17a', 'Zhao09', 'Mele16', 'Kare14', 'Maur14', 'Hove04', 'Liu15a', 'Wood97', 'Kan10', 'Lave14', 'Mari16', 'Capp99', 'Hamb08', 'Kobu16a', 'Wong16', 'Oost03', 'Corn05', 'Zink97', 'Sith10', 'Nill09', 'Eijk12', 'Meij12', 'Maff01', 'Schw00', 'Prok01a', 'Brin09b', 'Muse13', 'Koui17', 'Brom10a', 'Rikx08a', 'Lise08', 'Witt12a', 'Oyen03', 'Rikx12b', 'Gott03a', 'Boom12', 'Kars99', 'Will01', 'Hoor14', 'Schi11', 'Jans07', 'Humm17', 'Rooi94', 'Ginn99', 'Usui14a', 'Phil09', 'Terr14b', 'Gube15', 'Niek09', 'Danc16', 'Wang14', 'Broe06', 'Lage15a', 'Mang02', 'Schu99a', 'Hu10', 'Kroo16a', 'Wies16', 'Cool99', 'Abel95', 'Poll10', 'Bomm14', 'van15c', 'Klom01', 'Hayd15a', 'Bejn14', 'Heer07', 'Timp02', 'Seln16', 'Bax03', 'Vos12', 'Capp00', 'Liu14', 'Zels17', 'Mert17', 'Mavi12', 'Mass98', 'Ginn10a', 'Brec12', 'Kwit13', 'Nock05', 'Schi13', 'Rubi99', 'Prin13a', 'Boer03', 'Vuka11', 'Nete15', 'Aria13', 'Scho12c', 'Loog04f', 'Rutt16', 'Fort14a', 'Oei17a', 'Rutt09', 'Thom13b', 'Nege96', 'Wout12', 'Blee04c', 'Oyen13', 'Meij16a', 'Meli10b', 'Daou17', 'Gras07', 'Luet14a', 'Lang97', 'Bom98', 'van16', 'Heij12', 'Verd07', 'Zand04', 'Scha07', 'Rij04', 'Oree06', 'Asse11', 'Ohta09a', 'Vare05', 'Isgu12', 'Zels13', 'Kars92', 'Kars90', 'Fe14', 'Firo10', 'Silv17b', 'Vent12', 'Kann00', 'Witt13', 'Bodd08', 'Luet14', 'Davi06', 'Scho10b', 'den03', 'Kall12c', 'Prok99', 'Vos09', 'Scha09a', 'Kock12', 'Brun07a', 'Hout01', 'Kopp06', 'John01', 'Bom00', 'Dale07a', 'Beum17', 'Reed12a', 'Laud16', 'Berg08', 'Moto10a', 'Drai09', 'Trui08', 'Enge06b', 'Vrie09b', 'Vugt11', 'Kuma15', 'Jaco11b', 'Snij13', 'Atsm08', 'Gube15e', 'Keij10', 'Hamb12b', 'Reek04', 'Pete17b', 'Cao2017', 'Sche04', 'Muhs06b', 'Post03c', 'Ten11', 'Niem03a', 'Litj14d', 'Feng10', 'Vlie05', 'Kopp03', 'Kamm04', 'Riel13', 'Turi50', 'Scha13d', 'Kars96b', 'Kome11a', 'Kobu14b', 'Mann08a', 'Nonn17', 'Peem13', 'Hesc88', 'Jong10a', 'Puar15', 'Hoop12', 'Yama16a', 'Roel03', 'Hesk15', 'Ten09', 'Ehte16a', 'Abas05a', 'John13', 'Barb05', 'Samu11c', 'Hols95', 'Stoi17a', 'Breu11', 'Puar16a', 'Holl17', 'Herm11', 'Eerd03a', 'Sarr12', 'Prok97b', 'Verz09', 'Sikk09', 'Klom11a', 'Zyl-17', 'Tan16a', 'Heij12e', 'van15k', 'Frer13', 'Rikx07', 'Silv13', 'Ramo13', 'Muen09', 'deG04', 'Klae03', 'Plan14a', 'Meij09b', 'Blok14', 'Mann12a', 'Klom04', 'Fuij12a', 'Meij12b', 'Sche05', 'Os11', 'Deba10', 'Kess15', 'Iers07', 'Kok04', 'MacL08', 'Jans02', 'Klom06', 'Valv11c', 'Deur93', 'Ruer09', 'Imai12a', 'Vos10c', 'Wu11', 'Vos16', 'Viss08', 'Chen15', 'Litj14e', 'Jong08', 'Kobu15b', 'deG07a', 'Renn04', 'Kars93a', 'Ginn08a', 'Klom03', 'Luetj17', 'Sana11a', 'Jans15', 'Isgu07', 'Idze07', 'Beck16', 'Ginn07', 'Gatt10', 'Rij14a', 'Berr15', 'Cohe17', 'Scha01a', 'Lamm12', 'Reim90', 'Moe11', 'Stie15', 'Schi13a', 'Deur03', 'Koui14', 'Beic13', 'Huo11', 'Muen12b', 'Rich11', 'Boer11a', 'Gala93a', 'Weid11', 'Krab09', 'Teki91', 'Veld99a', 'Schu01', 'Lang99b', 'Alex15', 'Fuett08a', 'Laar04', 'Lave01', 'Choe13', 'Enoc99', 'Idze05', 'Pete15', 'Sand99', 'Wess06', 'Leli08', 'John12', 'Madu14', 'Verh93a', 'Voer17', 'Ploe05', 'Mand02', 'Samu10', 'Buss14', 'McWi98', 'Ginn05', 'Rose11', 'Meij12c', 'Fleu14c', 'Dams99', 'Kare11', 'van16d', 'Holl15', 'Devo05', 'Dalm15a', 'Seti17', 'Loog04c', 'Slui05', 'Prok98', 'Scha03a', 'Kars11', 'Dijc11', 'Sanc15a', 'Boer17', 'Lave10', 'Vleu13', 'Xu16c', 'Ma13', 'Stou05', 'Muen12', 'Hesk14a', 'Oest91', 'Ginn00', 'Uffm05b', 'deB16', 'Pike15', 'Voer14', 'Meijer2017a', 'Dupp15', 'Boud16a', 'Steg10', 'Ginn06a', 'Math14', 'Gott10', 'Gott10c', 'Keij10a', 'Kooi16', 'Arzh07b', 'Wens11', 'Mele17', 'Oei17', 'Ginn08d', 'Berk14', 'Meij13', 'Schr11', 'Koen15', 'Grub06', 'Niem07a', 'Tan11d', 'Oei14a', 'Hoeb11', 'Scha11', 'Blue10', 'Yim09a', 'Niem05c', 'Syme11', 'Huis98c', 'Vree16', 'Rema16', 'Frel09', 'Arif16b', 'Brin13', 'Zand00', 'Heuv17', 'Scha13f', 'Oe15', 'Leac12', 'Vegt10a', 'Scho12b', 'Idze08c', 'Deun09b', 'Berg96', 'Staa02', 'Wage12', 'Hamb12a', 'Facc12', 'Nage13', 'Bome16a', 'Aste08', 'Pegg17a', 'Das07', 'Jans12a', 'Berc15', 'Mann07a', 'Rikx11b', 'Corn95a', 'Lava09', 'Verh04a', 'Mole13', 'Rodr17', 'Scha13b', 'Vrie10d', 'Arnt15', 'Tan13c', 'Berk08', 'Mann06a', 'Gill10a', 'Kock14', 'West2011', 'Jans14c', 'Sloc13', 'Rijp13', 'Mann09c', 'Schu04', 'Sanc11', 'Rene07', 'Heuv17a', 'Brom14', 'Ginn00b', 'Uffm01', 'Mets13a', 'Esbe10', 'Schm92a', 'Hoop09', 'Hack15', 'Koen16', 'Deur94a', 'Kopp06d', 'Lohn15', 'Habe15a', 'Brak99b', 'Jaco12b', 'Troo06', 'Dijk13a', 'Char15', 'van15m', 'Rutt11', 'Stol09a', 'Boet07', 'Maas13a', 'Thij90', 'Thor12', 'Weij15a', 'Garc08a', 'Scho13', 'Kars03', 'Hoes11', 'Quak11', 'Koop08', 'Keij08', 'Simo08', 'Romi89a', 'Kort02', 'Lage14', 'Eerd05b', 'Scho16', 'Graa08', 'Petr14', 'Tan11', 'Oost91', 'Hups08', 'Hutt16', 'Kort00b', 'Roer15', 'Jaco12a', 'Fraa90', 'Kaem97', 'Wal14', 'Schu06', 'Verh04', 'Uden15', 'Valv10', 'Thij92', 'Holl15b', 'Ginn13', 'Giet07c', 'Meel16', 'Blee04', 'Dese10', 'Scha01c', 'Pros14', 'Lest11', 'Saar02', 'Ginn01b', 'Oldh98', 'Isgu05a', 'Vree15b', 'Fran14', 'Eras08', 'Jagt14', 'van15q', 'Luet14c', 'Groo16', 'Trui09', 'Cann08a', 'Scho15', 'Este17', 'Hoek03', 'Verd09', 'Abuh08', 'Ter11', 'Schu09a', 'Mend15a', 'Rene03a', 'Kok01', 'Lanc85', 'Klom11', 'Muse14a', 'Mert16', 'Aald17a', 'Phil14a', 'van16b'])

In [21]:
def get_from_string_rule(value):
    if value in string_rules:
        return string_rules[value].replace('_', ' ').strip()
    else:
        return value

def print_item(key):
    print(key)
    bib_item = global_index[key]
    print(bib_item.author)
    print(bib_item.title)
    print(HTML_formatter(bib_item))
    print(bib_item.doi)
    print(bib_item.pmid)

    print()
    
for key in ('Hump17', 'Riel17', 'Oei16a', 'Ghaf17b', 'Mele17'):
    print_item(key)


Hump17
G.E. Humpire Mamani, A. Arinda Adiyoso Setio, B. van Ginneken and C. Jacobs
Organ detection in thorax abdomen CT using multi-label convolutional neural networks
in: <i>Medical Imaging</i>, volume 10134 of Proceedings of the SPIE, 2017
http://dx.doi.org/10.1117/12.2254349


Riel17
S.J. van Riel, F. Ciompi, C. Jacobs, M.M. Winkler Wille, E.T. Scholten, M. Naqibullah, S. Lam, M. Prokop, C. Schaefer-Prokop and B. van Ginneken
Malignancy risk estimation of screen-detected nodules at baseline CT: comparison of the PanCan model, Lung-RADS and NCCN guidelines
, <i>European Radiology</i> 2017
http://dx.doi.org/10.1007/s00330-017-4767-2
http://www.ncbi.nlm.nih.gov/pubmed/28293773

Oei16a
M.T. H. Oei, F.J.A. Meijer, W. van der Woude, E.J. Smit, B. van Ginneken, R. Manniesing and M. Prokop
Interleaving Cerebral CT Perfusion with Neck CT Angiography. Part II: Clinical Implementation and Image Quality
, <i>European Radiology</i> 2017;27(6):2411-2418
http://dx.doi.org/10.1007/s00330-016-4592-z


Ghaf17b
M. Ghafoorian, A. Mehrtash, T. Kapur, N. Karssemeijer, E. Marchiori, M. Pesteie, C.R. G. Guttmann, F. de Leeuw, C.M. Tempany, B. van Ginneken, A. Fedorov, P. Abolmaesumi, B. Platel and W.M. Wells
Transfer Learning for Domain Adaptation in MRI: Application in Brain Lesion Segmentation
in: <i>Medical Image Computing and Computer-Assisted Intervention</i>, 2017



Mele17
J. Melendez, R.H.H.M. Philipsen, P. Chanda-Kapata, V. Sunkutu, N. Kapata and B. van Ginneken
Automatic versus human reading of chest X-rays in the Zambia National Tuberculosis Prevalence Survey
, <i>International Journal of Tuberculosis and Lung Disease</i> 2017;21:880-886
http://dx.doi.org/10.5588/ijtld.16.0851
http://www.ncbi.nlm.nih.gov/pubmed/28786796

Index authors


In [22]:
author_index = defaultdict(set)
for bib_key, bib_item in global_index.items():
    try:
        authors = bib_item.authors
        for first, von, last, jr in authors:
            author_index[last].add(bib_key)
    except AttributeError:
        print('--------------')
        print(bib_key)
        print('--------------')

In [23]:
parse_authors(global_index['Hoss16']['author'])


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-23-d99bd163ac66> in <module>()
----> 1 parse_authors(global_index['Hoss16']['author'])

TypeError: 'BibItem' object is not subscriptable

In [233]:
global_index['Amin11']['author']


Out[233]:
'{S. Amin and J.G. Goldin and M.R. Zeidler and E. Kleerup and P. Lu and M. Galperin-Aizenberg and E. M. van Rikxoort and D. Gjertson and D. Ross}'

In [201]:
for type_name, entries in index.items():
    print(type_name)
    print(entries[0])


@InProceedings
Abas05a,
  author    = {D. Ab\'asolo and C. G\'omez and J. Poza and M. Garc\'ia and C. I. S\'anchez and M. L\'opez},
  title     = {{EEG} background activity analysis in {A}lzheimer's disease patients with sample entropy},
  booktitle = {International Conference on Computational Bioengineering},
  year      = {2005},
  pages     = {1067--1076},
  optnote   = {DIAG, RADIOLOGY},
  owner     = {clarisa},
  timestamp = {2010.06.24},

@Conference
Amin11,
  author    = {S. Amin and J.G. Goldin and M.R. Zeidler and E. Kleerup and P. Lu and M. Galperin-Aizenberg and E. M. van Rikxoort and D. Gjertson and D. Ross},
  title     = {Air trapping on {HRCT} assessed by quantitative image analysis as an early predictor of bronchiolitis obliterans syndrome in lung transplant recipients},
  booktitle = ATS,
  year      = {2011},
  abstract  = {{RATIONALE:} {C}urrent diagnosis of bronchiolitis obliterans syndrome ({BOS}) in lung transplant recipients by spirometry identifies the disease process after the point at which treatment appears to be effective. Earlier identification of BOS may allow improved outcomes. We aim to identify early predictors of {BOS} by quantitatively assessing air trapping in computed tomography scans ({HRCT}) of transplanted lungs. Previous studies of air trapping by visual analysis of {HRCT} were poor at early identification of {BOS}. {METHODS:} {T}he clinical {HRCT} images of eight lung transplant recipients who met spirometric criteria for {BOS} by {FEV1}, and who had the absence of infection and rejection confirmed by bronchoalveolar lavage and transbronchial biopsy within one month of spirometry, were reviewed. For each patient, the {HRCT} within one month of the spirometric diagnosis of {BOS} (visit 2) was evaluated. A previous {HRCT} (visit 1) at least two months prior to visit 2 and six months after transplantation was compared. Semi-automatic lung and lobar segmentation followed by quantitative image analysis were performed on the images of the transplanted lung at residual volume ({RV}) and total lung capacity ({TLC}). For each scan, previously published quantitative measures of air trapping were assessed: lobar volume at {RV} ({RVCT}), whole lung {RV/TLC} ratio ({RV/TLCCT}), density masks between -950 and -860 {HU} at {RV} ({DM}-950-860), median {HU} at {RV}, and 10th percentile {HU} at {RV} were computed. The changes in these measurements between visits 1 and 2 were compared using a t-test. {RESULTS:} {V}isit 1 scans were an average of 144 (range 42-243) days prior to visit 2 scans. The mean {RVCT} increased 52.53 cc (p=.48) and the mean change in {RV/TLCCT} increased 3.35% (p=0.47) at visit 2 when compared to visit 1. The {DM}-950-860 of the expiratory images increased by 0.48 % (p=0.78) from visit 1 to visit 2. Between the two visits, the average median {HU} at {RV} and 10th percentile of {HU} at {RV} decreased by 0.24 % (p=0.95) and 0.32 % (p=0.85), respectively. {CONCLUSION:} {I}n our small sample of lung transplant patients, we found that quantitative measures of air trapping seen at the time of spirometric {BOS} diagnosis were also seen approximately five months earlier. These measures may serve as an earlier marker of chronic lung transplant rejection; however, additional analysis of {CT} images over an extended period of time is necessary.},
  optnote   = {DIAG, RADIOLOGY},
  owner     = {Eva},
  timestamp = {2011.07.05},

@Misc
Mann09a,
  author      = {R. Manniesing},
  title       = {Read and Write Support for MevisLab Dicom/Tiff Format},
  year        = {2009},
  url         = {http://www.insight-journal.org/browse/publication/311},
  abstract    = {MevisLab [2] is a development environment for medical image processing and visualization, which supports the reading and writing of combined dicom/tiff images. In this document we provide the source code (ImageIO factory) and testing data for the Insight Toolkit (ITK) framework [4].},
  authors     = {manniesing},
  citeseerurl = {http://www.insight-journal.org/browse/publication/311},
  file        = {Mann09a.pdf:pdf\\Mann09a.pdf:PDF},
  optmonth    = {Oct},
  optnote     = {DIAG, RADIOLOGY},
  owner       = {rashindra},
  timestamp   = {2010.12.03},

@Patent
Leem17a,
  author      = {S.C. van de Leemput and B. van Ginneken and R. Manniesing},
  title       = {Deriving {3D} {CT} and Perfusion Images from one {4D} {CT} Image with Deep Learning},
  year        = {2017},
  nationality = {European Patent},
  owner       = {rashindra},
  timestamp   = {2017.02.03},

@MastersThesis
Gube10,
  author    = {Gubern-M\'erida, A.},
  title     = {Multi-class probabilistic atlas-based segmentation method in breast {MRI}},
  year      = {2010},
  file      = {Gube10.pdf:pdf/Gube10.pdf:PDF},
  optnote   = {DIAG, RADIOLOGY},
  owner     = {michiel},
  school    = {Universitat de Girona / Radboud University Nijmegen},
  timestamp = {2010.07.14},

@InCollection
Phil2016,
  author    = {Philips, Bart WJ and Scheenen, Tom W},
  title     = {Methodology of Clinical MRS: Technical Challenges and Solutions},
  booktitle = {Magnetic Resonance Spectroscopy of Degenerative Brain Diseases},
  year      = {2016},
  publisher = {Springer},
  pages     = {31--54},
  optnote   = {RADIOLOGY, BioMR},

@String
AA                = _Age_and_Ageing_
@Comment
jabref-meta: databaseType:biblatex;
@PhdThesis
Aart09,
  author     = {Frits Aarts},
  title      = {Cytoreductive Surgery and Radioimmunotherapy to treat Peritoneal Carcinomatosis of Colorectal Cancer},
  year       = {2009},
  url        = {http://repository.ubn.ru.nl/handle/2066/65647},
  copromotor = {T. Hendriks},
  file       = {Aart09.pdf:pdf\\Aart09.pdf:PDF},
  optmonth   = {January 30},
  optnote    = {TRACER, NM, RADIOLOGY},
  owner      = {Sjoerd},
  promotor   = {R.P. Bleichrodt, O.C. Boerman, W.J.G. Oyen},
  school     = {Radboud Universiteit Nijmegen},
  timestamp  = {2015.01.15},

@Article
Oe15,
  author      = {{{\"{O}}zdemir-van Brunschot}, Denise M D. and Rottier, Simone J. and {den Ouden}, Judith E. and {van der Jagt}, Michel F. and d'Ancona, Frank C. and Kloke, Heinrich and {van der Vliet}, Daan J A. and {Schultze Kool}, Leo J. and Warl{\'{e}}, Michiel C.},
  title       = {Preoperative CT-Angiography Predicts Ex Vivo Vein Length for Right Kidneys After Laparoscopic Donor Nephrectomy.},
  journal     = {Ann Transplant},
  year        = {2015},
  language    = {eng},
  volume      = {20},
  pages       = {532--538},
  doi         = {10.12659/AOT.894131},
  url         = {http://dx.doi.org/10.12659/AOT.894131},
  abstract    = {BACKGROUND Implantation of a kidney with a short renal vein is technically more challenging and therefore prone for technique-related complications. It remains unclear whether pre-operative computed tomography angiography (CTA), to assess vascular anatomy of the donor kidney, can be used to predict renal vein length. MATERIAL AND METHODS Right and left renal vein lengths of 100 consecutive kidney donors were measured in an oblique-coronal plane multiplanar reconstruction image of 100 consecutive kidney donors in whom ex vivo vein length was measured after recovery. In a second retrospective cohort of 100 consecutive kidney donors donating a right kidney, preoperative CTA vein length measurements were correlated to anastomosis time and early graft outcome. RESULTS Left and right renal vein lengths, measured on CTA, were 43.2 mm and 30.0 mm, respectively. No correlation was found between CTA and ex vivo measurements for the left renal vein (p=.610), whereas a significant correlation was found for the right renal vein (p=.021). In the retrospective cohort, right renal vein length was significantly correlated with the anastomosis time but not with early graft outcome. CONCLUSIONS The length of the right, but not the left, renal vein can be predicted by preoperative CTA, but this does not hold true for the left renal vein.},
  institution = {Department of Surgery, Radboud University Medical Center, Nijmegen, Netherlands.},
  medline-pst = {epublish},
  optnote     = {RADIOLOGY},
  owner       = {Leonie},
  pii         = {894131},
  pmid        = {26356283},
  timestamp   = {2015.12.07},

@Electronic
Pate16,
  author    = {Patel, A. and Manniesing, R.},
  title     = {Automatic interpretation of {4D} computed tomography images in acute stroke},
  year      = {2016},
  url       = {http://dx.doi.org/10.1117/2.1201609.006617},
  month     = {sep},
  doi       = {10.1117/2.1201609.006617},
  file      = {:pdf\\Pate16.pdf:PDF},
  journal   = {{SPIE} Newsroom},
  optnote   = {DIAG, RADIOLOGY},
  owner     = {Ajay},
  publisher = {{SPIE}-Intl Soc Optical Eng},
  timestamp = {2016.09.28},

@Book
Beic11,
  author    = {R. Beichel and M. de Bruijne and B. van Ginneken and S. Kabus and A. Kiraly and J. M. Kuhnigk and J. McClelland and K. Mori and E. M. van Rikxoort and S. Rit},
  title     = {The {F}ourth {I}nternational {W}orkshop on {P}ulmonary {I}mage {A}nalysis},
  year      = {2011},
  publisher = {CreateSpace.com},
  url       = {http://www.amazon.com/Fourth-International-Workshop-Pulmonary-Analysis/dp/1466200162/},
  abstract  = {This was the fourth time that a satellite workshop solely devoted to pulmonary image analysis was held in conjunction with the Medical Image Computing and Computer Assisted Intervention (MICCAI) Conference. We have received many high quality submissions for the fourth edition of this workshop. All papers underwent a thorough peer review process. A team of 21 scientists performed peer-reviews, and each paper received at least three detailed reviews. Out of the 24 accepted papers, eight were selected for oral presentation, fourteen for poster presentation and two for software demonstration. In addition, the workshop included an invited keynote talk given by Heidi Roberts, Professor of Radiology at the University of Toronto. The proceedings of this workshop are organized into two parts. The first part consists of sixteen regular workshop papers that deal with different aspects of pulmonary image analysis, including topics like segmentation, registration, quantification, computer-aided detection/diagnosis of lung disease, and visualization. The second part of the proceedings is a collection of papers submitted for the international segmentation challenge called LOLA11 (LObe and Lung Analysis 2011, http://www.lola11.com). The goal of LOLA11 was to compare methods for (semi-) automatic segmentation of the lungs and lobes from chest computed tomography scans. Nine international teams participated in this challenge. We thank the organizers of MICCAI 2011 for handling the workshop logistics and all the colleagues that were involved in the peer-review process. We are grateful to Siemens Corporate Research, MedQIA, Philips Healthcare, and VIDA Diagnostics for the financial support of the Fourth International Workshop on Pulmonary Image Analysis.},
  file      = {Beic11.pdf:pdf\\Beic11.pdf:PDF},
  optnote   = {DIAG, RADIOLOGY},
  owner     = {Eva},
  timestamp = {2011.09.27},

@InBook
Kars10b,
  author    = {Karssemeijer, Nico and Snoeren, Peter R.},
  title     = {Image Processing},
  booktitle = DIGMAM,
  year      = {2010},
  editor    = {Bick, U. and Diekmann, F.},
  series    = {Medical Radiology},
  note      = {10.1007/978-3-540-78450-0_5},
  publisher = {Springer Berlin Heidelberg},
  isbn      = {978-3-540-78450-0},
  chapter   = {5},
  pages     = {69-83},
  url       = {http://dx.doi.org/10.1007/978-3-540-78450-0_5},
  abstract  = {Image processing is a crucial element of modern digital mammography. Optimizing mammogram presentation may lead to more efficient reading and improved diagnostic performance. Despite that the effects of image processing are often much larger than those of acquisition parameter settings, little is known about how image processing can be optimized. Experts agree that comparison of features in various mammographic views is very important. This issue must be addressed by processing. Variation of image presentation across views and subsequent mammograms should be minimized. The dynamic range of electronic displays is limited. Therefore, processing techniques should be designed to limit the dynamic range of mammograms. This can effectively be done by applying peripheral enhancement in the uncompressed tissue region near the projected skin?air interface. Adaptive contrast enhancement can be applied to enhance micro-calcifications and dense tissue in the interior of the mammogram. Mammogram processing should be aimed at displaying all relevant information in good contrast simultaneously, as human interaction to manipulate contrast during reading is too time-consuming to be applied on a regular basis.},
  file      = {Kars10b.pdf:pdf/Kars10b.pdf:PDF},
  keyword   = {Medicine &amp; Public Health},
  optnote   = {DIAG, RADIOLOGY},
  timestamp = {2011.04.20},


In [ ]:


In [117]:
def decode_latex(input_string, print_error_key=None):
    '''
        replace latex characters with unicode
    '''
    try:
        return input_string.encode('utf-8').decode('latex')
    except Exception as e:
        if print_error_key:
            print('{} : warning: encoding error!!!'.format(print_error_key))
            print(e)
        return input_string

In [ ]:
def get_entry(entry):
    bib_key = entry[:entry.index(',')]
    content = get_entry_content(entry)
    if 'author' in content:
        content['author'] = parse_authors(decode_latex(content['author']))
    for key in 'title', 'abstract':
        if key in content:
            content[key] = decode_latex(content[key])
    return bib_key, content