Pomóż biologom i posortuj próbki.
Biologia
Modyfikacje posttranslacyjne (PTM) to modyfikacje białek, jakie zachodzą po procesie translacji. Modyfikacje te mogą wpłynąć na funkcjonowanie białka, jego aktywność, stabilność, właściwości fizykochemiczne. Do modyfikacji posttranslacyjnych zaliczamy między innymi hydroksylację, ubikwitynację, glikozylację, acetylację, metylację czy fosforylację. W pliku phosphoELM.txt znajdują się informacje na temat fosforylacji grupy białek. Każdy wiersz pliku phosphoELM2.txt dotyczy jednej fosforylacji.
Napisz program, który policzy który aminokwas występuje najczęściej w podanej sekwencji.
Podobnie jak w zadaniu ChIP-seq i czynniki transkrypcyjne, będziemy sprawdzać gdzie do DNA przyczepiony był czynnik transkrypcyjny. Tym razem jednak zamiast gotowego pliku z policzonymi miejscami, z których pochodziły fragmenty z sekwenatora, dysponujemy samymi odczytami.
W zadaniu INTERAKCJE BIAŁEK znaleźliśmy białko, które oddziałuje z największą liczbą białek w podanej sieci interakcji - oznaczmy je jako białko A. Kontynuujmy badanie tej sieci: znajdź wszystkie białka oddziałujące z białkiem A. Podaj ile jest takich białek i z iloma średnio białkami oddziałują białka oddziałujące z A. Jako wynik wpisz dwie liczby całkowite, oddzialone spacją.
Zasada komplentarności dotyczy łączenia się zasad azotowych, które występują w kwasach nukleinowych (np. DNA). Adenina łączy się podwójnym wiązaniem wodorowym z tyminą, a cytozyna potrójnym wiązaniem wodorowym z guaniną. W związku z tym stosunek A:T i G:C w cząsteczce DNA wynosi 1, a mając jedną nić DNA możemy odtworzyć drugą. Proces ten zachodzi podczas replikacji.
Twoim zadaniem jest wczytać sekwencję DNA zawartą w pliku sekw.txt i jako rozwiązanie podać nić komplementarną.
Jeśli GC-content w kontekście genu jest dla Ciebie oczywistością - spójrzmy na problem bardziej globalnie...
Napisz program, który znajdzie najczęściej występujący 'wyraz' czteroliterowy w sekwencji nukleotydowej podwójnej nici DNA
GC-content to jeden z podstawowych parametrów liczbowych, które można uzyskać z sekwencji DNA. Można go wykorzystać, m. in. do znajdowania obszarów genomu obcego pochodzenia...
Pomóż Laborantowi Zbigniewowi i policz na ile grup zostaną posegregowane fragmenty DNA.
Napisz program, który znajdzie najczęściej występujący 'wyraz' czteroliterowy w pojedynczej nici aminokwasów.
Napisz program, który policzy na ile części zostanie podzielona sekwencja po działaniu na nią kilkoma enzymami restrykcyjnymi.
Napisz program, który policzy na ile fragmentów zostanie podzielona sekwencja, jeśli specyficzna sekwencja rozpoznawalna przez enzym restrykcyjny to: GRYC (według kodu IUPAC)
FASTA to zdecydowanie najpopularniejszy format pliku służący do reprezentowania sekwencji nukleotydowych i aminokwasowych w formie cyfrowej. W dużym uproszczeniu format składa się z linii zawierających opis sekwencji (zaczynających się znakiem większości “>”) oraz z linii zawierających jednoliterowe skróty nazw nukleotydów/aminokwasów tworzących sekwencję (litery mogą być przedzielane spacjami i liczbami), przy czym te pierwsze nie są obowiązkowe. W jednym pliku może znajdować się jedna lub więcej sekwencji.
CBC (complete blood count), czyli morfologia krwi, to badanie polegające na ilościowym i jakościowym pomiarze składników krwi.
Podobnie jak w zadaniu "Składanie sekwencji", Twoim zdaniem będzie odtworzenie sekwencji DNA z otrzymanych danych; tym razem jednak dane są nieco wybrakowane.
Istnieje wiele metod poznawania sekwencji DNA (czyli sekwencjonowania DNA). Niestety, żadna z nich nie jest doskonała i żadna nie daje gotowego outputu w postaci sekwencji. Często outputem jest cały zbiór krótkich sekwencji, który następnie należy przetworzyć celem uzyskania jednej spójnej sekwencji. W załączonym pliku znajdziesz zbiór sekwencji 3-nukleotydowych, pochodzących z jednej sekwencji. Wiemy, że znajdują się w nim wszystkie możliwe fragmenty 3-nukleotydowe z oryginalnej nici, więc można odtworzyć jej sekwencję, znajdując fragmenty, które nachodzą na siebie.
Czynniki transkrypcyjne to białka, które umieją rozpoznać konkretną sekwencję w łańcuchu #DNA, związać się do niej i wywołać jakąś reakcję, np. spowodować ekspresję genu znajdującego się w pobliżu tej sekwencji bądź przeciwnie, zahamować ją. Pełnią więc bardzo istotną rolę w regulowaniu ekspresji genów. Każdy czynnik transkrypcyjny rozpoznaje jakieś konkretne, specyficzne dla niego sekwencje - niektóre tylko jedną, np. ATTATCG, niektóre kilka podobnych do siebie, np. ATTTA, ATTCA i ATTGA.
Bardzo istotną rolę u wszystkich organizmów pełnią białka - przenoszą substancje, przekazują sygnały, regulują wiele procesów, tworzą szkielet komórek etc. Wiele procesów wymaga tego, by zaszła jakaś interakcja między dwoma białkami. Można narysować interakcje białkowe za pomocą grafu: białka są wierzchołkami grafu; dwa białka są połączone, jeśli zaobserwowano między nimi interakcję. Analizowanie takich sieci wymaga częstego sięgania do matematyki, a konkretnie do teorii grafów.
Zapisane na #DNA geny nie są potrzebne wszystkie naraz - niektóre są potrzebne tylko raz na całe życie (np. te odpowiedzialne za rozwój dorosłego osobnika z pojedynczej komórki), inne tylko w wyjątkowych sytuacjach (np. jakiegoś uszkodzenia lub infekcji), jeszcze inne cały czas, ale w różnych ilościach. W związku z tym mechanizmy ekspresji genów podlegają regulacji.
Im bliżej organizmy są ze sobą spokrewnione tym bardziej podobne są u nich sekwencje odpowiadających sobie genów i białek. Sprawdzenie, na ile dwie sekwencje są do siebie podobne jest więc dosyć istotnym i wbrew pozorom nieprostym zagadnieniem.
Bioinformatyk Janek jest w trakcie opracowywania leku na lenistwo.
Informatyka
Poniżej zapisane są dwie listy słów (akurat dosyć losowych). Połącz je i posortuj w odwrotnym porządku alfabetycznym. Jako odpowiedź podaj wynik tych działań - kolejne słowa oddzielone przecinkami.
['akwarium','zamek','kret','czeladnik','substytut','butonierka','malarz','mimoza','metamorfoza','kronika','miozyna','figlarna']
['holewka','alabaster','dramat','grupa','nierealny','nacja','ewolucja','orangutan','drobiazg','prawomocny']
Rozważmy zmodyfikowane zadanie Ramię robota Rob1. Tym razem mamy do czynienia z robotem Rob2, który ma takie same możliwości ustawienia odcinków swojego ramienia, ale jego ramię składa się z odcinków długości [4,5,7,3,9,12], a ponadto możemy zamieniać kolejność odcinków, czyli składać ramię robota na różne sposoby.
Robot Rob1 posiada zdolność ruszania ramieniem w jednej płaszczyźnie. Jego ramię składa się z 10 odcinków, kolejne odcinki mają następujące długości: [2,4,5,7,12,4,7,9,11,6]. Przyjmijmy, że początek ramienia znajduję się w punkcie (0,0) układu współrzędnych. Robot może ustawić kolejne odcinki ramienia pod kątem 0,90 lub 180 stopni względem poprzedniego odcinka, a pierwszy odcinek ramienia leży na osiach układu współrzędnych. Sprawdź, do których punktów z wektora 'punkty' robot jest w stanie sięgnąć końcem ramienia.
Palindrom to wyrażenie brzmiące tak samo czytane od lewej do prawej i od prawej do lewej, np. "Może jutro ta dama da tortu jeżom".
Napisz program, który wczyta tekst z pliku palindormy.txt i policzy ile wierszy to palindromy.
Pewnie na codzień używasz różnego rodzaju plików. Warto, aby i Twoje programy umiały posługiwać się plikami. W tym zadaniu dowiesz się jak to zrobić.
Ludzie podejmują decyzje na podstawie oceny sytuacji, dzięki temu są w stanie dostosować się i osiągać zamierzony cel.
Programy też mogą działać na podobnej zasadzie, w tym zadniu się o tym przekonasz.
Wyrażenia arytmetyczne są nieodzowną cześcią programowania. Wylistowanie ich potencjalnych zastosowań byłoby trudne, bo użwya się ich niemal wszędzie. To zadanie sprawdzi Twoje umiejętności dbania o typy wyrażeń oraz kolejność wykonywania działań.
Podczas swojej pracy, programiści muszą łączyć pętle, instrukcje warunkowe, wyrażenia arytmetyczne, operacje na plikach i inne mechanizmy języków programowania w jednym programie. To zadanie podsumowuje poznane dotąd umiejętności.
Wyobraźmy sobie szachownicę wielkości 50 x 50. Na szachownicy rozmieszczone są figury, przy czym na każdym polu może stać kilka figur. Twoim zadaniem będzie sprawdzić, które pola nie są szachowane.
Krótki opis zachowania poszczególnych figur w szachach:
Często, gdy prowadzimy obliczenia na liczbach (zawsze w przypadku liczb niewymiernych) mamy do czynienia z zaokrągleniami. Proste kalkulatory wyświetlają zaledwie kilka(naście) pierwszych cyfr. Dobry programista powinien umieć poradzić sobie z tą barierą.
Metoda Monte Carlo jest bardzo popularną metodą, która wykorzystuje losowość do rozwiązywania złożonych problemów. Znajduje zastosowanie w wielu dziedzinach, np. w obliczaniu objętości skomplikowanych brył, modelowaniu procesu zderzania się cząstek, szukaniu kształtu, jaki prawdopodobnie przyjmie w komórce łańcuch białkowy i wielu innych.
Fizyka
Zmodyfikujemy zadanie Model Isinga - tym razem model jest dwuwymiarowy. Twoim zadaniem jest znalezienie konfiguracji o jak najniższej energii.
Model Isinga opisuje układ obiektów posiadających pewną cechę, która może przyjmować dwie wartości, umownie oznaczane -1 i 1. Mogą to np. być cząstki obdarzone spinem. Można sobie wyobrazić, że sa one ułożone w górę (te ze spinem 1) lub w dół (-1). Sąsiadujące ze sobą cząstki oddziałują ze sobą: jeżeli obie mają ten sam spin, energia jest niższa, jeżeli różny - większa. Za energię układu przyjmujemy sumę energii oddziaływań kolejnych par cząstek.
W pewnej malowniczej miejscowości znajduje się 100 gór, z których można zjeżdzać na sankach. Dane na temat poszczególnych gór (długość stoku i kąt jego nachylenia) znajdują się w pliku sanki.txt. Rodzeństwo, szcześliwie zamieszkujące ową miejscowość, postanowiło wybrać się na sanki. Niestety nie mogą dojść do porozumienia, którą górę wybrać, mimo że mają takie samo marzenie: osiągnąć jak największą prędkość maksymalną. Pomóż rodzeństwu obliczając na progu której góry osiągną największą prędkość, pomiń tarcie.
Matematyka
Średnica grafu spójnego to odległość na jaką są oddalone dwa najodleglejsze wierzchołki grafu. Oznacza to, że dowolne dwa wierzchołki grafu łączy ścieżka nie dłuższa niż wartość średnicy. Twoim zadaniem jest policzenie wartości średnicy grafu G, który jest podgrafem grafu opisanego w pliku 'interakcje_bialek.txt' (graf pochodzi z zadania INTERAKCJE BIAŁEK), utworzonego z wierzchołków wypisanych w pliku 'podgraf.txt'.
Gęstością grafu nazywamy stosunek liczby krawędzi do największej możliwej liczby krawędzi. Gęstość można policzyć ze wzoru: \(d = \frac{2m}{n(n-1)}\), gdzie m to liczba krawędzi, a n liczba wierzchołków grafu. Dla grafu pełnego gęstość wynosi 1, a dla grafu bez krawędzi 0. Policz gęstość grafu dla grafu, który opisuje sieć interakcji białek z zadania INTERAKCJE BIAŁEK. Wynik podaj z dokładnością do 6 miejsc po przecinku.
W pliku przekatnemacierzy.txt znajduje się 30 macierzy o wymierach 10x10. Twoim zadaniem jest policzyć sumę co drugiego elementu z przekątnej macierzy, zaczynając od elementu na pozycji [0,0].
Wyniki podaj w formie wektora, np. [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
Sito Eratostenesa jest algorytmem, który umożliwia wyznaczanie liczb pierwszych z zadanego przedziału [2,n]. Algorytm działa w następujący sposób:
-wybieramy najmniejszą liczbę z przedziału i wykreślamy jej wielokrotności (czyli wykreślamy wielokrotności 2: 4,6,8 itd)
-wybieramy najmniejszą niewykreśloną liczbę i wykreślamy jej wielokrotności. Powtarzamy ten krok do momentu, gdy liczba, której wielokrotność wykreślamy, będzie większa niż \(\sqrt{n}\)
Liczby Catalana to nazwa pewnego ciągu liczb, który ma wiele zastosowań w kombinatoryce np \(c_{n}\) oznacza liczbę sposobów podziału wielokąta wypukłego, mającego n+2 krawędzie na różne trójkąty przy pomocy przekątnych. Jawny wzór na n-ty wyraz ciągu:
\(c_{n}=\frac{(2n)!}{(n+1)!n!}\)
Zadanie: z podanego w pliku catalan.txt ciągu liczb, wypisz liczby Catalana posortowane rosnąco i oddzielone od siebie jedynie przecinkami.
Zadanie "Trójkąty w przestrzeni trójwymiarowej" to dla Ciebie przeszłość? Czas na finalne zadanie z tej serii!
Jeśli uważasz, że zadanie "Odległości między punktami w przestrzeni trójwymiarowej" to bułka z masłem, zmierz się z trójkątami!
Jeśli zadanie "Odległości między punktami na płaszczyźnie" jest już za Tobą, spróbuj uporać się z wersją w trzech wymiarach.
W tym zadaniu zajmiemy się wymyślonym przez Johna Conwaya automatem komórkowym zwanym grą w życie.
Zmodyfikujemy zadanie "Ciąg Fibonacciego jeszcze inaczej". Tym razem wrócimy do prostych zasad rozmnażania się królików, ale do naszej hodowli dostały się zjadające je lisy.
Zmodyfikujemy nieznacznie zadanie "Ciąg Fibonacciego trochę inaczej". Będziemy symulować hodowlę królików opartą na podobnych zasadach, ale tym razem będziemy rozpatrywać oddzielnie samce i samice.
Zmodyfikujemy nieco zadanie Ciąg Fibonacciego. Będziemy symulować hodowlę królików opartą na podobnych zasadach, ale usuniemy nierealne założenie o nieśmiertelności królików.
Wyobraźmy sobie hodowlę królików o następujących właściwościach:
- co miesiąc każda dorosła para królików się rozmnaża, dając życie kolejnej parze królików (samcowi i samicy)
- młode króliki stają się dorosłe w ciągu miesiąca.
Zaczynamy hodowlę od jednej pary młodych królików. Zgodnie z powyższymi zasadami:
Twierdzenie Lagrange’a mówi o tym, że każdą naturalną liczbę n można zapisać za pomocą sumy kwadratótw 4 liczb naturalnych: n=x2+y2+z2+t2
Liczba n jest liczbą pierwszą, jeśli jest większa od jedności i nie posiada innych dzielników niż 1 i n. Znanych jest kilka otwartych problemów związanych z liczbami pierwszymi. Zajmijmy się hipotezą Eulera-Goldbacha która głosi, iż każda liczba parzysta większą od 2 jest sumą dwóch liczb pierwszych.
Rekurencja polega na rozwiązywaniu problemu w oparciu o rozwiązania tego samego problemu dla danych o mniejszym rozmiarze. Realizacja rekurencji w informatyce polega na tym, że dany program wywołuje samego siebie. Rekurencyjny zapis obliczeń jest zwykle bardziej przejrzysty. Przykładem zastosowania rekurencji są fraktale. Fraktal jest to obiekt ‘samo-podobny’. Jego części są podobne do całości.
Chemia
W procesie translacji, aminokwasy łączą się wiązaniami kowalencyjnymi (dokładniej mówiąc wiązaniami peptydowymi) definiując tym samym strukturę pierwszorzędową powstającego białka. Za wyższe, w strukturalnej hierarchii białek, poziomy organizacji odpowiadają m. in. mostki dwusiarczkowe.
Chromatografia cieczowa jest techniką laboratoryjną, służącą do rodzielenia mieszaniny na poszczególne związki chemiczne wchodzące w jej skład. Może mieć zastosowanie w oczyszczaniu próbek, badaniu ich składu, bądź badania czystości. Mieszaninę przepuszcza się przez kolumnę ze złożem. Na skutek oddziaływań międzycząsteczkowych między substancjami, jedne związki chemiczne poruszają się szybciej a inne wolniej, więc opuszczą kolumnę w różnym czasie.
Do opisywania związków chemicznych mogą służyć wzory strukturalne, odzwierciedlające budowę cząsteczki, oraz sumaryczne, opisujące z ilu atomów jakiego rodzaju składa się dana cząsteczka. Czasem stosuje się nieco bardziej skomplikowany zapis wzorów sumarycznych, który przybliża budowę cząsteczki. Przykładowo, kwasy karboksylowe często zapisuje się z 'COOH' na końcu, żeby podkreślić obecność grupy karboksylowej na końcu cząsteczki (np. kwas octowy zapisuje się najczęściej CH3COOH zamiast C2H4O2).
Aktualności
Konkurs rozwiązany! Zwycięzcom gratulujemy, i będziemy wysyłać nagrody.
Nie wiesz jak zacząć? Spróbuj rozwiązać jedno z prostszych zadań, które przygotowali nasi autorzy.
Poprawiliśmy liczenie rankingu. Kolejność pozostała niezmieniona, ale teraz łatwiej interpretować punkty, które tam widać. Dziękujemy za uwagi od użytkowników, dzięki którym odkryliśmy problem i prosimy o więcej uwag na davinci@davinci.mimuw.edu.pl lub przez formularz kontaktowy.
Pojawiło się kilka nowych zadań.
Powstała, na razie skromna, strona społeczności na FB
Start systemu! Na dobry początek w listopadzie trwa konkurs z nagrodami!