def test_lipid_abbreviation():
    l = Lipid(LipidClass('CE'), ResidueList([Residue(16, 2)]))

    assert l.abbreviation() == 'CE(16:2)'

    l = Lipid(LipidClass('CE'), ResidueList([Residue(16, 2), Residue(18, 1)]))

    assert l.abbreviation() == 'CE(16:2/18:1)'
    assert l.abbreviation(summed=True) == 'CE(34:3)'

    l = Lipid(
        LipidClass('CE'),
        ResidueList([
            Residue(16, 2, modification=ResidueModification('O-')),
            Residue(18, 1)
        ]))

    assert l.abbreviation() == 'CE(O-16:2/18:1)'
    assert l.abbreviation(summed=True) == 'CE(O-34:3)'

    # no residues, assure that abbreviation/summed fails with AttributeError
    l = Lipid(LipidClass('CE'))
    assert l.abbreviation() == 'CE'

    assert l.abbreviation(summed=True) == 'CE'
Beispiel #2
0
def some_lipids_plain_list():
    """
    A handful of well formatted lipids, using all annotation elements.

    Return as Python list, not as LipidList Object
    """
    # lists of names to draw from
    lipidclass_names = ['CE', 'Cer', 'TG']
    modifications = ['d', 'O-', None, None]

    lipidlist = []

    for i in range(10):
        lipidclass = LipidClass(random.choice(lipidclass_names))

        num_of_residues = random.choice([1, 2, 3])

        residuelist = ResidueList()

        for i in range(0, num_of_residues):
            residuelist.residues.append(
                Residue(random.randint(6, 50),
                        random.randint(0, 10),
                        modification=ResidueModification(
                            random.choice(modifications))))

        lipidlist.append(Lipid(lipidclass, residuelist))

    return lipidlist
def test_residuelist_sum():
    r1 = Residue(18, 2)
    r2 = Residue(12, 3)

    residuelist = ResidueList([r1, r2])

    assert residuelist.total_double_bonds == 5
    assert residuelist.total_carbon_atoms == 30
def test_lipid_check_consistency():
    l = Lipid(LipidClass('Cer'), ResidueList([Residue(16, 2), Residue(18, 1)]))

    # check inconsistent state
    assert l.residueslist[0].modification == None

    l.check_consistency()

    # check consistent state
    assert l.residueslist[0].modification == CLASS_DEFAULT_MODIFICATION['Cer']
Beispiel #5
0
    def __init__(self, lipidclass: LipidClass = None, residuelist: ResidueList = None, xreflist: XrefList = None):
        if residuelist:
            self.residueslist = residuelist
        else:
            self.residueslist = ResidueList()

        self.lipidclass = lipidclass

        if xreflist:
            self.xreflist = xreflist
        else:
            self.xreflist = XrefList()

        self._input = None
def test_residuelist_string():
    r1 = Residue(18, 2)
    r2 = Residue(12, 3)

    residuelist = ResidueList([r1, r2])
    assert residuelist.residuelist_string == '18:2/12:3'
def test_residuelist():
    residuelist = ResidueList()

    assert len(residuelist) == 0