Archiv für: November 2006

Übungsaufgaben Mathematik

November 28th, 2006 Autor: Phillip Kroll -

Übungsblatt 1 (einfache unbestimmte Integrale, Integration durch Substitution, Partielle Integration, Integration durch Partialbruchzerlegung, Bestimmte Integrale, Rotationsflächen, Differentialgleichungen)

Übungsblatt 2 (weitere Übungsaufgaben zur Partialbruchzerlegung mit Lösungsweg)

Übungsblatt 3 (gemischte Übungsaufgaben zur Integration mit Lösungsweg)

2001 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

WINDOWS: Windows eXPerience kurz XP kommt auf den Markt. Es ist sowohl eine Weiterentwicklung von Windows 2000 als auch von Windows ME. Mit XP wird die NT und DOS Linie vereint. Deswegen ist es in zwei Versionen „Home“ und „Professional“ erhältlich. Um die Kompatibilität älterer nicht-NT Programme zu gewährleiste entwickelt Microsoft ein Kompatibilitätsmodus namens Personality, der bei Bedarf Routinen älterer Systeme emuliert. Oft sind jedoch alte DOS Anwendungen nicht mehr lauffähig, da die technische Umsetzung dieses Konzept zu wünschen übrig lässt.

2000 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

WINDOWS: Windows Millennium Edition kurz ME, das wohl letzte Betriebssystem aus der MS-DOS Linie, erscheint. Es ist eine Weiterentwicklung von Windows 98 SE und bietet unter anderem ein Tool zur Systemwiederherstellung. Wenige Monate vorher wird Windows 2000 veröffentlicht. Es ist eine Weiterentwicklung von Windows NT 4.0 und wird Microsoft intern auch als NT 5.0 bezeichnet. Es gibt neue Protokolle zu verschlüsselten Netzwerkkommunikation, Das NTFS-Dateisystem Version 5 ermöglicht Datenkompression und Verschlüsselung und USB Peripherie wird unterstützt.

1998 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

WINDOWS: Windows 98 bringt keine neuen Konzepte mit sich. Auf Microsofts Liste der wichtigsten Neuerungen steht bereits auf Platz zwei: Anwendungen lassen sich schneller öffnen und schließen. Viele bezeichnen Windows 98 auch als „kostenpflichtiges Update zu Windows 95“.

1996 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

WINDOWS: Mit Windows NT 4.0 setzt Microsoft seine New Technology Reihe soft. Es ist aufgebaut wie Windows 95 besitzt jedoch verbesserte Netzwerkfähigkeiten. Der Zugriff auf das Internet und Firmenintranets wird sicherer und einfacher.

1995 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

WINDOWS: Windows 95 erscheint. Im August bring Microsoft mit einer riesigen Werbekampagne sein Betriebssystem auf den Markt. Die Verkaufszahlen übersteigen jetzt noch die von Windows XP. Es Ist das erste System, das die 32-Bit-Technologie optimal ausnutzt. Microsoft kreiert den Begriff Plug & Play, der suggerieren soll, dass man jetzt Peripherie ohne großen Installationsaufwand in betrieb nehmen kann. Weitere Features des neuen Betriebssystems war die erstmalige Unterstützung von Multimediaanwendungen für Videos, Musik und Spiele. Dies machte eine API Sammlung, die unter dem Namen DirectX zusammen gefasst wurde möglich. Windows 95 ist Netzwerkfähig.

1994 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Der Linux-Kernel erscheint in der Version 1.0.

1993 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

WINDOWS: Windows New Technology kurz NT erscheint in der Version 3.1. Es ist für Unternehmen gedacht und setzt Schwerpunkte auf Sicherheit und Netzwerkfähigkeit. Es unterstützt bereits NTFS-Dateisysteme.

1992 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Das von SunOS entwickelte Betriebssystem Solaris 2.x wird vermarktet. Es bietet durchgängig 64-Bit-Unterstützung.

1991 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Der Linux Kernel von Linus Trowalds, eine völlig neue Implementation eines UNIX-Systems, verbreitete sich im Internet. Es orientiert sich an POSIX, System V und BSD. Dank der Verbreitung im Internet konnte Linux sich schnell weiterentwickeln.

WINDOWS: Windows 3.1 erscheint. Es unterstützt nur noch Prozessoren ab dem 80286. Wichtigste Neuheiten sind TrueType-Fonts und OLE (Objekt Linking and Embedding).

1990 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Das IEEE Konsortium entwickelt einen neuen POSIX Standart auf Basis des System V und BSD.

OS/2: Microsoft zieht sich aus der Entwicklung von OS/2 zurück und überlässt IBM die Weiterentwicklung.

WINDOWS: Windows 3.0 erscheint. Es ist die erste Windows Version die als Platform für größere Anwendungen dienen kann. Man kann jetzt 16 MB Speicher adressieren, man kann zwischen mehrere DOS- und Windows-Anwendungen umschalten, Programm- und Filemanager entstehen. Windows Anwendungen für ältere Versionen führen allerdings häufig zu Abstürzen.

1988 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Der AT&T Standart (System V) wird um viele Elemente des BSD UNIX Systems erweitert

WINDOWS: Windows 2.1 erscheint in zwei Versionen. Jetzt können mehrere DOS-Anwendungen sicher in virtuellen Maschinen laufen.

1987 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

DOS: MS-DOS 3.3 erscheint. Es entstehen jedoch auch in weiteren Versionen keine Strukturändernden Neuerungen.

OS/2: OS/2 1.0 ist fertig. Es kann 16 MB Arbeitsspeicher adressieren, auf einen virtuellen Speicher von 512 MB zugreifen und unterstützt präemptives Multitasking. Definition „präemptiv“: in einer Weise organisiert, die sicherstellt, dass die Ausführung einer Aufgabe jederzeit von einer höheren Instanz unterbrochen werden kann.

WINDOWS: Windows 2.0 erscheint mit überarbeitetem „Look and Feel“.

1985 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: AT&T gibt einen UNIX Standart heraus, der das Aussehen von Systemaufrufe, Bibliotheksroutinen und Hilfsprogramme Festlegt. Diese Standardisierung wird von BSD ignoriert.

OS/2: IBM gibt wieder einmal ein Betriebssystem bei Microsoft in Auftrag. Es sollte nicht auf MS-DOS Basieren.

WINDOWS: Windows 1.1 erscheint. Es ist ein Abklatsch der Apple Oberfläche. Fenster dürfen sich nicht überlappen sonder müssen entweder vollständig nebeneinander oder übereinander liegen.

1984 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Das IEEE Konsortium versucht ein standardisiertes UNIX System genannt POSIX zu etablieren.

DOS: MS-DOS 3.0 wird veröffentlicht. Es unterstützt jetzt HD-Disketten, größere Festplatten und ist etwas schnellte. Der gleichzeitig erschienene neue IBM PC mit 80286 Prozessor ist Multitasking fähig und bietet Unterstützung für 16 MB Hauptsspeicher. Davon macht MS-DOS 3.0 aber keinen Gebrauch.

1983 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Viele Herstelle benutzen UNIX auf ihren Systemen, wodurch eine große Vielfalt von UNIX Systemen entstand.

DOS: IBM kündigt ein neues System mit integrierter 10MB Festplatte an. Das erforderte ein hierarchisches Dateisystem da MS-DOS 1.1 jedoch nur aus einer Ebene bestand wurde MS-DOS 2.0 mit Hierarchischem Dateisystem entwickelt. Microsoft orientierte sich dabei stark an UNIX, das schon längst ein Hierarchisches Dateisystem hatte. Man übernahm viele Systemaufrufe. Um sich gegenüber UNIX abzugrenzen, benutzte man den Backslash „\“als Trennzeichen im Dateipfad, anstatt den normalen Slash „/“. Zusätzlich ist ab 2.0 noch einfaches Spooling möglich.

WINDOWS: Als Antwort auf Apples Lisa kündigt Microsoft ein fenster-orientierte Benutzeroberfläche für PCs an.

1982 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

DOS: MS-DOS 1.1 wird fertiggestellt. Es sind zwar noch nicht mehrere Programme gleichzeitig lauffähig, jedoch können schon verschieden Programme gleichzeitig in den Arbeitsspeicher geladen werden. Dies war mit dem alten .com Format nicht möglich, deswegen entwickelte man das .exe Format. Da der Arbeitsspeicher knapp war, wurde er aufgesplittet in einen Teil, der nach dem Booten permanent im Speicher verbleibt und einen Teil der nachgeladen werden konnte. Für Programme wie FORMAT oder CHKDSK.

1981 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

DOS: Im August bringt IBM einen PC zusammen mit dem fertiggestellten MS-DOS 1.0 auf den Markt. MS-DOS 1.0 ist nur 12 KByte groß und umfasst 4000 Assembler befehle.

1980 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

DOS: IBM plant eine 16-Bit-Mikrocomputer. Das Betriebssystem CP/M-86 steckt jedoch in großen Entwicklungsschwierigkeiten und man entscheidet sich, Microsoft mit der Entwicklung eins kompakten und einfachen Betriebssystems zu beauftragen. Microsoft kauft darauf hin ein fast fertiges Produkt namens 86-DOS, das sich stark an CP/M anlehnt. Es unterstützt nur ein 5¼''-Disketten Laufwerk und das Dateisystem hat nur eine Ebene!

1979 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Microsoft entwickelt eine UNIX-Version für Mikrocomputer namens XENIX. Sie weicht vom ursprünglichen UNIX stark ab.
AT&T entwickeln eine bessere Unterstützung für große Dateien, eine erweiterte Version der Programmiersprache C und eine neue Shell.

1977 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Zum ersten mal gelingt es, UNIX auf ein Rechnersystem, das nicht zur PDP Serie gehört zu portieren. Dafür war einige an Arbeit nötig, da einige rechnerabhängige Parameter benutzt worden waren.
Eine große Weiterentwicklung war der „portable C Compiler“ von Steve Johnson. Dieser Compiler ermöglichte die Erzeugung von Maschinencode für fast jede Rechnerarchitektur. Dies ermöglichte die Weiterverbreitung auf verschiedene Systeme.
An der Universität in Kalifornien wird, unterstützt vom amerikanischen Verteidigungsministerium, wird eine UNIX Variante namens BSD entwickelt. Hier entsteht auch unter anderem der Editor vi und die Shell csh.

1973 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Fast das ganze UNIX System wird in C umgeschrieben. Dadurch wurde es zwar minimal größer, jedoch war auch der Grundstein für eine schnelle Weiterentwicklung gelegt. Durch das Umschreiben war UNIX jetzt auch besser auf andere Rechnersysteme zu übertragen.
Erstmals testen 25 Mitarbeiter der Bell-Laboratories das Betriebsystem von Thompson und Ritchie.
Die UNIX Lizenz wird günstig an diverse Universitäten in den USA verkauft. Da dort viele PDP-11 verwendet werden, kann sich das System schnell verbreiten. Es werden viele neue Entwicklungen eingebaut, da der komplette Sourcecode zur Verfügung steht. Zu dieser Zeit entsteht das Textformatierungsprogramm „toff“.

1971 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: UNIX wir auf eine PDP-11 portiert. Es entstehen erste Compiler auf diesem System. Da sich Thompson nicht mit der Programmiersprache Fortran anfreunden konnte, entwickelte er die Sprache B. Diese Sprache verfügte über nur einen Datentyp: Integer. Dennis Ritchie erweiterte dann die Sprache um Datenstrukturen und andere Elemente. Er nannte seine neue Sprache C.

1969 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Zwei der MULTICS Entwickler, Ken Thompson und Dennis Ritchie wurden von den Bell-Laboratories beauftragt, ein verbessertes Dateisystem zu entwickeln. Als Nebenprodukt entstand ein kleiner Systemkern. Thompson hat einen freie PDP-7 ( Programmable Digital Processor model 7, Rechnersystem ) gefunden und Kernel und Dateisystem auf den Computer übertragen. Das Dateisystem hatte damals schon ziemlich viel Ähnlichkeiten mit dem heutigen, denn es war bereits hierarchisch geordnet. Aus dem Kernel entwickelt sich ein System, das zunächst nur für einen User gedacht war. Deswegen hat es auch scherzhaft den Namen UNIX bekommen.

1963 (Betriebssysteme)

November 26th, 2006 Autor: Phillip Kroll -

UNIX: Das MIT (Massachusetts Institute of Technology), Packard Bell und GE (General Electrics) kündigen die Entwicklung eines Rechners mit Betriebssystem an. Sie nennen das Betriebssystem MULITCS. Es soll erstmals für eine breitere Masse bedienbar sein. Unter breiterer Masse stellte man sich damals Hunderte oder Tausende Benutzer vor. Man entschied sich für die Programmiersprache PL/1 anstatt Fortran. Es gab jedoch große Entwicklungschwierigkeiten. Der PL/1-Compiler wurde nicht rechtzeitig fertiggestellt und war dann trotzdem noch fehlerhaft. Letztendlich hat man nie die angestrebten Benutzerzahlen erreichen können. So kam es, dass MULITCS erst 1969 halbwegs lauffähig war und nie kommerziell genutzt wurde.

Proteinstruktur von Myosin

November 25th, 2006 Autor: Phillip Kroll -

biochemieEin Myosinmolekül besteht aus insgesamt 6 Untereinheiten. Diese Untereinheiten werden in zwei schwere und vier leichte Untereinheiten bzw. Ketten unterteilt.

Die beiden schweren Ketten bestehen aus einem fibrösen, langen alpha-helikalen Teil mit einer globulären Domäne am Aminoterinalen Ende. Die Helikalen Teile der beiden schweren Ketten sind linksgängig um einander superspiralisiert. Zwei der vier leichten Ketten sind jeweils an die globuläre Domäne einer schweren Kette gebunden. Man bezeichnet die globulären Teile der schweren Ketten zusammen mit den leichten Ketten auch als Myosin Kopfgruppe.

In Muskelzellen sind jeweils viele Myosinmoleküle so aneinander gelagert, dass die Kopfgruppen leicht versetzt nach außen gucken. Sie bilden das dicke Filament in den kontraktilen Einheiten von Muskeln.

Was sind Cofaktoren, Coenzyme, prosthetische Gruppen und Apoenzyme?

November 25th, 2006 Autor: Phillip Kroll -

biochemieDie meisten Enzyme benötigen für ihre katalytische Aktivität zusätzliche chemische Komponenten. Dabei kann es sich entweder um anorganische Ionen (Fe2+, Mg2+, Mn2+ oder Zn2+) oder um komplexere organische oder metallorganische Moleküle handeln. Im letzteren Fall spricht man von Koenzymen, eine Untermenge der Kofaktoren. Sind Kofaktoren fest an ein Enzym gebunden, bezeichnet man sie auch als prosthetische Gruppe. Enzyme die durch Bindung an all ihre Kofaktoren ein aktives Enzym bilden werden als Holoenzyme bezeichnet. Liegt das Enzym ohne seine Kofaktoren, also katalytisch inaktiv vor, bezeichnet man es als Apoenzym.

Mechanismen der enzymatischen Katalyse

November 25th, 2006 Autor: Phillip Kroll -

biochemieDie katalytische Aktivität von Enzymen beruht im wesentlichen auf drei verschiedenen Typen der Katalyse.

Säure-Base-Katalyse

Viele Reaktionen laufen nicht vollständig ab, weil das Zwischenprodukt in wässriger Lösung nicht stabil genug vorliegt, um weiter in die Produkte umgesetzt zu werden. So stellt sich ein Gleichgewicht zwischen Edukten und Zwischenprodukten ein. In manchen Fällen reichen die vom Wasser gebildeten Ionen H3O und OH- als Protonen Donatoren bzw. Akzeptoren aus, um das Zwischenprodukt zu stabilisieren und damit die Reaktion in die Endprodukte zu ermöglichen. In diesem Fall spricht man von spezifischer Säure-Base-Katalyse.

Für viele Reaktionen reicht das beschränkte katalytische Potenzial von Wasserionen jedoch nicht aus. In diesem Fall können Aminosärereste im aktiven Zentrum von Enzymen bei der Katalyse als Protonen Akzeptoren oder Donatoren dienen. Dies bezeichnet man als allgemeine Säure-Base-Katalyse

Kovalente Katalyse

Bei der kovalenten Katalyse geht das Enzym während der Katalyse eine temporäre kovalente Bindung mit dem Substrat ein oder es werden bestimmte Gruppen des Substrates temporär an das Enzym gebunden. Diese wird in einem zweiten Schritt wieder gespalten um das Enzym zu regenerieren. Die kovalente Bindung kommt mit Hilfe einer nukleophilen Gruppe am Enzym zustande. Einige der Aminosäuren haben nukleophile Gruppen die Enzyme zur kovalenten Katalyse befähigen (z.B. Serin oder Histidin).

Metall-Ionen-Katalyse

Die katalytische Aktivität von ca. einem Drittel aller bekannten Enzyme beruht auf einer Metall-Ionen-Katalyse[1]. Ein oder mehrere enzymgebundene Metall-Ionen können durch schwache Wechselwirkungen und/oder die räumliche Ausrichtung des Substrats die Katalyse fördern. Metall-Ionen können dies durch eine bestimme Ausrichtung des Substrates oder durch die Stabilisierung von Übergangszuständen erreichen. Siehe Häm-Gruppe im Hämoglobin und Myoglobin.

Quellen:
1: Lehniger Biochemie, 2001

DNA-Sequenzierung: Kettenabbruchmethode

November 22nd, 2006 Autor: Phillip Kroll -

biochemieEine effiziente Methode zur DNA Sequenzierung ist die Kettenabbruchmethode auch Didesoxymethode genannt. Sie erlaubt die Squenzierung von DNA-Fragmenten mit mehreren hundert Nukleotiden. DNA-Polymerase ist dabei das Enzym das die Sequenzierung ermöglicht, deshalb gehört die Kettenabbruchmethode zu den enzymatischen Sequenzierungsverfahren. Das Verfahre Basiert auf der Verwendung von Didesoxynukleosidtriphosphaten (ddNTP) zum gezielten Abbruch von DNA-Polymerisationen.

Sie unterscheiden sich von den normalerweise zur Polimerisation von DNA verwendeten desoxynukleosidtriphosphaten (dNTP) darin, dass der enthaltene Zucker nicht Desoxyribose, sondern Didesoxyribose ist. Mit anderen Worten fehlt gegenüber der Ribose an diesem Zucker nicht ein Sauerstoff Atom (wie bei der Desoxyribose) sondern zwei. Das zweite Sauerstoffatom sitzt bei der Ribose und Desoxyribose am C3' Atom und bildet dort eine OH Gruppe. Wird ein ddNTP anstatt einem dNTP bei der Kopie eines DNA-Fragmentes durch DNA-Polymerase verwendet, wird auf Grund der fehlenden OH-Gruppe die Polymerisation an diese Stelle abgebrochen.

Diesen Abbruch kann man sich zur Sequenzierung zu Nutze machen. Man setzt zunächst vier verschiedene Lösungen an, die alle DNA-Polymerase, einen zum DNA-Fragment passenden Primer und alle vier verschiedenen dNTPs (dCTP, dATP, dTTP, dGTP) enthalten. Zusätzlich gibt man in eine Lösung eine Konzentration von ddNTP mit Cytosin im Nukleosid (ddCTP); in eine andere ddNTP mit Adenin im Nukleosid (ddATP) und in die beiden verbleibenden Lösungen entsprechend jeweils ddTTP und ddGTP.

Die DNA-Polymerase beginnt nun in allen vier ansätzen die Fragmente zu polymerisieren. In jedem Ansatz wird sie jedoch bei einer bestimmten Base am Matrizenstrang mit einer von der Konzentration des jeweiligen ddNTPs abhängigen Wahrscheinlichkeit abbrechen.

Nimmt man zum Beispiel die Sequenz "GGATTC" werden in dem ddATP-Ansatz folgende Fragmente zu finden sein: CCTA, CCTAA und CCTAAG. Im ddTTP-Ansatz: CCT und CCTAAG. Im ddCTP-Ansatz: C, CC und CCTAAG. Und im ddGTP: CCTAAG. Insgesamt sind dann Fragmente jeder möglichen länge vorhanden (jedoch in verschiedenen Ansätzen):

C
CC
CCT
CCTA
CCTAA
CCTAAG

Man kann nun die Fragmente mit Hilfe von Gelelektrophorese nach ihrer Größe auftrennen, dabei benötigt man ein Gel das DNA-Sequenzen mit einem Größenunterschied von nur einer Base noch sauber auftrennen kann. Man setzt vier Laufansätze an die jeweils für A, G, T und C stehen. In dem oberen Beispiel wird die Bande die am weitesten gelaufen ist bei C zu sehen sein. Die zweit weiteste auch bei C, dann bei T, dann bei A, dann wieder bei A und dann zuletzt bei G. So kann man auf die komplementäre Sequenz der Ausgangs-DNA zurückschließen.

Heutige enzymatische Sequenzierungen werden nicht mehr mit einem Gel ermittelt. Man markiert die ddNTP-Moleküle jeweils mit einem Farbstoff um sie optisch während einer chromatographischen Auftrennung detektieren zu können. Dies läuft computergestützt und automatisiert ab.

Enzym Inhibitoren und Modulatoren

November 11th, 2006 Autor: Phillip Kroll -

biochemieEine Übersicht über die verschiedenen Enzyminhibitoren und Modulatoren regulatorischer Enzyme. Die Begriffe sind teilweise zu weiterführenden Artikeln verlinkt.

Enzymhemmung

Reversible Hemmung

  • Kompetetive Inhibiotren
  • Nicht-Kompetitive Inhibiotren
  • Gemischte Inhibiotren

Irreversible Hemmung

  • Mechanismusgestützte Inhibiotren

Enzymregulation

Allosterische Modulatoren

  • Homotrope Modulation
  • Heterotrope Modulation

Kovalente Modulatoren

Irreversible Enzymhemmung

November 11th, 2006 Autor: Phillip Kroll -

biochemieIrreversible Inhibitoren sind Moleküle die Enzyme irreversible hemmen. Das Enzym kann nach einer irreversiblen Hemmung nicht mehr in den aktiven Zustand zurückgeführt werden. Inhibitoren, die Enzyme auf diese Weise hemmen binden entweder kovalent an das Enzym oder zerstören für die katalytische Aktivität wichtige funktionelle Gruppen. Eine besondere Form dieser Inhibitoren sind Suicide Inhibitoren oder auch Selbstmord-Inhibitoren. Sie befinden sich generell in einem inaktiven Zustand, werden aber von dem Enzym, dass sie inhibieren, in eine aktivere Form überführt. Daraufhin inaktivieren sie das Enzym irreversibel. Das Enzym katalysiert somit seine eigene Zerstörung. Aufgrund dieses Prozesses werden solche Inhibitoren auch als mechanismusgestützte Inhibitoren bezeichnet.

Reversible Enzymhemmung

November 11th, 2006 Autor: Phillip Kroll -

biochemieDie häufigste reversible Hemmung ist die kompetitive Hemmung. In diesem Fall konkurrieren das Substrat und ein kompetitiver Inhibitor um das Aktive Zentrum des Enzyms. Der Inhibitor ist häufig ein Struktur Analogon zum Substrat wodurch er reversibel an das aktive Zentrum des Enzyms binden kann. Aus dem Enzym-Inhibitor-Komplex folgt keine enzymatische Spaltung. Der Inhibitor bleibt unverändert. Das Binden des Inhibitors blockiert im eigendlichen Sinne nicht das Enzym, sondern verringert lediglich bei zunehmender Konzentration die Wahrscheinlichkeit, dass das Substrat an das Aktive Zentrum binden kann. Dies kann insgesamt jedoch eine effektive Herabsetzung der katalytischen Effizienz des Enzyms zur Folge haben. Kompetetive Hemmung hat keinen Einfluss auf Vmax, verändert jedoch Km.

Die nicht-kompetitive Hemmung spielt eine Rolle bei Enzymen mit zwei oder mehr Substraten. Dabei behindert der Inhibitor die Enzymfunktionalität nicht indem er an das Enzym bindet sonder an den Enzym-Substrat-Komplex. In diesem Fall ändert sich Vmax und Km, die Grade im Lineweaver-Burk-Diagramm ist bei verschiedenen Inhibitor Konzentrationen parallel verschoben.

Eine dritte Form der Hemmung ist die gemischte reversible Hemmung. Ein gemischter Inhibitor kann entweder an das aktive Zentrum binden um einen kompetitiven Inhibitor-Enzym-Komplex zu bilden, oder an einen Enzym-Substrat-Komplex um als nicht-kompetitiver Inhibitor zu wirken.

Proteolytische Spaltung als Regulationsmechanismus

November 11th, 2006 Autor: Phillip Kroll -

biochemieEinige Enzyme entstehen bei der Biosynthese in einer katalytisch inaktiven Form, die auch als Zymogen bezeichnet wird. Sie werden erst nach einer irreversiblen kovalenten Spaltung in ihre aktive Konformation überführt. Da diese Aktivierung irreversibel ist gibt es für die Hemmung andere Mechanismen. Sinn macht dies bei Enzymen, deren katalytische Aktivität am Ort ihrer Synthese schädlich wären, wie zum Beispiel Chymotrypsin oder Trypsin (Verdauungsenzyme die durch proteolytische Spaltung erst im Magen aktiv werden). Ein anderes Beispiel ist Kollagen, dass im Gegensatz zu seiner Vorstufe (Prokollagen) ein hydrophobes Molekül ist. Prokollagen ist somit, bis zu seiner Umwandlung zu Kollagen, wasserlöslich.

Phosphorylierung von Glycogen-Phosphorylase

November 11th, 2006 Autor: Phillip Kroll -

biochemiePhosphorylierung ist eine reversible kovalente Modifikation. Am Beispiel der Glycogen-Phosphorylase kann man den Einfluss von Phosphorylierungen auf die katalytische Aktivität und die Struktur von Enzymen veranschaulichen. Sind die beiden Untereinheiten der Phosphorylase an jeweils einem Ser Rest Phosphoryliert spricht man von Phosphorylase a. Dies ist die enzymatisch aktive Form. Wird Phosphorylase durch Phosphorylase-Phosphatase dephosphoryliert ändert sich die Struktur des Porteins in eine weniger aktive Form um. Man spricht dann von Phosphorylase b.

Michaelis Menten Kinetik allosterischer Enzyme

November 11th, 2006 Autor: Phillip Kroll -

biochemieAllosterische Enzyme bestehen meist aus mehreren Untereinheiten. Die Bindung von einem oder mehreren Modulatoren bewirkt oft Konformationsänderungen in anderen Domänen. Dies führt zu einer positiven bzw. negativen Modulation der Enzymaktivität. Dieser Effekt ähnelt der Kooperativen Bindung bei nicht-Enzym-Proteinen (vergleiche O2-Bindung an Hämoglobin) und weißt deshalb ebenfalls oft eine sigmoide Reaktionskinetik auf.

Die Reaktionskinetik von homotrophen allosterischen Enzymen reagiert stark auf die Modulatorkonzentraion. Das Verhalten von heterotropen allosterischen Enzymen ist schwer zu verallgemeinern. Oft verändert sich mit der Modulatorkonzentration der Km Wert ohne dass sich Vmax verschiebt. So kann ein nahezu hyperbolischer Verlauf bei Verringerung von Km auftreten. Bei manchen Enzymen verändert sich jedoch der Wert für Km, bei gleichzeitiger Verschiebung von Vmax, kaum.

Allosterische Feedback Hemmung

November 11th, 2006 Autor: Phillip Kroll -

biochemieDas allosterisch regulierte Enzym ist meist das erste in einem Stoffwechselweg. Um eine bestimmte Konzentration des Endproduktes eines Stoffwechselweges zu halten wird oft das erste Enzym eines Stoffwechselweges durch das Endprodukt gehemmt. So wird der Ablauf des kompletten Stoffwechselweges bei zu hoher Endproduktkonzentration unterdrückt. Diese Art der Regulierung nennt man Feedback- oder auch Rückkopplungshemmung.

>> Mehr über Enzyme

Mechanismen regulatorischer Enzyme

November 11th, 2006 Autor: Phillip Kroll -

biochemieRegulatorische Enzyme stehen meist am Anfang von Multienzym-Systemen um die Bildung unnötiger Metabolite zu vermeiden. Man kann regulatorische Enzyme in zwei Klassen unterteilen.

Zum einen allosterische Enzyme, die durch reversible, nicht-kovalente Bindung von allosterischen Modulatoren (meist Cofaktoren oder kleine Methabolite) reguliert werden können. Ist das Substrat gleichzeitig der allosterische Modulator spricht man von homotropen allosterischen Enzymen (vergleichbar mit der Bindung von O2 an das nicht-enzymatische Protein Hämoglobin). Ist der Modulator ein anderes Molekül als das Substrat handelt es sich dementsprechen um ein heterotopes allosterisches Enzym. Eine besondere Form der allosterischen Modulation ist die Feedback Hemmung.

Die zweite Klasse sind Enzyme die über reversible kovalente Modifikation reguliert werden. Bei diesem Prozess werden funktionelle Gruppen (Phosphat-, Adenyl-, Uridyl-, Adenosindiphospatribosyl- oder Methylgruppen) kovalent an das Enzym gebunden bzw. abgespalten. Phosphorylierung ist dabei die wichtigste kovalente Modifikation (siehe Phosphorylierung von Glycogen-Phosphorylase). Eine Sonderform der kovalenten Modifikation ist die porteolytische Spaltung, sie ist irreversibel.

Quelle: Biochemie Lehninger, 2001

Parallele Datenverarbeitung mit Java (3b)

November 10th, 2006 Autor: Phillip Kroll -

Jave Logo BioinformatikAufgabe

Über den eingleisigen Streckenabschnitt AB sollen die Züge so koordiniert fahren, dass kein Unfall entsteht. In den Streckenabschnitt passen maximal 3 Züge gleichzeitig. Sie können annehmen, dass außerhalb des Abschnitts immer genügend neue Züge bereit stehen; nach dem Verlassen des Abschnitts fahren sie rechtzeitig ohne Unfälle weg.

Achtung! Ein Zug kann unterwegs nicht die Richtung wechseln! Rückwärts fahren darf er auch nicht!

Sie können zur Vereinfachung davon ausgehen, dass die Züge, die sich bereits im Streckenabschnitt befinden, nicht aufeinanderfahren können.

Implementieren Sie eine Klasse Zug, die pro Instanz einen Thread startet und zufällig (siehe Math.random()) eine der beiden Methoden GoEast() oder GoWest() aufruft. Hinweis: wo sollten diese Methoden sinnvollerweise implementiert werden: ebenfalls in Zug oder besser woanders? Denken Sie daran, dass mehrere Züge gleichzeitig starten können! Ihre Aufgabe besteht darin, Kollisionen durch Gegenverkehr zu verhindern!

Hinweis: überlegen Sie sich, welche Zustände der Streckenabschnitt annehmen kann. Formulieren Sie erst dieses Zustandsmodell! Setzen Sie es dann in möglichst einfache und möglichst wenige Zustands-Variablen um.

Hinweis: es gibt viele verschiedene Lösungsmöglichkeiten. Sie können frei entscheiden, welche der in der Vorlesung behandelten Konzepte Sie einsetzen wollen. Es kommt jedoch auf die Korrektheit an! Die Lösung muss einerseits frei von Deadlocks sein, darf aber andererseits die Züge nicht unnötig blockieren!

Testen Sie ihr System zuerst mit 10 parallel gestarteten Zügen, später mit 100 und mehr Zügen. Es sollen sinnvolle Ausgaben erzeugt werden, aus denen klar hervorgeht, wo sich jeder Zug (mit einer Nummer oder Namen) jeweils befindet bzw wohin er fährt.

Freiwillige Zusatzaufgabe: sorgen Sie dafür, dass die Züge, die sich innerhalb des Streckenabschnitts befinden, nicht aufeinander fahren können. Sie können dazu das Prinzip des Blockstrecken-Betriebs benutzen, das auch bei der realen Eisenbahn eingesetzt wird.

>> Die Lösung gibt es hier

Parallele Datenverarbeitung mit Java (3a)

November 10th, 2006 Autor: Phillip Kroll -

Jave Logo BioinformatikAufgabe

Vor einer Autowerkstatt befindet sich eine Warteschlange mit beliebiger Kapazität. In der Werkstatt arbeiten 10 Mechaniker-Threads jeweils parallel. Eine Auto-Reparatur dauert zufällig verteilt zwischen 10 und 20 Sekunden (Math.random() verwenden). Neue Autos werden von einem einzigen Liefer-Thread (alternativ auch vom Haupt-Thread) zufällig verteilt alle 1000 bis 2000 Millisekunden angeliefert und gelangen als erstes stets in die Warteschlange.

Achtung! falls die Warteschlange leer ist, muss der jeweilige Mechaniker warten, bis er ein Auto aus der Warteschlange abholen kann. Dieses Warten darf nicht durch eine feste Mindest-Wartezeit verlängert werden (verstecktes Busy-Wait mittels sleep() ist unzulässig)! Sobald ein neues Auto ankommt, muss mindestens einer der wartenden Mechaniker sofort mit der Reparatur beginnen!

Setzen Sie dieses System in ein Java-Programm mit aussagekräftigen Bildschirmausgaben um. Sie können annehmen, dass reparierte Autos sofort wegfahren und nicht weiter stören.

Freiwillige Zusatzaufgabe: protokollieren Sie jeweils den Füllstand der Warteschlange mit und beobachten Sie das System über einen längeren Zeitraum. Wenn Sie die oben genannten Zeit-Parameter ändern (z.B. die mittlere Reparaturdauer verkleinern oder vergrößern), welche Effekte treten dann ein? Haben Sie derartige Effekte bereits im realen Leben beobachten können?

Effekt aus dem Leben:
Egal welche Anzahl von Mechanikern die Werkstatt einstellt, es kann nicht sichergestellt werden, dass es zu keiner Zeit eine Warteschlange gibt und gleichzeitig immer alle Mechaniker beschäftigt sind.

>> Die Lösung gibt es hier

Parallele Datenverarbeitung mit Java (2)

November 7th, 2006 Autor: Phillip Kroll -

Jave Logo BioinformatikAufgabe 1

Beim Tischtennis spielen sich zwei Gegner abwechselnd den Ball zu. Dabei kann der eine Spieler ("Hans") den Ball nur dann schlagen, wenn der andere Spieler ("Vera") den Ball geschlagen hat. Mit Ausnahme des Beginns des Spiels: Vera beginnt.

Implementieren Sie eine Klasse Spieler, die bei der Instantiierung jeweils einen parallel laufenden Thread erzeugt, der die Aktionen des jeweiligen Spielers (mit einem bestimmten Namen und einem Gegner) ausführt. Implementieren Sie weiterhin eine Klasse Ball, die als Hilfsklasse zur Durchführung der Synchronisation dienen soll.

Beachten Sie, dass im Spiel stets immer nur genau 1 Ball unterwegs sein muss; mehrere Bälle oder kein Ball sind verboten! Es darf zu einem Zeitpunkt immer nur genau 1 Spieler-Thread den Ball schlagen!

Die Ausgabe des Programms sollte folgendermaßen aussehen:

Ping! Hans
Pong! Vera
Ping! Hans
Pong! Vera
Ping! Hans
Pong! Vera
...

Hinweis: verwenden Sie nicht den Spieltisch zur Synchronisation, da sich dieser während des Spiels ja nicht ändert. Überlegen Sie stattdessen, welche Zustände der Ball annehmen kann. Finden Sie für diese Zustände eine möglichst einfache Zustands-Repräsentation (möglichst wenige und einfache Variablen, d.h. halten Sie den Zustands-Raum so klein wie möglich).

Aufgabe 2

Beim Federball spielen sich drei Mitspieler ("Hans, "Vera" und "Peter") reihum den Ball (genau 1 Stück) zu. Implementieren Sie wie eben eine Klasse Spieler, die pro Spieler einen Thread erzeugt, und eine Klasse Ball.

Die Ausgabe des Programms sollte folgendermaßen aussehen:

Hans -> Vera
Vera -> Peter
Peter -> Hans
...

Hinweis: findige Programmierer schreiben für beide Aufgaben ein einziges Programm, dem man beim Aufruf nur noch sagen muss, für welches Spiel es sich intern konfigurieren soll. Dies ist aber keine Pflicht; Sie können auch 2 getrennte Programmcodes abgeben!

Achtung! Programmieren Sie kein "busy wait", sondern verwenden Sie wait() und notify() bzw. notifyAll()!

>> Die Lösung gibt es hier

Smith-Waterman-Algorithmus

November 6th, 2006 Autor: Phillip Kroll -

Der Smith-Waterman-Algorithmus ermittelt lokale Alignments für zwei Sequenzen. Die Sequenzen bilden eine Matrix in der Übereinstimmungen bzw. Unterschiede bewertet werden. Ist die Matrix erstellt, wird das Feld mit der höchsten Position gesucht (können auch mehrere sein) und von dort aus diagonal die Sequenz rückwärts abgelesen, bis man auf eine 0 stößt.

Beim Smith-Waterman-Algorithmus wird ein Übereinstimmen zweier Sequenzelemente mit +2 bewertet. Gaps und Mismatches werden mit -1 bewertet. Fällt die Bewertung negativ aus, wir sie 0.

Beispiel:
Sequenz A: AAAGAGTAGT
Sequenz B: TTTTAGTTTT

D - A A A G A G T A G T
- 0 0 0 0 0 0 0 0 0 0 0
T 0 0 0 0 0 0 0 2 1 0 2
T 0 0 0 0 0 0 0 2 1 0 2
T 0 0 0 0 0 0 0 2 1 0 2
T 0 0 0 0 0 0 0 2 1 0 2
A 0 2 2 2 1 2 1 1 4 3 2
G 0 1 1 1 4 3 4 3 3 6 5
T 0 0 0 0 3 3 3 6 5 5 8 <--
T 0 0 0 0 2 2 2 5 5 4 7
T 0 0 0 0 1 1 1 4 4 4 6
T 0 0 0 0 0 0 0 3 3 3 6

Das Ergebnis ist eine maximale Bewertung von 8 (Sieh Pfeil). Das lokale Alignment liefert: T G A T

Eine Implementierung in PHP mit Quelltext gibt es hier:

(Achtung: das Backtracking habe ich hier diagonal gemacht, das entspricht nicht dem Smith-Waterman-Algorithmus)

>> Smith-Waterman-Algorithmus PHP Skript

Perl Quiz

November 4th, 2006 Autor: Phillip Kroll - 2 Kommentare

Variablen und Deklarationen

(1) Welche der folgenden Deklarationen sind korrekte Skalar Variablen Deklarationen?

  • 1. my $var = 4;
  • 2. var = 4;
  • 3. my $var = "atgctga";

(2) Welche der folgenden Deklarationen sind syntatisch korrekte Array Variablen Deklarationen?

  • 1. my array = (1, 2, 3, 44);
  • 2. my @arr = (1, 2, 3, 4, 5 );
  • 3. my @avar = qw("atgctga", "tga", "atc" );
  • 4. my @avar = 4;

(3) Welche der folgenden Deklarationen sind syntatisch korrekte Hash Variablen Deklarationen?

  • 1. my hash = ('a' => 24, 'b' => 36);
  • 2. my %hash = ('a' => 24, 'b' => 36);
  • 3. my %hash = qw( 1 => atc, 2 => tgc );
  • 4. my %hash = qw( 1 => 'atc', 2 => 'tgc' ) + ;

(4) Bezogen auf (3): Was ist der korrekte Weg, um an den Wert des Schlüssels 'b' zu kommen?

  • 1. my $val = $hash{'b'};
  • 2. my $val = %hash{'b'};
  • 3. my $val = $hash{b};

(5) Was ist der Wert von $sub in diesem Codestück?

my $sub = substr("atgcatgcagtgc", 4, 4 );

  • 1. "catg"
  • 2. "atgc"
  • 3. "c"

(6) Wie ist der korrekte Weg, das vierte Element aus diesem Array zu bekommen?

my @a = qw( a b c d e );

  • 1. my $el = $a[ 4 ];
  • 2. my $el = $a[ 3 ];
  • 3. my $el = @a[ 3 ];

(7) Wie sortiert man das Array in absteigender Rheihenfolge?

my @a = (1.3, 5.7, 9.8, 11.2, 2.5 );

  • 1. my @sorted = sort {$a cmp $b} @a;
  • 2. my @sorted = sort {$b <=> $a} @a;
  • 3. my @sorted = sort {$a <=> $b} @a;

Reguläre Ausdrücke

(8) Welche der folgenden Ausdrücke sind syntatiksch korrekt?

  • 1. $str =~ /$my_regexp/;
  • 2. $str ~= /$my_regexp/;
  • 3. $str =~ /atgctga/;
  • 4. $str =~ m/atgtag/i;

(9) Welche der folgenden regulären Ausdrücke wir den Substring "atgct" in dem String "aaaaatgctacgt" finden?

  • 1. /(\w\w\w\w\w)/
  • 2. /(at..t)/
  • 3. /^(atgct)/
  • 4. /(a\w{3}[at])/

(10) Was ist der Wert von $a in dem folgenden Ausdruck?

my $string = "id:123 seq:atcgat conc:5.5mM";
my ($a) = $string =~ /^(\S+)/;

  • 1. 'id:123'
  • 2. 'id'
  • 3. 'id:123 seq:atcgat conc:5.5mM

(11) Was ist der Wert von @a in dem folgenden Ausdruck?

my $string = "id:123 seq:atcgat conc:5.5mM";
my @a = $string =~ /(\S+)/g;

  • 1. ( 'i', 'd' )
  • 2. ( 'id:123', 'seq:atcgat', 'conc:5.5mM' )
  • 3. ( 'id:123seq:atcgatconc:5.5mM' )

(12) Was ist der Wert von %a in dem folgenden Ausdruck?

my $string = "id:123 seq:atcgat conc:5.5mM";
my %a = $string =~ /(\w+):(\S+)/g;

  • 1. ( id => 123, seq => 'atcgat', conc => '5.5mM' )
  • 2. Undefined or and error
  • 3. (id123 => Undef, seq:atcgat => Undef, conc5.5mM => Undef)

Datenstrukturen

Gegeben ist folgende Datenstruktur:

my $data_ref = [
{seq => 'atgctagcta', id => 'seq1' },
{seq => 'ccttcgctgc', id => 'seq2' },
{seq => 'agtgtgtgatct', id => 'seq3' }
];

(13) Der Wert von $data_ref->[0]{'id'} ist:

  • 1. 'seq1'
  • 2. 'undefined'
  • 3. 'atgctagcta'

(14) Der Wert von $data_ref[0]{'id'} ist:

  • 1. 'seq1'
  • 2. "@data_ref" requires explicit package name
  • 3. 'ARRAY(0x1281e4)' (oder ähnlich)

(15) Um jede einzelne Sequenz in der Datenstruktur auszugeben funktioniert welcher Code?

  • 1. for my $seqhash ( @$data_ref ) { print "$seqhash->{'seq' }" };
  • 2. for my $seqhash ( % { @$data_ref } ) { print "$seqhash->{'seq' }" };
  • 3. while ( my $seqhash = shift @$data_ref ) { print "$seqhash->{'seq' }" };

(16) Um die Schlüssel für den zweiten Hash im Array zu bekommen funktioniert welcher Code?

  • 1. my @keys = keys % { $data_ref -> [1] };
  • 2. my @keys = keys % $data_ref -> [1];
  • 3. map{ push @keys, keys($_) }@$data_ref; };


Lösung:

(1) 1, 3 (2) 2, 3, 4 (3) 2, 3 (4) 1, 3 (5) 2 (6) 2, 3 (7) 2 (8) 1, 3, 4 (9) 2 (10) 1 (11) 2 (12) 1 (13) 1 (14) 2 (15) 1, 3 (16) 1

Navigation


Suche


Linkblog