├── CS50x.png ├── README.md ├── week-1 ├── cash │ └── cash.c ├── pset1-hello │ └── hello.c ├── pset1-mario │ └── mario.c └── pset1-marioMore │ └── mario.c ├── week-2 ├── caesar │ └── caesar.c ├── readability │ └── readability.c ├── scrabble │ └── scrabble.c └── substitution │ └── substitution.c ├── week-3 ├── lab3 │ ├── answers.txt │ ├── random10000.txt │ ├── random5000.txt │ ├── random50000.txt │ ├── reversed10000.txt │ ├── reversed5000.txt │ ├── reversed50000.txt │ ├── sort1 │ ├── sort2 │ ├── sort3 │ ├── sorted10000.txt │ ├── sorted5000.txt │ └── sorted50000.txt ├── plurality │ └── plurality.c └── runoff │ └── runoff.c ├── week-4 ├── RECOVER │ └── recover.c ├── filter │ ├── Makefile │ ├── bmp.h │ ├── filter.c │ ├── helpers.c │ ├── helpers.h │ └── images │ │ ├── courtyard.bmp │ │ ├── stadium.bmp │ │ ├── tower.bmp │ │ └── yard.bmp └── volume │ ├── input.wav │ └── volume.c ├── week-5 ├── lab5 │ └── inheritance.c └── speller │ ├── Makefile │ ├── dictionaries │ ├── large │ └── small │ ├── dictionary.c │ ├── dictionary.h │ └── speller.c ├── week-6 ├── cash-py │ └── cash.py ├── dna-py │ ├── databases │ │ ├── large.csv │ │ └── small.csv │ ├── dna.py │ └── sequences │ │ ├── 1.txt │ │ ├── 10.txt │ │ ├── 11.txt │ │ ├── 12.txt │ │ ├── 13.txt │ │ ├── 14.txt │ │ ├── 15.txt │ │ ├── 16.txt │ │ ├── 17.txt │ │ ├── 18.txt │ │ ├── 19.txt │ │ ├── 2.txt │ │ ├── 20.txt │ │ ├── 3.txt │ │ ├── 4.txt │ │ ├── 5.txt │ │ ├── 6.txt │ │ ├── 7.txt │ │ ├── 8.txt │ │ └── 9.txt ├── hello-py │ └── hello.py ├── lab6 │ ├── 2018m.csv │ ├── 2019w.csv │ └── tournament.py ├── mario-py │ └── mario.py └── readability-py │ └── readability.py ├── week-7 ├── fiftyville │ └── answers.txt ├── lab7 │ ├── 1.sql │ ├── 2.sql │ ├── 3.sql │ ├── 4.sql │ ├── 5.sql │ ├── 6.sql │ └── 7.sql └── movies │ ├── 1.sql │ ├── 10.sql │ ├── 11.sql │ ├── 12.sql │ ├── 13.sql │ ├── 2.sql │ ├── 3.sql │ ├── 4.sql │ ├── 5.sql │ ├── 6.sql │ ├── 7.sql │ ├── 8.sql │ └── 9.sql ├── week-8 ├── HomePage │ ├── README.md │ ├── doc │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ └── 5.png │ ├── font │ │ ├── Shabnam-Bold.eot │ │ ├── Shabnam-Bold.ttf │ │ ├── Shabnam-Bold.woff │ │ ├── Shabnam.eot │ │ ├── Shabnam.ttf │ │ └── Shabnam.woff │ ├── img │ │ ├── Brute-Force-Attack.png │ │ ├── GitHub-Mark-120px-plus.png │ │ ├── Twitter social icons - circle - blue.png │ │ ├── about.jpg │ │ ├── brute.jfif │ │ ├── c.png │ │ ├── coming.png │ │ ├── fava.jpg │ │ ├── fava.png │ │ ├── instagram.png │ │ ├── me.png │ │ ├── project-1.jfif │ │ ├── project-2.jfif │ │ ├── project-3.jfif │ │ ├── project-4.jfif │ │ ├── project-5.jfif │ │ ├── project-6.jfif │ │ ├── python.png │ │ ├── skills.jpg │ │ └── telegram-logo-944.png │ ├── index.html │ └── style.css └── trivia │ ├── index.html │ └── style.css └── week-9 ├── birthdays ├── Requirements.txt ├── app.py ├── birthdays.db ├── static │ └── styles.css └── templates │ └── index.html └── finance ├── app.py ├── finance.db ├── finance.zip ├── helpers.py ├── requirements.txt ├── static ├── favicon.ico └── styles.css └── templates ├── apology.html ├── buy.html ├── history.html ├── index.html ├── layout.html ├── login.html ├── quote.html ├── quoted.html ├── register.html └── sell.html /CS50x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/CS50x.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | GitHub repo size 3 | GitHub contributors 4 |

5 | 6 | 7 | # CS50 Problem sets 8 | > ## solve all CS50 x problems 9 | 10 | How to clone : 11 | 12 | git clone https://github.com/alisharifyy/Solve-All-CS50.git 13 | 14 | 15 | 16 | ### All Weeks 17 | Week 1 18 | 19 | Week 2 20 | 21 | Week 3 22 | 23 | Week 4 24 | 25 | Week 5 26 | 27 | Week 6 28 | 29 | Week 7 30 | 31 | Week 8 32 | 33 | Week 9 34 | 35 | 36 | ## Star History 37 | 38 | [![Star History Chart](https://api.star-history.com/svg?repos=alisharify7/CS50x&type=Date)](https://star-history.com/#alisharify7/CS50x&Date) 39 | 40 | 41 | 42 | # Certificate: 43 | CS50 Certificate 44 | -------------------------------------------------------------------------------- /week-1/cash/cash.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int get_cents(void); 5 | int calculate_quarters(int cents); 6 | int calculate_dimes(int cents); 7 | int calculate_nickels(int cents); 8 | int calculate_pennies(int cents); 9 | 10 | 11 | // created by : alisharify 12 | //Do not copy code 13 | 14 | int main(void) 15 | { 16 | // Ask how many cents the customer is owed 17 | int cents = get_cents(); 18 | 19 | // Calculate the number of quarters to give the customer 20 | int quarters = calculate_quarters(cents); 21 | cents = cents - quarters * 25; 22 | 23 | // Calculate the number of dimes to give the customer 24 | int dimes = calculate_dimes(cents); 25 | cents = cents - dimes * 10; 26 | 27 | // Calculate the number of nickels to give the customer 28 | int nickels = calculate_nickels(cents); 29 | cents = cents - nickels * 5; 30 | 31 | // Calculate the number of pennies to give the customer 32 | int pennies = calculate_pennies(cents); 33 | cents = cents - pennies * 1; 34 | 35 | // Sum coins 36 | int coins = quarters + dimes + nickels + pennies; 37 | 38 | // Print total number of coins to give the customer 39 | printf("%i\n", coins); 40 | } 41 | 42 | int get_cents(void) 43 | { 44 | // TODO 45 | int user = 0; 46 | do 47 | { 48 | user = get_int("Enter input: "); 49 | } 50 | while (user < 0); 51 | return user; 52 | // this function is Done! 53 | } 54 | 55 | int calculate_quarters(int cents) 56 | { 57 | // TODO 58 | int sum = 0; 59 | while (cents >= 25) 60 | { 61 | cents -= 25; 62 | sum++; 63 | } 64 | return sum; 65 | // this is Done too! 66 | } 67 | 68 | int calculate_dimes(int cents) 69 | { 70 | // TODO 71 | int sum = 0; 72 | while (cents >= 10) 73 | { 74 | cents -= 10; 75 | sum++; 76 | } 77 | return sum; 78 | } 79 | 80 | int calculate_nickels(int cents) 81 | { 82 | // TODO 83 | int sum = 0; 84 | while (cents >= 5) 85 | { 86 | cents -= 5; 87 | sum++; 88 | } 89 | return sum; 90 | } 91 | 92 | int calculate_pennies(int cents) 93 | { 94 | // TODO 95 | int sum = 0; 96 | while (cents >= 1) 97 | { 98 | cents -= 1; 99 | sum++; 100 | } 101 | return sum; 102 | } 103 | -------------------------------------------------------------------------------- /week-1/pset1-hello/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(void) 5 | { 6 | // created by : alisharify 7 | //Do not copy code 8 | 9 | string answer = get_string("whats your name? "); 10 | printf("hello ,%s\n", answer); 11 | 12 | } -------------------------------------------------------------------------------- /week-1/pset1-mario/mario.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(void) 5 | { 6 | // created by : alisharify 7 | //Do not copy code 8 | 9 | //with do while loop get input from user 10 | // user most between 1 to 8 11 | int user = 0; 12 | do 13 | { 14 | user = get_int("enter height:"); 15 | } 16 | while (user > 8 || user < 1); 17 | //printf("user is ---> %i\n", user); 18 | 19 | 20 | for (int i = 1 ; i <= user ; i++) 21 | { 22 | 23 | // for print space 24 | for (int j = user; j > i ; j--) 25 | { 26 | printf(" "); 27 | } 28 | // for print # 29 | for (int k = 0; k < i ; k++) 30 | { 31 | printf("#"); 32 | } 33 | //for print new line 34 | printf("\n"); 35 | } 36 | } -------------------------------------------------------------------------------- /week-1/pset1-marioMore/mario.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(void) 5 | { 6 | // created by : alisharify 7 | //Do not copy code 8 | 9 | // for get input from user 10 | int user = 0; 11 | do 12 | { 13 | user = get_int("enter height:"); 14 | } 15 | while (user > 8 || user < 1); 16 | //printf("user is ---> %i\n", user); 17 | 18 | 19 | 20 | for (int i = 1 ; i <= user ; i++) 21 | { 22 | 23 | // for print each space 24 | for (int j = user; j > i ; j--) 25 | { 26 | printf(" "); 27 | } 28 | // for print each # 29 | for (int k = 0; k < i ; k++) 30 | { 31 | printf("#"); 32 | } 33 | //for print space between # 34 | printf(" "); 35 | for (int s= 0 ; s < i ; s++) 36 | { 37 | printf("#"); 38 | } 39 | // for new line 40 | printf("\n"); 41 | } 42 | } -------------------------------------------------------------------------------- /week-2/caesar/caesar.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | // created by : alisharify 8 | //Do not copy code 9 | 10 | int main(int argc, string argv[]) 11 | { 12 | // For get 2 argument from User one For Run program and one for key 13 | if (argc != 2) 14 | { 15 | printf("Usage: ./caesar key\n"); 16 | return 1; 17 | } 18 | // with for loop go to each element of argv and see is alpha or number 19 | { 20 | for (int i = 0, len_argc = strlen(argv[1]) ; i < len_argc ; i++) 21 | { 22 | char tmp = argv[1][i]; 23 | if (!isdigit(tmp)) 24 | { 25 | printf("Usage: ./caesar key\n"); 26 | return 1; 27 | } 28 | } 29 | } 30 | // convert char to int 31 | int key = atoi(argv[1]); 32 | 33 | 34 | // get input from user for ciphering 35 | string plain_text = get_string("Plain text: "); 36 | 37 | printf("ciphertext: "); 38 | for (int i = 0, len = strlen(plain_text); i < len; i++) 39 | { 40 | char tmp = plain_text[i]; 41 | // check for alphabet 42 | if (isalpha(tmp)) 43 | { 44 | //check for uppercase 45 | if (isupper(tmp)) 46 | { 47 | printf("%c", (((tmp - 65) + key) % 26) + 65); 48 | } 49 | // if is not upperCase definitely it's lower 50 | else 51 | { 52 | printf("%c", (((tmp - 97) + key) % 26) + 97); 53 | } 54 | } 55 | // if not alphabet so we print it 56 | else 57 | { 58 | printf("%c", tmp); 59 | } 60 | } 61 | //printf new line 62 | printf("\n"); 63 | } 64 | -------------------------------------------------------------------------------- /week-2/readability/readability.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | 8 | // created by : alisharify 9 | //Do not copy code 10 | 11 | int main(void) 12 | { 13 | // Get input From User 14 | int letter = 0; 15 | // CALCULATING " " to get number of the word 16 | int word = 1; 17 | // calculating "! ? ." to get number of the sentences 18 | int sentences = 0; 19 | 20 | // GET input from user 21 | string in_user = get_string("Text: "); 22 | int n = strlen(in_user); 23 | 24 | int counter = 0; 25 | while (counter < n) 26 | { 27 | //check is alohabet or NOT! 28 | if (isalpha(in_user[counter])) 29 | { 30 | letter++; 31 | } 32 | //CHECK FOR sentences 33 | else if (in_user[counter] == '.' || in_user[counter] == '!' || in_user[counter] == '?') 34 | { 35 | sentences++; 36 | } 37 | //check for word 38 | else if (in_user[counter] == ' ') 39 | { 40 | word++; 41 | } 42 | counter++; 43 | } 44 | 45 | //calculating with coleman liau formola 46 | float L = (letter / (float) word) * 100; 47 | float S = ((float)sentences / word) * 100; 48 | 49 | //index finaly grade 50 | int index = round(0.0588 * L - 0.296 * S - 15.8); 51 | 52 | 53 | //print winner 54 | if (index < 1) 55 | { 56 | printf("Before Grade 1\n"); 57 | } 58 | else if (index >= 16) 59 | { 60 | printf("Grade 16+\n"); 61 | } 62 | else 63 | { 64 | printf("Grade %i\n", index); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /week-2/scrabble/scrabble.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | 7 | // created by : alisharify 8 | //Do not copy code 9 | 10 | 11 | // Points assigned to each letter of the alphabet 12 | int POINTS[] = {1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10}; 13 | 14 | 15 | int compute_score(string word); 16 | 17 | int main(void) 18 | { 19 | // Get input words from both players 20 | string word1 = get_string("Player 1: "); 21 | string word2 = get_string("Player 2: "); 22 | 23 | // Score both words 24 | int score1 = compute_score(word1); 25 | int score2 = compute_score(word2); 26 | 27 | // TODO: Print the winner 28 | if (score1 > score2) 29 | { 30 | printf("Player 1 wins!\n"); 31 | return 0; 32 | } 33 | else if (score2 > score1) 34 | { 35 | printf("Player 2 wins!\n"); 36 | return 0; 37 | } 38 | else 39 | { 40 | printf("Tie!\n"); 41 | return 0; 42 | } 43 | 44 | } 45 | 46 | int compute_score(string word) 47 | { 48 | int sum = 0; 49 | 50 | // TODO: Compute and return score for string 51 | // Iterate over all Word String 52 | for(int i = 0,len = strlen(word); i < len; i++) 53 | { 54 | char temp = word[i]; 55 | // check if temp is alphabetic or Not 56 | if (isalpha(temp)) 57 | { 58 | // Convert temp to uppercase 59 | temp = toupper(temp); 60 | 61 | // find location of temp is points array 62 | int loc = 'A' - temp; 63 | 64 | // add points [loc] element to sum variable 65 | sum += POINTS[loc]; 66 | } 67 | } 68 | // Return sum of word 69 | return sum; 70 | } 71 | 72 | 73 | // another way to Solve this Problem 74 | 75 | //#include 76 | //#include 77 | //#include 78 | //#include 79 | 80 | 81 | // Points assigned to each letter of the alphabet 82 | // int POINTS[] = {1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10}; 83 | // char letter[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; 84 | 85 | // int compute_score(string word); 86 | 87 | // int main(void) 88 | // { 89 | // // Get input words from both players 90 | // string word1 = get_string("Player 1: "); 91 | // string word2 = get_string("Player 2: "); 92 | 93 | // Score both words 94 | // int score1 = compute_score(word1); 95 | // int score2 = compute_score(word2); 96 | 97 | // TODO: Print the winner 98 | // if (score1 > score2) 99 | // { 100 | // printf("Player 1 Wins!\n"); 101 | // } 102 | // else if (score1 < score2) 103 | // { 104 | // printf("Player 2 Wins!\n"); 105 | // } 106 | // else 107 | // { 108 | // printf("Tie!\n"); 109 | // } 110 | //} 111 | 112 | //int compute_score(string word) 113 | //{ 114 | // TODO: Compute and return score for string 115 | // int sum = 0; 116 | // int lenght = strlen(word); 117 | 118 | //with this for loop calculating 119 | //points of word 120 | // for (int i = 0 ; i < lenght; i++) 121 | // { 122 | // for (int s = 0 ; s < 26; s++) 123 | // { 124 | // if (letter[s] == toupper(word[i])) 125 | // { 126 | // sum += POINTS[s]; 127 | // } 128 | // } 129 | // } 130 | // return sum; 131 | //} 132 | -------------------------------------------------------------------------------- /week-2/substitution/substitution.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | // created by : alisharify 7 | //Do not copy code 8 | 9 | int main(int argc, string argv[]) 10 | { 11 | // this is for check location of user input 12 | char alphabet[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; 13 | 14 | // this array for get and added user key input to this array 15 | char key[26]; 16 | 17 | // check argument 18 | if (argc != 2) 19 | { 20 | printf("Usage: ./substitution key\n"); 21 | return 1; 22 | } 23 | 24 | int counter = 0; 25 | int len_key = strlen(argv[1]); 26 | 27 | // check length of key equal to 26 28 | if (len_key != 26) 29 | { 30 | printf("Key must contain 26 characters.\n"); 31 | return 1; 32 | } 33 | 34 | // check all of 26 char is alphabet and not dublicate 35 | else if (len_key == 26) 36 | { 37 | // tmpp char is for check one step by one step key and looking for duplicate 38 | char tmpp = 'a'; 39 | // for check each house of key and see if not alphabet or it has 40 | for (int i = 0 ; i < len_key; i++) 41 | { 42 | if (tmpp == argv[1][i]) 43 | { 44 | printf("Key must contain 26 characters.\n"); 45 | return 1; 46 | } 47 | if (isalpha(argv[1][i])) 48 | { 49 | counter++; 50 | key[i] = argv[1][i]; 51 | tmpp = argv[1][i]; 52 | } 53 | else 54 | { 55 | printf("Key must contain 26 characters.\n"); 56 | return 1; 57 | } 58 | } 59 | } 60 | 61 | // get input from user 62 | string user = get_string("PlainText: "); 63 | printf("ciphertext: "); 64 | 65 | // Got to Each of char of user string 66 | for (int i = 0, n = strlen(user); i < n; i++) 67 | { 68 | char tmp = user[i]; 69 | if (isupper(tmp)) 70 | { 71 | for (int a = 0 ; a < 26 ; a++) 72 | { 73 | if (tmp == alphabet[a]) 74 | { 75 | printf("%c", toupper(key[a])); 76 | } 77 | } 78 | } 79 | // in here check for lowercase 80 | else if (islower(tmp)) 81 | { 82 | for (int s = 0 ; s < 26 ; s++) 83 | { 84 | if (toupper(tmp) == alphabet[s]) 85 | { 86 | printf("%c", tolower(key[s])); 87 | } 88 | } 89 | } 90 | // if user[i] is not alphabet so we just print it 91 | else 92 | { 93 | printf("%c", user[i]); 94 | } 95 | } 96 | //print for newline 97 | printf("\n"); 98 | } 99 | 100 | //2022/2/26 -------------------------------------------------------------------------------- /week-3/lab3/answers.txt: -------------------------------------------------------------------------------- 1 | sort1 uses: Bubble Sort 2 | 3 | How do you know?: in sorted list time is short but is reverse list time is long 4 | 5 | sort2 uses: Merge Sort 6 | 7 | How do you know?: because omega and big o in three case is same and less than n 8 | 9 | sort3 uses: Selection Sort 10 | 11 | How do you know?: because in 3 case is time in omega and big o is same and not different between each one 12 | 13 | // created by : alisharify 14 | //Do not copy code 15 | 16 | -------------------------------------------------------------------------------- /week-3/lab3/sort1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-3/lab3/sort1 -------------------------------------------------------------------------------- /week-3/lab3/sort2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-3/lab3/sort2 -------------------------------------------------------------------------------- /week-3/lab3/sort3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-3/lab3/sort3 -------------------------------------------------------------------------------- /week-3/plurality/plurality.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | // created by : alisharify 6 | //Do not copy code 7 | 8 | 9 | // Max number of candidates 10 | #define MAX 9 11 | 12 | // Candidates have name and vote count 13 | typedef struct 14 | { 15 | string name; 16 | int votes; 17 | } 18 | candidate; 19 | 20 | // Array of candidates 21 | candidate candidates[MAX]; 22 | 23 | // Number of candidates 24 | int candidate_count; 25 | 26 | // Function prototypes 27 | bool vote(string name); 28 | void print_winner(void); 29 | 30 | int main(int argc, string argv[]) 31 | { 32 | // Check for invalid usage 33 | if (argc < 2) 34 | { 35 | printf("Usage: plurality [candidate ...]\n"); 36 | return 1; 37 | } 38 | 39 | // Populate array of candidates 40 | candidate_count = argc - 1; 41 | if (candidate_count > MAX) 42 | { 43 | printf("Maximum number of candidates is %i\n", MAX); 44 | return 2; 45 | } 46 | for (int i = 0; i < candidate_count; i++) 47 | { 48 | candidates[i].name = argv[i + 1]; 49 | candidates[i].votes = 0; 50 | } 51 | 52 | int voter_count = get_int("Number of voters: "); 53 | 54 | // Loop over all voters 55 | for (int i = 0; i < voter_count; i++) 56 | { 57 | string name = get_string("Vote: "); 58 | 59 | // Check for invalid vote 60 | if (!vote(name)) 61 | { 62 | printf("Invalid vote.\n"); 63 | } 64 | } 65 | 66 | // Display winner of election 67 | print_winner(); 68 | } 69 | 70 | // Update vote totals given a new vote 71 | bool vote(string name) 72 | { 73 | // TODO 74 | for (int i = 0 ; i < candidate_count ; i++) 75 | { 76 | if (strcmp(candidates[i].name, name) == 0) 77 | { 78 | candidates[i].votes++; 79 | return true; 80 | } 81 | } 82 | return false; 83 | } 84 | 85 | // Print the winner (or winners) of the election 86 | void print_winner(void) 87 | { 88 | // TODO 89 | int winner = candidates[0].votes; 90 | for (int i = 0 ; i < candidate_count; i++) 91 | { 92 | if (winner < candidates[i + 1].votes) 93 | { 94 | winner = candidates[i + 1].votes; 95 | } 96 | 97 | } 98 | for (int j = 0 ; j < candidate_count; j++) 99 | { 100 | if (winner == candidates[j].votes) 101 | { 102 | printf("%s\n", candidates[j].name); 103 | } 104 | } 105 | // return to final function 106 | return; 107 | } -------------------------------------------------------------------------------- /week-3/runoff/runoff.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | // created by : alisharify 6 | //Do not copy code 7 | 8 | 9 | // Max voters and candidates 10 | #define MAX_VOTERS 100 11 | #define MAX_CANDIDATES 9 12 | 13 | // preferences[i][j] is jth preference for voter i 14 | int preferences[MAX_VOTERS][MAX_CANDIDATES]; 15 | 16 | // Candidates have name, vote count, eliminated status 17 | typedef struct 18 | { 19 | string name; 20 | int votes; 21 | bool eliminated; 22 | } 23 | candidate; 24 | 25 | // Array of candidates 26 | candidate candidates[MAX_CANDIDATES]; 27 | 28 | // Numbers of voters and candidates 29 | int voter_count; 30 | int candidate_count; 31 | 32 | // Function prototypes 33 | bool vote(int voter, int rank, string name); 34 | void tabulate(void); 35 | bool print_winner(void); 36 | int find_min(void); 37 | bool is_tie(int min); 38 | void eliminate(int min); 39 | 40 | int main(int argc, string argv[]) 41 | { 42 | // Check for invalid usage 43 | if (argc < 2) 44 | { 45 | printf("Usage: runoff [candidate ...]\n"); 46 | return 1; 47 | } 48 | 49 | // Populate array of candidates 50 | candidate_count = argc - 1; 51 | if (candidate_count > MAX_CANDIDATES) 52 | { 53 | printf("Maximum number of candidates is %i\n", MAX_CANDIDATES); 54 | return 2; 55 | } 56 | for (int i = 0; i < candidate_count; i++) 57 | { 58 | candidates[i].name = argv[i + 1]; 59 | candidates[i].votes = 0; 60 | candidates[i].eliminated = false; 61 | } 62 | 63 | voter_count = get_int("Number of voters: "); 64 | if (voter_count > MAX_VOTERS) 65 | { 66 | printf("Maximum number of voters is %i\n", MAX_VOTERS); 67 | return 3; 68 | } 69 | 70 | // Keep querying for votes 71 | for (int i = 0; i < voter_count; i++) 72 | { 73 | 74 | // Query for each rank 75 | for (int j = 0; j < candidate_count; j++) 76 | { 77 | string name = get_string("Rank %i: ", j + 1); 78 | 79 | // Record vote, unless it's invalid 80 | if (!vote(i, j, name)) 81 | { 82 | printf("Invalid vote.\n"); 83 | return 4; 84 | } 85 | } 86 | printf("\n"); 87 | } 88 | 89 | // Keep holding runoffs until winner exists 90 | while (true) 91 | { 92 | // Calculate votes given remaining candidates 93 | tabulate(); 94 | 95 | // Check if election has been won 96 | bool won = print_winner(); 97 | if (won) 98 | { 99 | break; 100 | } 101 | 102 | // Eliminate last-place candidates 103 | int min = find_min(); 104 | bool tie = is_tie(min); 105 | 106 | // If tie, everyone wins 107 | if (tie) 108 | { 109 | for (int i = 0; i < candidate_count; i++) 110 | { 111 | if (!candidates[i].eliminated) 112 | { 113 | printf("%s\n", candidates[i].name); 114 | } 115 | } 116 | break; 117 | } 118 | 119 | // Eliminate anyone with minimum number of votes 120 | eliminate(min); 121 | 122 | // Reset vote counts back to zero 123 | for (int i = 0; i < candidate_count; i++) 124 | { 125 | candidates[i].votes = 0; 126 | } 127 | } 128 | return 0; 129 | } 130 | 131 | // Record preference if vote is valid 132 | bool vote(int voter, int rank, string name) 133 | { 134 | // TODO 135 | /* {}{} in this function we first find candidate and if name is valid we update the prefrences 136 | and return true else we return false*/ 137 | 138 | for (int i = 0 ; i < candidate_count ; i++) 139 | { 140 | if (strcmp(candidates[i].name, name) == 0) 141 | { 142 | preferences[voter][rank] = i; 143 | return true; 144 | } 145 | } 146 | return false; 147 | } 148 | 149 | // Tabulate votes for non-eliminated candidates 150 | void tabulate(void) 151 | { 152 | // TODO 153 | int stoone = 0; 154 | int Tflag = 0; 155 | for (int j = 0 ; j < voter_count ; j++) 156 | { 157 | do 158 | { 159 | Tflag = 0; 160 | int tmp = preferences[j][stoone]; 161 | if (candidates[tmp].eliminated == true) 162 | { 163 | Tflag++; 164 | stoone++; 165 | } 166 | else 167 | { 168 | candidates[tmp].votes++; 169 | stoone = 0; 170 | } 171 | } 172 | while (Tflag > 0); 173 | } 174 | return; 175 | } 176 | 177 | // Print the winner of the election, if there is one 178 | bool print_winner(void) 179 | { 180 | // TODO 181 | int tmp = (voter_count / 2); 182 | for (int i = 0 ; i < candidate_count ; i++) 183 | { 184 | if (candidates[i].votes > tmp) 185 | { 186 | printf("%s\n", candidates[i].name); 187 | return true; 188 | } 189 | } 190 | return false; 191 | } 192 | 193 | // Return the minimum number of votes any remaining candidate has 194 | int find_min(void) 195 | { 196 | // TODO 197 | int tmp = candidates[0].votes; 198 | for (int i = 1 ; i < candidate_count; i++) 199 | { 200 | if (candidates[i].eliminated == false) 201 | { 202 | if (tmp > candidates[i].votes) 203 | { 204 | tmp = candidates[i].votes; 205 | } 206 | } 207 | } 208 | return tmp; 209 | } 210 | 211 | // Return true if the election is tied between all candidates, false otherwise 212 | bool is_tie(int min) 213 | { 214 | // TODO 215 | int counter = 0; 216 | int candirr = 0; 217 | for (int i = 0 ; i < candidate_count ; i++) 218 | { 219 | if (candidates[i].eliminated == false) 220 | { 221 | candirr++; 222 | if (candidates[i].votes == min) 223 | { 224 | counter++; 225 | } 226 | } 227 | } 228 | if (counter == candirr) 229 | { 230 | return true; 231 | } 232 | return false; 233 | } 234 | 235 | // Eliminate the candidate (or candidates) in last place 236 | void eliminate(int min) 237 | { 238 | // TODO 239 | for (int i = 0 ; i < candidate_count ; i++) 240 | { 241 | if (candidates[i].votes == min) 242 | { 243 | candidates[i].eliminated = true; 244 | } 245 | } 246 | return; 247 | } 248 | 249 | 250 | // this function return true when all pepole is tie 251 | 252 | // and also include som lib 253 | 254 | /* 255 | 256 | 257 | */ 258 | -------------------------------------------------------------------------------- /week-4/RECOVER/recover.c: -------------------------------------------------------------------------------- 1 | // created by : alisharify 2 | //Do not copy code 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | typedef uint8_t byte; 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | //check for 2 arguments 14 | if (argc != 2) 15 | { 16 | printf("Usage Error: ./program-name \n"); 17 | return 1; 18 | } 19 | 20 | // open user input file 21 | FILE *input = fopen(argv[1], "r"); 22 | if (input == NULL) 23 | { 24 | printf("Usage Error: Cant open < %s > file\n", argv[1]); 25 | return 1; 26 | } 27 | 28 | /* first three byte of jpg picture is --> 0xff 0xd8 0xff 29 | AND 0xe0 to 0xef */ 30 | byte buffer_pic[512]; 31 | 32 | //counter for name of file 33 | int counter = 0; 34 | 35 | int jpg_cc = 0; 36 | int jpg_one = 1; 37 | int flag = 0; 38 | 39 | //global file pointer 40 | FILE *pic_G = NULL; 41 | 42 | //read card file 43 | while (fread(buffer_pic, sizeof(byte), 512, input)) 44 | { 45 | //check for 3 first byte for jpeg 46 | if (buffer_pic[0] == 0xff && buffer_pic[1] == 0xd8 && buffer_pic[2] == 0xff && (buffer_pic[3] & 0xf0) == 0xe0) 47 | { 48 | 49 | if (jpg_one == 0) 50 | { 51 | fclose(pic_G); 52 | } 53 | flag = 1; 54 | jpg_cc = 1; 55 | } 56 | else 57 | { 58 | jpg_cc = 0; 59 | } 60 | 61 | // check for new pic 62 | if (jpg_cc == 1) 63 | { 64 | // in here we definatly find a pic so we update jpg_one 65 | //in next round we shoud close curccly file 66 | jpg_one = 0; 67 | 68 | //generate file name 69 | char filename[255]; 70 | sprintf(filename, "%03i.jpg", counter); 71 | counter++; 72 | 73 | //open out put file 74 | pic_G = fopen(filename, "w"); 75 | if (pic_G == NULL) 76 | { 77 | return 1; 78 | } 79 | } 80 | 81 | // in here with flag we just write to new file 82 | if (flag == 1) 83 | { 84 | fwrite(buffer_pic, sizeof(byte), 512, pic); 85 | } 86 | 87 | } 88 | 89 | //close files 90 | fclose(input); 91 | fclose(pic_G); 92 | return 0; 93 | -------------------------------------------------------------------------------- /week-4/filter/Makefile: -------------------------------------------------------------------------------- 1 | filter: 2 | clang -ggdb3 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -lm -o filter filter.c helpers.c 3 | -------------------------------------------------------------------------------- /week-4/filter/bmp.h: -------------------------------------------------------------------------------- 1 | // BMP-related data types based on Microsoft's own 2 | 3 | #include 4 | 5 | /** 6 | * Common Data Types 7 | * 8 | * The data types in this section are essentially aliases for C/C++ 9 | * primitive data types. 10 | * 11 | * Adapted from http://msdn.microsoft.com/en-us/library/cc230309.aspx. 12 | * See http://en.wikipedia.org/wiki/Stdint.h for more on stdint.h. 13 | */ 14 | typedef uint8_t BYTE; 15 | typedef uint32_t DWORD; 16 | typedef int32_t LONG; 17 | typedef uint16_t WORD; 18 | 19 | /** 20 | * BITMAPFILEHEADER 21 | * 22 | * The BITMAPFILEHEADER structure contains information about the type, size, 23 | * and layout of a file that contains a DIB [device-independent bitmap]. 24 | * 25 | * Adapted from http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx. 26 | */ 27 | typedef struct 28 | { 29 | WORD bfType; 30 | DWORD bfSize; 31 | WORD bfReserved1; 32 | WORD bfReserved2; 33 | DWORD bfOffBits; 34 | } __attribute__((__packed__)) 35 | BITMAPFILEHEADER; 36 | 37 | /** 38 | * BITMAPINFOHEADER 39 | * 40 | * The BITMAPINFOHEADER structure contains information about the 41 | * dimensions and color format of a DIB [device-independent bitmap]. 42 | * 43 | * Adapted from http://msdn.microsoft.com/en-us/library/dd183376(VS.85).aspx. 44 | */ 45 | typedef struct 46 | { 47 | DWORD biSize; 48 | LONG biWidth; 49 | LONG biHeight; 50 | WORD biPlanes; 51 | WORD biBitCount; 52 | DWORD biCompression; 53 | DWORD biSizeImage; 54 | LONG biXPelsPerMeter; 55 | LONG biYPelsPerMeter; 56 | DWORD biClrUsed; 57 | DWORD biClrImportant; 58 | } __attribute__((__packed__)) 59 | BITMAPINFOHEADER; 60 | 61 | /** 62 | * RGBTRIPLE 63 | * 64 | * This structure describes a color consisting of relative intensities of 65 | * red, green, and blue. 66 | * 67 | * Adapted from http://msdn.microsoft.com/en-us/library/aa922590.aspx. 68 | */ 69 | typedef struct 70 | { 71 | BYTE rgbtBlue; 72 | BYTE rgbtGreen; 73 | BYTE rgbtRed; 74 | } __attribute__((__packed__)) 75 | RGBTRIPLE; 76 | -------------------------------------------------------------------------------- /week-4/filter/filter.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "helpers.h" 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | 10 | // Define allowable filters 11 | char *filters = "bgrs"; 12 | 13 | // Get filter flag and check validity 14 | char filter = getopt(argc, argv, filters); 15 | if (filter == '?') 16 | { 17 | fprintf(stderr, "Invalid filter.\n"); 18 | return 1; 19 | } 20 | 21 | // Ensure only one filter 22 | if (getopt(argc, argv, filters) != -1) 23 | { 24 | fprintf(stderr, "Only one filter allowed.\n"); 25 | return 2; 26 | } 27 | 28 | // Ensure proper usage 29 | if (argc != optind + 2) 30 | { 31 | fprintf(stderr, "Usage: filter [flag] infile outfile\n"); 32 | return 3; 33 | } 34 | 35 | // Remember filenames 36 | char *infile = argv[optind]; 37 | char *outfile = argv[optind + 1]; 38 | 39 | // Open input file 40 | FILE *inptr = fopen(infile, "r"); 41 | if (inptr == NULL) 42 | { 43 | fprintf(stderr, "Could not open %s.\n", infile); 44 | return 4; 45 | } 46 | 47 | // Open output file 48 | FILE *outptr = fopen(outfile, "w"); 49 | if (outptr == NULL) 50 | { 51 | fclose(inptr); 52 | fprintf(stderr, "Could not create %s.\n", outfile); 53 | return 5; 54 | } 55 | 56 | // Read infile's BITMAPFILEHEADER 57 | BITMAPFILEHEADER bf; 58 | fread(&bf, sizeof(BITMAPFILEHEADER), 1, inptr); 59 | 60 | // Read infile's BITMAPINFOHEADER 61 | BITMAPINFOHEADER bi; 62 | fread(&bi, sizeof(BITMAPINFOHEADER), 1, inptr); 63 | 64 | // Ensure infile is (likely) a 24-bit uncompressed BMP 4.0 65 | if (bf.bfType != 0x4d42 || bf.bfOffBits != 54 || bi.biSize != 40 || 66 | bi.biBitCount != 24 || bi.biCompression != 0) 67 | { 68 | fclose(outptr); 69 | fclose(inptr); 70 | fprintf(stderr, "Unsupported file format.\n"); 71 | return 6; 72 | } 73 | 74 | int height = abs(bi.biHeight); 75 | int width = bi.biWidth; 76 | 77 | // Allocate memory for image 78 | RGBTRIPLE(*image)[width] = calloc(height, width * sizeof(RGBTRIPLE)); 79 | if (image == NULL) 80 | { 81 | fprintf(stderr, "Not enough memory to store image.\n"); 82 | fclose(outptr); 83 | fclose(inptr); 84 | return 7; 85 | } 86 | 87 | // Determine padding for scanlines 88 | int padding = (4 - (width * sizeof(RGBTRIPLE)) % 4) % 4; 89 | 90 | // Iterate over infile's scanlines 91 | for (int i = 0; i < height; i++) 92 | { 93 | // Read row into pixel array 94 | fread(image[i], sizeof(RGBTRIPLE), width, inptr); 95 | 96 | // Skip over padding 97 | fseek(inptr, padding, SEEK_CUR); 98 | } 99 | 100 | // Filter image 101 | switch (filter) 102 | { 103 | // Blur 104 | case 'b': 105 | blur(height, width, image); 106 | break; 107 | 108 | // Grayscale 109 | case 'g': 110 | grayscale(height, width, image); 111 | break; 112 | 113 | // Reflection 114 | case 'r': 115 | reflect(height, width, image); 116 | break; 117 | 118 | // Sepia 119 | case 's': 120 | sepia(height, width, image); 121 | break; 122 | } 123 | 124 | // Write outfile's BITMAPFILEHEADER 125 | fwrite(&bf, sizeof(BITMAPFILEHEADER), 1, outptr); 126 | 127 | // Write outfile's BITMAPINFOHEADER 128 | fwrite(&bi, sizeof(BITMAPINFOHEADER), 1, outptr); 129 | 130 | // Write new pixels to outfile 131 | for (int i = 0; i < height; i++) 132 | { 133 | // Write row to outfile 134 | fwrite(image[i], sizeof(RGBTRIPLE), width, outptr); 135 | 136 | // Write padding at end of row 137 | for (int k = 0; k < padding; k++) 138 | { 139 | fputc(0x00, outptr); 140 | } 141 | } 142 | 143 | // Free memory for image 144 | free(image); 145 | 146 | // Close infile 147 | fclose(inptr); 148 | 149 | // Close outfile 150 | fclose(outptr); 151 | 152 | return 0; 153 | } 154 | -------------------------------------------------------------------------------- /week-4/filter/helpers.c: -------------------------------------------------------------------------------- 1 | #include "helpers.h" 2 | #include 3 | // Convert image to grayscale 4 | void grayscale(int height, int width, RGBTRIPLE image[height][width]) 5 | { 6 | float rgbGray; 7 | 8 | for (int i = 0; i < height; i++) 9 | { 10 | for (int j = 0; j < width; j++) { 11 | 12 | rgbGray = round( (image[i][j].rgbtBlue + image[i][j].rgbtGreen + image[i][j].rgbtRed)/ 3.00); 13 | 14 | image[i][j].rgbtBlue = rgbGray; 15 | image[i][j].rgbtGreen = rgbGray; 16 | image[i][j].rgbtRed = rgbGray; 17 | 18 | } 19 | } 20 | return; 21 | } 22 | 23 | int limit(int RGB) 24 | { 25 | if (RGB > 255) 26 | { 27 | RGB = 255; 28 | } 29 | return RGB; 30 | } 31 | 32 | // Convert image to sepia 33 | void sepia(int height, int width, RGBTRIPLE image[height][width]) 34 | { 35 | int sepiaBluee; 36 | int sepiaRedd; 37 | int sepiaGreenn; 38 | for (int i = 0; i < height; i++) 39 | { 40 | for (int j = 0; j < width; j++) 41 | { 42 | sepiaBluee = limit(round(0.272 * image[i][j].rgbtRed + 0.534 * image[i][j].rgbtGreen + 0.131 * image[i][j].rgbtBlue)); 43 | sepiaGreenn = limit(round(0.349 * image[i][j].rgbtRed + 0.686 * image[i][j].rgbtGreen + 0.168 * image[i][j].rgbtBlue)); 44 | sepiaRedd = limit(round(0.393 * image[i][j].rgbtRed + 0.769 * image[i][j].rgbtGreen + 0.189 * image[i][j].rgbtBlue)); 45 | 46 | image[i][j].rgbtBlue = sepiaBluee; 47 | image[i][j].rgbtGreen = sepiaGreenn; 48 | image[i][j].rgbtRed = sepiaRedd; 49 | } 50 | } 51 | return; 52 | } 53 | 54 | // Reflect image horizontally 55 | void reflect(int height, int width, RGBTRIPLE image[height][width]) 56 | { 57 | int temp[3]; 58 | for (int i = 0; i < height; i++) 59 | { 60 | for (int j = 0; j < width / 2; j++) { 61 | 62 | /** Swap pixels from left to right */ 63 | temp[0] = image[i][j].rgbtBlue; 64 | temp[1] = image[i][j].rgbtGreen; 65 | temp[2] = image[i][j].rgbtRed; 66 | 67 | image[i][j].rgbtBlue = image[i][width - j - 1].rgbtBlue; 68 | image[i][j].rgbtGreen = image[i][width - j - 1].rgbtGreen; 69 | image[i][j].rgbtRed = image[i][width - j - 1].rgbtRed; 70 | 71 | image[i][width - j - 1].rgbtBlue = temp[0]; 72 | image[i][width - j - 1].rgbtGreen = temp[1]; 73 | image[i][width - j - 1].rgbtRed = temp[2]; 74 | 75 | } 76 | } 77 | return; 78 | } 79 | 80 | int getBlur(int i, int j, int height, int width, RGBTRIPLE image[height][width] , int color_position) 81 | { 82 | float counter = 0; 83 | int sum = 0; 84 | 85 | /** Start from 1 row before it and end at 1 row after it- total of 3rows */ 86 | for (int k = i - 1; k < (i + 2); k++) 87 | { 88 | /** Start from 1 block before it and end at 1 block after it- total of 3blocks */ 89 | for (int l = j - 1; l < (j + 2); l ++) 90 | { 91 | if(k < 0 || l < 0 || k >= height || l >= width) 92 | { 93 | continue; 94 | } 95 | if (color_position == 0) 96 | { 97 | sum += image[k][l].rgbtRed; 98 | } 99 | else if (color_position == 1) 100 | { 101 | sum += image[k][l].rgbtGreen; 102 | } 103 | else 104 | { 105 | sum += image[k][l].rgbtBlue; 106 | } 107 | counter++; 108 | 109 | } 110 | } 111 | return round(sum /counter); 112 | } 113 | // Blur image 114 | void blur(int height, int width, RGBTRIPLE image[height][width]) 115 | { 116 | RGBTRIPLE copy[height][width]; 117 | 118 | for (int i = 0; i < height; i++) 119 | { 120 | for (int j = 0; j < width; j++) 121 | { 122 | copy[i][j] = image[i][j]; 123 | } 124 | } 125 | 126 | for (int i = 0; i < height; i++) 127 | { 128 | for (int j = 0; j < width; j++) 129 | { 130 | image[i][j].rgbtRed = getBlur(i, j, height, width, copy, 0); 131 | image[i][j].rgbtGreen = getBlur(i, j, height, width, copy, 1); 132 | image[i][j].rgbtBlue = getBlur(i, j, height, width, copy, 2); 133 | } 134 | } 135 | return; 136 | } -------------------------------------------------------------------------------- /week-4/filter/helpers.h: -------------------------------------------------------------------------------- 1 | #include "bmp.h" 2 | 3 | // Convert image to grayscale 4 | void grayscale(int height, int width, RGBTRIPLE image[height][width]); 5 | 6 | // Convert image to sepia 7 | void sepia(int height, int width, RGBTRIPLE image[height][width]); 8 | 9 | // Reflect image horizontally 10 | void reflect(int height, int width, RGBTRIPLE image[height][width]); 11 | 12 | // Blur image 13 | void blur(int height, int width, RGBTRIPLE image[height][width]); 14 | -------------------------------------------------------------------------------- /week-4/filter/images/courtyard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-4/filter/images/courtyard.bmp -------------------------------------------------------------------------------- /week-4/filter/images/stadium.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-4/filter/images/stadium.bmp -------------------------------------------------------------------------------- /week-4/filter/images/tower.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-4/filter/images/tower.bmp -------------------------------------------------------------------------------- /week-4/filter/images/yard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-4/filter/images/yard.bmp -------------------------------------------------------------------------------- /week-4/volume/input.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-4/volume/input.wav -------------------------------------------------------------------------------- /week-4/volume/volume.c: -------------------------------------------------------------------------------- 1 | // Modifies the volume of an audio file 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | //defind data type 9 | typedef uint8_t BYTE88; 10 | typedef int16_t BYTE166; 11 | 12 | 13 | // Number of bytes in .wav header 14 | const int HEADER_SIZE = 44; 15 | 16 | int main(int argc, char *argv[]) 17 | { 18 | // Check command-line arguments 19 | if (argc != 4) 20 | { 21 | printf("Usage: ./volume input.wav output.wav factor\n"); 22 | return 1; 23 | } 24 | 25 | // Open files and determine scaling factor 26 | FILE *input = fopen(argv[1], "r"); 27 | if (input == NULL) 28 | { 29 | printf("Could not open file.\n"); 30 | return 1; 31 | } 32 | 33 | FILE *output = fopen(argv[2], "w"); 34 | if (output == NULL) 35 | { 36 | printf("Could not open file.\n"); 37 | return 1; 38 | } 39 | //read header from file 40 | float factor = atof(argv[3]); 41 | BYTE88 header[HEADER_SIZE]; 42 | fread(header, sizeof(BYTE8), HEADER_SIZE, input); 43 | fwrite(header, sizeof(BYTE8), HEADER_SIZE, output); 44 | 45 | //read each byte 46 | BYTE166 buffer; 47 | while (fread(&buffer, sizeof(BYTE16), 1, input)) 48 | { 49 | buffer *= factor; 50 | fwrite(&buffer, sizeof(BYTE16), 1, output); 51 | } 52 | // Close files 53 | fclose(input); 54 | fclose(output); 55 | } 56 | -------------------------------------------------------------------------------- /week-5/lab5/inheritance.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | // Each person has two parents and two alleles 7 | typedef struct person 8 | { 9 | struct person *parents[2]; 10 | char alleles[2]; 11 | } 12 | person; 13 | 14 | const int GENERATIONSss = 3; 15 | const int INDENT_LENGTHhhh = 4; 16 | 17 | person *create_family(int generations); 18 | void print_family(person *p, int generation); 19 | void free_family(person *p); 20 | char random_allele(); 21 | 22 | int main(void) 23 | { 24 | // Seed random number generator 25 | srand(time(0)); 26 | 27 | // Create a new family with three generations 28 | person *p = create_family(GENERATIONSss); 29 | 30 | // Print family tree of blood types 31 | print_family(p, 0); 32 | 33 | // Free memory 34 | free_family(p); 35 | } 36 | 37 | // Create a new individual with `generations` 38 | person *create_family(int generations) 39 | { 40 | // TODO: Allocate memory for new person 41 | person *n = malloc(sizeof(person)); 42 | if (n == NULL) 43 | { 44 | return NULL; 45 | } 46 | 47 | // Generation with parent data 48 | if (generations > 1) 49 | { 50 | // TODO: Recursively create blood type histories for parents 51 | n->parents[0] = create_family(generations - 1); 52 | n->parents[1] = create_family(generations - 1); 53 | 54 | // TODO: Randomly assign child alleles based on parents 55 | n->alleles[0] = n->parents[0]->alleles[rand() % 2]; 56 | n->alleles[1] = n->parents[1]->alleles[rand() % 2]; 57 | } 58 | 59 | // Generation without parent data 60 | else 61 | { 62 | // TODO: Set parent pointers to NULL 63 | n->parents[0] = NULL; 64 | n->parents[1] = NULL; 65 | 66 | // TODO: Randomly assign alleles 67 | n->alleles[0] = random_allele(); 68 | n->alleles[1] = random_allele(); 69 | } 70 | 71 | // TODO: Return newly created person 72 | return n; 73 | } 74 | 75 | // Free `p` and all ancestors of `p`. 76 | void free_family(person *p) 77 | { 78 | // TODO: Handle base case 79 | if (p == NULL){ 80 | return; 81 | } 82 | 83 | // TODO: Free parents 84 | free_family(p->parents[0]); 85 | free_family(p->parents[1]); 86 | 87 | // TODO: Free child 88 | free(p); 89 | } 90 | 91 | // Print each family member and their alleles. 92 | void print_family(person *p, int generation) 93 | { 94 | // Handle base case 95 | if (p == NULL) 96 | { 97 | return; 98 | } 99 | 100 | // Print indentation 101 | for (int i = 0; i < generation * INDENT_LENGTHhhh; i++) 102 | { 103 | printf(" "); 104 | } 105 | 106 | // Print person 107 | printf("Generation %i, blood type %c%c\n", generation, p->alleles[0], p->alleles[1]); 108 | print_family(p->parents[0], generation + 1); 109 | print_family(p->parents[1], generation + 1); 110 | } 111 | 112 | // Randomly chooses a blood type allele. 113 | char random_allele() 114 | { 115 | int r = rand() % 3; 116 | if (r == 0) 117 | { 118 | return 'A'; 119 | } 120 | else if (r == 1) 121 | { 122 | return 'B'; 123 | } 124 | else 125 | { 126 | return 'O'; 127 | } 128 | } -------------------------------------------------------------------------------- /week-5/speller/Makefile: -------------------------------------------------------------------------------- 1 | speller: 2 | clang -ggdb3 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -c -o speller.o speller.c 3 | clang -ggdb3 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -c -o dictionary.o dictionary.c 4 | clang -ggdb3 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -o speller speller.o dictionary.o -lm 5 | -------------------------------------------------------------------------------- /week-5/speller/dictionaries/small: -------------------------------------------------------------------------------- 1 | cat 2 | caterpillar 3 | -------------------------------------------------------------------------------- /week-5/speller/dictionary.c: -------------------------------------------------------------------------------- 1 | // Implements a dictionary's functionality 2 | 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #include "dictionary.h" 12 | 13 | //aa Represents a node in a hash table 14 | typedef struct node 15 | { 16 | char word[LENGTH + 1]; 17 | struct node *next; 18 | } 19 | node; 20 | 21 | 22 | //aa Number of buckets in hash table 2^16 23 | const unsigned int N = 65536; 24 | 25 | // aaHash table 26 | node *table[N]; 27 | int worrdcount = 0; 28 | 29 | 30 | //aadeclare empty head 31 | node *head = NULL; 32 | 33 | // aaReturns true if word is in dictionary else false 34 | bool check(const char *word) 35 | { 36 | int length = strlen(word); 37 | char copy[length + 1]; // take a byte extra for NTC 38 | copy[length] = '\0'; // necessary to add the ntc after allocating space to it 39 | 40 | // aanot converting gave errors to :) handles min length (1-char) words 41 | //:)aa handles max length (45-char) words 42 | //:) aahandles words with apostrophes properly 43 | //:) aaspell-checking is case-insensitive 44 | 45 | for (int i = 0; i < length; i++) // aawe take the word and LC and save that into copy 46 | { 47 | copy[i] = tolower(word[i]); 48 | } 49 | 50 | 51 | int hashcode = hash(copy); // aaget a hashcode for that copy 52 | node *tmp = table[hashcode]; // aatake a pointer tmp to point at what that array of hashcode is pointing 53 | if (tmp == NULL) // if tmp points to null return 54 | { 55 | return false; 56 | } 57 | 58 | while (tmp != NULL) // do it until the ll ends 59 | { 60 | if (strcasecmp(tmp->word, copy) == 0) // check case insesnitive for word in node to our word(copy) 61 | { 62 | return true; // aaif found 63 | } 64 | tmp = tmp->next; // aaelse move to next node, traverse the ll 65 | } 66 | 67 | return false; //aa if not found copy until end 68 | } 69 | 70 | // Hashes word to a number 71 | // stackoverflow 72 | //https://www.reddit.com/r/cs50/comments/1x6vc8/pset6_trie_vs_hashtable/ this was for a prior one that I altered later to ^ 73 | 74 | 75 | unsigned int hash(const char *word) 76 | { 77 | unsigned long hash = 5381; 78 | 79 | int c = *word; 80 | 81 | while (c == *word++) 82 | { 83 | hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ 84 | } 85 | return hash % N; 86 | } 87 | 88 | 89 | // Loads dictionary into memory, returning true if successful else false 90 | bool load(const char *dictionary) 91 | { 92 | FILE *file = fopen(dictionary, "r"); // open dict and read it, pointer to it is file 93 | if (file == NULL) // if the pointer points to null return 94 | { 95 | return false; 96 | } 97 | { 98 | // assign a buffer of size 1 for NTC 99 | char bukffer[LENGTH + 1]; 100 | while (fscanf(file, "%s", bukffer) != EOF) // until eof 101 | { 102 | 103 | node *n = malloc(sizeof(node)); // allot memory for n 104 | if (n == NULL) // check if memory is alloted 105 | { 106 | fclose(file); 107 | return false; 108 | } 109 | 110 | else // if yes 111 | { 112 | strcpy(n->word, bukffer); // copy word from buffer to word field of node n 113 | n->next = NULL; // at first the n node points to null 114 | unsigned int iendex = hash(bukffer); // hash the word in buffer to get index of array 115 | 116 | // aaour current node points to what array is pointing at and then the array points to our node 117 | // aaeven if our array points to null then this node points to null, it is better than initializing the array to null and then taking if/else 118 | 119 | n->next = table[iendex]; // this is done to avoid orphaning rest of the ll 120 | table[iendex] = n; // it gets inserted in beginning of ll 121 | 122 | worrdcount++; // aaincrement the word count until eof 123 | 124 | } 125 | } 126 | fclose(file); 127 | return true; 128 | } 129 | 130 | } 131 | 132 | // aaReturns number of words in dictionary if loaded else 0 if not yet loaded 133 | unsigned int size(void) 134 | { 135 | // TODO 136 | return worrdcount; // aawe had a counter for this in load after word was read,copied and added to ll 137 | } 138 | 139 | //aa Unloads dictionary from memory, returning true if successful else false 140 | bool unload(void) 141 | { 142 | for (int i = 0; i < N; i++) // loop thru all the arrays 143 | { 144 | //aa tmp1 is like a cursor that points to each node while tmp2 is the pointer that frees the prior node 145 | node *tmp1 = table[i]; // initially tmp1 points to 1st node 146 | while (tmp1 != NULL) // until end of ll 147 | { 148 | node *tmp2 = tmp1; //aa tmp2 points to what tmp1 points 149 | tmp1 = tmp1 -> next; // aa tmp1 points to next node 150 | free(tmp2); //aa tmp2 frees the prior node 151 | } 152 | } 153 | 154 | return true; 155 | } -------------------------------------------------------------------------------- /week-5/speller/dictionary.h: -------------------------------------------------------------------------------- 1 | // Declares a dictionary's functionality 2 | 3 | #ifndef DICTIONARY_H 4 | #define DICTIONARY_H 5 | 6 | #include 7 | 8 | // Maximum length for a word 9 | // (e.g., pneumonoultramicroscopicsilicovolcanoconiosis) 10 | #define LENGTH 45 11 | 12 | // Prototypes 13 | bool check(const char *word); 14 | unsigned int hash(const char *word); 15 | bool load(const char *dictionary); 16 | unsigned int size(void); 17 | bool unload(void); 18 | 19 | #endif // DICTIONARY_H 20 | -------------------------------------------------------------------------------- /week-5/speller/speller.c: -------------------------------------------------------------------------------- 1 | // Implements a spell-checker 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include "dictionary.h" 9 | 10 | // Undefine any definitions 11 | #undef calculate 12 | #undef getrusage 13 | 14 | // Default dictionary 15 | #define DICTIONARY "dictionaries/large" 16 | 17 | // Prototype 18 | double calculate(const struct rusage *b, const struct rusage *a); 19 | 20 | int main(int argc, char *argv[]) 21 | { 22 | // Check for correct number of args 23 | if (argc != 2 && argc != 3) 24 | { 25 | printf("Usage: ./speller [DICTIONARY] text\n"); 26 | return 1; 27 | } 28 | 29 | // Structures for timing data 30 | struct rusage before, after; 31 | 32 | // Benchmarks 33 | double time_load = 0.0, time_check = 0.0, time_size = 0.0, time_unload = 0.0; 34 | 35 | // Determine dictionary to use 36 | char *dictionary = (argc == 3) ? argv[1] : DICTIONARY; 37 | 38 | // Load dictionary 39 | getrusage(RUSAGE_SELF, &before); 40 | bool loaded = load(dictionary); 41 | getrusage(RUSAGE_SELF, &after); 42 | 43 | // Exit if dictionary not loaded 44 | if (!loaded) 45 | { 46 | printf("Could not load %s.\n", dictionary); 47 | return 1; 48 | } 49 | 50 | // Calculate time to load dictionary 51 | time_load = calculate(&before, &after); 52 | 53 | // Try to open text 54 | char *text = (argc == 3) ? argv[2] : argv[1]; 55 | FILE *file = fopen(text, "r"); 56 | if (file == NULL) 57 | { 58 | printf("Could not open %s.\n", text); 59 | unload(); 60 | return 1; 61 | } 62 | 63 | // Prepare to report misspellings 64 | printf("\nMISSPELLED WORDS\n\n"); 65 | 66 | // Prepare to spell-check 67 | int index = 0, misspellings = 0, words = 0; 68 | char word[LENGTH + 1]; 69 | 70 | // Spell-check each word in text 71 | for (int c = fgetc(file); c != EOF; c = fgetc(file)) 72 | { 73 | // Allow only alphabetical characters and apostrophes 74 | if (isalpha(c) || (c == '\'' && index > 0)) 75 | { 76 | // Append character to word 77 | word[index] = c; 78 | index++; 79 | 80 | // Ignore alphabetical strings too long to be words 81 | if (index > LENGTH) 82 | { 83 | // Consume remainder of alphabetical string 84 | while ((c = fgetc(file)) != EOF && isalpha(c)); 85 | 86 | // Prepare for new word 87 | index = 0; 88 | } 89 | } 90 | 91 | // Ignore words with numbers (like MS Word can) 92 | else if (isdigit(c)) 93 | { 94 | // Consume remainder of alphanumeric string 95 | while ((c = fgetc(file)) != EOF && isalnum(c)); 96 | 97 | // Prepare for new word 98 | index = 0; 99 | } 100 | 101 | // We must have found a whole word 102 | else if (index > 0) 103 | { 104 | // Terminate current word 105 | word[index] = '\0'; 106 | 107 | // Update counter 108 | words++; 109 | 110 | // Check word's spelling 111 | getrusage(RUSAGE_SELF, &before); 112 | bool misspelled = !check(word); 113 | getrusage(RUSAGE_SELF, &after); 114 | 115 | // Update benchmark 116 | time_check += calculate(&before, &after); 117 | 118 | // Print word if misspelled 119 | if (misspelled) 120 | { 121 | printf("%s\n", word); 122 | misspellings++; 123 | } 124 | 125 | // Prepare for next word 126 | index = 0; 127 | } 128 | } 129 | 130 | // Check whether there was an error 131 | if (ferror(file)) 132 | { 133 | fclose(file); 134 | printf("Error reading %s.\n", text); 135 | unload(); 136 | return 1; 137 | } 138 | 139 | // Close text 140 | fclose(file); 141 | 142 | // Determine dictionary's size 143 | getrusage(RUSAGE_SELF, &before); 144 | unsigned int n = size(); 145 | getrusage(RUSAGE_SELF, &after); 146 | 147 | // Calculate time to determine dictionary's size 148 | time_size = calculate(&before, &after); 149 | 150 | // Unload dictionary 151 | getrusage(RUSAGE_SELF, &before); 152 | bool unloaded = unload(); 153 | getrusage(RUSAGE_SELF, &after); 154 | 155 | // Abort if dictionary not unloaded 156 | if (!unloaded) 157 | { 158 | printf("Could not unload %s.\n", dictionary); 159 | return 1; 160 | } 161 | 162 | // Calculate time to unload dictionary 163 | time_unload = calculate(&before, &after); 164 | 165 | // Report benchmarks 166 | printf("\nWORDS MISSPELLED: %d\n", misspellings); 167 | printf("WORDS IN DICTIONARY: %d\n", n); 168 | printf("WORDS IN TEXT: %d\n", words); 169 | printf("TIME IN load: %.2f\n", time_load); 170 | printf("TIME IN check: %.2f\n", time_check); 171 | printf("TIME IN size: %.2f\n", time_size); 172 | printf("TIME IN unload: %.2f\n", time_unload); 173 | printf("TIME IN TOTAL: %.2f\n\n", 174 | time_load + time_check + time_size + time_unload); 175 | 176 | // Success 177 | return 0; 178 | } 179 | 180 | // Returns number of seconds between b and a 181 | double calculate(const struct rusage *b, const struct rusage *a) 182 | { 183 | if (b == NULL || a == NULL) 184 | { 185 | return 0.0; 186 | } 187 | else 188 | { 189 | return ((((a->ru_utime.tv_sec * 1000000 + a->ru_utime.tv_usec) - 190 | (b->ru_utime.tv_sec * 1000000 + b->ru_utime.tv_usec)) + 191 | ((a->ru_stime.tv_sec * 1000000 + a->ru_stime.tv_usec) - 192 | (b->ru_stime.tv_sec * 1000000 + b->ru_stime.tv_usec))) 193 | / 1000000.0); 194 | } 195 | } 196 | -------------------------------------------------------------------------------- /week-6/cash-py/cash.py: -------------------------------------------------------------------------------- 1 | import cs50 2 | 3 | 4 | def main(): 5 | inpuT = input_fun() 6 | money = round(inpuT * 100) 7 | number = 0 8 | 9 | # cheak for 25 cent 10 | while money >= 25: 11 | money -= 25 12 | number = number + 1 13 | 14 | # cheak for 10 cent 15 | while money >= 10: 16 | money -= 10 17 | number = number + 1 18 | 19 | # cheak for 5 cent 20 | while money >= 5: 21 | money -= 5 22 | number = number + 1 23 | 24 | # cheak for 1 cent 25 | while money >= 1: 26 | money -= 1 27 | number = number + 1 28 | 29 | # print out put 30 | print(number) 31 | 32 | 33 | def input_fun(): 34 | while True: 35 | x = cs50.get_float("Change owed: ") 36 | if x > 0: 37 | break 38 | return x 39 | 40 | 41 | main() 42 | -------------------------------------------------------------------------------- /week-6/dna-py/databases/large.csv: -------------------------------------------------------------------------------- 1 | name,AGATC,TTTTTTCT,AATG,TCTAG,GATA,TATC,GAAA,TCTG 2 | Albus,15,49,38,5,14,44,14,12 3 | Cedric,31,21,41,28,30,9,36,44 4 | Draco,9,13,8,26,15,25,41,39 5 | Fred,37,40,10,6,5,10,28,8 6 | Ginny,37,47,10,23,5,48,28,23 7 | Hagrid,25,38,45,49,39,18,42,30 8 | Harry,46,49,48,29,15,5,28,40 9 | Hermione,43,31,18,25,26,47,31,36 10 | James,46,41,38,29,15,5,48,22 11 | Kingsley,7,11,18,33,39,31,23,14 12 | Lavender,22,33,43,12,26,18,47,41 13 | Lily,42,47,48,18,35,46,48,50 14 | Lucius,9,13,33,26,45,11,36,39 15 | Luna,18,23,35,13,11,19,14,24 16 | Minerva,17,49,18,7,6,18,17,30 17 | Neville,14,44,28,27,19,7,25,20 18 | Petunia,29,29,40,31,45,20,40,35 19 | Remus,6,18,5,42,39,28,44,22 20 | Ron,37,47,13,25,17,6,13,35 21 | Severus,29,27,32,41,6,27,8,34 22 | Sirius,31,11,28,26,35,19,33,6 23 | Vernon,26,45,34,50,44,30,32,28 24 | Zacharias,29,50,18,23,38,24,22,9 25 | -------------------------------------------------------------------------------- /week-6/dna-py/databases/small.csv: -------------------------------------------------------------------------------- 1 | name,AGATC,AATG,TATC 2 | Alice,2,8,3 3 | Bob,4,1,5 4 | Charlie,3,2,5 5 | -------------------------------------------------------------------------------- /week-6/dna-py/dna.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import csv 3 | 4 | # 5 | if len(sys.argv) != 3: 6 | sys.exit("Usage: python dna.py CSV_FILE TEXT_FILE") 7 | 8 | num_rowwwe = 0 9 | # 10 | database = {} 11 | with open(sys.argv[1]) as file: 12 | reader = csv.DictReader(file) 13 | for row in reader: 14 | num_rowwwe += 1 15 | for column, value in row.items(): 16 | database.setdefault(column, []).append(value) 17 | 18 | # 19 | with open(sys.argv[2]) as file2: 20 | dna = file2.read() 21 | 22 | match = [] 23 | match_b12kp = [] 24 | 25 | # 26 | for m in range(num_rowwwe-1): 27 | match.append(m) 28 | 29 | # 30 | for key in database.keys(): 31 | conttador = 0 32 | maxiemo = 0 33 | # 34 | if key != 'name': 35 | # 36 | for i in range((len(dna)-len(key))): 37 | if dna[i:(len(key)+i)] == key: 38 | # 39 | for kek in range(i, ((len(dna)-len(key))), len(key)): 40 | if dna[kek:(len(key)+kek)] == key: 41 | conttador += 1 42 | else: 43 | # 44 | if conttador > maxiemo: 45 | maxiemo = conttador 46 | conttador = 0 47 | break 48 | 49 | # 50 | for sec in range(num_rowwwe-1): 51 | if int(database[key][sec]) == maxiemo: 52 | # 53 | if match.count(sec) > 0: 54 | match_b12kp.append(sec) 55 | 56 | # 57 | if len(match_b12kp) == 0: 58 | print('No match') 59 | exit() 60 | 61 | # 62 | match.clear() 63 | match = match_b12kp.copy() 64 | match_b12kp.clear() 65 | 66 | print(database["name"][match[0]]) -------------------------------------------------------------------------------- /week-6/dna-py/sequences/1.txt: -------------------------------------------------------------------------------- 1 | AAGGTAAGTTTAGAATATAAAAGGTGAGTTAAATAGAATAGGTTAAAATTAAAGGAGATCAGATCAGATCAGATCTATCTATCTATCTATCTATCAGAAAAGAGTAAATAGTTAAAGAGTAAGATATTGAATTAATGGAAAATATTGTTGGGGAAAGGAGGGATAGAAGG 2 | -------------------------------------------------------------------------------- /week-6/dna-py/sequences/10.txt: -------------------------------------------------------------------------------- 1 | TCTAGTCTAGTCTAGTCTAGTCTAGACTTGTCGCTGACTCCGAGAAGATCCTAACATTAACCAATTCCCCCTAGTCTGAGGCACGGTTACCGATCGGGTTAATGGATCTCTCACCGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAAACGTGTAACTGTAATAATCCGCCCGAAAAAACTGATCTTAGGGTTGCGGCATCTGCACGTGACAGTGTGCTACTGTTAGATAGAGGGATCAAACGAGGTTGCAAGGATTATATCTCTCCGTGCTCGATAAGACACAGCCGGTTGCGGGCTGCTTCCTCTGGATCCAATGCAGCCGTACGTACACCGTAGAGCAAATTTAGTGGTAAAGGAACTTGCTCAAACACTACGGCTTCGGGCTACTGTTGGCGCCGGTTGGGGATCCCATTCAACGCTGGCCCTTTCGCTATGGTTCGGTGATTTTACACCGAAGCGAACCTTGAACCGTGGATTTCGGGTGTCCTCCGTTTTTAGGTACTGCGTGCAGACATGGGCACCTGCCATAGTGCGATCAGCCAGAATCCATTGTATGGGAGTTGGACTCGTTTGAATTTACCGGAAACCTCATGCTTGGTCTGTAGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAAACTGGGCGACTTGAAGTCGGCTTGCGTATTAATAGCTCTGCAATGTAACTCGGCCCTTGGCGGCGGGCAGCTTAGTATTGAACCGCGACACACCATAGGTGCGGCAAATATTAAAAGTACGCTCGAACCGGAACCTGTCTCCATGACTGGACGACCAGCCCGGCGTCTTCTACGTAACACAGGGGGCTGTCGAGGTAGGGCGTAGGAACTTCGGGGTCACTACGCCGTAACAGCACCGAATATCATATCATCCAACTTGCTTGGTACATGCCCCGTTCTGTATCAAAAGTTTACGGCCCCGGACATACCTGCTGTCAGTTGAATACCTATGCGAGTCTGAAACACGAATAGTTCAGGCGTGCAAAGACACGCTAAGCACACGCCGCAGGCAGGGGGGGTATTTTATAAGTCGTTTTTTGGAAGGGTAATGTAAACTTATCCCATAATACCCTTTGGCTTCCCCTCACTCGTGCACTTCTCATAATGATACGTCAGGGTGATTGTAGATTCACGCGTCATCAGATTGTCCCTTTCTCGAGTCTTAGTATCTTTCCTAATCCGCTCGACTCTGCGCCATGATCGAATTCCTGACAGGCTACAAGAATAAACTGCCAGCATACTCCTTACCGATTGGCGCCTACTAATTATACGCACATGGGCATCTTCGACGTCTAAACATAGGCTCTTAGTATTCCGTAGGATGTTGAGCCGACAGGAAAGTCAAACGTCGTGGGTGACCGTAGCCTGACTCGCCCGACGCAGGATTCGCTCATATGTGTGAACGGATGCTTATGTAACTTCCTAATTGCAGCGAATGGCAGTTCCGTAGTGAAGGTTCGAAACGTACGGGGTCCGGCCATGGATTAGATCTTTCAGTGCGCTAAACTCTTAACCGCAGATACTTGGCGGACCATCTTCGTGTTGCTACTATGGTATAGACCAGGCTGTCGAATCTACTTAACACAGGTGAACCCCCAGATCGGCTAGAGCCTTCGAGGCTAGACCTTTAACAATCTTTAGACACTTCCAAATCGCGGCCGGATATGTCTCGTTGGCAGCCGCAGACAAGAGAAGAGGGTCGGCAGTGTCTGCCACGCGTGACCTGTATGATCTTAGCCTTTAAGATCACACTACTGATCACAATCTATTATGATTGCCTTAGCTAACTGAGTGATGCACCCCCACAGGCTGAGAGAAATCTGTAGTTTGACGACACGCCGTCTGGCTAAAAATGTGAATCCGCCGATCCGAGACGGTGGAAGCTTGAGACCAAATGCGGGAAACCAATGACTTCATTACGGAACAAGACATAACGGCGTGAGTTGACGACTGGGATTAACCCTTTCCCGAGTCTGTACTTCTGCTACACAATGAGGATGCGAATTATCTAAGACCTTGTACTACCTAAACTAACCCTGAGGCGGGCATTGAATTCCGGCCATCTTCAGCCCAAAGAAAGACCAAATGTGAGGAAAATGAGGGATCGGTATAAGCTTTTCACGATCTCAAGGTTCACGGCCGCCAGGGCCGTAGTTGGGGCTTCATGCACATTGCCAACCCGGACATCGACAGTCGGTACCGCAGGGGTTCGAGGAATACTCCCAGCTGTGACACCTGGTCGTCGACTGGACCCAGCTGGTGGGCGGCATAGGTAGTTAATACTGAATTAAAGCCGGGAACGTCTCTCTAACTAGAAACCTTGTGATAGGATACACAGACCTAGTGCCCCGACGTTAGCATTTGAATTCATCTATCTTGGCGTCTTTTAGTAGGCCTGGGTCAACTCCGGCGTTGGCCAAAATAACCGATCTGCGTTATGTGGCCACGCATCGAGTGACAGGGTGCATACAAATTGATGGTCAAAGAGTTTAAACAAGACAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCCCCACGCTTCTACATAGCCACACTGGAGCTAGTCCTCGTGTTAAATTTTTCGCTTGTTGCACGGTTATCATCAGAAGTGCCACTGGTATTCCTCTGTAGCTCCCGTATGCCGAAGGTTGCGGCTTAGGTACTGCTTATACACGTCTCTCAAGTTTGTCAGCCGCGTGATCTTTCTGCGGGGATAGGTGATCGTCCCTCGCTCCGGACATTGCATTAAAATTACCTAGTTGATAGGGCGGCGGAGTTGCATACCGGCGTTCAATCGCGGCTCCAGACTGGTTTGAGCTACGCGTCTGCCAGCGTGAAAAAGCTGATTTGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCCAGGTATTATCATTTGAATCGTATGTTTTCTGCCGTACGTCAACTGCGTCGTCGGGGACTGAAATGGTCTGCCTCCAGACCCTTACCTCCCGATAAGCCATGACTAAGTATGTGAAGGATCACCTGAATTGCTGAAAGTTAACGGTAAGATATCTGAAAGAGCTCATTAGATCCAACACTTATCTACTCAAAAATTCGTCATATTTCGGTGACTTGCTAGAAAGGCTCTTGCACAGTAAGGTTATAGAGAATGCTACCGTTGAAGCACCAGCCGTTGAAGCCCGCCTTTAACCACGCGATATATCCAATTAACCAAGGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTCGCCTTGTAATAATTACTTTGGCCCGGATTATAACGAAGGAACTCGCCATGAACTCGCAGCACGTTGTACTGGAACAATCTACTTTTTATAATATAGCGATAACTCCCAGCTTTTATGTGGGTGATATTGTCCTAGCTTTTTAAAGATACCCTCTGGCCCGGTCCAAGTAAGGTCCACATTGCCTGACGTAAGCGTACGGTCAACGGGTGCACCGGTTCCCGCTAAAGCTCGATCCTATTCTTTCAGTCGGGGGGAAATAAACTCGTATACTCTCCACCCACCCGTACGTCCCGGACTAGAATAACTACCGGGTATTTCCGGTTCGTAACACCACGCCATGACGTGTCAACATAAACGCTTCTTTTGAAAGGTGCACATGCAGATTGCACAAGCAGCAGGCACCGCCCTTATCCATATCCTGTTGAGGCCCTCGATCCTAGTGTTCCTTGTTATCAGGATATTTTCTCGCTGTACGTTATTGTCCTTTTCAAATTACAACTGACCGCTTCCTCACCCGCTAAACCCTACCTTACGCACAACCAAGGCCTTGTCCCGGATGAACCCGGCTGCTCCTATGGATAAGCAACCCAGCCCGGCAGTTTACTTCAGGTGTTATCGTCGACTGACACCCTCAGCTTTCTCCCATTACACAGCGAGTATTTTCCGCGTAGCAATGGCAGTGACTTTGAGCGCACACTCAGAAGCCGTTGGAATGGCACCGGGGACGGCCCGATTTAGCCCCGCACACCTCCTGGAATCTTAGATCGCACGGCGATCTCGGTTCAGGCACCAACCCCAAAGAGTGTTTTGAGTTTTTGGTATGGCTCGCCTCAATTATCGGTTTTCGCTGCTCTGTGCCTGTCAACTCGGCTAGCTGTCGTGTTTTGTCGATCAGTGCGTGGACACTCTCGGTCGATGGTCGTGGATGGGACTGTAGTAAGTTTCACCGAAGCAGGAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACTTCGCTTCATATAACGTAGCCATAGTGCTGTCTGCCATCAATAAGTCTTGCTCAGTGGTGCATACGTCGGGGAGGTTTGTTCCGCCTGGTCAGAACGAGTCTAGGGCGAGCCTATAGGCCAGTCGAGAGCCAAGATTCTATGAAATTAATACGACTACTGGGTGAGAGGTCATACAATTCCCGTGGAATCTGTACCTAAGATATTTCCAGATAGGGATGGCTACTGGTTAAGTTGACAGTGTCTAGATACGTGAGAGCACCTGAGAGGACGCCACGAGTCGGAGCGTGGGCGATCACCCTTCTGAGTCATAAGTCATGTCTATATATCCCTCACTAAAAAGGGCACACGACTATACATGCTTGAGCTTTACGGTCTGGCATGTGGAATGCCCGGAGCAACCCAGTCTTACCATCCTTTACGTACATTTACCGACCCGGCAGTGGCCGGCGCGGAAACCCAGGAGAACGTCGGTCATGATACGCGCCCTCCGCCGAAAGCGTGCTCACACCTCAGGATATCAGCGCTATTACCGGACGTCCCGCGTCCACCATCTAATAATTCAGGTGCTCCTAATAAGTGGGCTGGAGAGCGAGGATTGATATACGTTGAGGAGCTCCGACGGCCCTCTCGTGCGTTTGATGTAGATTGCGTTACCGACGGAGCACGCGTTTGTCAATTTCTGTCTAGGGACGTTTATGTCCTCAATACGAATACCAGGCCTATTTTAGTGTACAAATCACTTAGCAGTCGGAATTGGAAACCTGATGGAAGCGT -------------------------------------------------------------------------------- /week-6/dna-py/sequences/11.txt: -------------------------------------------------------------------------------- 1 | GGGGGACGGTTTGTCTCACGCCTGTTGGTACCCTGAGTCCCCCACAATACCACAACCGTCGATCTTGAACGGTACCCTCATAGCGATAGAGACCCTTGCGGCTGAATTGCAATTACTCCAGTCACTTCCTGCCGGTGACCTGTCATGTATGAACAGGAGTCTCCTACTGGAGTAGTCACTTTTTGTAGACACAACTCGTGACTCACGGCGGGCGTGACTCCGCCTTATCACTTGGTTTGTATAGGGCCACTGGAGCCTGCGCTTGAGTCTTCGCTTGTAGCAGTAACGTTCCGGGAACACCCGTTGGCTATTCGGCGCCCGCGAGGTGCAGCGTAGCATTTTCGCGCCTCCAACGTCATATTAACATCCGAAAGGACCTATCTGGAACCAGACATCTTCGTTGCGTTCTATATATCCGCCCCACGTGGATGGATGTCGGGCTCGTTGCCAATAGAGCCTTATTAGCGTTTTCTGGACAATCGCAAGCAGGTCTGAGATGACTGCACCTATTTTCATGGGCACGAGTCTCTTGTCGGCACCTACGACTTATGAACCCGAACATGCATTGTTCCCGAGCACAGCGGACACGCAGTCGCCTTCCCTTACGCCATAGTCTGGGCCCCCACGGACTATCCCTCTAAGCACCTCGTCCGCTGACTATATTTCGAGTGAGTAACCGCTCCACGTGATGCCCCGGTTTGACAACATTACGCAGAGTCTCACAGCCATTGCTTCCGCCATGACATTCCGCTGGCTTCAACATAAATACACCCTACACAGAGACGGTTCTTCGGTCCGAAGTTCGGAGCTGCTTAGGTTGCAAGCAAAACCCTTAGGTCGCCAACCGTGTAGTTAGTCTCTGGGGGCGGGATGGGTCCTAGCCAGAATGATGATTGAAGAACCGTTCAGCAATTTTTGTTAGCGACTTTCCAGACGCGGTACCATGCGGTAGTACCGAAGGAGTACCCAAAGGTGGGCTCCGTTTTAAAAAAGGTAGCTGGGGCACCGGGAGCATCACGAGTTGGGTCGACTGTGAGAGTTTAGCACCAGACTTAGCGCTGTACCTACGACCTGGCTGTTGCACACGTAATACCGAAGTATAAATCACCTGTTAAACACGATGGACTAGTGACTTGTAGCGGTCTCCGCGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACCGTAAGAAGATAACTAACACCCCTGATTGTACTATGATAAGGTGATATCTAACCATCAATCAATTGGAAACATTATAAATATAAGTCTTTGTGGTCGCTATCCTTGACTCGCAATGATCAAGGACACGGCTGCCTGATGTGGTCCGCCCTTATTTTTAACTCGAGGGACGGCCAAGGGGGTATATGCGACAGCCACCAAACCATCCTGACTCGCAAATCCCAACCATTAATGATGCTTAATTTGTTGGACGATAGGTAAATATATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGACTGGAAGTCCTTCAGCACGACCCGAGATCATGGCCAGATATCTCCCGGCTACGACCAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGCGAGCGTGATTATAGACGACCATCCACTTCACTTGTGTTTCTGTAGGTCATCAGATCACGTCATCACCGAGGAATAGCTGTGACAATCCGTTAAACTATGGACGCGAAGGGCGAGATGTTATCAGAACCTTACCGTTGCCGCGAGCAGGAGCGTACTACAGGCGGGGGCGCACGTGCCTCTAGTCCGGCTGTGAAAAAGTTGGTCCAGCACTACGTTCTGCCGCCCACAAGTGGAGTACGCCAGTGGGGGTGATGCTGCATTCTGCGCTCCAATGGTTACGTCGGTCCAGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGACCACTATATCAAGGTGTCTTTCGGTCCAGGCTAGGAGGAACTTACCTCGCGGGAATAAGATCCCCAGTCCTTTTTAGCTCGACATTCGTGTTTTCTTGGGGACAGTAACTCATCATCCAAGGTGTAAAAGTATTCTAAGGTGCTCTCTTCTATGATCACACACTGCATCCGCTACTCAACATAGCTCGCGGGCCAACAACGTAGCGAAAGGTCGATTCTCCATACAAAAATATCATACTAGCCGGTTAACTAAACGGATTACCTCTTCCGCCGGAACATCTGAATCCATTACTACCGTGTGGTGCATGTTCACATCTTCGCGGTACATGCAGGAACAGTATGTAATGCTCTCGCGAGCCCTATGTGGCCAGGCTAAATGGGTTTACTGCTCAGCTAGTCCCGCCGAAATGACCATCAAATTGCCCGCTCACCCTTATCGCAGACTTCTACGAGAACGAGGTCCCGTTGGGATCAGAGGGAACCCCCAATTGTCAACGCTCCGTGGGTAGGAAAGATCACACCATGTTATCGAAAACATGGGTCCTCTGTATGTCGTAAAGGACCCAGCGAAAAAATTTATTAACGTGGATGGTTACCAGCTTGTTTTAAGAGCACGTCGACCGACACCAAGTCAATCTATTCCCCTCCATATCACGTTGCGAAGAGGTGCAGAGGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAGGGCATCACACGGCGGTATACGCATTCAGACCTACACGATGTAAACGCCCAGTTAGGCGCAGATTATCACTGTACACCGACGTTCACCGCTGATAGGGTACTACCTCTCTAGAAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCGTTCCTAGTTGCTACCCAACTTGCCTCAATCGGTAGCACCTGAGCACTACGTGTAAACCTAGTAATGTTATGTACCGTGTGGCCGGAGTCTCAGCGACCAGAGAGTGCGAATTGCTCGAATATAGCCTCCGCCAAGTGATATCATAGTCCGGGTAACCAAGTAGTCTCTGTCCGACTAGGCCGCAAGCTTAGTCTAATCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGACCAACCTAAGTCCTTCGCGTGGGCTTTGACGGTCGGAAAAGGCAGGCCTGCCTTTCTCAATGTTGGATACAGTACCACACATCACTCCGCCGTGTTAGAGCGTAGGGAGACGTTGAGAACCGAACTACCGTGTCGCACATCATGATTTGCTTAATCAATTATTCGGTTACGGTATTCACGCGGACTCCGACGTATAGAATATAAGGTTTACACATGCGAAGAGCCCTGTGTATAGTTGCCCGCATCGAGGGTAACTATGTAAGCTATTGTGTGTGAGTAGTTAGCTACTAACGTGAGCCACCTTAAAACGCTTTGCAGTGAGTTAGGACCTTCGGGGTCCGTGCCACCTTACGTTCGGCACTTCTCTACTTCCTGGCCACCAGCGTTCAGTCGACGCAGGGTAACCGTTCGCGCCACCAAGATAGAAAAGCGGGTCAGGGAGATAATGTACTATTTACTCTATACTACATCACAGGATAATGGTAGAAGCGTCTGAAATCCACCATCGCTCTCCAAATGGGTGGTCGTTAGTGCATTGAGGACTGATCATGCGGCCGCTTTGACGAGCAGGGAGATCTTATGCTGTATCAGGATATGTCGGAGCTTATCCAGCGGCCACGCCGAAGGGTCACCCCATCAACCAGTCGGCCATGTATGTATCCCACCGAACCTGTGATAGTCACTGATTCCGGACTAAGACAGCCGAGTATACAACAGTTTCGCCACATGACGCAGGGGACTATGTCGACCGATACGACTTCCAGTATCTTCTGTACCTACAGATTCCACTGCATAACTGTTAATAGCAGAAGAGAGTCTGCATACGATGGCTAATTAACGGGTCTACCGAACTGCGTCCCTGGCAGATCTTGCTAGCACTCCGCTGCAAGCACACTGAGGCTTAAGCTATTATACCATCTTGCTCTGGTTGCAGACAGGTATGATTCACTCTGTACCTCCGGATCTTTAGCCTTGCATTTACGTCCGGCCGTAACGCAGAAAATTATCTACATGTCTGTCAGTCTCGCGGCCTGCACCGAGTGCTCGTCGACGCTCTGGCCAGGGCGAAGATCAGATTCCGTTTGACTTAAGGGTAGTTAGTAGGCGGCCAACGTCTGGTGAAAGGGCTGTTAGACTTGTAGACTTCCGTCATTGGGTCTAATACTGCTATTGATCTATGCCTGCCAATAACACGATGATTAGCTGTATAGTGGGTAATCAGGGAACGTTTACGTTCCTCAAGAAAGAACTCAAAGCCCCAGATAGAAAATACAGACTACCCAACTTGCGGGTTCCACTATATGTTCACCCGTTACTTGCTGCAAACCGAGATCACCCAGCATTTCGACCACGAGCCTTAGATCCAAATGCCACACACCAGTTTAGCGATGAATGTGTATAACGGGTTCTTACAGAGAACTACCAATCCGTAGCCTACGACACCACGGACTCTAATCACCAGGAAGATACAGAACTTGTGGCTGTCTACTGACCGTACGGGTTTGGCCAAAATGAAGCCGCCTAATGGTGTCACCGAGACAGTGTCTCGCTTACCAAGTCCGAGGCCCCATCACGAAGCGTCTGTAGATAAGGATCCGTTCCGGCGCCTGGGACCCGATCGAGAGTTCAGCTGCTGAAAGGGGTGGCGTCGTATGCATCCTTACCTACATCAGTTACGTGCCTCCACCGTTCACAGGGTGGGAGCCTTGACTCTTGCGGAGGGCGGACTGCTTTTAGCGCCTACAGGTCGTACTGATTTAACAAAGCAGAAGCGCTGCCGGGGTCTCATATGGACTATATAAGCGACACACCTTGGACCGCAACTCGAAGACTTCTGGCCGCTAGTGCCCAGGATGTAAACCGAACTACGCCAAGTTGGGAAGAGAAAATCCATCTGACTGCACGGTTCTGTGGAAGATAATGGCCCTAACTTTGCTCTATTAATAAACTATTGACGCCCAAAAAGAACATGTACGGACTGACTGGTACTTCAATTAGCCACTGGTAGTAGTCCTCGATTCAAGGAATCTGTGACAGTCGTACCGCTATATTAATAAATCGCTAAGTGCCAAAGGTCCGACCGTACTGACTGCTGATGTACTTGATTCACGGGATGTTAATAGGAGCTTTGCAATGTGTGCTTAAGTCCAGTCATCTACGCGCTTGCGGCTTGATCCCAGAGTATAACACATAAATCAGACTGTAGCG -------------------------------------------------------------------------------- /week-6/dna-py/sequences/12.txt: -------------------------------------------------------------------------------- 1 | AACGATACTCCCTAAGACCCATCAAAGACATAGATCTGTTGTAATTCCTCGCTTCCTTCTAAATGGGCAATGAGGAGATCATGACTTTGGCTACAATCAGTCAAAGAACTATCCCGGCCGGGGAGCACATAAATCCGCATGCGCACAAAAGGATGAAAGTACTTTAAAACTAGTACGTCACTTAAAGGGAAGTAGAGTCGCTCCTTGGTATGCTCCCCACGCCGCTGCCCATTTAAGATTTAGCTCATCCCTCCGGGGGCCGTCGCTGCCAACCTAAGTAGCTCGGAAGAATCTCTTTATGCAAACTCTCTTCTTCCCCAGGGACAACGTATGCTAGCCACGCGCGTATTTAAGCCAACCCTAGCCAGCAGTCGCAACGGCAGCTCCCGTAGACCGCAACTGACGTCCAGCAAGCTTTAATTGGCCAGCCAGAGGCGCGAAAACGGGTCGTTGCAACAACTGTTATTGTTGCTCCTTCCAATTTGGCGATATATGATATAAACTGTATCATGTTCCCTACAAGAACTCACCACTATCCGGTACTCACCAATTGTATTGTAATGCTGTGTGCGCTAGGCCATATCACACGAACTTATCTCCGCGTCTCTTGCAATAGTCGACCAGACTGTATGTGATTCGTGAAGTACCTCTGGGAGTGAGTGCTTAAACACAACAGTGTTGACCGTTGGACCGCGGATGGATTTCCTGATACGAAAAGAGGATGTAGGCATGTGCCTAACGCTGTCCGCCTCCACGTTAATTCAACAACCACTAAGATAGCACACTGTTGGAACCGAATCAAGCCACCAAGTAGACTAATGGATTTGTGGAAATGGGAGCTTGACCAAAACTGAAACCGAGTTATTCGACAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCTGGGCAAGGGTGTCTAATAAAACTTTGGAGTGTCCGGCAGCTCCAGGGATGGTCAACCCGGGGATTCTAGGCACTTGGGCAGGTAATCCGTTGTTATTGCAATGGGACAGCCAGGTCTGAGTGGAGACGTCTGTAATGTAACGACAAGTGGGACGTAACATATAGCCATACGGAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATACAGTAGGTTGACTGGATATCAGCAGTTCTCCATGTCCTTGTTGCTGCGTCGTGGCGGTATGTTCGTTCGACCGGCGAAATCGCCTAGACCCGTAAGTACAAACGACTCCGCCTCCACTTCTTTGCATATTGCTATCATCCCATGGGAGACACGTGTGGTGTCGCTTACGAAGTAGGAACCTGCAGAGTGTAGCACTCTTCACTGGACTACGCGACCTAACGTAGAACCCGGTAGACTGTGTTAAAGGCTCGGACAAGGTCGGTGCCAAGAATAATGGGCAAAACCCAAGCCGCATTCTATACACCCGTGACTTCCCAATTTCTGTGGCCCGAGAGCCGGTTCAATTACTTTGCCGCAATGATGACGGGTTGCTTATCCGGTGGAAATCCGAAGCATTACTCGGAAACCGCACCGGCATGCCATCATTAGATACTGGGAAGGAAGGGTCACTAAAATAAATTGAGGGTGACCCCATTGACCGTGCCGGAGCCGCTAAAAGACCTCGAACTCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGTAATTATGGCTTTCTCGTCACGCTAACATGGTGGGTAGTCAAAGCTAAAATTGATGTTCAGCCCTTACATACAGCGGATTCAGAACGTGATTACCCAGATGAGGTCTTCACCCGACGCGACTTTCTGCTAGCGGCGTGTTGATTCACAGCTTGCGAGGTGATCTCACTATTCCGCAGTTGGCCCTGTATTTGAGGAATATTGCTCAGCACGGCTCAGAGCCGATCCAACTCCTCGAAATTGGGTCGCTTATTATACGGTGGGAACCCCGAGACTAACATGACGGGCCAAGTTCAGTATGCAGTGTCCTAGTATACGGGGATAAAGTTACGGAGCCAGGACGGTTGAGAATACACCAAATGTCCGGTTCGACACTAAGATTAAACGTACCACATCTATTATCTACACAGATACGGGCATCGTGAAACCCAAGCGCAAATCGGAATATTGTCTGCGACCAAAGCTTCCGGATTAGTATTCAGACCTCTTTATACCTGAAGACATGTAACAGGCCCGAAGTCGCCTTCGGAGCTTACCGCTGTCCGGTCTGGTACTATTCCCGTCAGAGGGCTGCCCGACTATCGGTAGGACCCTACAGGGGCGTCTGAAAGAGTTCGATAAATGACGAACGCGCCTAATCGGTCCACGTGACGGCCATAACGGATGTGTCAAAGAGTTTCGCGCTACAGGCACCGATGGCTCGCTGTCCCAGGCCAGCGCATCTCCTTTTCAGCCCGCGCCGGGGAGGCAGATTGGTATCGATAGCAGGAATTAGAGAGTAGGCACGACAGCTAGAGACCGGGAAGAAGCCTCCAACTGCTCGTAAAAGATGTTTGGTCACCTATCATAAACCCCACATACCAATGCGCAATGGCGTATTCGCTGTCAAGAGGATTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAAACGCACCCTTGACCTCTTTAGGAGTTACAGGTCCCGTGGATGACCGGCGCAACCTACGGCCACCGTAGTGGACACAATACCGGGGGCCGCCAACCAGAGGGGTGTCGGTGACCGTGTCCTGTGAACATATCACCATTTTGGTACGTCCGATCCTACTCTATGTGTACTGTTTTTCGCAAACAAAATGTGCGATAATCGTTGTCGGGAAATATTTTCCCTCAGGTGGTTCGGGGGGTCATCCTGAACAGTCACAATGAACACGGGCGTTTCTCTTCGCTTATTGAGCTCCAAATCCCTATCTTCTCGAAGCTCGATTAAGTCTTAGTCAGTGGCTGCCGTGATACGTTGTGGCTGGCTGGCAGTCTTTAAATTCGACTTTTCAATGATGTCAGGTTCGCACGTTTAGTGATTCGCGATCGATTACCTCCCAGACTGCCGGACTACTCCGAGCAAGAGGGGTTGACCTATTAGCATCGCGACCGCCCTAACACTCGCGTTCTAAGGCGCTCACTACGACGTCCAGTAAGCTGGCACGTTCTGTATATGTCTGGCTCATAGAGTCTGAGTTTGTCAGCGGTCACGTTAAGCATAAAACTGCCAACCTGGAAAATCATATTTATATTAAGTGTCGTAGTGGTACGGTATGACACGATCGTTTTGGGAAGTAAGTGCCCATCCGTGAATCGGCTACAGGCATCTGAACTAACAACATTGTCCCCCTTTAACATAAGGTGAGGGGTCGTTTAAGAATGAGCCAGCACAAGACATATGACGTGTTCCCCTCTGTACGAACTAAGGCAAGTGTATGGCGTTTCTCGTAACGCTATGTAAATCCTGCAGTACACTAGCATTCGAATTAGTCACGTGGGTTCATTAGAGCCGGGCTGCATACGGCTTTCACTCAAGGGTGAGGCCCGGCACGAACCTTTGCTTTGTCTGCTGGATTGCGTTAAGGTGTTAATTATGTTGCAAGTATCCCGATGATCCTAATACGAAAAGGCTAGGGAATAATCGTCGGAAACCGACCCTGATCCATCTCGGGTAGGCTCTGATCAATATTCAGTGACAGGTAGGGACCGCTCGCAGACTGGTCTCCCGGGTGATTTAAACCAAGGCCTGCTCTCCCTGGCTTCAAATATCTCCATACGTGCCACCTGCAATGGTACTTTAGAGAGAAGGCAACACCCGTGTCACTTATTCCGTCTGTTTTAGCGAGACAGGTCACCTGCATTTATTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCCGCGCTGCGTTGTAGAGAAGGCCCTCGTGATGATACGGAACCCAAAGACAACAGTGATATAAAATGCGGGTTTGACCATTCTGTACGTAAATGAACGCGTGTTAGTTGACAGGAGGCACGCACACATTGGTCGGCTGGCATTGGTCACGATCGGCACCTCGGAGAGACCCGCTGTGGTGGAAAAATTGCTCTCACTATAAGTGCTAGGAAATACTGAACTGTAGGGAGAGAGCCTGTTTGTAAGTGCCTTCGTAAGGAAGAAATGTCATAACACCAGTTATGTCCAGATACGTTTGGTCTTCCGAGACTAGACTAGTTAAAGGTGCCTCGTATTACTGTCGGAAGGATAGGGCCTCAGGTCGAGCTGAATTGAGCCGGCATCACTACGAAACGTAATGGAACAGGTATCGCTCAAGTTCCTATGGCATGCAGGGCGTAGATTGCGCTGGCCTGCATTCGCGGCATAAGACGTTGCAGCGAGAGAGATCCACGCGCACGGACCCGTCACTACTAAAGCTCGACCAGCGAATTCGTTCTCCCTCGAACAAGGTGCAGGCCTCCCTCCCTACGTGAGCATTGTGGCAACTGATAACAGCTGTATCTCTACAAAGCCCTCCGGATTCGATGCCCTATTTAATTCTACACCGGTTCGGGTACTAGGCGCATAAACTATGACTCCGGTCAATACTTCCCTAGTGTTTACCTTGAGGTTATCAATTGACCGCTTCGAGGCCCAGCCCGAGGACGAGGGGTACTGACTCCCCCACCCTGCTGATCAGGGGCAGCCAGGCACGGGGAGGTCTTAGATCTGCCTACTTTTCTACGCTCCGTGTCCGATTATTAAGCACATGACTAGCGGAAGTGAGTACCCTCTACCAGCCCCTGGAGTGGATTGAGCGTGGAGCACGAGAAAGAGAAATGATGTCTCGGCATAGACGAAAAGCACCTAGGTGACATCAGGCACAAGGACTGAACCGCGTGGTCGCGAAAGATGAAAAAACCACCGAAGGTGTAAGGGACTACACCGTCTGTCCAATCTACGGTTAAAACTCGCTTAACAGGTCCCA -------------------------------------------------------------------------------- /week-6/dna-py/sequences/13.txt: -------------------------------------------------------------------------------- 1 | AGCAATCCGGTTAGCGCTTCGCCGTCCCCTGACAAGTCCCTGTATTAGACAGAACACCAACGACTAGCCCAATCGTTACGTAGTAGCGCTTGTGGTGTTCCTACTGTCCCGGGGGGGTGGGGACCGCCCTCCTTAGCCGGCCTATGCTCGCGACAGTCTCGGAAGGATCCAATCGCGAATGGCGAAGTGAACAGGCTCATAACGGTTTGGTTCGTATGCATTGAAGGCCTCTGCCGGGAAATATCAAGTGGTATGCTAGCTGTGTCATAGTGGGTTATAAGATACACCCTGCAATCATGACAAACCTTACTGGCCTGCGCTTCGGACATAAACGCTTACTACTTGTATACCCTATTTAACATAGAGCCAGATCGAAGACTTTTCACGAGGCTACTAGCGCAGATGTGAACGATCCTAGAGTCCGGGGGCACGTTCGGGCGAGATACAAAGGGGCACGCAGTATCATTGATGGGCTCTGGCAGCACTATTAAATAAACATCAACTGGATGTCCCCGTACTGCACATTACTAGCTAAGAGTTCATATGGACAAGATCATGAATCAAACGCACTCCACGTTCGATAATTAGTGTCCCGAACGCTCGGTATGTTTACTATCGCATGGTATCGATCAAAGTCCAGCGAACGCACCTCATAGGGAACGCAAAACCGCCGTACTAGCTAGTGAGCGGCCAGACGTGTCGGTACGTCGCGACAGCGGGCCTTCAAAACCTTCGAATCCACAGAAAAACTTAGCCACAGTGTCGGCCGAAGGACGTATGTTGGTCAGACGAAATGTTGCGTGCCACTATGAGAAAGAAGAATACAGGGACGGCTGAATCTCTCGCGCTTAGTGTCGATGATACGAGAATCGCTGCCGTGTCTTAGTAGAAGAGCGTCGGTTTCTATCGGTCTACCTACAGCCATGACGTGCGGGTCTGACATTCTGCACACACAACCGTTCCTTAAGTTTCTTTACTCGTGATCCGACTGTTCGGTCAGTCCCGCCTCATGTACAACAGTGCCGTGTGCTAATATCCTGGGTCAGACACCGCCTCGTATTAAAGCGAGGGCGATCGCTGCTAGGGGTGCCTAATGGTAAGTAATCGTTCCCAAGCAAGGTCTTTGTGTAGCATCGATCTCTATAACAGTCACCAGGGCTCTTAGGAGATCTACGAGCCGACTTCGTCTGTATAAGGTGCTGCGTAGGCCCCCGAAACACTAATTCAGGCGTCTGTTAACGAGGGGAACCCCGGTTTGACCATGAGCGGGACCCGGCTCGATTGTGTTACCTATATGAGTACATTTGGTAAAGGCACGCACCGCTACATGCTGGAAGTTGGACCCATGAAACAGTTATAGCACTCTCAATGGTGTAAAGACTTGTCAGCACAAAGTGAGGCAGCGCTAAATGCAACCATGGCCTTCCCGACCGTGCTTCTGGACAGGTAAATAAAACCGAAACCTGTTAGGCGGGCGCCCGTTACACGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCGTCACTCCCTTATCCAACTGAGATAGGGCTCAATTGATTCATTACTTTGTATTCATATGGACTGGTGTGACTCGGGAAGAAGCCTAGTGGCACCTCACGATCCGCTAATCATCAAGCTCAACGTTTTCCCAAAAGACCCTTTCACCCAGTTCGATACCTACGAGATAGTAAATGACTATATTGTTCCAAGATCGTCTTGACAGGTTGATTACCTGGTCTTGAGAGCCGTTCTAGTCATACAGCGTCTCATCTTAGCCGGTAATCTGTGAGTATGCTTCAGCCTTTAGTTACTGCACGATGGGCAGGAACCTTTGAGCGCGCGCTGTCGCCTGCCGCTGCTGATGTTGCGTAGACTTGAGTAAGGCTCACATATAGGTCCCCCTTGGCTGGGGCGAACTTACCCCAGGCACTAAGGGGATTTGCGCAGTATGAAGTGGCATGGTTTTAACCGATGTGGCAATATTGTTTCATCTATGCCGGACGTCGTGGGACGAAGTATATGTCACAGATCCGTTTGATCGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTGTCAAACCTTTGCGATACGATTAGGAAAGAACTCAAACCCTATCTCCGTAGGCCCCCTCTCCGGAAGCTCCAAGTTAGAGGCTGTACCACATGAAGACATGCAGAGGACTTGATCGGGTCTGTCGTTTCCCGTGCGGGGGTGCAAGGCGTACAATAGGAGCAGGAAGTTACAAGTCACTGACTTTCGCTTGAAACTACGATACCACCACTTCGTCTCCTGACTTTCGTCGGGCCAATAAAACAAATGGGGCGGATGACCCTGGGGGGATGCCACCCTGCAATTGGAGTGCATGGCTCAGGGTTGTGCAAATTCCGAGCGGTCCACGCGAAAGCATTAATCAAAAGTCAGATGGCTCCGTAACACACCAACTTTGTCCGGATATCCTGGGCCAGCATGGCTTTTCCATCCACCCTCTCCGGTGGTCAAGAACCAACTGCAAGCCGAGAAGTGAATTACCGTACCGGACGTATTGGTCGATCTGGGCGTGTTAGAAATTGTTACAAATCCTCCATCGTTCCAATAGCCTTGTATTACCTATTATAGGCCTTGAAAAGGGAAAAGAGGACCGGTAGTATCTGCTGATAAAGACTGATATTAAAAACGGCGCGTTGTTATGCGATGCGTCACTAAAGCCTCGGGCGCCTAAGGAAAAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTGTGGAAACCTATTATTGTGCGATCAACGTTAGAAGCCAGAAAGACTCCCCAAGGGTGTACTACTCGTCCTATCAGATTCCAATCTGTCCGTGCAGCGCGAACTTGCGTCGCGTAGCTGTCGCTTTGGCTTCGAACCCCCGAACGAACATGAGCTAACCCTTTCCGTACTTCGATGGCTAAGCGTCCTCGCTTTTTGGTCATGCTGACCTCCAGCTCCTGCTGGCCCTCAGTCAGTAGTAGGTCCAGTAAATAACTTGAAATGCCCGCGACAAGCGATGTCACCTGTTGCGTAGACGCTAGGTATGGACCATTGCAGTGCTGACTGGTCCAGGAGACAATAGGTAAGTTGCTAAGCCTCCCCTCGATAAATAGAGGCTGGAGTCAAGATAGAGCGTCCGTGAGTCTCATACCATATATCTTGGACTAACAGAGGAAGTCCGACACGTACAGACCACTGTAGCCTACTCTAGGGAGACCTTGTGATAGTCTTAAATCGACCTAAGAAGCGCTCGGACAGTGCCTAAAACCACACGTTGATCAATGCCCGCAACAGTAGAGCTGTGTAGTCCAACGGACCTTTGCAAGGGTGGGTTTAGCCCCTTCGTGGGGTAAGGAGCCTGGGTTCAGTGTGTTGGGGAACAGAATCTCCCGTTATGCCGCGTCCGAGCCGTGTGAAGCTCTTTGAGTGGATGTTGGTATGCCTTATATGGCAGGGTATCCAGGGCTTCATCTTCTCGTACACGCTCCCTCGCGGGGAACTATCATTAGTTGACTTCGGACACGCGGAGGAGGCAAATCACCACATCTGTACAGACGTAAGTACACAACTGTTTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGATATCAGACGGGTGTGGAGGATCGCGTTTCATTCGGCTGCTGCCCCGGGTACATATTACAGGACCGTCGCGGGGAACTTACATTATCCGCCTCGGCAGAAACGCCGTTCTGTTTTCTGCCCTAGTGTCCGTCAAAGAATACGATTGTCCGTCGATACAATAGTTCCCAGGGAGCTGCCCAGCCGCTTCTTCCCGCGTGCCCGGGGAGCGTTCTACAGAGACATAACCGGCTTTGCTTAACCAGCATAACTATATCGACAAGTGAGCAAGATGGGCTAGGCCGTTGAGCCAGCCGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGAACAACGTCTAGCGCGAAATCACTTGATAATTCACGCAATACCTGCCTGATTTAAAGGTAAAGACGTTTTGCAGAGAACAAAGACGATGGACAGAGTTTACAAAACCTGGATCGTAGGACAGGGGTTTTTAACATTGAAAATTCGTCGAGCCCCTGACTCGTACAGACAATCAAAGTAGACATTCTTTAACGTTCCCGCCACCCCGGTGGGCAACTATAAGGGGAGACTCTGTTGTAGAACTTGTGAGCATGTCTCTAGTCGGAAAGTGCTGGGTATGACCCTCCACTGATGCTTAAACGGTACCGCAAACCACAGCGACAGGGGTCTTATACATCCTCATGGGAGCGGCGGGTCGGGGGTGATTAAGTATTGAGAAAATCCTAGGTATTATTACGTACGCCATCCAGCGAGTTAGGTACTGAGAACAAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCCCCTGTTCCGCGGTCCGGGAGACGGAGGACTGGCTGGATCGTCAGTTATGACTCCGTATTTCCACCTCGAACAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACCAGCCTTCTTACCCACAAATGTAAAGGGCGCTTCCTGGAGCGGGAACACCTTGGTCTTTCACTCTGGATCATGCCCGGTCGCTGTGGCCACTAAAACGACAGCTTTGTCGGTTGGCATTTCTCGTGTAGTTCGAGATCAAACCATATTGGCCGTGGACGAACATCCGTATATGGGCTTAAATTCACATGAGGGCTGATGTACACGATATGGTCGCTCTAGGACCCGCACACGGAGAAAGGGAGGAGGATAGGAGTGATTACAAGAGCCAATGCTACTCAACCAAAGTACTTCGTACGTGATAAGCGCGCTCTGTCGCCCTGAACGAGGTCGCTTAGCCATGCCTACCCACATCACATATACAGGGAGAAACAGTACCACTACATGGTCAGCGTCCCGAGATAACGATTACTAATGGCGTTTCGTTGACTTCCCGGTATGACAATTTACAGGACCGGGTCGGTGTCCCTACCGTCTCCAAATGAAGGAACCAGCTTCCGACCTCCCTCTCACGGTTCAAGTACGAGGCCCTTCAAAAGCTCCTCCTTTCGAAGTGCCCAGATGAAGCTGCTGGAGTGAATAGATTTGCACCCCTGTAGTTGCGCGTAATGCTCGGGGATAAGTAAGTTAATCATACTCGGCCGGCAGCTGAATAAGCTATGGCATAAAAATTATCGCAGGTCCATATAATCACGTAGCAGGGCAAAACCCTTGCGGGAGGATGCATAGACAATATTAGATGGTGCCATAAGATTCCAATTTAGCGACGTTGATCAAAGAGGTGGGTGGCAGCCTCGCGGGGTTTCGAGTTCCAGGGTGCCGTGTACGGGCCCCACACTCCGAATTGCTATGCGCCCCAATCTGTCAGGAGCGTAGTCCGTCTTGCATATGCGTACGAAAAGATGGAGTGCCTCCTAATTATCAGAAGGTCGATCTGAGATACGTGACTTAAGCATGGAGGATTTCGATCTTCACAAAGCCTATAGACCTACCGCTATGATATTTGACGCTCACTATTACTGACATATGT -------------------------------------------------------------------------------- /week-6/dna-py/sequences/14.txt: -------------------------------------------------------------------------------- 1 | GGAGGCCAAAGTCTTGTGATATCGGGCAACTCCCCGGGAGGAACACAGGCCCACCGAAAACAGCTTGAAATGGGAAACGTTCCCGATCTACGCCGGGCCAGAGGACGAACACACGCTACCCGGGATCCACTGTGATTTTCGGATTTCCAACGGCGGAGAGCCCCGTTCCCTAGCAATTGATCCCCCGGAAGAAGACACGGAGGCACTACTCAGGTATGGGTAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTTTCAAATTACCTCATAGACTCATCGCTTACCACTATCCAGTTTGCTCCTAAACTACCTTCCCACGACGACTCCCTATTATTCTTATTCTGGCAAGGAATAAGCCTGTTTGTGACAAAATATCCATGTGGAATTTACCCGCACCCAGTCCACTTTGTCAGGTGGGACTAGCGATCCCGCACTAAAGCCTCAATATTCTCAAGTGTGACAAAGGTGTCTTATCGTGAACGAGGCGTAACTGGTAATATCCGATAAGTGGATGGCGGAACTATAAGCTGTCCAGGTGTACCGTGGACGGGTCCATGACCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGATCGTTGAGCGTCCAGGTCAGGACGGGCCTTAAAGAGGCTTGGTGACGGGAGTTACTAACAGGAGGCTGGCACGAAAGGCAATCCGTAATTCGGCCCGCACTCCGCTATTCCTGCCGGTTAGTTACCTACCGCCCTCCGGCAGCACGAGAAGTCAAAATTACCGGTATCAAAACCACACGAACCTAGAACCATGGCGTTCAAGAGATCGCCCCCCAGAACCTCCCCACACACGACGTTGCGGGAAAGCCAACAATTGACTCCATTGCCTAACATATAGGAAGTTTCTATCGCCGTACGCTAGGGCCTATTTGGGGGCATCGGAAGGATAAAAAGAACGCTTAGTAAGCTTGGTCTATAGTGGTATACCGTAGAAGCTGACGCAACTCTGACGACTCAAGTTTATTACCACTTTAGTAGTCGCTTCTTCAGGCCTCTCTTTTGACACATGGGAGACCGGACGGTCATAACCAAATTGTAAACAGCGGCTTATCGTCATACCCCGCTCCGATAGTGGGGATAAACTATGTGGTACCATTGAGCGGGCTACATACCTCCGGTAGAAGATAATACGGCTATCGTACAGTCTGTGGTCGGGCCTATAGACGAAGACGACCGGAACGAACGAAGCCGCACGGTTGGTGAGGTCGCATTGTCTGTAATACAAAAGGCACAAGATGCTACTAATCCTTTATGCCGCGAGCTGGCAACCGCCCTCTGGCTAGGAATTGGCGCGCGGTCACCGACCAGCTACAACGTCCCTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGAGTTCCTGATCTGTAGGCGGTATCATAGGGCATCGCCTGGCACACTGGGTGCCAGACTATGTGGAACCCCCCCGTGGGAGCTAGCTTACGGCTCAGTGCCGGTGCGGGGACAACGTCAGGGTTTCCAGTGATTGACGTCACAGAAGTGGCGGCTGGTTTTCTTCCAACCCACACATGGACGGTCGAGTCCCCTAGGATTTCGTAATACCCGGGTTAGAGGAACTAGTCCACGCTGAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACTCTCGTGAGCTTGAGCATGACTGATACGGAGAGGTGAGAATGCCGTAACAGTAACGGAGCCGTCCGTTGTTTTCTTTGTAACTTACTAGGTACAATGCCAGCTGATTGGCTGACACAGACATTTCCTGTCTTTACAAGTCAAATTCTTCAACTTACGCTGGGATATGGAGGGTCTCCAGGTAAGAGTTTCTTATGATTGCAAAACAATATCGGGTGAACCCTCCTGCTGGTGTTCGTAGCGGCGTCAGGATTGGTTGCGGGCACGTCTTTGTATCTTAGACTACTAGCGCCGAGATAGATAGATAGATAGATAGATACCTAGTTAGCTGAGGGGCGCGTTGGTTTTTTCCTACAGCGCCTGAGCTGGTGCAAGCATAACATGAGTCTGGCGCGTCACTCAGCCATGAAGGTAAATGCTGGGGAAGCGTTATATGTTGTGTCGAGCCGTATCGGAGCATATTGTCTACTGAATCCTAGAGGGGTGCCTTAATATGCTACATCACTAACCCATTTAGGAGACTAAATATACTAGAATCTGCCTGTTTGATATTTTCAGAAGAACGGGTCGGCGCTATCCCTTAGGAAACTACGGACCGCCTGCAGCGAAGGCGCCCATCTCAGTCATCTCACGACTCTATGTTTTCCGCCATTTGCCGATACACTTATAAGTCGCTCGGTCCTGCGTCACTAACTGAAATATCGATCATTGATTTGTCATGATAACCTGGTAAGGTAGATAAACTGTTGCATGGAGTGTAGATGTGTAAGAATAATTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTACGTCGCATAACCTATCCGGGAAGGGGTCAGACAAGCCTACCACTTGTCGGTACTGATTGCCGCAAGCCGTCTCAACCCTCAGATGGCAGATAGAAGGAGTCAACATCTGACGGCGTTCATTGCTCGACTCGGACAGAAAACATATCTCGTCCGCGGAATCCAGCACAGGCAGCAGTTGCCGCCGTGTCAGCTTCCAGCCTCCCAGAGGGGAGCCGGTGGAGTTCTCGCGCTACTCGCAATTAAGTGACGGTCCGACGTTCCTGCGGTAATGACGATGAGCCTGAGTTAGTAAGCATCATCCTCCAGACTTCCGTGACAGTTTTCAGCCGCACATGTTACCGTCCAGTCGTATTCTTCGGAGCTGAGGCACCTAACAGGGTCTCATTTACAGAGGGGAGATTCTTGCATCACTGTGAGTGTGCTCACAGACACCGTTCTTGTTGACTATGGAAAGACCTTAATTGCCATCGAGACTGAATATTGGCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCACGGAAGTTATATGCCACCAATCCCGTCCTGGGTCGTATGCAGAGAGCTTACGTACATGGGGATAGCAATATGAGAGACACGTAGCAGCAAGCATCTTTCTACGTAAAGCTCCCTACAATAGTTACCTTATTCATGTCCAGATTTACCGTGCTGGGGCCCTTCGACTCTAACGACAGCTAGATCGCACCGGCAACTGCCATCCCCTACGGACAATCTCCGTGCGGATGTCAAACCCCTCCTTGTAGGGTTACTAGTATGAGTAGCGGGTGAGAGCACTCGAGCGATGACCGGTTTGAGAAGGAAGGCATCGACGGGCAGTTGGCGAGGCTCAGCTTCGGATCCCGGTCTAACCGCTAAAAAAGCGACCGCGCTGAAATTATTACGGAGGAGGGACCACCCATATGCCGTTAAAAAGCGTCCTTAGAGTTTCGGTGCAACATGTAGCTGGATTAGCTCCCAACTAGGCACTATCTGGTGCCCTTATAGCTGCACTGGGGGTCTCGCTGAGGCAACTATATGGGGTTCGTTAGTAGAGATTCCAATAGTGAGCCCCCTAAATTGGCATGTAACGCGACGCGGATCAGCTGCATGAATCGAGGCTGCGCATCCTTTCTCGTGCCAAGCCCTCACATTAAAATACATGAGTTTGCACCTGTGGGTGATTGAAACGGTGATTGCCTTAGCTACACTGTTCAATTCAAACTCCAGCATATCCGGAACATATTTCTCTACCAACACATACAAAGTGTGGGCCGAACTGCTAGCCTGTGTGTCGATACGGCTTAGCCACTTTTTATAAACCAGCATCAATGCACATAACTTTCACCTTAGTTTCAAGTCTATCCGCGTCGTGCCGATGCACGGCTAGTCGACCTTAGGGGGTGGCGTCTGTTCTCAGGATTGTGCGCTGATAGCACCCGGACTACGTCACCTCGCCTGTCTACATAATTTAAACCCTCAAAGAAGATTCCTTTCCTTGGAGGTTGTAGCGGCATGTACGCACGGGATAAAAGACGATGGGTAATAGACGGTGGACCTGAAGCATACCGATGTTGCCTTCCGCCTCCTCATTGCGGGTAAAACGACAAGACAGGCATTAGCAAGGGGACGGTTATCGACATGTTAATGGCACTTTGGTAGCATGCCAAGAGCAGGGCGTGTCTCGGAGTCAGGTCCACGACGGATTGTGCAAGCACGCCTCACGCCCAAATATGCCTACTAAGGGTACGTTGGCCCGTATGTTCAAACGAAACAAGGCGTGACCATCTCAAAATCGAGCGAGCAAGCGGCACTTTTTATGTTTGCGCCATTAAACATCAAACCGTGATCGCTAAAACAGATAAACCCCATTAGCTATGATTTCCGATTGGTGAGGCGCTCACAGAGTTCCTACTACTCTATGTGGCCCACACCCTAGGATCATGGGCACGCCGTTTGTGTCTTGGCCATCCCGCAAGCCTATCTTAATCTCCTAAGACGTCAAATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTTGAGCTAGGCACCTGGGTAACAGCACATAGCTTAACAGGTCGCAAGGTAGATCCTACTCCATGGGATCGCTCTGGGCATCCACGTAACCGTCCATCACTTATCGTTGCAGCACTCCTGTACTTCATGCAATCAAAGGTAGTCAGATTGTCTCAGATACGCGAATCCGGCCGTCTTCATCGGTAACAGAATGCCTTAGATTATCCCTCCCGTGCTTTCATAGTAATAGTCTGCCATACGTTACGATGCATGTTGGAGTGAAGTGGCGCTGTAGTATGTACCCCCTGAACTGATCTATTAAAAACTTCCACTATAGTTCAAAAATAACAGTCGCGGCACGACTCCATAAGTTGAGCCGGTTAAACGTCCGAATTGAAAGAGCCCAGCCTAGTGTGATTATCCCTGAGGCACTCGGGTAGAGCAGCACCACTGTTAAGTAGAACCGGATTGGAGACCCGCGAAGGAGAATCCACTGATCGG -------------------------------------------------------------------------------- /week-6/dna-py/sequences/15.txt: -------------------------------------------------------------------------------- 1 | GGGTGAATCTCGGACAAAAGGGACCCAGTAATGGGAAAACACCCTGTACTTTCATTTATCTTAAGGAAAAGGCACTGCGACTTGTGACTGTTTTGTGCTTACCGGTCTGCTGACCACCTCCGCAAGATTCACCGGGCCCTCGCCCCTGGGCCCGCGGGGCTGTTTCCCCATTAATTCTGCACGGGCGAAGGCGGCCCCTCGGCCCGATAACGGACGTTGAAAGGCACCCAGTGTACCAACTCTATCGTTGTTAATCTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTATTACAGCGGCATCACTATACTATAATAGTCCGACATGTTAGAATTCTGACGCGTCGAACCGTAGGCGAGTCCGAGTTTCCTACTCCTCACGTGGTCAGAAGTCCCGCTCGAGGATACCGATAAGCCTGAATTCTTCATTTCTACTAACTCGACAGACTGACTCACGCTAGTTTGGTTACTGTCCCGTACCCGCGTTTTCCACCTTAGTCTTGCTGGCGTACACTTTCAAGCGATAGCATGCTTACAATAGGCTATTGCGACGTGTCCGATCCTACATGTACTCATATATCGCAACGGCCCAGGTTACTTAGGGACTAAACGGCCCTTTAAAGCGAGGGTAGTAGAATTCAGGCCACTGAAATTGGGATTATCTAATAAATCACCCGCCGCCGAGATAAGGCAGCTTACGAGTGAAGTTTGCATCACGTGCCTTTGTATTATTAATCTCGACTACCAACTCCTCAATTATAAGCAAGTTCGTTCATAAATAGTCAGATGCTTGGGGCGCATGCGGTATTGGAGTTGCCATGGTCTACACGCGGCCCTATGCAAACTTTTCTTAAGCGAGGAAGTCTTCCGTATTGCGTTGCATTTTCTCAATTGTTTTAGTCTTGTCGTAACCAATGCGGTAAGAATGCGTTTACAGGGCCGCGACCCCAACAATCCTTCCTTCGAGGAAGGTACTGAGTAGGGCTGGTCTATGCCGGTACTCCTTAGGTTGTTCACTCATGCCGATACCACTCTTGGTTTCTCACCCTTATTCTGGCACTGGTAAAAGATAAAGAGAACCTCCAGTCTAAGCGATTTACTTGGACACGCCCTTTTTGAAGTTCGGGCACACTCCGATTACCTAGAGCCCTAATGGGAGCCCGTAATTTCCAATAAAAGGAAAGTGGCTATCAAGCCATCCGCTCGAAGCACGTCATCCGGTACTTAGGTGTCCCTTGTGTCGCTTAATTAGATGTTGTACGAACGATATATACGGGCTAGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATACGTCCGGCATCCAGCTCGTCAATCTTTAAGTGGCGTCATCAGTAAGTGCACGTGGTCTTCCAAACCCTGTGGCGACACTATTAGACGTGGTCGGATCGGTCTTTATCTTTGGTTCTGTAGTAGGAGAACTCATGGGATGGTTATGGAGTTTGACTACAGCGTCTGGTCTCGGTAGTCCCCACACCCTCTAGCCCAACCACTAGAAAGTGACTAGTAATATGCGTTCTGCGAATCTCAGGGGTCAACCGTGACTATTGATCTTACCAGCGCATCGCTCCGCAAGCTCAGTAAATTTGATGTTTTTCCACAACCGAAAGAGCGATTAAGTACTGAACAAGAGTGTTAAGTCCAGTACTAACAATTAGATACATACTCGACTCGTAGAATCTTTCGTATTCCTGGTCGTACCCAGCAACGCCAGCAGAGTTTAGTCGACTGGTAGTTTGGAGTTTTCGAGGACGGAGACTGTGCATAAACTGTAGACATTCTGAAGCGCATGTCGGAGTGTATTCACGTGCACGCTCACCATGAGTTCAGGTCTATGGTGTCGGCGTTCACAAGTCCATAATCTGCGTCTCGTGACGTGACTTATCCCTTGTCACTCTAGTTGGACATCACAGTAGCGTTCGCCTCCTTCGTAATTCCTATCCCCAAAGAGAGTATTTCAATTAATACTCTAAACTCGAGCGCCGAGCGACACCATTCCATTCTAAATCTGGGGGCTCACGCGCTTTCAGTCGTCAATTTTATCGCGAAATAAACATGATCGCTATAAGATATCCCTTCCTCATCTGTTGCCCCAACCTGAGGCGTTCTAGACGTACACGATTAACGCGTTACGCGACAGCAGAATCGAGCTACGTGCAGAGCGTATCTGCGCCGGGGATCGCCGTAGAAGACGGCGCTAGCCAACCAGGGTTCGACGAACTGCCCTAGGAAACAAGCAAGCATGCTCGTGAGAGCAGGACCTTCTGCAGAAGATATTGCGATACATGAGTTTCTACGGTATTGGGTTATGGAATCTAAGAGGGCCAATGGAAATAGTAAGTTGGGGCGGATTATTTGAATACCGTTCGGTGGACTGTTTTCCGGAAGAGCGATGCCACCTCCTTGGTGTCTGCATCGAATAGATGCCCTGTCTTTCGTAATCGGTGAACCCATTAGTGACTCATTCGTGGCCGATACATTTACTTATACGTCTTGAGGCGCAGCAAGTCTAGTATGTCGTATAGAAAGCAGGTTTGCTTAGTTCGACTTAAGAGTGACGCTAGGTCACGAATTTCTCGTCCGGGGCATGTCAGAGATTGATTCCTTAGATACTGGCCAAACCGATACTACGCGTTGATAAGTGAACGACATGAAAGTTGACAACACCCTCTAGGGTTCGAACCAAAACAGAAAGTAGGAGCAACGTTCTCGGAGCACCACATCACTTGAACCGCCACTTCGACTTTCACCGAGTGACATAAAGACTAGTGGACCCCATCTGTTACCAATAAGGGGCGTGTAGATCAGCACTGGAATACAACACACGATGCCTCAGTCATCTCACTACGTGTCTCCTCGCTCCGCGTTCGCACTATTGCTCGCGCCCACCGCACACTACCGTGTTGAATGACGAAAGTTGCGGGGCTTACGCTCGGTGCAAAAGTTTCACATCTCTTGATAGCATTGGGCAACGCCGACGTATAGCTATGCAATTCACACGGCCGCAAAGCTATTTGACTGAACGTCTAGCATAGTGGTCAAACTGGCTCGAGCTAGATCTTGACGCACGTTCGGTATCTTGGAATTACCACCGGTACATGAGAGCAAAAGGGGAATCCTTGGTATGGAATTTACAAACCTGATCATCTTATTAGTGGTGTGATGAGATATCTTCATCTTTATAAACGTGGCGCGGCCACTTAGCGCTCAACGGCAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTCCGTCGGCTCTGCGACGCGCGGAGTCAGTCTTCTGCCCCGGGGTCAGCCAGTCAAGACCTGCTGGGAAACGAAGAGAAAGAACAGTGCTAATGCAGGCTCCTCTGACGTCTATGTACTATAGCTTTTCCGCACGCGGAATCTGTCATTGCTACAAGCCGTGCCCAGGGCGAATATTCTGGCCGCACCAAAAGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACGGGGCTTTGCCGTCAATAGCACGAGCTGAGACGGGGAAGCCCGTATTTCATACAGGTCACGTTCAAGAGACAGCGCATTAAAGATCATGCGCGGAAGGGTTAGCAAGGTCGCAAAAGGAAACATTGTCTTTTTCAAAGGGGCCTCTGCCCCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCCAGATAAACACATGTCTTGCGTTTTCTCGCCTGTTACTGGCTCGGCTCGCCTATGTCTTTTATATAAAACTATAAGGGTGTCGTCTGCTCCGTTTGGTCGGCTGAACGAACCTATGTTCTGTCTTTACCACACTTTCTCCGTTGCAAGGCTCAACGCCCCCAATTTTAAAATGTTCGAGATTCTGTCTGTCTGTCTGTCTGTCTGAAGTTAATAACCGAAACGATCTAATTTACAGTAGACATGGGCGAATGGCGTAAGCAGACAGTGACCGATAACGCTTCCTCCGCGCAGTTGGCCCCGGCTGACTCAAGAGCGGTACGGTCGGCCTTCTTGGCCATAGCCTACACACATCTCAAATGTCGCAAAGCGAACTACCTGCACCGGAGTCCGGGAATCTACTGCACGTTGGGCCTCTTGTACTGATTGCTGCCCGCTACGAACTAGAGCATAATAAAACTTCCGCCGAACCATTGGACTGAGATCAGAGGTAGCTTGATATGGGATCAGAGTTAGTCGATCCAAGTGAAGCTTGTAAGCCAATAGATTGAACATAGGATCATATTACCCCCACCGGTCCCACATTGCTGGGACGGACCCTGTCAGAGAGAGATCTAAACATCATTTGGACTTTGCCTATCTGCGGGACACCACAGGAGCTCCCAGCGCACGAAAAGAGCGGATTCACTAATCCTCTGGCAGTCCTCTTGAGGCATGGTGGGGATGGGTAATTAAGTCGAGGCCGTAGCACGGGATCGGCAACACAAGAATGGCACAAAACATATTCCCTTAGCTCCAAGATGTCGTAGTAGTAGTAGGATGAGAGGCGTGTCATGGGTTCCGTAGTATAGTGCATGCCAACTGTCTTGAATGCTAATATAGATCTTGGAGGAAGCTGGATCGTTGGTCCCTCCGACAGACGATTAAATAGTGGCGTAGATCGCACAAAGTTGCATTAGCAAGCGGGGCGTATCTAGAGTTTACTGTGCTGTAGGATCGGCGCGCTAGCAACAAAAGATTATCCACACAACAGACGCCCTCTCATGTCATAGACCGTGGGGGGGTCCGCACTTTTGGATTGCTGCTATACTATAAGACTCGTCTATCAGAAAACTTCTCGATGGTCCGGAGCCTCAGGACACCCCCCTCACCCATCGCCGGGCAAATGGCTCACCTCGATAATTTTAATCAACGGTGAACATCCAATTCCACACGGAGAGAACCGTACGTCTCAAGATCACTGCTTGTTTAAAATTGCAGAGTAGACCGATTCCGTACTTTAGAATCCAGCGATCCCTCAGCATGTCCATTTGCTCGACTTAATCATGCTGGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGCCTCGCTATCGACGTCGCATACATGCTTAGTTCTTGCCCAAGTTGACTGACGATCTTAGTCATAGTCTCACACCTGATA -------------------------------------------------------------------------------- /week-6/dna-py/sequences/16.txt: -------------------------------------------------------------------------------- 1 | CAGTCCAGCTGACGCCATTACAGTTATGCCCTTAAACCCGGGATAACACAGATCTACCATGCATATGACTCGTCACTTCCGCGCTTCTTTGATCCGCAACAGACTCTCAACGGCTTAGATTCCCCCACTACCGCGGACCTGACCTAACACCTGGCTGTCAAGCGACAGCGATATGACCTAACTTGTGGCTGCGAACATTTGTAAATAGGTTGCTGGCACATTATTGGGCTGCACATGGGTGCAGATACCTACGCCTACGACTGATTGAGTTGCACTTGCTGTGCCTGGAGCCACAATATGGTACTGCTCGATCTCCACAATTGTGGCTACGCAGATGCGGCTAAAGTATGAGGCTAATACCTTGGAGCATATCAAGCTCGTGCCGGTGAATTATCCTCGATGAATGCAATTGCCAGTAGGCTGGCCGATCCGGCAACAAATAAATTGTCACTCGTTAGTGGGCCATTGTGTTAGCATACTGCCCTCCCGCGTATGGGTATCCACCCCTATTGCACTTCGTAGTGCTTTGTGTCACTGATGCGGTTTCACTTAAGCGAATAGGGGTAATCTCTAAGGTGTAACGAGTGTTTTGAATAAAAGGAACATAGGTATGATCTGGTTACAGGAAACTACTCGCCGTCCCCAGGAACTCGGCGTAGTTCTCTTTTCTCTGGCACAAGAGCCACAAGCTGTGCTGCATTCGAGGATTCCTGAAGAGACAATTCTTAGCTCGTGGTCTTTTCTAGGTATGCTCACCAAACGGAAGTGGGTCTACTACTCCCAAGCTCTAAGCTTCACCGATCGTAAACACTGATATGATTAACGCTCGAAACGTCTTGTACCTAAGGGTAGTAATACATACCCAGTGAGCGTAGAAAGACCTGAGCACACGGGTAAAATGTGAGATTGAATACCGTAGAGCTTGGTCCGCAGTATTTCCGCTCGTGACCTCTGCATTGTACGGCCGCATTGGCAAACAGACCCGCATCGCTTCAGTCCTTCTGCTACACTGTAGACTCATAACAACTAGTTATAGCGGAGAATACACGGGCCAGGTGGGAATACGACTTCTGCAAAGGCATGGAGTCCCGGTTTGACGAAGTCCATGTTCCGGGATCGCAGATGATGAGAGGCTGATTCGTTGGCACACCGGCCGGCACCAGCCTCGTGTCTGTTCATTAACGCCCGGTCGTTCGAAGCGCGATAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGTTTTATTCATTATAAATTGTCATCACAACTCATTCTTAGTAATAAATCCTGCTCGACAGATCCTGACGCAAGGGTCATGCGACCTATAATCCGATCAGGTGTCCGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGGCTTTGACTAGAAAGTGAGGGCAATTGTCCTTTCACCATTAAAGAGTGCCCGAAGATCATCTACCCGGCACCGGCCGTGTGCGTTAAGTAGAGTGCTAGTCGTCAAAGAATGTGCCGGCACTGCGCCCCCCTAACAGGAACGTAAGAAACTGCGTTTGGTATACTTCCCGTTACTCCACTTGTGCATCTAGTGTGACTCTTTAGCTGTGGAGCTTGGTTGAACGGGAATAATTGTTCCGTAGATGTAGTGCGTCGTTCGCGAAGATTTAACTTTAAGATATAGCTGCAAACAGTCCGTTATAGCGGGTGCGCCGACGGGTCGGCCACACACTCGTTAATGTATGAAAGAAGAGGGCTCATCAAAAATTGTCAGTTCCTGATGGTCGTTTGTCGCCAACTGCAGGCTACCTGGGATGGATTATGAAAATTTTCATATGAAAATATTTCCCATCCCTTAGAAGGTCTATGCAGGATGCCTCGTGAGCCTCGATGAAGTTCAAGCAGAGATTACGCGTGTAAACAGTCGGCGTATAAAGCATTAACTGTGGTCTCCGGTTGGCTTTATTGTCGATAGGTTAGGCAGAGAATGCTGATAACAAGGTGAATTACGCTCTAACATGCAAACTTCTCAAGTAGCATAATACAGTTACCGATTAGACAATCATAACTGGCCGTAGCGTAACTCAGAGTACCATTTTCGACGCGACCCTTACTAATGTCTTTACCATCCACAGTTCGGACGACCAGTCGACAACGCCCGGCACTGCACGCGAATCACGAGCTAGATCATTCTACTCGATGGGCGGGCCTTTTATTCTGAGGCTACAGAGGACGTTTGAAGATAGCACCCAGCGCGCGGCTTTACTGTCACCTTCACTGGGACCGTATGAACGTATCAGGGTCGGAGACGTCCACACCACGGAGGCTATGATCTCCGCTACTCCCGGCAGCGTGCAATCGTTACGCTGGCGAAATAGAACGTACACACTCAACTCAAGCAATGCTTGGTCTGTTTCCTACACAGTTCGATATCCCCATAGCAAGGGGACTTTGTAAATGGCTTCTAATACCCATGTGGGCCTTAAAAAAGAAGCCGACGCGATCGCTGCGTGTAGATCAACAAAAGCCCTAGTTTCGGGAAGATATCCTACATGGGGGTGCCCAGGTCGAGGCGGTCGCGATAGAGCATAAGCACCGTCCTGGCTCAGTCGCCAAATCTTAGATGGAGCGCGAATGGTCTAAGTACTGACGTGATGATCAAATTAGATCAGATAGCGCTCCCGGAAAAGGTATCACCCAATCCGCCCATCTACCAAGAATCTACCCGCCAGGGGTTTGATCAGCCGCGTTTGGCTGGCATACAATATTTGAAGTCTGCTGTCAACGACGTAATCATAAGCAGCTAAGTGATGATGGATTTAACATTGCCGTGGGTGATAAGGTTATTCACAAAACACCTGTCCTTTCCTCAATTTCGTCGCTCGCCATCCGCCATTTACAAGGCATAGCCATCGTACGAGTCTCAGGAAATTGACAGCTATCAAACTTAACAAAACTACAGCGCATCGTAAGGGCATATGATCCATCACTTGAAGAATACTCATGGTCGGAAGCTTGGAAATTGTTGAAGCGGAGATCACGGTGTCATTTACTCATAAGCACATGCAAGTCGGCGACGGTACTCCAACTGTATGGTAACTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTATTCAAACTGGAGTAGCTTGACCCTCCACCTGTCGACTAGCCGTAATTGAGGTATGGAGGCAAAATTCAGGGCACTACTGGGGCGTGGGCAGAAGTGTTATAGAAATCATGCACACAAACTGGACAGTCAATTTCTTTCTCGGGGTAGTAATACAGCCGTAAGCGGAGTATTAGTCAATGTACACTCTATCCTGCGTCAGACCTATCACTGGCAGAGTTTGCTTGTCGGCCACGCCATTGAGTGTAGTGTTTCTGAGTAAACTTTTATAATTCTGGATAGTGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCGTCTGTTACGGACACGGACCTATCCCTGAAAACGAAATCAGGTTGCTGTGGAATCGGAAGGATTTCTATCGCTCATGGACCAGGGGCTCGCCAGCCGATCAAGTACGTAGTAGAGCTTACAACTCGATTTGAGCACCCAGAAAAAAGTAGCTCAGTCCACGACTCAGTTCGTGCGAATGTGTAAGGAAGGGTTTGGTCCAGGCCGACATATTTTCACCTTATACCAGTTTGACGAGGAGCGTCGTGTCTTGATCTCAAGGGCGGAATTCCACCTACCCACTTGCGACCTTACTGACGACAGCACATGTTAGTTCGAACGATGTTACACGACTATGACCAGCGATACGACCTCTTACGTCATTGATTTCGGCTGCAAAAATTTCCTTAATATTATCGAGGTTTTAAATGGCGAGGGTACGTTTAGAGTGAAACGCTGGCAGCGTAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATCAGTGATGTCATTGACAGCGCAGGGAATCGAACAGAGGGCCCAACATAAGGCATACCTCCTTCGGCGATTAACACCCCACTGGGTCGGTGCGAGGTGTAGGAGAGGATCTGATCCGTCAACTGAGATTAATCCCCCCTCGACGCGTGAATGATGCATCGGTAGTTACAATCTCTTTATGCCAGCTTTACGCGGAGTAAGTTGAGAAACTTCCGTCGGCCGCGCTTTAGTCCGGCCTGTGAATAACGGGTGTCGCTTGTTCATTATTCGCCCGCTCACATCCCTTTAGGTAGCTGTGTCTTCGTCTGAGACTGGTGCATTCGCTAACGGTTCCCTTCGGACAACACAAGGGTCGTCAATTATACGGTCTCAGCAAAAGGTTCCGGCATTGGTGAACGAGTCGGACGAGGCATCAATCCTGCACCCGGACCTACTCGACAAAAGAAGTGCTGGATTACGTTCTTGGGGCGAACTTGATCGTAGACGAGACTTGTCACCTGCTTGAGCCATGGTCTGAAGCAATGATTAGTACGGTTCGGGGGTGGAGGGCACTTATTAACATGATCAACCAGTTGAGCCCGGAGCTATAGTTCTCCAGAGCCAAGAACGGTGGGGCCTATAGTTCTACAATCGACTTCATGATTATGTGTATGCCACATTCGAGATGTTAACATGATAAGTCCTGAGATCAGGTACCTCGCTTCGGAGTTAGTGCATTACCTGGTTTGCACTACCAAATATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCAGAGTGGCTAAATTTGTGGACTCACCAGCCGCAGGGAGACTGTGAATGGCATGGGATGCCATTCAAATGACGCTTGTACGACCAGATGGAGATGGACGGATAGACCTCGGCCCGCACAGCTCTACAAAGTCCGTTTACGTTCAGCCCGAGACTTCGATCCATTACCAACAAATGGAGACAAACTCAAATACTCTGGTCTCCCATTGCATTGTCATAGCAACCTCCCTCGACCGTCCCAGTCGGAGACGCTGGCCTCTGGCATTCAGTTACTAACTGGGGCCAACCTGTCATACTCGGTATTGACGACGCCTAATTGCTGGCTACAAGGATGCTGACCTCTCTCATGCCCTTTGTTTCGTGTGGTCTCGTAATCGCTTCAACCTGATTTCGAAACTAGATGAGGCTTCGAACTTCTCCAAATTACCGCTACGCTCTCTGCACACCCAGCGTCCCGTAGTGGCCCGAATTTCACCAGCTAATATACTCACATGGTAGTTCTCCGCCGCCATGAAACATGTAGCTTTTGTGAAGAGGCAGCCGATTACGAGTTATTCGAGTGCTAGCATACTCAGTAGCCTCTGTGTGGGTTTGTAAGACACCTGTGAGGGTAGCACGAAATGAATGAATGAATGAATGAATG -------------------------------------------------------------------------------- /week-6/dna-py/sequences/17.txt: -------------------------------------------------------------------------------- 1 | CTTTTGTACGCCTGATGCTTAGGCAGAGACGCGCCTATGGTTGCCGGTTACGGCGAGTTACTTGGAACTTATAGCCTCCGACGCCTGAAGAAGTATCCAAGGGTTTCGTGGGATTATCGCAACAGACGATCGGATCGCTCTATCGATGTGACGGTTATACGATACGCCTGGTAGGACCCACGCAACTTTATTCCGTATCGAATTAACTTAACTTGTCAGACAGCGATTCGGGAGGTAATCTTGGGCTTCCACTTAATTGATCATCGGGGCTCTCACAACCGAAATCCGGATTTACTTGGTGTTACGCTCACTGCCAACTCCTTTTTTGTCTTAATAGTGGCTATGAAGGAATAGTAACAGGGCTTGGTTAGCCTTCATCCAACCTTAGTTTCTAGCCGACAGGCGAATAAAGCCTACAACATGCCTGCAAAGGAGGACCTGTGGAACGGGAAATTTTTCCGAATTAAAATTAACGAAAGTAAGGTGTTAGTGCGTATGGACGCCAACCATCTACGCCTTTGGAAATAACACAAGGGGACTACACGCTAGACTTGACCCTAGAATTCACCGAAGGTAGCACCCTCCCATGATCCCCTAGCAACGTACTGCCCTAGAGAAGTGGCAGACCTGCACTCCTCGGGGGATATGCTTAGACCGTAGTCTTGGTAACACGCTACATAAAGCCAGGTTGCGCCAAAAGAACGTTTGAACTGGAAATCCTGTTCCGACTTCAACTACGCTGCTGAAGTTGAGATGATATTCCTAGTATCTTCCAACTCATATGTCGTGGACTCTGCGGCCACTGACGAATAGAGCCAGGCACCTCTACCACACGTTGTATACCGAACCACAAGACTCAAGCACCGTCCCTAATGTTCAGATCTCCTCGTGCCGAGTATCCGAAAGTCGTTACGCTCATTCTGAATTTATCTATCTATCTATCTATCAGAGTCTGTGCTATTTAGCCTGTTCTGTCGACGCTCGATTCACCCATGTTCGCGCTAGCGGAGATGTTCTTAGAGTTAGATGCTGACAGCCCCCAAGGCACCAATTTCGTTATGAAAGTATACGGCACTCGTTGACGGCTCTCGCGATCTGCATGCATTGTGCGCTAGGGCAGTCTAGCAGGTTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAGGGCCCTAGAGCGGAGTACCAACTAATTCAACAGGCGATAACTCAAGTGCTAATACTCCACTCCAAGAACGAGGGAATGTGAGATTGTTGTACTATCAGCAGTATGTGCGGCCAACAAGAGCCACAACTCAAGCTACTAAATTCTTGTAGGAGTATGCGCACCACCTGTGTGGGGATAGTACATCTATGCTATTTGGGTCCAGCGTGCTGTCTGGCTGGGTTGTGATCTTACAGGGAGTAGGTGAAGCGACAGTAATAGGTGAATACGATTTACGGTCTTGTCGGTCAACAAAAGGGGCGGGTACCGGAACCCTGAGGAGCTCGGCTACACGGCTCATACTACTAGCACCCTAGAAATTCACTTCAGTCTTATTGCGGGTCGGCCATCGTCTTCTAACTAGGATACGCGTACGTCTCGGCGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGGTATACTCATGTCGTGAACTCACCGAACTATACGTAGCCTCTAATCTTAGAAACATAGAACATTCGACGAAATGCGTTTGGAGGCGTCGACTAAGCCGGCCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCTGGGATAAGATTTGCCAACGTGCGGTATCGCCTGAATCACTTCTAGCCGGGGACCGCTTCCCGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCTAGGTTAGTCGGAACGTCTTTCTAGTTATGGCACATAGTTATTATGTAGGATACCGAAGCGCAAATACACTTAGCTTTGACCTATATCCGGCCATGGTTGATACTCGATAGCCTTTTTTGAGAAGAACCCGCGGTAGTTCCCCCTCATCCGCGTGACCGGTAGCATGTAGCCTCCGCGTACCTTACTTTCTATATAGTCACTTGTAAATAATACGACGCGATGTCCCGCCATTGCTTATGGAATGAGGTAGTAAAAGGTATTAGCCGGGCTAGTACGAATTTGAGATGATAGGGTCCGTGTGCTTCTAGCTCTCGAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTACTTGCCGTCATTGCAAACGTTGCACAGCTCATGGCGGCCAGCAAATTACGCAAGACTTCTTCCGCGAGTGCTATCTTGCTGAACTTAACGACCGATATGATAGATCCATCGCATTAGTGCTGCGACAATACGCGTCGGCGTACCTTCGTCTAATTGTAAACTACAGCCGACTACCAAAGATGTACAAGCAGGCTGCCGCAGTGAGTTTCACGCAGATAGTCTAGGTCATGTGCCAAGGAATGCTTAACGATCAGTGTCAGGTTGCCGTTAGCCCCGTTGATCGAAGAATCTCTGGGATAAATTTTATACCGACCATTCTCAGCGTCCTACTCTAGATACGTCCCGAACCGATGATCCCATCAATTGCATTATGGAGCGTCCCTCGAATGTGAGGAGCTCCATGTCGACATAGGAAGACTTATATTACTGATCAGTAACGACCAGCTTCGGTATGAAAACCTGACCGAGTAGTGCCAGAATGTAGCGCCCATTTTGGGGTGAATCACCTTCGTTAAGTTGATTATTGTTTATCTGGGGTTTTCCTACGTAATTGCGCCGATGTTGCAGACATTTTGCACGGAAATACCTCTGCGCCTAAAGCCATATCTTACATACAGTCGTGGAGGCGGGTAAGGGGGATGGTAGGGCAGGGCTGGGTCTCTGTACGGAGCTGCCCGAGGGCGACCCGACACGCGGAGAGCCCATCATTGACGCTGTATTAGTTAGGTGTATGTTCGTCGAGCTGGATAGGAGGGGAATGTATATCCGAGCCTACAGTGAACTAAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTTAGAATTAAGGCATGGGGATTTAACAAAGGGAGGGCGTTGCACTTGTCAATCTGACTTGCAAGTCTTGGGAGACTCTCTCGGCCTATCATCCCCGGGGGTCAGCTAACTTCTCTGCTGATGGCGCTTCTAGTATTTTTCACGTGCGGGACACACGACGTTTGACGGGGAAAGTGTTAGAGTGGTGGACCCTCCAACGTATGTTCATCTATGTTCGGTGGCTTGTCATTTCCTTGCAGTGCTGTTTGCCTTAAGTACCAACGCCAGGGCTTAACGGGTAGGCTCCGTAATTTCCACCAGAGTTCACCTAATCCTGTCTCTTAACAGTGGCTTATTCGCTAACGGGACGGCTGGTACACTCATGTTGGGCTCAATCACACGGTTGCCCCTGGGGCGCCGAACGCGGTCGCGACAAAGAAACATCCTCGCCCCCGCTCCAGGAAGTAAACTTTAGTCTCCTTCCTAAGCCAGCTCACTAAGGTGGCAATAGCTACATACGCACGACCTCTACCTCCTGCACGGGGGCCCAGCATATCTTAGCGAATCTCCCGCCATGCAGTAGCAGAGAATTTTCAGACGAATTGACACGGACACTTCCACTCTACGTAATTGAACATGCTGTCCCTTGCAAGCTTCGCCTCCCACTGGAAGGTAAGCCGCGAGTTAAGCCAGAAGTAAATTCTGTCAGACTCAGATTCGATCTCCGTAGTCTTGGGTGTGTTCCGTCGCACGGCGAAATACGGAAACTAAGGTTAGACTAGCCTGGATAACTTGCACAGTGGAAAATAGAGCAACTATGTGGTGAGCCTATGCTAACAAGGACGATTGAACACGGGGGATGGGTCACGCCCGAGCATTTTTCAGTATTAATCTCGCTATAACGTCTTGACCTGATTTCGGCACACATATTATGCCTCGACCTCTACTCGCAAGAACTACCTCCATTAAGCACGCAACGGCCGCGAAAATAAGAGTACTGGCGGGGGAACCATTTTTACATCTACTGTCGCCCAAGGAACCGTCCCCACCGAGAGCGTTTCGTTCCGAGAGTCCTTCTTGGTTGAGGAGGTAGCCGTTCGCGGCTTGTCAGTCATTTGCCGGTCCTCGTCACTTAGTTGGACACCTAATGGGGTGATCATACCTCGCGAACAGGGGGAGATCTATAAGAACACGCTATCATTGATACGCCGTTCCAAATAGTTTTGAGCTCTCCTTCCTTTCTATCGAATTCGCTTTAGCCATCTTCCGACGTGCCACGGTACGGCGTGGTCTTCAAACATAGTGTACGCTTGGCCCAACACGTACGTTTGTAACGAGCCAGGAGGCCAAGTTGATTTTCAATTATATCTAATCCATTCGATCGGGGGCCCGACGACCTCGCGCCGCATTCTGCGCTCCGTACCAACCCTAGGGACGGTGAGGCCTATTCGCTCTTTCTTAATCTGTTTGATTAGATTTAGTGCTTACAGGGCTGGACAACAGCGCTTTCCACCGTACCTTTTGTAACATGCTATCTCCTAGAAAAAGCTGTTAGAAGATCCGGACCCACGCTACCAGGGGGGGAAACGATCATCATGGACTGATTTGGGATCTTAGCTCCCTGCTTGCTCGTACGATAACCATTGGGAATTTAGTCCT -------------------------------------------------------------------------------- /week-6/dna-py/sequences/18.txt: -------------------------------------------------------------------------------- 1 | TTACTTCATGAGCAGGAAGGAGTTATGGATCGACGATATGTTGGTCTTAATCCAGTAAGCATCTAACTTTAGTCAATCATAAGTGCCAGTGGACTTCAGTAATAGACACTCTTTTACCAACGGGCAGAATGAATGAGCTGAGTCACCCTACCACCCCGCTGGGCACTTGCGATGCTTTACTCGCCGGTGGAGAATGAAGCAACGTCTGGTGATCTATCACATCTATCTCGTCAGTTATTGTATATTGGTCTCTATATATGTAAGCTTACAACGCAATTCTGCCTGAGGCGACCGGGCAACGCCGGTAAGTTAACGCACTTAAGCATTCTACAACTTCGCGCGGCGCCACGTGGCAGGCTGCGAGAAGCTCAGTAATATATCAAAGTGTATGCATATACGAGCTGCTAGAGGCTTCTTTATTGTGGGGAAGTAGGGACTCAGCTGACTCTATACCCGGTAGTTTACCGAGACGACCTACCCCCCTGGAAGTACCCTATGACTGATAATCAGAGGCATCCATCATGTCCGACGCCGGATCGGTGGATCGGAAGCCCCGGAGAGAACGTGTAGGAAAGTGTTTTAACTAAACGTACGGTACGCCTCGCCGACGGATCCTACAGCTACGCCTGGAGGCCGCAAACTACGTATGAAGCCAGAGTTAGCCCGAAACAAAATGATCTCTCCCTGAGTAAAGGTCCAAACCATGCAACATTTCGGCCAGCTTCGGGACAAGGATTGGACTAGGCGTGCAGCCGCTGTTTGTTGGTTAGCGCTTCATAGGTGCTAGCCGCTCGTAGAAATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTACAGACATTCAAGCCCGGTTTATAACCGTGTGGTGGGAACGATCGTCGAGAAAGCAGCTTCCTATGCGCCAACTATGTGTGCGCGGCGGGCCTAGACGTAGGAGCAAGAAGACTATCCTCAGAACCGGAGGGTACCGTCCACCCAGCGTTCGTGGTGCGGTAACATTTGTGTTTCCGACGTGAATAGCACTCCTAGTCCATCGTTAGTGACACCACTTTGCCCTTTGCAACTGCCCTGTTGCTCCGATGGTCTGGGTCACTACACTTGGTCTTAGGCCGATCTGTCGCTCGCGTCCTATATGGCCGAGAGCTACCCACGCACTTATACGTGGACGGGCGTTTACGGAAGTTATTTACGGCCACTCCCATGGAGCCTCATCTCACCTCGTTCACCTAAGCAGAAATGGTTATTATGGGACACGGAAGGTCTCGTGCCTTGCTACACTCGGCAGTAAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAACGGGGTTTCTTAACGAAGAAGGCTCTGCATCCCTGTAGAATATTGTATTCTGCCATGCATAGAGCCAGTCCACGATAACATGTTAGACCAAGGCTGACAGACGTATCTTAACCAATCTGTGCCCCATGCCAAGCCCACACCGCACCAAAAGGTGGTACGATTCTAACATCATGTACGTTCGTAGCTCGCCTATCACTTGCCAGAAGGGAGCATCCGACCACACATACAAGGTCTAACATTCGGTGCGGGGGTGATCAAGAGTGAGTACTGTCGTGATATCTTTAAGTGGGAGCTATAGATAGTTTATAGCGAGAGTGTGGATGTAGGGTAATCCCCAATTCGGAGACGCGGTAAACTATTACCTATCGCCTTACTTCTGTAGCAGGTTAAACCTCGGGCTCTCGGCAGTCTCCGCGGACTCAACGATCCCGCTGCGACCGTCTATTAGTATTGGCTTTCCAAAAAATTTATCAGTACATATGAGAATAGTTCGTTGTAGTGCCTCGCATACCCTTCACCGTTAAATTAGGTTCACTTACGTGTGTTTGACGCCCTCAAATGTAGCCGGCGCTGGCTGTAGGACCTTGCGGGTATAGTGGCGCGAGTAGAAATCGGTGACCAGAGCAGGAGTCATACACGCAAACCCCGGGGAGAGAATTGTACGGTGCAGCGTTAATGCCGCAGCACGACAATCCTATTGTGACCGGCGACAGTGGGGTATAGGGGACTGTACGTGCGGTTGAAAAGTTCATGCCTGATAGAGGCTGCGCCCGCGTTGTTGGATTCCATGACAAGTACACCAACGTGTTTGGGGTGGGGTCGCATCGGGGCCCATGAAATCGCATCGACCCGTCTCACAACTCGATAGCTGATATAGCGATTTACTTTTTCAGTCCGGATCTATACTTGAGTTCGCATCTCGGAGACACTTGGCCAGCAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAATATCTATCTATCTATCTATCGCGAGTTATTAAGCGTGACATCAGTTGGCTCCTGCCGGTTTGGTGTAGGAAGTCACACATTTTCACCGCCCGGCCTCGACTGTTATACGACGCGAAGTTGGGTCGGCTCATATGCAGAGAGTCTATAACCTGTCAAACTCTGACATAGATACCATTAGACGTGCATCTTTAGGAGGAACCCAACTTTGGGAATTGGACACACCTACTATTCAACGGGAGACACGGGACACTTACTAATATAACCTGTACTCGACGAACATCCCAGTGCTTCTCTAACCCGCGCCGGCAGAAAGATTTTTCAATTCAACGTCTTGCACCACAGCACCAGCGCCGATTTAAGTGTCGTCTCGCCGACCAGTGTGTACTGGCAGTGGCGTCGGGTTGAGCTCGTACTCACCATATATTAGAATGGGATGTAACTACCCTGCTTCAGGGCACGATGCCCTTGGACCCTGTCTGCAGTCAGTTGTTAAATTCGCTTAGCAGTTGCATTTAAGAATAAGTCGCACTCCTACTTATCGTTGGTGAGAGCTCAGTTCATGGAAGCCCCACTCCATCCGGGTAGAATGCGGTGACGAACTTCAGACGGTACCTGATTGTCACTAACCGTAACAGAAGGGAAAACTGACTACCAGGATACGATCCCCGCGTGGCCTTCTGGGAAAGACTTGCGTCGGACTCCTAGGGTTCTCATATAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCTTGACAGAAGAGAGTAGACGTTTCGCTCGTTAAAGGCGCTGCAGTCATTCTCGTACGTCCGACGGTTAGTGCGCAGGTTCATGTCTTCTTAGTGCGAAGGAAGCCCACGGTGTCAGGGTCAACAACGCTAGCGCCTCATAATGGAAATAGCTGGATCAAAAAAAGGCGTGTGGCTCCCTGTAGCACATCCATGGTATAACTGCACTGTCGCGGACCGCGTTTCTCCACTTACCGACCCGGTCTCGTCTTTATTGTTACAGTTCGCCGAGCTCTCTGATACATTGCTCTGCACTCCCAAGGGTGTGTTCCATGGCGACATGGATAGGATCGAACTTTTTATGACGATATAAAGATGTTTTTGACCCAAGTTTAGTAAGGTGCAACGTGCACTACCATCGAGATCCGTAGCTTTAGACGAGTCCGGGCGGCACGAAATCTGATTCCCCCACGCATGTCCACATGGCGTTGCCGAATTCTAATGGGCGGAGAAATTTCCAGTCCGGCAATCTCCGCAGGGCCTTCCAGAACCCACAGATTCCTATACGCAATAATACCCCGTAAGCAGACGGAGGCCTTAGTCTGTCAGTGAATATAGCCCCCGAGCGTTCGGACTTAGGCCGGATATGGTCGTGGATACAATGCATCCTTTGAGGCTAAGATTGGCACACTGGTGCCAACTCGAATTAAGGGCGCGCACTTTGTTGCATACGGAGTTAATCGTCCCGCAATAGTACCATGCAGCTGTATTTATCTGTCTCCGCCCAAGCGTTGTTGTTTTCGCTTGGTTTGAGTTTCCTGTAAGATCAGGATCCCGCTTGATCAGTGTTGTCAGAGAAGACTACCCTGTAGTGTTCCGAGGTTTCGGGACTGCTGCGAAAGGTCCTAGGAGGATGACAGAGTTTTCAATTCGCATCTTCCTTGGGTGTGGTTGTTAGTACTTATATGAGCGAGCGCAGTCCAGCTCCCGACTGATGGAGCGCGGCACACATCAATACTTCGCATTAATCTCTTGAATATACACGGGTGTGGAACACAAAATATGCTCATAACAAGTTGTTTCAGATAATGTAGGAGCCCGCGACGCGCTCATGCAGGCCAGCAAAGATTCAGGCTTTGTTAGCCCGTGGGAGAGTGCAAACAAAGGCTTTGATCTACGATAAGGAACTAAATCGAGACTACTCATATTGTCCTAAATTTAGACCCATCAGGACGGAGAGGGAGAGGCGTCCATCTGACCTAGGCGAATAGGCATAATTTTTCCTGGGAGATATCTCGCCGGCTCAAATGGTCACTCACCCCGGATGTTTCAGTTATGGCCCTAAGATTCAGCAGCATACCCGGGGAGGAAGAGTGGCGGTCAATCCTAAGCCGACGGTCCGTGTTCCATAGGCCCACCTGTTCCCATCCCAGCGGAAAGGCCTCTCGATTCAGTAGTGAGGCGTCGTTCAGGATCACCGCAGAGGTCAGAACATAATGACGACGATGATGCAATGTTAATGGCTTGCTCTAAACCCATGAGTGTAGTCAGATCGGCCACATGCCCGCGGATTGTCGCGCATCTAGTGATTCATTGAACGCGACCTCCAGCCCCGTGATCAGTAGTTGCCATGGACTTAATTCAGATCAAAACCCGTCACCACTTGTTAAGACTGTGACAGGCCAGACTCTGTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTCTGGCAAATTATAGCGGCACGGCATAGGCGGAAAACCCTAATGAGAGGGGGATCTTTCGTTAGTTGAGATTGGATGGCTTGTGCCGGCTTTCAGCCGCCCGCTTATATTCTATGGCACGTCAGCGTAGGACTCCATCATGCTTTGGCATTTGATGGGGGGTTCTCGCGTCGCAGGTTACTCCCAGCACGGATGATTCTCGCCCGGGTGCGCTGAGCGAGGCGAGACGCAGTTACCAGTTGCGCAACTTCATTGTGAACATATGTCGGCTAGGACTCTACTACTGGGAATCTCGTTTTGCCCAAGTGAATCGAGGAGTATCCGAGTAGATGGTCGCTCAAAGGGCAACCACAGCATGTGTGTTTATGACGGTGTGGAATACAGATGCACGGGTCGTTCCAAATCAAATAATCGGAATACTCTTATACTCACCTGCGCCAGGCAGAAATATGAATGCATTGAAGTAGCTGATAGACTGCTTCGGCCAACACTTTCGATCTGATAGAAGATTGATTAATGGCGACCCGGGAGGCAACCGAATAACAACTTTCACTGTTTCGTTCTTGTCATGATCTTTGATATCGTCCCGATCATGCCAGCGCGTACTCACCTCTGGCAACCGGCTATACCCACATTTCCCCGTAGGGGCAAACTGAGTCTAGATCAAACACAACAGGTCCCTATATACGATTTCCGGGGCATATAGATTAGACGCGTGGAGAAGGGGTCAGCGCGTTTCAGCACGGACCACAGGCGCCCCTAGCATTACTGCAAGGCTGTGTCTGACCGGATTGCTAGTAATCGCAGCAGCTACGAGGTTGTACTAGCTAGCCGAGTCCTGTCGAAGTCATATTATAGAACTCTAAAGTCACCTACAGTCCTACTATTAGAGAGCTTCCTGCTCT -------------------------------------------------------------------------------- /week-6/dna-py/sequences/19.txt: -------------------------------------------------------------------------------- 1 | GTACTCACTGCTCTTCTGTCCGAGGGCTCTAGTACAATTAATTCCGGGGTTTGGTTTAATCAGGCTTCGGTATTTCAGGCCACTTAGCGTCTGCAGTTTTCGTAGCAGTTATCGTTAACGACTCCGACTGGCCCGCGCTCCTTAGAAATGTTGACGACGTTTGTTGTGAAATAGGAGTGCGCTTCATGGTCTATTGATAGATAGGACTTAACGTGCGATTCCGCAACGAGGATGACCAGTTTTAGGCCCTGCGCTCGCTGCCCTTATGTAGCAGTATATTACGAATTCTCGGAGTTGAGACAATAAATGCAGGACCACTGAGGCCAACCAGTTCTTCGGCCCCATAGGTGGAGTCATTCCGAAGTGAACCCTACATCTCTACTAGGGGTTGCAAGTTCGCCAAGTAGAACCGTTTGCATCACGAATCGCTTTCTGAAAAGACCGACATTCTGCTCAGACCGTGACACGACTCCGGCCGGCTGATTAGGACATCGCGGTCTCGGTATTCCAGCAAGATTGTTTGACTTTCGAGTTAGGGAAACAATGCTACGCTACTGACACCCCACGATCACCGATTTCAATATTCCCTCCATACGAGGAATGCAAGCGGGCTCAATCAGTAATTGAGAAATCGGATCCTTCTCCTCGTGGATCCATTGCCTATAATCGATGCCGAAATACCACAATTACGAAGAGCCTTGGAGACAGATGCTCAAGATGTCGTTAAGGTATCTTATTGGCATTGTCTATCGTGATGCCGACATAGGACGCGTCGAATCCATAACGATCCGCGAGGCTGTCTCTAGAAGAGGACAGAGCTTGTTGGCGCTAGCTTTCGGGGCATTGGGACCTCCTGCTCGATCATTCTCGGAAATCGATACCTACGCACAACCGAGGGCGGACGCGTGGCGCTGCGTGTCGTCCAGGTGGAAATTAGGTTCGGCATTGAGTCGATGTACTCGCTAGGTTCGTCGTCCCAATCCCTCTGTGGAGTGGCTAAAGCCTGGACCAGGCGCCAGCCTGTTGATAAGATCCTTTACCACCGTAAGGAAGCTGACCGTTGATTATGGTGGGTTGTATCTTGAGTGCTGGCGAGGCTGTAGCCTCGCGATACACGATAGATAGATAGATAGATAAAAAGTTGCACGAAGAATCAAGGCGCGAGAACGATTGATGAAACTCGCCGCACTACATAGATCTATAACAGAACATCAAGGCTAGTCCTTGCCATGAGATCCTTTCGTCTGGGCTTCCCGATGCGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACTGGGGGATCCCAGTCCTCCTTCATCACCTCCTTGTTTGCGTTTGTCCCCGATGACGCACCGGTCGGGCATTTAGCTCCGGCGCTACCGGCGGTTCGTTTTGGTAGTCCGCTTTTTCCTCTTATCACCAGCGGCTAGACCCTATAGGCTGATGAGATCGCACTCACTCCACTGCCTAAACACCAACTGAAGCTTTTGTCACGTTGTGGGCCTCTATCGAGGCGCCCCCGGATGAAATCTACCTGGAAGATCGCACCGCCCGGGCGTTGTTAGCACACCGTTCAATATACGTGGTCATTGAGTAACCCAAGACGGTTGGGCTCCATGTACTATACGCCTTTCTTGGGTGGCTACTCTTGTCAGTACTCCAAGGATATAAGCACCTGACGCTTACGCAGCTTTCGCACTACCACGGTTATGTGGTAGTAGATACTCTCCGATAGAGGCAGCCATATCGTAATCAACCCTAATATTCACTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGGCGTTTTATACCGTGCATCTCAAATAAGCTAAGGCACCGTGGCGATAGCGGGCGATGGGCGGGTCAACTACTTCCAAATGAGTTGACTCTCTCCCATGGTAAAATCTTTGTAGTTCATCGCTTCTCCCTCGAGCACAACTGGGCATATGTCCGGCCGACACGTTGACGTATTCGTGATACGGGCCGGTTGCCTGAACGTATCAGGAGAATCTTTTGAAAAGACTTAAGAGCCAGAGGATAGGAGCAAACCGACGAAACCCGCAGAGTCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTAAGTTCCCCGGACCCATGAATGTCCGCATAGGTAGTTGAACAAGAACGATATTGCCCGGCCTTCTCCGGGTCGAGGCGTTTGGCTATGGCGACTATCGTAGAAATTCGCGGAATTGAAGCCTCAATGAGGCTAACCACGGCATTTAATTGTACTGACGGGTTGTTATAACTCTTCGCCAATGGTGCGACAACTTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCGGCCGAGTCAAATGTCGCTACCGCGGTGCCTTAAGGTGCGTCCCCGAATGCCCGAGTGTATCGGCGAGAGCCCTCAATCCACTCTCGATTCTTGTTTTTTGGTGAAGCTACGGCTACCTACTAGGTAATTGACCGACCCTAGCTAACGCAAACCGATGCTCATCAGGGTCCTTCGTATAATCCCGGCGTGAATTACGCGCCTTAGTCCGGTTGCGTAGTGTTGTGGGCTCAACACTATAACTACAAGAAATGGTTGACAGTTAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCGTAGCAAGCGTGCGAAATTTTTGTGCAAGTTACGCGTTGTGAGAAGGCCCACGCCGCCTTTTACTATCAGCTATTCTGGGAGACGACGCCATATGCTTATGTACCGTTCCAGTTGTCTAAGATGGCGATGCGGTTGGGGCCTACAGGCCACCGCGACTTCCACTCACTGATTCACTTCCGGCCTGCCCGGGCGAACGGGGCACGCAAGTTTGGGTCACAAAATATTGGTGTCGGTGAATGAGGAGCAATCGTCTCAACATAAATTTCCAACTCAGCGAGCTCGGGGTCAACATCTTCGAGGAGTTCAATCTCCTCGCCTAGCATCGCCCTTGGCATTCCACCGCTTCGTTGACCTGTGGATTCTGTAGATCTATGTGGGGATTGCCGCCTAGGGCAGTGAATCCTTTCTCTGTATCATACGACATCTTGCCGAGGAGTTGTAATGCTAATGATCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTATTCCAGTCTAATCGATCTTGGGGGACGCCTTTTTTCCTGAGAATCGAATTATGGCTTGACAGCCCCGTCCTGAACGCATCCTGACACGAGTATCTGCGAGAATCGCGTGTTTCTTATATGTTCGACTTGACCTGAGTGGTCTTCAGACGAAGGAAGCCGATCAGGTCGGCTACAGCCGATACGATTCACAAGTCGCTGGCTATCGTACATCAGCTGGACGTTTCCTGCACCGGGCGCTTGATAATTTAACCGATCAGGGGCGCTACTGGCTTCTGATTATACCGAGACATTTACCGATAAGAGGAGAATCATGTGAGCCATTAGTAGGACTGGTAGATCTTTGATGCCCCAGTTATGGCGCCCGGAAATGTCGAATAAGCGCACGCCCATTTACCGAAGGAGATGAAAGCTGCCGCTTGCCAGTTTACGGAAAAGATCGTCGCCTCCTAACTTAGCTTTCAGGCGTTCCGCTTCTAAATCGCGCACATACCTGCTTAAAACCTACTACTGGGGGAAACTTGGCGCGACGCCAGGTTGGATGTCGCTAAGGCCATGGCAGCGTTATTTAAAATAGTGGTCTTTTGACAGGCATGTGGGAGAACCCTTGACTAACCCGAAGACGACGGGACTCTCAGAAAGTGATCGAAGTTCGACCCGATACGCGTCAAAGCTGTTCGTACGATTTAAATAGTCTTGAAACCCGCGACTACACTGTCTGCATGATTTGCCTTTGACGACTCATAGCCTGGGAGTGAAGTGCTTATACCATCCGCTCGCCCGGTAAATTCAGATTATTTCTGACTTGGGCATAATTTTCCTTGGAGTAGTACGCCTTCACGGCGAGACCTCTGGAAAATATAGACAGACGCTCCAGTAACGCCCTAAAGCGGAATCCCTTTTGATGAAATAAGAATGAAGTGGTGGACGCCACTTTTGATTGTCCCTTAACAACTATTCATTACTGTCAGTTATGCAGTCGTACAAAAGACCTCACATTTACAGAAAGACTGAAAGTACCTGAAGTTCACTGCTCGTGGTCTGGGTCTTGAAGGGCACCTCCCACTGAATGCTTGCATATCAACCCTGTCCTCTACATCGCCGAGGCACGAACAACGCGCCAGGTCCCCAACGCGGGCTGGGGAAGTACAAGAGTCACTTCCGAGTATAGACCGAAACAGCGTGCCTGCTCCACTGGCCCGTACCTTAGCTGGTGCAACATCGAATCTCGTGCGTCGCTTTATCAATGTGCTACTTTGCATCACTGTGGGCCCTAGCCGCTTTGTCGCTAGCTATATAGCTGTCGGCCCCCTACAGCGAATCCTTTTGGTATATACACTTTTGGCTAGTTATTTAACAACCGCCACCTATAGGCCCCGGGGGAGAAGTCGATTAGCTTAACTTTAAATTACCCCTAGACCGCAAAGCTTTCGTTTGGGAGGAAGATCCCTACGCTAGATCGATAACACCATGAGCATACGGGTGAATGAACAAGAGTATTTTTTCCATTGCAGCCTCCACCTGGCGTTTGCGCCACAACGGAGCCATAGCGCATCTTAACCATTAAACACTCAGCGAGTAGGCAAGTAGACGATATATAGCAATCTGAATGCACGGTTTACAGTATCGTATCGACCCCTCGGTTGAGCCAGTTGTAGGGGCACACGGCCCAGAATTCTATAGTGAGTTAATAGACGAGAGTACTGACTGAAAATGGAAGGCACCTAGAAATGGGTTACATGGCCAGCTGTTGCCTTTGATTTTCTAACATCGACCTAGGGAAAGACTGCTGGTTGGCAGCCCAGGCGACACCCTTTGTGCGGTTTCCTAAGAAGGTACAGTGAGAGGCTCTTTTCGATGAACACCGGTAATGGCGAAGCGCTAACACCATGCCGAATCATTGGAGCCAACACGTTATTGTCTAGCGCACGGTGACGTAATTCGCGGGAGTGCACAATTGTGTACTTAAAGAATTGAAGGCCGTCCTTAGGGGAATAACTAAATCACCTTATACTTGTTCCACGAAAGCGACGCTTAGCGAGAATTGATCGTGACCCCCAATCCCAGTCTCTAGGTAGAGCTCACCCCATATGCCAGTTTATCGAATGATACCACCGTACGAAACACCGACCGTTTGACCTAGGACGGATCTAGAAGGTTCACCCTAACGTAGGCAAACGGATTGAGTGTGCTAACGGTAGATGGGCGATTCTGAGCAGGGGTAGTGGGGTTGGCTATTTACTAATTATATTACTTGAAAGCGTGAGCGATGCAAATTGGATCGTCCAGTCTTCAGGGTGCATTATATACGTTATACGTGCTGTCCGACACCCTATCTGGCCTTCATCGGACTGTGGCTTTGTGAGACGTCGCGCGCTTTTATATCGACATGATCCACCCACACT -------------------------------------------------------------------------------- /week-6/dna-py/sequences/2.txt: -------------------------------------------------------------------------------- 1 | CGCAAAGACTTTATTGCGCCCACAGTGGCTTTTGTCTACTGATTCCATAGATAATGACAAATGTTCAAGGGGTTCTGGTACTTAGTCCGATCTCAGTGCGACTCGGGGGCGAACGTCGTGGTTATAAACTCGTCCAGATGCCGGCGCCAAACAAATATGATCCCATTGTGCACCCCCACTGGTCAGAACTCTCGGTGCTTAAGCGATACACGCGTCCGTGAGCATTCAACACCCAACTACTAGTCCGGTAATCTGAATGCACACGTGGCCCGGGTTACCGGGATGCCGAAAGAAAGAAAG 2 | -------------------------------------------------------------------------------- /week-6/dna-py/sequences/20.txt: -------------------------------------------------------------------------------- 1 | AATCCTGGTTGGACATACCGTTTTCCACACAAATGCCCCAGACACTGTACGGAGACCCTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTAAGAACCGGGGTTTTGGCTGATTCACCGAGTCAACCTAAGACACTAGTTAAACATGTTTGTCGATTATATCACCTTTCATATATTCCGAGCGACACTTTTCAATGCTATATGGTGCTTATTCCTGCTTACCATTTTCGGACCCAGGCCTCAACTTTTGCTTGTACGACATGAAAGGTGCAGCTCTACTTGGATAAGGTGTACTACCTAGCTTACTCGCACCGGACCATTAGCTATTACAGGGTTTGGATAGTTACGTGATGATCGAGGCAGACACCGTAAGACTCTTACGCGCCCGACGGTCCCCGTTAATGATGACAGTGACGAAAGGATTGAGAGGCGCGTCAGACCCCTGTTCCCATATTGTATGTTGTCGTTGGTACGGGCGCCTTACGGAGTAAGGTGTTAGGCAGGAATGGCCAAAGGTTGGTGAACCTGAATCATGGTTGACACGCAGCTCTCTACATTTATGGGCGTATTCCTATTCGCGACTACTACAACTCTTCGGCCGCCGGTAACCGTACGGTGGCTAGATGCCGCTCATACAAAGTATGCGAGCCGTATTCAGAGTATAATGACCTGAAGGAGTACATGAGGGTCATGGTCCGCAGGGACTCCCTGTCATATGCTGAGATGGAGCCATAATCCCTGCCAGCCGTGTGGACTCAGGCATTCCTGTATTAAGCACTCTAGCCCTCGTGAATGCTTGGAAGAGTCACCCAAGGAATCGATTATCACAGGTTGGGAGAGGATGTTTTTCAAGGCCCTGAAAATTTGAAGGGGCTATTGACTGCGGCGTTACAACCAAAGAGATGACGGAACCATTGCTTCCGTCATGCTGGTGTCCCTGTGCGACCCACCGTGTTTGCTCCAATAAGTGGAAGGGTAAATTGATTACTACCGGTTTCATAGGAAGTTCGAGGTGCACGGTTGAGTAGCATTAGAGCTTCGAGCCAGGTTACCATAGTTATCTTTATGGGGCACTCGCCCTGATGTTTACGCCAGGGTTTAGCTTTGTGATCCGTTAGGGGGTTACCTACGACGCAGCAATTAGCGGGTGTCGCAGGTGTGTAGTTTGTGGCACCAAGCCAGCGGGCTTTACTTAACCAACCCTGGGAAGATCACTTCATCCGAATATGAGATCGCCCAACGCTAATACGCCGAAATGGGAACTGAAGGTCTTAGACTAGCTCACGAACCGTATACCTTAAGTTCCCTAAGCGGACGAATTTTTACTAAGTAAGGATTGCAGGAATATGGAAATCATCCGTACGTGCTTTGACGACCCAAAAAGAGGATCAATGGTATCTACCCAAAGCGTTATTCCTAGTACCAGGAGCCTAAATCATTTATAAAAAAATGCAACCTTTACCGTGGAGCGAAGGAAACTCTACTTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGGTGTCAACCGTAGCCTGGTAGATGGAGGATGGTCGACTGGCTCAGATCCACCCTTGTGGCGGCATAACAAAATGTTCACTGAATTGGGCGAAAAATTAGCGAGTGTCACTTGACAAGGACTGAATAGCAGCAACAACCGTCGAGATCGTTGTCCAGTCACGCGGACTGATGATCTTAGATATAACGCAGAACTCAATGGCTCCTCCTGTACTATGATAGGGCGATATAGCGAGCCGAAAACTCGGGCCGGATGAGCGCTCACTGCGGTCCCGCAGCGCTGTTACGACGCCACGTTACCCTTGATCCGTGGTTGGTAGTGTCGCGTGATGAATGCACGAGTTGGTACCGTTCTAAGATCGACTACACGTGGCTCGATTTTAGCAAGTGTGCGATACCTGAATAGTCTGTAACAGTCCGGCGACCCATGGAAGCCGTTTCGTCCCGTATGCCAAGGCCCCGTTTATCCCTCAGCATGGGAATGACGGCCACCAGTGGTCCGTGTTCGCGATCAGTCTCGGGGAGGTACACACCCTCACTGTAAACTGGCAAGGAGGTGATTTTGCCCAATCTGAGAGCCTAAAGTGGCAGTACAGGTTCCTCACACATAACGAGGTACTTGCCTAACTACGTCCTATGTAGACAGGATAAGAAAACGCAGAGCGCGACCGCCGTGCAGTAATGAGTACTAAGGTAACTGGCCGCTCATATGTTCAGTACTGTCACCGTGTTGGTTAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAATCGACGCTAAGTCGGCTTCAGACTCTTGCGATGATTCCGATTCGGCCTTTTCCCTCAGTGCTTCTCAGCAGGCAACTTGCGAAAAGCATATCGCGCATTAGTACAACAGCAATTACTACACGACCAAAACGTCGTGGAGAGTCGCTGTACTGCAGCTCAAGGGTGGCCGACCATAGAACATTTAACGATATGCACGATCCGGTCAAATATCACAACAGAATTGTGTGCTAGTAGGGGAAAAGGGGAAGGCCCTTCCTTGGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAACCGACTCATTGCGGAATTTTCAGTTTTACAATGCGGTGACCACTAGCCAACGGCGTCATTGATAATGATACTAACTTCCTTGGGGCGACTCCGGTTTAAAAGTGGCCGGTACGCTTGTTCGACATCATGTGTAGCGTTATTAGGACTGAATTACCGGGCCCCGTTCCGAGATGTTCTTTTTCGGCCCCTGGCGCAGAGGCGCTTGAGCTGCATATACTGGAATATAAGAGGTCACTCGCGAGAACGGTCACGCTACCATGTCGGCAGGATGCAGGATCAGGAATAATGTGGTAGACCTGTGTTCAACGGTGATCTCGGTGTGGATCGGGTGAGCACCAGATCGACTAACTAAGGGATATGCAAGCAGATTCTTCGGACGCCTTTGCCGGTAACACATGGAACACGCCTATGCGCTCCATTACTGGGTGCCTTGTTGAGACGGATAGGTCGGGTTCAATGATTATTAAGGTTTATCAACGTATTACTGCTTGTAACGGCTTGTAAGTGCCAATTGTCATTCGACCCCGGCTGGTCTGACAAGGTTTGTACGCCGATTTGGCATGAGGGGACTAGAGTGGAATAGGATTGTGCACTAAGCTGCGGTCCCGCCTGCGTACCCGCGTATCAAGTGGCTCGGTGGCTGGTTGCGATTACTGAGCTCGTGCATTGCTATCAGTGCGTCCCCTGCAAGAACAGGTATCAAGTGTGGTTCCGTATTGCACGATTGACAATTTCATCGGGTATTCGCTCGTCGGCAAACATTGAAGGCTTCATAGGTTCACAACCGCGTTCCCTGTGATGCGGAATCGCGAGATCTGGATCATCCTTCTAAGACACTCAAAATGCAGACGTCGAGAGACGTATGCGTCCGCGGGAACTATGGCATCTGCCCTTAACATGTGAAGAGACTGCTTTAGCTCGATCTAACCGTAGGCCCTTCATGAAGAGAAGCCATTGTCGGGGGTAGTGACTTTTGGCCGTACGTGATTAAATAACACGGAGTCAAACTCGGAGCGTTCCGTCTCTGATATCGCCAACATCGCAAGCTCCCTACGTACCACCCTGGGTGAACACGACTTTAATGCTTTGAAAATATTGATGGAGACGGCACAAATTTCCGAAAACTCGAAACTTAGTAAATTTACACTGAAAAACCCGGGCGGACAAGTACAAGAGTCCGCGCTCGTAGTGCTCTGTTGAAGCGTTGACCTCTGTCGCTTAAAATCGTAAAGACTTTATACACGAATATTGAGTGAGAAAGAGTCCCCGATCTATCATTACAAATATTCCGTTCTACAATCTGAGGCCAGACAGTTTTGTTCCCTCTCCTTACCTAGTGCCATATCGAGGGACAGAAATTTGACACCTTGCAGTCACACGTTGTTTTGAGATATGCAAACCACGCCCAGTGTCGAGATCCCACATATCTTCATTATAAGCTCGACCACTTGAGACTGCAGCACGAAGGCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGAAATTCCAAGCAATGGCTTCAGCGCTCGGACGCCCCGCCCGTGCCCGGCGTGAACATATGGATGTATGAATTATTGCATGGTCTGTATCTTAATGCGCGCTTGGCAACACATGTGAGAACGGTCTCACGTGCGACTACGTATGATCTATGCAAATGTGCGGTGGCGCCCGGCCTTTTTAGGAGGTTCCTAGACCAGGAGCCTGTGTGGTAAGGGCCGGCAGACGTTTCCGGTACGCTCCGCCAAGAAGGTAACCATGCGGCCCGGTAATGTAACCAGGTCTCGAAAAAATTAGGCGAATCGAAAGGGTTCTATCGGACCGTTAACAATTTACGGTCATTCTAGTATGCATTCAAGGAACCGACTCTCGTCTCACATTTATGTCATCATTATGACTAACGCAAGCTGTTACAACGTGACTACTCACCTGGATCGTCATCACGCGCGATGTGCATGAACTCGCAAAAACGAACCTAATCGAACGGTTATCGGTGACATTTGATTTTGAGTCTGCGGCACGTAAAAGCTCTGGGATGCAGCTCCTATATCAGCCTAGGGGTCGGGCTCTCTGGTTCTGCTCGCTAGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGCAGTCCCGTGAGTGAGTAGTATACGCGATCTTGTGTGTCTAAGTTATTGCCACACACGAATGACCAAATACGAGATCTAGACTCGTGTATATGAGACAGGTTGCACAATCAGCCTTTATTCTGAGACAGTGGTGCTGGGGATGGCTTGAGATACATACGCACACAAGCCCAGGGGGATTAATTGCTGCGCAGATAGCCCGCCCAAAGTTGTCCCAGTGACCTTAGAAGGACCCTGTACCTGGCGTTGGGTAAGACACGTCACCCGTCGTAGCCGTGTATAGCCGAGCGTCCTGCAAAAGCGTATCTTTTTGATGAGCGAAATCGCGTCCAAAGACTTCGCTCAATTCAGAAGGCTCGAATTGCCGATCGTCGCAGGGCTGCATTAGGCACGCCAGTTCTTCTAGGTCCCGGGCCGAGAGTGTTCGGCGGTAACTGCCTTTTAGGGGCCGCACACCTCGGCTGCGGCCGGGCGGAAGGCGCTTACTTCTGGATGCGGCTTCAGACGGCTGTAATATGTCTCGGAATACCGCTCAGCATACGAGGAGTCTCCGCTTTCGACAGCCTGGGGCCACGTCGTGTTGAA -------------------------------------------------------------------------------- /week-6/dna-py/sequences/3.txt: -------------------------------------------------------------------------------- 1 | AGAAAGTGATGAGGGAGATAGTTAGGAAAAGGTTAAATTAAATTAAGAAAAATTATCTATCTATCTATCTATCAAGATAGGGAATAATGGAGAAATAAAGAAAGTGGAAAAAGATCAGATCAGATCTTTGGATTAATGGTGTAATAGTTTGGTGATAAAAGAGGTTAAAAAAGTATTAGAAATAAAAGATAAGGAAATGAATGAATGAGGAAGATTAGATTAATTGAATGTTAAAAGTTAA 2 | -------------------------------------------------------------------------------- /week-6/dna-py/sequences/4.txt: -------------------------------------------------------------------------------- 1 | GGGGAATATGGTTATTAAGTTAAAGAGAAAGAAAGATGTGGGTGATATTAATGAATGAATGAATGAATGAATGAATGAATGTTATGATAGAAGGATAAAAATTAAATAAAATTTTAGTTAATAGAAAAAGAATATATAGAGATCAGATCTATCTATCTATCTTAAGGAGAGGAAGAGATAAAAAAATATAATTAAGGAA 2 | -------------------------------------------------------------------------------- /week-6/dna-py/sequences/5.txt: -------------------------------------------------------------------------------- 1 | GCTAAATTTGTTCAGCCAGATGTAGGCTTACAAATCAAGCTGTCCGCTCGGCACGGCCTACACACGTCGTGTAACTACAACAGCTAGTTAATCTGGATATCACCATGACCGAATCATAGATTTCGCCTTAAGGAGCTTTACCATGGCTTGGGATCCAATACTAAGGGCTCGACCTAGGCGAATGAGTTTCAGGTTGGCAATCAGCAACGCTCGCCATCCGGACGACGGCTTACAGTTAGTAGCATAGTACGCGATTTTCGGGAAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCCCGTCAACTCATTCACACCGCATCCTTTCCTGCCACTGTAACTAGTCGACTGGGGAACCTCATCATCCATACTCTCCCACATTATGCCTCCCAACCTTGTTAAGCGTGGCATGCTTGGGATTGCATTGATGCTTCTTGGAGAGGACGCTTTCGTTTTGGAGATTACAGGGATCCAATTTTATCATCGGTTCGACTCCCGTAACGACTTAGCAGTAAGGGTGCTAGTTCCTGGTTAGAATCTTAATAAATCACGTCGCTTGGAGCAAGACAAAGATCGTCGTAATGCCAAGTGCACGACCACCTTCAGACTTGCAGGACCCGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTCGATAGCTATGCGGTTCAATACAATCTTAACGCAATGCAGCGATGTGGTTTCGTACACTTAGCATAAAACCCCCCACATTAAATCGATGTACCCGCCCTCTTAGACGCCAATTTCAATGCCGAACCTCCGGCGGGTATCTCTGCACTAGGAGAAGTAGCACGTCGCTGTAGCGAACTCCTATCGTGAGATAATTTGTAGAGCTGCTCTTATAATACAATAGCTCAGATGGATTATTCCATGGACATCCCCGTGCGTTGTTTCGAGGATGGTAGGTGGAAATTTTGCCAGACCTCTAGTCTTAAACATGGTTGACGTTATAGGCGCTATCTCTTGCGTCTGGAAGTGTTAATCCGTGAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACACGCAACTCTGGAGGAGGGCACTGCACTGCAAACTTGCGTAATATCCTTCACCCACACTTGCCTGGCCTCCTTGCTTAAAGCTCTGGCGATGCGATTTTTCGGCCCAGTAGCTGAATAGGTCATGAAATGGGCACCGAACTGGAAAGACCCATATATTCGATACTCACAACTTAATGATAGCGCGATTAAGAGCGACACCAAAAACCAAATTACGTTCACGAACCTTTGAGAGTCAAGGAGACTTAGACCGAATTGAATGATCACTGATGCGCCCGCTGATACTGAGCCTCACCATTAATCGCCGACCAATACGGCGTGTACCGGGCGCGGCCTTGCCGCATAACGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTACACAGCCCCGTCCTCATTGCTAAGTGCACTGGCAACTGGACCTAAAGATTTTTCGAGTATGGCCCTCGAATCAAGCGCCCACCCAGAAACCTACGAGCCAGTAACCCCAGTAAACAAGCATTAGTGCTATATGCTTGCTGCCCACTAGGACCCTTATGGTTCATACCAGGGTGACGTGTCTTGCGGGCCAAGGATGAACCAGAAGCAAGATCCTTAGATGGACGACTGTCTCATTGCTTAAACTCCACATACCAAAGGGCGCGGTAAACGATAGTTTTAGGTAATGTTAGTCGGATGGTTGTCTGCAGCTACCAATACAGCCTGGCACCCAGGGTCTGAACAATAACGCGTGAGAGCAGCTCTCCCGCGTGTGGTGGATTTGCCGTCTATGAAATTGAGGCTCTTGCAACTATTCGCACTCGGAATGCCCTCATATCTGGTGCCTAGCGGCCTTTGCCCCGTGCCGGTAGGACTAAACTCTACGGATCGTTGACGGATCTCGATGTGGAAGATGGTTATGAAAGATAACAACGCGTGTGCTAATTGATTTAGACAAGTATTGCGGCAGTAAAAGATAATCGGCTGCAGAGTTACGAAAGACTTCCATGCATGGATTCCATTCCTTCTAGTATAGGACCCACTCTGAATACACGTCTTGCGGGCCGATCATCTCCACCGCTGCGGAAGAAAGCAATTAAGAATCTATGCTCATTAAGAGTGCGACTATAATGCGGATCTTACAGTGCTAATGATCAGGACGTCGTCCAAGCAGGCTGCATGCCGAATTTAGCTTACGTCAGGATCAGGCGTTATAGCCTGGGAATCGGACTATGAGGACGCCACGACCTCTGGGAGAAAGCTATATACATTGAGGATCGCGCCATCTTTATGAGACTCAAATGAATCTAGATAGGTAGCATTGCGGACTTGAGTTAGCACATCGGTATTGGAAGGTGAGGGTCCTGCCGCTCGTTCTATGTTCGGTTTATAGTATACAAATAGGTCATCCCGAACGTTGAAGTTAAACTCATGACACGTTGTCGTAATGAAACGGGCCTGTTATTAGGGATACAGACAAAAGGCACAAGCTGGCTTGCACATTAAGGCGCACTAGAGATCCTCACAACCGTTGCCCGCACGGAGGTCGTGTCTAACAGACAGTGAACCAGCCGTATTGGGGTGGATGACCTGAGCTTCTTGGGGCCTGTTGTACACCGCGTGTGGTTCAACTGGTACACATACTACGAATATTCGAAATCATTGTACTGTGCTCTTCGGTGCTACTGACTGTGAGCGAATGCATCCCAATCCCAAACAATGCTTGTGGTAGGAGAATTGAAACTCTCGAAGCCTGGCCCAATGTCATCTACTTTTAACATGTCGGGCCAGGAGTTACGGGCATTGCTTACTTACTTTGCCCCCTTACACCACAGCAGCGCGATTCTTGTTGTAGTAGATTTTATACGACTCGCGAATTAAATGGAACTTGTCTGTCCCATATCGATCGTGTCCATCGTAAGATGAGATTGTAGGAGCATTCGGAAGTCTATGCGGCCCAGGGACTACTACGTTAAATCTGGTCAGACGTGGTTTACAAGGCGTCCCGATCTTCTCAGAACATATGGGAAAGCACTACCGTTCCTTCACGCATACAGTTGTTCGTGCCGAACGAGTAAGCTTGCGACCAGCCCACCCGCTAGGGCTATGCAGCGGGTCATGGCTGGCGCCATACTGTGCGGACAACCCACGCTCTGGCAGAAAGCGTCTTGTGTTTTGTAGTAGCTCCAACGGTTAGACCTTCGATATCTATTCAGAGCGCGAGCGACCACTATTAGACGGCATGTAAACAATGTGTATTTGTTCGGCCCAACCGGTATATGGGTAAGACCGCGAAGGGCCTGCGCGAATACCAGCGTCCAAAAATTCCTCACCCGAGATATGCGGTTAGTACCCCTTGGGTAACGGTCCGCTACGGGTAGCGACGCGAGCCGGCCGCATCGGTTGGAGCCGAGTTGTCGGGCAGGCGAGTAACGTGTGCAATTTGATGGGCCCAAGCCTCCGGCACTATCCACCTCATACATCGACAAAAGCACCAAATATGGGGAAAAGCTGAGCGTCGATATGTACATCTACCCAGGAACCGGCCCGAACATTAGGCGGACGTGAATTTCCGACCTAGGTTCGGCTACATTTCTACGATCCAAGCACACGTGAAGGAGGAGGGGTGTTCCGACCGTAAATGAACGAGGTGCGCAGTGACCCGATGGCGTTTAGCGGATAGCCTTCCTATGCCGGCCTATGCTGTATGGTAGTTGGTTGGTGCCTCCAGAGCCACTGCACCCAATCATAGGGTCTACAGCAGCGTACTTATAAAATTGTACGGGTGACCCATATCCATTACGGGTTGCGACCAGTATAGGAGAGTATAACTGCGTGAACTAATGCGTTATGACGCTTCAGAGTTTGCTCGGGCCCGAGTTCTAGGGCTATAATGTGTTAGGGCGCAAGTATGCCAAGCTAAGATGTGGCGTGCACACTAGGAGTTGTGTTCCTCTGCAAGCAGACACGAGCACTCTGGCAGTAGTTTGACCACACCCGGGTATCACTGCTACTCCATTTCGAACAAGCTATTGGAGCGGACAAAATATGCTACTCAAGAGCATTAGTTATAGGTCTACGAGACAGAAGCAGTTACTGAGTCTGAATATTCGATATAAGTAGGCATGGAGGCGGAGCAAAACAACGTCTGCGATCAATCGTGTTGATGACGTATGGCGACTGGAAGGTAAGGACTATGGCCGGACGGAATGATTCATGTTCTGTTCAAAGCTATATTTCGAAGGGGTATATTAGCGGTCCTACACTTGGTTAGCACCCTCCCCCCTCTGGATCCTGCACTAATTCGAGCTGGCCTCCATCGGTATCAGTCCGGAAGCTCCACTCTCTATCGTAGTCCTAATCAACAGGGTGCCAGTTTGCTCACGTGGAAGTTTGAGGCCCTTTGTGCTCCATAGCCAATCACTAACCATGCACGCGCGACCCACTCTACGTCCAGATCGGCTATAATAGTTGCGCCCGGGACTGGCAGAGTAGACATGTAAGCTAGATAGAGCCCCGACATCGGCCAAGAGATCCTACGCTGCTTCCAGATAATGAGAGACATTCTAGCATTAGACATGCAAGTCGGCAGGGACTCCCCTTATCTAGTAATTTCGATGAATTGGTTTTTCGGCTAGCATCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGACCATGCCGACCTCATCATAGAAGGAATGCTCTAAACTTAGAGTGCTACTAGGAAAACTATTAATCAATGATCGTCCTGCTTACATAGCTGGACGGCGAAAGTTCTTATACTGCGGAGGTTGCTGACGTAGAGTGCGCTGGGTACAGCGGATAAGTTGATCAGGGTGGGGATAGGGTGGCTCACCGTTTATACTCATATAGATTCCTGGCGTCGACGCTGTGACAGGGTCGAGATCGAGGGGGAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGCGGAGCGGAGGGAAAATTATCACCAGAGGGTAGGGGCTCGCGACATTCTATTCAATGCATTTCAAGCTACTTACGTATTTCGGCACAGTGACTACTGCCTGCGCGGCAGCCGTAAGGTTTCCCGTCAATAGGTGGCACGTATCATTGATGAAAGTGTCAGCTAATCATTCAGGCCTTA -------------------------------------------------------------------------------- /week-6/dna-py/sequences/6.txt: -------------------------------------------------------------------------------- 1 | TCTATTCTTTGAGGATACGCTCGGCCTAGGCGGGGCTAATGGAAGCCAGGCTAATCCGATGTTGCGGTGCACCTCGATACCGTTCTAAAATATCACATCAACGCGCTCCAGTTGTGTGCCAAGGCCCGCTGAAGAGCAATGGAGCACCTACCCGGCCTTCTAACGCTGTCTAAAACTCCAAGCGAATTGCAGATTTTGGTTAGGACCCGTTTAATCTGTGGGCTTTGGTACTATGCAACCAATGGAACCGGTCGGACTCTGATCAGTCCCGACTGACAGGTCTCAAGTAGTTTGCTTACACGTTCTGACCCCCGTGCGCACCGTTGGGCGTACAGCGGTTCGGTCTATGGAATCAAGGAAAATCATTCGTATGGGGACGTAGTCACATAACAGCTGCAGGGAACTATGGAGATGACGAGGGGTCGTTTAGTGGAACGTCAAATGTCCTAACTGGTTCTGAGCTGTCTGGAACGTTGCAGTCAACGTCTACGATCTGGATTCTACAGTCTAGGCGTTCCAAGGGGCACCAGTAAGCTAAGTTGTTTAAATATGGCGGGTGTCGAAATGACGTCCAAAATCGCAAATAAGACAGATAGCAGGGGTGCAACTTAGGTATCTAAGGTAACTCTGACATACCTCATACAACTATCGAACAGTGGATTCCTTGTCGTCCTGTTGTAAACAGTTCAAGTCGGTACATGTTAGCGGGTGGTTTGGACGAGTATACAGGACCTGGCCTACACGGAATGTTTTAGATTCTATGTCCGGCGGGGACATCGCGTGCCGCTAGGATATAATTGGATTGTGGGAAGAATTTGGCCGGATTTTTGGCCTAGACTCGCGCTTCAGACCATACCGTGCGATCAGCACGATTGCTGACAAGCGTCGGTATTAAAGCAGGCTCCTTCCCAGCCAAACTAACCCAACGAAGACATCATGTTTCGCCGAAGTATCTTTGGGAGATGGGCGAATTAATCGCTTAGCGTGGCCGACTTGGGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGGTTTAAGGGACTTATCCGACCAGAGGGGCAGTTACTTGTGGCGGTCACACGCCAGGACGAGTCTGTTCTTGCTGTGCGTAGATTAGGCTTGATCTGTGACTACAGGCGAATAGTAGGTGTGGGAAACAGAGGGGGGAGCAATGTGATCCCGGGGGGAGTGCTTCCTATACCTCGGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGATTATCCCCACCCAATGATCCGATCGCAAGCCTTAATACCATGGCACACCTCTCAACCTACTGATCTTCCATCCGTTTAACCCAGCACTAAGCTGCTCAGTGGTCACACTATGTTCAAGCTTCCGTGACGTGGGATCCTGGGGTCTTCGCAAGGCTAGTTTTGACCATTATCGACGACCGTCACCCTGTGACTGGTTCCCAACAAGGTGTCAAGTTCTAGCCCGTACCTGCAATCGGGAACCTCCGGTGCTTCATGAACCATGGATATAGGAATTATTGGTCTCCTCTCGCGTAGGTAGCGCGAATACCCCCAAGATGACACACTGTGGTGAACTTTGAGGACTCCCAGAAGGGTGACGGGTTATGTGGTTACGCGAAGTCGGCGTATCCACCGCCTAATTTTAAATTCAGCTCGAGCGACACGCGCGCTTCCTGGAAACGTTAGACGGGAAAAACCCCGCCCGAGAATGCGGGTTCCGCGGCCCACTAGGGGGCCCCCCAAGGATCTGACCGCGTATAAGCAATGCACAGCTGTACCATTTCAAATAGGACAGATAGTACCCCCACCGTGACTCGGCCTCAGATAATGGAATACGACCTGGTGACGGCGGTAGGGGTTCTATCTCAGGTATTCAGAGGGTGCATCCAGGTGATTCGTCACGTCCCGATTTCGACCCCACCACAGGATTTGTGCGATGGTAGTCTTGATGCTGTTTGCAGGCGGCCAAGCATCTAGGAGATGCCTCACTGCGCGAGATGAACCGGCGTTTCACAAGGGGACGCCAGGCCTTGCCGTCTCCATAAACCACGAGAAGGTATCGAACGTCAAACGGATAAATGCCGCGATACCGCTCGTTTCGAAGCGGCACTTCGATGGAAATGAGTAGTATGGCCTCGCCACACGACTACTCATCGGCTTGCGCTGACATCAATCCTGGCTGGCTTGAGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGCTCCATAGGAAGGTGCGGGATAGCGGACAGCTAATCGGACAGAAGGGCCAGCTTGCACTCTCCTATAATTAGCAAGCGCCATACAATTGTAATCACGTATAAAATACAGCTACGTAAGTAATAGAGAGGCTCCCGGACTGTCCGGCGTCCCGCCAGTCTCGTACCAGGAGGTGGGATGGTAGGCAAACGAGCCTACTAGAATTGGGCCACCCTGTGAATAATATGCAGAGGCAACTACAGACGTCCGTCACCTGCCTAGAATCGAGTTCATTGACGGTGGGATATGCTCCGTTACCTGACTGTAGTTCGACTTTGTGGTGCGCACATAACGAGTGTCTACGATGCACAAAGTGTGAGCAAATTAGGAGTGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTGCCGAGATGTTGGCGGGAAGTGTACGGCTTTGCGTCGTCGAGTGCTACGCAGTGTGCTACACTCCCGCAGCTGAGGCTAGGGCCCGAAACTAGACATTTTTTCTTTTGGCACTTCGTTCCGTATAATGAGTTCCCTCAATTCCCCGTCCGCAAGCCTCAGGATTACAATTAATTATACGGTTAAAGTTGGCTGCCAAGCCCGTTATTGACCGGTACCTGAGTCGAGGGGGGGTTGGGGATAGGCAATTATAGTATTCACTCACAGGACGCTCAGTAATGCCGCCGTTGTACTTCACGTAAGGGCCACAGTTTTTCTACCACAGAGGATGATCTGAGGACAGCGGTGCGTGAAGCCCGCTATTCAGGACACCCTCGAAACCCGTGGTTCACAGACAAAAAATTCGCCGCGGAAGCTGTTGCCCCTATGCCCCGGGTCAGCAAGGAGTCTGGATTTTATTCCAAGACTGCGTCTTTATTTTCTGGTGAGTATGAAATGACTCTGAGAAAATGGTCGAACCACGAGCTAGCTACAGCCACAGTCCGCTCAACTAACTTACCTCTACTCTAACAGTTACACGGCTTCCCGTTTTATGGGAAGAAGCACCTGTTCCTTTCCCAAGCCCCTTATAGCAGAGGTTGGTATTCGGTTGATTTGGAATAGTTAAACAGCGGCTATTTTGTAATCACTTTCCAGTCGGTAAGACATTCGAACCTCGTTTTGACGCTGCTCGCCATCGCGTTCGACTAGGAGTATTCCACTTTTCGGAGAGATGATTACTCATGACGCGGGGAACTCCATGGCTGTCATGCAGGATCTGGGCTAAATAAGATTAGATGTTCAACTGTCGTATACTTACTGCTACCAGCGGTGCTAGGCCCAGGACCCGCCATACCTGGCTATTGATCACTCTACCAGATGTCTCTTGACGAGTTACGAATTGCTGGGTGCTCTTGGAGACGAGTTGAGTCCGTAGTCGTGGCTGGGGAACGGGCGAGTTCGTACGTACCGTTTCAAAGCCCCACGAACCCAACCTCTTAGCCTTAACCCCACATTAGATACCCAAGTTGCATGACGCATTATGCGAGTACGACACTGGTATCGGCTGATCCGTCACTGCTCAAAGTCCAGTGGTTTCCTTATCTCGGGCTGGAAAGTGTAGCTTGTTCCAAACCTTCGAGAGGTTGATCGATGACCGGTTCTCACACACATCTTGCGGAGGGATGCTTGCGATGTGGCTTTACGTCCACCGACGGGCCGACTAGCTGGAAATCACAAACCCCTGCTCCGATAAGGTATTCTCGTTGACTTAGGGTAAACAAAATGCCCGTTACGTCCTAACCGAGTTTCCGGGCCTTCACTACCCGCGAGGGATGTGTAGTGGGGCCATTTACCTAAGCAGATGTACACCGAGTTACGATAGTCACATGGCCATTCAAAGCGTCTCACATAATCGATCGATAGATGATGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCCCGGAGGAAGCTGCGATTGGAATGCGGCTAACTTCGCTCTGCAACATTCTTGGCAGACGGCCCCAATGGCGTAATTTAGGCGTGTGTACCTAAAGTGGTCTACTCCTATGAACCGAATCGCGGGATAAATCGAGTTGGGACTGCTTTGCCTTAATTACATTCACTGATTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGGTCGAGCACGGCTGGCACGTCCGGCTCCATCGCGTCGTAATCCATCCCTATTCGACCAACAAAACCTCAGGGGACGGGATGTGAGTGGGTATCGATCATTATCGAACGCCCATAAGTACTCCACTCATCTGTCTGAAAAGTTTGTCGAGTGCCGCTCTCTGAAGAGTACGATAACTTACTCCAAACACTCTACGCCTAGTGGTCGAAAACACTAAAGGGAAAATACTCACTGACTTACTCTGTCGCTCTACGATTGCCGCGATACCTTAATAAGACACGTATCGGCTGTCGCAGCGATGGATTCCTTAAGCGATACAACTAAGATCAATCGGTGCCGGGCCTACAGCCTGGGCCCTAGCTCCAAAAGTGATAATGGATAGTCGGTTCAAGCGAATTTACACCAGACTGATCCTTTACGGTCATTCCGACCGCCGCATGATACATGCCAAAAGACACTTGTCTTCTTTCCTCTAAAAGACAGACCTTGTTTGCAAGGAGAGCCCAATCGGCACGACCCAAAGGGATTATCAACTGAACTATTATTGCATACTACTAAGCAGACGGACCGTATAGCATCATTGATACCTATTATATTTCCATACACCAACTCCATACGCGATGGGTCGAAACTACAAGCTTCACTTACGTGTACAGCCGCAGGACCCACTCTCTAATCTAGCCAATGACACTACTAATTTGAACATTCCCCAGCGATGAACAGGCACATGAGCGGTCCTCGTACCCACCACGGCCCGCTCAACTGCAAGGGGCCGCTCGGATCAAAGTTTTTCACTAACTCATGTCGAGCAGATCGGCATGCTCAAGATAGTATTTTAGGAGG -------------------------------------------------------------------------------- /week-6/dna-py/sequences/7.txt: -------------------------------------------------------------------------------- 1 | AATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGTTAAAGCCAAGTGGAAGTTGACGAGCTACGGCACAGGTACCCTATACATACGGTAAATGAGTCGGAGGTTGTGGGTTTAAAGTAAGTCCCCGCTCAACATTCAGCAGACCCTCGAAGTGGGCCCTAAAATCGTGTTGCTAACGCTCCGGACCTGACCCCGAGCTTGGCTCCTAATTGTGTACTCTCTCCAACCAAGCAGCGTACCAACGCGGCAACCAGAGCGAAGCTGTACACGTCGATCATCGTTACGCCTCTACTCGATAGTCGTAGAAACTTGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGCGGTTGGTAGCTCTAACTGTCATCGTATTCGCGAATACCTCAGATATAAGCTCCAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAAGTGAATGCACGAGAGTGTTATAGCAGATATCCCCGCTGATCCGGCTGCCGAGGAGGTGGGCATGTGACGTTATGCACTACACAGCTACTACCAAGGTCTTCTGCGGGAAAGGATAGACAAACCGGCAACTCCGCGAGGTCGCGGACTTAGTATTGCGACGGCGTCCTAATCGGCTGGATTTGCGGTTTGTTGGCGTTAGTCCAAAGGTGCCGCTAATGTGGCCATATTTACGATCCACCCTATAGGGCTCCAGGTCGTTTTAAGTCGAGTCGTGTCTAGGGGCCATTCCTGGCCTTGAACGAAAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCGGCCTTAATGCTCAGATTCATATGCTGTGAGGCCGAGGGTGGCGTCATATCTTCGATGATGTTGAACATACGGTCCGGTATTTCGACTTGCCACCTGGTACTGCTTTAAAAGATGATACCATCAACAAAAGGGCACGGCGTGCCTCATGCAGGACGGGACGTTGCCTGCCTACAGCGCTCTACGTAGCAATGTCCGTCTTTCTTCATACACGTATGCTCCTAAAGAAATTGTAGTCTAACAGCTTCCAAACTGTAATCGCCGTTAGGTTCGTCTAAAGTAAAAATGATTGCAAGACGCAATCGAAGGAGCCATCGTTTCGAGGTGACTTCTAATATAACTACCTATGGTCATAGCATGCCCCAACATTGAACGAGGTAAGATCACGGGATCGACTGTCCTGGCGAGGGCCTTACGTTAGTCGTGTAATGCTCCGCGCGTCCCAAATATATGAAAGGCACGACACTCCCCACAATTTAACCCTCCCGCCAAATAAGTACCTAGCGGAGATAAGAATCTGGTCGGTCAGAAAAGGGTCTATGTCCTACAGAGTAGGGCGAAGTCCGCATACCGCAACAGTGCGGTGGCAAACGCTTTAATGACCAGGATCGTGCTAGGCAGTGGAATTTCATGTGGATTGGCCCGCGAATGGACAGGGAGCTATGTCTGAACTCTGTTGACGCTGAACTGTATCCGGATCGTCATGTGAATCGTAGCTATGGGAGTGGTGGTACTGTAAGTCAGGGCTACTTACTGCGGGGTATCTATCTATCTATCTATCTATCCTCACAGTTCATGATTATACGGATGTAATTTGCCGCTGGCTCACGATACGGCTATACAGCGTTGGCTCCTAACGTTGCCACCTACAGTCTGCACTTGGGCACTCGGTATGGTATAAAATATATGACGGCAGACGTTGCGATAAGTAAAAGATCGAACAATCTCGCAGCAAATCTTAAAGCGCATCTAACATCGGGCGTGCGAATGGACCGTTCCGAGGGACACTAGTCGAGCCCCTCTTACAGCTCACAGGTAAATCGATTATCGTACGTAAGTCAAGTCGGCACTGCTTTACGGCAGGTAGTAATGGCTGCGTGCTGCGCAGACCTTCTGCCCCTCAGTTAGTCACGGCCACTAGCCCGGGAAAATATAGTTCGGACAGAAAAATCAGTACCCAGCACCCAACTAAAACAAGTTCTATTCCGAGACGCCTGCGGAGAGCCTCACTCGTTATAACTATGTACGGCGGATGGGGGTAGGGTATAAAGGGCATGCGTCTACACCGATTTCCTGGTTAATGATAATCTAGTTCTTAAAGCACTACTAGGCGCTGCGAATAGGGGTATTGGGCAATAGGCCCTGAATTAACCTTGTTTAGGGTTAGCCTATGCAGCGACCGTAGTACAATAATATCTATAAACGGGTACTCTCCAGACGTATTCATTAACTTCTCAATGAGGAACTATCTACAAAATCAATGAGTGATAACAGCGCATATGAAAAGTATGCAGTTGTTTCAAGCTGTTAACGGCCATTTCCACGAACGTGTTCACAGAGTAGAAGAAACGTAAAGCGTTACTCATCTCCGATACGGTGCGTGCGATGGGGCGTATTGCTTGTAATGTCGAGGGACGGGCATTGAAAAGAGTGCCACAGCATATCGGAGCAATTCACTAGTGAGCGTACCTTGATAAAGCAAAAGGATTACCTATTTTGCACACGTGTGCTAACCCCCAAGACCTGTTGAAACCGCCGAGCATCCGCCAATTTCTAGCACAACATTTCCATCTGCAACTAGCCGTAGAGCACTCAGGAATTTGATCTTAACATGATCGTGGAGGCAAGAAAAAAGGATGCAACAGCACCTTAGAGCACGAGATCATTCCTGGTTAATATTATGCTGTACGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGATCGCCATCATTAAGTACTTATATCTGCATAGAACATTAAGCGAGACGTTTGTGAGATATTCCCCTCTGGGCCCTTAGCTTCGCAGTTCCTCAGCGCCCTAAGATAAACGGGTGTAGCAGAAGAATCGGCGTGCTTTTTACAAGTCCTGCCGGCGATTCAGCATCAATTATAAACGGCCCCTAATAGAAATAGGGCGGCAGGAGTCAATTGGTATCGTTTTGGAGCCATTCACCGCCAAGGGTCAGATAACCCGGCATTCACTGCTGTATTCCCGGATTAACGGATCTCGGATCCAATGGCCCTCTGTGCCGATCTAATACTGCACGCTTAGTGGGCGGGATCAGATGAATGGCACCTCAGCCCCCCGAATTCAGTTGCTGGCCAGACGAGGGCGGGGACTGTTTGGAATTATTTGCTCAGTCCTTTTATCATCCCGATGCTATGACTCAATCCTCTAGATCCTTGGATGTCTCAGGAAATCTCACACATCATAGTCAACAAGAAACGAGACAAACTCGACTTGAGACTTCATCGCCTACAGTGTTTTATTGTAACGGGCACCTCTATATGTCGTCTTGATGGCATCAACAGCGCATGGTGATACATCGCTAGCGGCATTAGGCTTGATTGGTGCTTGCCGGGCGGGAGGCCATTTGGAGAGAGGCAGACTATCGTGGCATGCCGTAGCGCTTTGCATGCAGGTGGCGCGACCGTAAGGAGTGCAAGATGTAGATTGTCACGCTAAAGTTTATCACGTGATACTAGCTGACGTGTCCATAAGGCACGCAACAGCCTGCTCTAGGTTACTGTAGGGCTTGGCGATAGCATAGATAGGCCTGAGGGAGTTCTGGCGTAATAGTTGTTAGATAAAGCTGCCCAAATCCAACAGCTGGATTTCATGTGTGTTTGATAGCGCAATGCACTCATACTCAGTCCTTGCCAGCATGCTGTCACACGATGTACATCGTTAGCCCTAAGAGCCCCGTCGAGTAGCTAGTAAGCCTCATGAATGATACTCGGGGCCTCCCGACATAGACGCAGCTTGAGTGTCGGACGAGTATAAGCCATCCCAATGATTTGCCACTTAGAGAGTAGCGCCGTTTGGGATTGAGTCGAAGAGCGTGGCCTTAGACCACATATGATTTGCTTGCGCCTCCGTATCGCTTGCATTTGAGATGGAGCCTCATTTCTCTACCATCGCCGACTAGCAAGTTACCGATGGACAAGCCTAGCTTGTGTACTTTGAGAGTGGCTTCGTCACCAAAGGGTAGCCATAACCTCAATGGCTGTGATCTCTTACCCCCGGGGTCGGGCGAGATCTGGGCGAGAAGACTGCACGAGCCCTAGAAACTGCAAGTGGCACGGCTTCTTGTCCCATAGGCTATTGAGGGCATTGTTGAGTCGAAGTTTCTCCTAAAAATGTGAACATAGTTTCCCGCTCAGAGATACTCGCTTAAAACTCATACCATGGATGGCTGGAATGGACAAGCGGTATTCGTGCTGTGTAGGGATCCGCGTTGGTCTATTAACCACTGAGCGGATGCGGATTAAAGGGACAGACGATTACACGCCACGGAAGTCCTCGTCTGTGACGGGTCCCTCGCGTCTCCCCCAGAGGACCTTCATTCCCCGGTGGAGCGTCCATACGGTCTAGCTTGTACGCTTCGGGGTCGGGTATCGGACTGACCTATACGACAGACATATCCTAGAGAGGCCTAGATGGACCGGGAGCACGCGAGGGCAAACTCCCTCGCTATCCCACTTCGATTTCCCGGGGAGGGCGGCGTTTTAACACGTAAGGCACGTCTATTAGATGAGCTTATATATATGCGAACTTTGATCCAATTGGCACAGAACGTCAATTAAGAAAAATAATACGGAGATAGTGCCGCAATTGTCCATTTATACGCACCCTCTTTCTAGTATCTAACGTTCTTGGTACGCGGTCCACTAGACCCGACTCATAGCGTTATAATTTCCTGGTATCTATTAAATCGTCGGCCGTCTTTTCCACTAGTAACCTGCTCTTAGGCCGCAGGCACGGGCGTACGATACCCCCCGTACGGTGTAACATCAGTGCGAAGTAAATACGGGGCCAGCGTGTAGACGATAGTCATGTTAGCTGGAAGGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATTCTGAGTATGCCGATCCAGGTTTGGCAGCAACGGAAAATATCTTCTACTTGGGCCCCTATAACGAAATGTCTGCCTAACCACCTTTTTTCTGGACCCTCAACATGCCAGTTAACCCCGCGCGGGAAAAGCGTCTGGCGCGGGCGTCGGGATATACTGACCAGTAGAGCACTGATTAAAGTATTTGTGGTTAAAAATTCACAACGTATTCCATGCGGGACACCGACACGCACGTCAGTTGCTCGCAGGTGATGGTAGAGGGGTGGATCGACCGAGGTCGGGTTGGTGGGTAAAGGTTAGCCTGCACCACGCGAATGTGCTCCATTCAATTTTGGGGGTGCGATTCTCCGTTGCGGGATCCAAGAGGAGTTAAGATGGCCTTGTCCAGTTGAAACTTGGCTGTGGCATGGGCGACAAGATAAAAGGGTTATTACTGATCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCACTGAGGTCTAGTACGTACGATGAGTGAGCATCGTTATTGGAAAAAGTCATGAACCGG -------------------------------------------------------------------------------- /week-6/dna-py/sequences/8.txt: -------------------------------------------------------------------------------- 1 | TGGTTTAGGGCCTATAATTGCAGGACCACTGGCCCTTGTCGAGGTGTACAGGTAGGGAGCTAAGTTCGAAACGCCCCTTGGTCGGGATTACCGCCATTCTAGTAGTCTAACCCCGAACGCGCTCAGGCTTTGAGTTCGCGCAGCATTAAGAAGTCCATGCCGGCACCGAATGTCCCGACGACAGGCAACCAGCACGGATACCCGCCTTGAAGGCGCAATCAGTAGGTCGAGTTACAGAGGCTCCCCCCGAGCTTGTGCTTCCATTGAGTAGGGGCTATAGATATGTAGCACTCAGGTTTAGTAGCGCCCTTTTAACAGCGAGAGCCCGCCTGGTCAGAACCGAACGGCTGATACGCGAGCTGATGGCTAGAGGATGAACACGGTCCTTCTCTTCGCTTCGATCCGGGGTAGTTTTGTAGCGAAGGATAACGCTCTGTGGATTCTCCGAGAATAATCATCAGTACGGTGTGCGTACCCTCTCTTTGATCCACGCCTGGGGCTGGACATAGTCAGGCGCATTTCATCTACTTAACCCCGGTAAGGGCCACGGGCGCGACATCTCCTTACCAGGGTTGTCTTATGCTCGCTTTTCCCAGATGATAAGCATCTCGTTGTAATGAACAGGTACCTAAGAAAACTGAGTTTCGACGACCCGTCGGCTCGTGTTCTTATCTATTGATCTAACCGAGGTGAAGCTCGCCAAAAATTTCGTAATGTAAGAGAGAAATTGAAGGGGTGAATTTTGCACTCTCGTGCATACGTCTTGCTACAATAGCAAGAGCTGTATGCGTGCGACCACTTCACTACCTCTATAGCATGCGATCTCGCAGCCCGGATTGTCGCCTCCTTTGGGCCGCAAAAACGGTATACGGACACACTGCATCTGTGAGCACGCACCAACTCGATGCGCGTAATAGGCATCTGCTCCACCCAGGGGGCAAGGGCACCTGAGGACGATCTGTTCCGAACAGTATATTTGAGCCAATGTTCTATTAGTGAAGGCAAGGTGAGGGCAACTCACACTGGTACCTCGAGGAGTAATCCGATCCATCTAAACTGGCATGCCCGTTCGAGCTCGGGGGGTTCTTGAATTTAGCTGCGTGTACCTCAGGTCTCCTGAAGGTGACACCAAAGTACAAGATAGATAGATAGATAGATAGGTAATATCTGACGTGAATTGCTTACCGCTAGTGAGCGATTTAGGTCACGTCCTCTGAAGATGTACCGTGATCATCGATGAAATGGCTCTGCAGAGCGTTGCTCTTAACTTAGTGGGAGTGTTCCTTTGCAGTCTGATGAAGTCGCTGCATGTTAACTTTGCACTAAGGGCGTTTCCGAACCCTATAGTCATCCTTATTGATTCGCCCTGTCTTACCCAGGATACACTACCGTTCGAGGCTCTTAACGTACCAACGCATGCAGTCAGAAGATGATTCACCATCCAAGCAAATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTGGCTTTAAAGCACCGAATGTAGTTGGCCATCGGTCTCGGTCACCAATAAGACGGCCTCGTGGGTCACTCGGTCGATGATCTAGGGTCGGGTGCATAGTGTTTCAGGTCGGCGCTCAGGGTTCTTGTCAGGGAAATCTACGGGTGAGTTGGAAAGCGCCGCCAGCGAGATGCCTGTAGGCGATTAGTGTAGAGAGAGCAACATCGGAAAATTGTCCGTGGGGCGCTACGTAAGTGTTCCCAGTATTCTCGTCCAGAGTAAGTCATGCATACCAGTATCAGGCGTCTGTGTGTTACGTTGCAGTGTATCCCGGTAGCGGGAAGCGTATAGAGCGTAACAGACCTGTCCTACAGCACGCAGGATGTCGACCCTTTCTCAGGCACGATACTTCGTGTAACAGCAGTTCCGGTGTCATCTGTAACTGTTCTGTGTTCCATAGTGAAGATATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGGGCGACCCTGGCAATCAGGCGCCTGCTTATATGACAATTTGTCGCAATACGGGTCGCAGATGTATTGTCCGCATGAGTTTACGGTATCCGGAACTGTCACCGCCGATCCAATATGATCGCAAATCGGGGTGACACAATGGACCGCCGTAGATAAACCCTGCGATGCTGCAATAAGGATATGATATCGCGCGCGGGCCGTAAAACCGATCTTGGAAGGCGGGAAGTCTCCGGGAAAAACTCTCTGATAAAGCCTATTACAAGAAGAGCTCGAAGGCAAGATGGGCATGCCCCGTCGACCACACGGGCAAGCTCTGAGAATCGATGTGGTCGCTTAACCAACCCATACGGAGTGAACGAGACCACGCGGGCGGTTCTTGGTACGCATGATTCCTATTGGTTCTGCCGGGCGTGTGCAGGATTGTTCACTCCCCACCCTGTCGCTCACGAACGCGCTGGTTGCTTAAACCGACCGGAAATTCTGTAGCCGCCCCGTAAGTTTAACGCTTTGAAATACTCCACATGTGCGTACCGGGTCTGATCGCTTACGTGGCGCCACTATGTTAGGAGCTCATAGATATCGATGAATCAAATGTCTTTCATCGCTCCTTAAACAACCTGACGTATTCGCAAAATTGCGCGTATTGAGAAGGGAAAGTTAAAGGAACGATAACAATGAGTCTGCTTTCACCGGCTGCATAACGGGATCGCGCGCTATGGGATTTCCTAACTATAATTCGTGTCGATACTCAGACGCGTTGTACAGGTAAGAAGTCGGCGGGACAGTATTTGAGAAGGGGCTCTGCGGCACCAACGCCGAGCTGTATCAGGGGGGTTAATGTGTAGCGGGCATATAACACAATACAGCCCGCGGCGCGTCGTGGTTACCGTAGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACACCGGAGCTAGGATCCACGACTACCAGTGGGAAACTGTGAATTGTGCATGGTAATTAAAGGATGACTGGTCAACACCGGTCTCCACGGGCGTTAAACAACCTCGCTCCAGTCAATCTCTAGCGGTGGTTGTGGCAGCTTATTCCTGGAGGTAATACTCTTCCGGGCCCACTAAAAATGTAACGAAGTCGAGGTTGGGTCAGGGGATTGAGTGGGGGCGACTCACTGATTCCACCAGGAATTGTCGTCAATCGCGACGTACTTTGAGCCTTGTATCTTGGCGTTTCTTGTTGGTACGCGGCCGTGTTCGTGAATCACGACGTCGTTCATGATTCATCCGTCCAAGCCTAGACCTAGCGTAAAAACGGTGTCGATCTGTGCTCCAACCGATGGATGGTTTTTACACAAGTGAACTTCGAGGCTGTGGGACAAACAGCACAACTTGTTCACTGCTGACCGTGGTACTAAACCACGCTTGCTTTCAGCCCTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTCAGATGCGGATCAAGGGTTACTCGAGCCGTTCTGAGGTCCTAAAATTTTAGCCCTTGGTGTTAGCTTCGGTTTAAGAACGTAGGTGCGACGCGGGGGTCCTAGAGCTCCGCGATCTGCACTCCCCACCTGGCACCAAAACGAATCCTGCATAACGGCTCTCTGTGCATGGGGGATGGTCGCAACAACGAGCATAGCTGGCATCACTTCGTTTGCTGTGGATTGCTGTTTTATACAGAATACGGTGGTGATCATCAAAGGAAGCATAATCCACATCGGGCACCCCGGGCCATCGTGCGTTCCCTTATAGCCGGCTTGCATGTTGGGGGAGGAGTAAGGCCGGTAACGTCTCGCAGCACTGTCGCGTAACACAGGTACATCTTTATTTCCGGTGCTGTAGAAGTGGTTTTTCGAAGGCGTAACCCAGAACGACTGATATAATAGTCCACTATTCCCTGGTTTAAGACTTCTACAAAGTTTTACGCAAAGTTACATGCACACTCGGCGACGTAAATATTAGCCTTGCTAAATTGCCACGGATATTAATCCCGAGCCAACCTGTTCCCACTAGCGGTCTACGGTCATAGTCCTTTGTGTAGAGCGTCATTGCGGTTGGGGCCCGTCCGCGGAGGTTCCCCTTATGATCTAACCGCGGTGCAGGTTGACTGAATGCCATACACTATAGAGAAGACGTCTAAGTAGAAACGTTCTTTAAAAATCTTGAACTGACGGCCGAGTATTATCAAGAGAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCATGCACAATAAGGTTAGAAGCAGCAAGCATGTATTCTTTGCATAGAGGCGGTAAAGCCGCCTTGCATACCCAGCAGCAGCCGCGAAGGCCTTACTCCAGAGGACAGAACTTCTCACACAGCGTCCGCATACACCGCGGACGTGACAAGGTTAGATAGCTCTAGTTTGCGGCAACCCTCGCATCAGGCCGACTCACCCGCGCTTGCTACCCGGAGGATGGGTCAAGGGATAAACATAGCACGTTAGTTAAGCCTAACGTCAGTTTTTAGAGTTTACATGCACGACTAAGTGCATCGAAATACACGCCGTTGACAGACCAACAGCGTGTCAACTGGGCCTTGAGAATTGTATCATAATAGCCAAATACGAGGCCAAGTAGTCCGACGAGAGGCACGTAGAGACCACTTTCCCTAAACGATCTGTCGCATTACCCTTTGACTCGCACCCTATGCCTTATGTTCCAAGCAGCACCGAAGTTAGATTTAAGGGCGTATCTATCGGTACCTCGGTTGGGCCGGTCCACAGCTCCAGCTGAATTAGTGCTCACCCCGCTTCGAGGTTGAGTAAGGGTCACTTTTAAAAATATGCTTAAGGGTGATTCACATGACAGTAATCGAATAGTGAGATATAAGTAGGTGCGCCCCGCGCACACATCAAAACTGTGCAGACTGAAACTGAATGCTGGAGGCTGAGGAAAATGAAGATCAGAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGAGAAGAGTGAATGAATAGATCTGCCGCTGAATCCCCGCGTGAGGTTTTTGCGAC -------------------------------------------------------------------------------- /week-6/dna-py/sequences/9.txt: -------------------------------------------------------------------------------- 1 | AGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCTTCCGTGATTCCTGGATACAGTAGGGCTTTCCAAAAGTTTTCCCCCATAGGGTTTGATACGACCGGAGCAGCACAGGCTCTTGAGGGGATCTTCCCTGTGGCCGCTAATTCACGTGCCGGAAGAGATACGGAGTACCGCTGTAGTTGGGAACGCTTTAACCATTGATAGCGTCCACGTCACTACACAACGTATCACAGTCGCATCTGGTCTCTCCTGCGGATTTACCTTACTGCCATTTTACCGCTGCACACTGTCGTTTTTAATAACACAAGCAACAGTCTCGGATCTATGATTCACGTGAAAACAGAAACATCTGAAATCACTGTCTTATCTAGGCCCTCCAAGCCTCGTCATGTAGAGTTTATCAGTTTATAGATCGGTTCATGGCGGCTATTAGTATAGAGCGTGCCATAATAACGGATCGATCCTAAGCATCTGCCCGTCTATCGAAACGACCGCCAACTGGCCGCAGCGAACCGTAGGAGACCCTGTACGGGCCTTGGCAATTTGGCTTTAAACCTATATATCGTTTCGGACACACAAGAAACTGGTAGGTCAAACGTGCGTCCGCTCACAGAATGGGTAAGCTACCAATGTGCATCTTATGGTGAGACCGCGCCGAGGGCAAAGGCTCAACAGGCTGATAGGGTTGTGCTTAGCGCGCTTGGTCATCAATTATGATGGATTCGATCATATAGTGTTCGTGCACACTGCGCCCTGTCAGACCTTCAGCCGAGACGCGCGCATCAACCATTCGTTTTCTCATGAGACTAGTACCCATTGGATTAAGCTGTGAGGTAACAGTCAGACATGGAATCCCGCAGGAACGTGCAGAAAATCCTTGCCCCATAACGATTCGTCACCGCGTTATAAACTGACTGCAATAAGAATTCTAGTCGGTCGTTTGGTCAGCTGTTGCACGTTAAACAACACTTGGAACTCAGACGAGGCCATACTTAATTCGCGGGATAACGGTTTCTGGCATTGACCGTCAGTTGTGGACGGCCGGGGCTAGTCGGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTGTCGACTGTAGCCTAGCTAGGTCGAACACAAAAGGCGGCCTATTAAGAAGAAAAGATTGGAGCTGTCACACTTGAATTTATGGGTTTATCTCGTGTAGTGTAGCGTGAAAAACAGGCGCACTTGGACGCCCTAATGTTTTGCCTATCGTATAGTTCGGCACCCTTATGGACAGCCTAAGGTCCCACGAGCGGATCGCTGCCGGAACCATCAACAGGGCGGTATCGTTAAAGTTGAGAAAAAGGGCTGGCCACAGGAAGGGTCAACTTTCTCTATGGTGATGTGGGACCTCCGAGCTACCGCACAATAGTACTACGGGGGCAATGTCTTGGGTGCGTCTGGCTCTCCAACAATCATAATTTTGCCGTACCTGGTGAATGAGGTTGGGGACATAGTTACGGGTCGCCGGGCCCGCATGCAACAGAGGCTGGTGGAACCGGTGTTAATTGGCAAGAATCCACATTTTTAAGAATGTGGTCCTGACTAGATGGGGCCGCGGAGATTTCTGCCCGCGGATTCAGATTATATTATTGTATTTGATGCCGGAAAACTTCGTCACGACCGGTCCAGCTCGCGCGCTCTATGATTAGCTCTTATACGCAGGCTACGAGCTGCCGTTACAACATTTGCGCACGCAAAGCCAACCTGTCTGGCGACAAGATCAAGGGGCACGTCCACAGTTCCCACAATGGCAATTGTACTATAGGGGTACTCGTCGGATAGGAATTGTTAGGGGGCATTATCTTACGCCTGTGCGATATAGTCGCGGCGGGCTGTCTATCAATCCTGATCGACCGCTAGGTCAATGGGGGGATTACGGACAAACCCCGAGGCTCAACGTGGGACAACGGACTCCTCATGAGGGGCGAACGATTAAGAAGCTCGTCCCTATAAAAGACAGCACTTTCCTATCTTTTAGATAGAAAGGTAAGTGTGATGATCAGACCATTAGGGGCGACATGATTGCCTAAGGTTTCTCCTCATCTTCCATGCCAATCGACCAGGACCGATAGCCATATCTTATTGCTTGTAAGGATTGAGGCGCTTACGAGGACCCAATGGGAGAAATGAATGAATGAATGAATGAATGAATGAATGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTGCGTATATCGCAACTCGATCCTAGCTCGCAGCCGTAAGCCGGCAGTAACGCACCTGTTTCTCTCCTGACACCTCTCCACGTCGGTATCTCGACCTAGGTCAATAGGCCCCGAGAAAATAGGGCCAACGCATGGATCCCTCGTAAAATTCTCTAAGCCCCCTGCGTCTCCATCAGGTCATCTAAGGATAAATCGGAACCAGTGTTCCTGATTCCTGGGGATCAGTCTCACAAGTCCCCTGTGCAGCAAATCTTAAGCAGCCTCTCCCAGGAAACTAGAGGGTGGAGGGTGTCCAGTGGCGCAACTAGGGAACCCTCGTGTCGACTGCTTTTTTGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTATACTGTACGGTGCCCGAAGATCCAAAAGATTCTCGATTTCAAAAATAGTTTCACTATTGACCTCAGCTACCGAACGTGTCACGCGAATAAGAACTACGACTGATTGTTGGCCGAGTTCCTGTTGGTCAAATTGACACGCGTAAGAAAGTCATTATTGAAGATCGTAACTTTGCATTAGAGATATCATAAACTGAATACGATCGGAGCGCTCCTCTGATAACCGACCACGAGTTTTGAAAGTTAATGGCTCCACCCTTCCCCTACACATGAATCTCGGCCTACGTAAGGCGTACTGTAAGCCAAGTCATCCCTAGTCTGTTCATTCCGGGATGAGAGATAGCATACGAGGACTCCTAGGCACCGTACTAGAGATCCGTGACTACACTTGGTGAGGTGCAAACAGCCTCCCGCGGTACCCAGCCATGTGCGTAGAAGGCCTTCGGTGATTTAAACGTGGTTCAGTGGGGGACAACCCGCCGTTCTCATAGGTCGTCCTCCTCGTCCTCTGTTGGTAAGCTGTCACCAGAAGCTCTCAAAGGAGTTCCGCGTGGAACTGTACCTTACGCCCAAGTTGACAAGACGAGTCTCCATCCGCCCAATCGAGGGCGGATGCGGTGTTCATCTTAAACTACCGCCCCCGCCCTTCGTTTGAAAAAAGGCAGGCATCGGAAGCACTACGAGCCCCATTCACGAACCACACCCGTGCTAGCTGTGACGCTTACGTCGCTAAAGAGGGGTAGTGAGTAGGGTACACCTTCAGCACTCGGACCATCCCAAACGAAGGACACAGGTTTTAGCGCCGGTCACAGGCCTCGTATGATGAATGACAAGTCATATAATAGGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAATTGTTCTTCGAGGCTTCTTCGCCAGGATTGGCGGCGTGGTGACCAGCGTGCATATCCCTCAGTTTACAGTCCATCCGGTCATACTAGAAAATCCGGGTGGACTTGACATGTGCTCAGTTTAAGGGCCATCCGGCCTCTCAATCGTTCAGGGCGATCGACTCAGCAGATAACCCGTCTTGAAGTCCTAGTTCCCGCTCCCGCGGTAATAGTGCTTGATCACTAGCGATTCAGGAAACGAGCCGTCCGTGGAAAAGCCGAACGGGACGCCCCCTCACCGAATGCGGTCTGTCCTGAGAGGACCTGACAAAACTACCAGGTGGCGTGTCTAGGTTGGCGAACTAGAATTTTATAGAACCACCGCTCTCCCCCGGTTGACACACCAACATTCCCGTACTCAGATGGAACAGCAGGGTGCAAAAGGTTAGCGTCGCTCCCCTTGTCCACTGTCCGCGGAAGGTACCTCTAACAGGAACCGGGGCCCTTTCTGAGCGAAGAACCAGGAGGTTGAACAAAAACAACGAAAACAGGTGCAGGCCACTGTAAGGTTTGTTTCCAAATCCGTGCCAAAGCAGTACCGGGAGTTTGTGACGAGTAACTGACAACAGTCCCTTCCTACGATACTGAGGTCAGAATAGGCGCTCGTGGAAATGAATCGCTAGCGGATTCACACCAAGCGTATGCCGCAGTCGACCTCTATTAGTAGGTGTCCCAGCGGAGCTGCCCAGCAAGCGAGTGTCAGTCCTCGTATGTCCTAGCAGTTGCAGCAGCATGCCTACGCTTGCGAAACCACAACCTTCATCCCAGAGGAATCCCTTGGACAGTGGTGGTTGACTAGAACGCGAATCCTATATGCTGGAGATCTCCCTTACAGACTAAATTCACTTGTCACTTCGAAATCGGATGCGAGCACGCTCTCAACATAGAAGGTTCGTGACTTTAGCCATGCTAGATCCGATCCCCTTGGTATCCCAGACCATAAAGTAAACCAAAGGACACCTCCACAAGTCGAGTCGATGACATGCAGTAAGCATGAATGATTCCTTTATCAGGAGCAGCATAACTATGAACAACCAGGTAGCGTTGTAACAGATATAGGTCGACACACGGCTTCCTTCATTGTCGGGATCGATGAGGAAGCGAAGTTAACCGCTGTGCTGGTCATCGCTCCAAGTGTTTTCTAATATTCCCCCGTATTATCACAGCTAACGCCCGCGGGATCGTCCGTAAGTTTTAAACAATCTGATAGCCAATAAACCAATAGCCACGTTATGGTACTGGAAGTAGTCGATAAGACTGGCGAAACAAACTTCCCGTCAGGGCCGGGCATGTACAGCATGGGACTGAGTCATTATCGTGTCGAGGGCAGCTGTACGTCTTTAGCAAGGGTAAGGTGAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAATACGGTGATCTGGTCAGGTCTTGGGGGTTGGAAGCATCTTGCAGGTATAAGCAAAAAGGGATATTCTTATGTATTCCGTATTCGTACACAATGAATGGACACTGGGACACTCGCGAGCAAAATACGCCCTGACGACAACACAAATGTCATGGGATTATATGTCTTCGATTAGAAGGTAAGAAATCGCACAGCGGCAACGAACGTAATCTAGAAGTTCTAAGATGGCCTAAAAAACGCCCGTCTCCCCTAAGGTCTAGCAACAACGGTTGATTGCAAGGGGCGTCGGAACAGCCCGGCTTCCTTATAGAAGTATCGAGGTTTCGCCAAAGTACATACTGTTGCCCGCTAAGGTTCGCCTAACAGTCAGAGTAGGTGAGGCGATCGGCCGTGCGTGTCTTTAGTTTTCGACAAGCGTGCTCGGTGTATCGCGT -------------------------------------------------------------------------------- /week-6/hello-py/hello.py: -------------------------------------------------------------------------------- 1 | import cs50 2 | 3 | 4 | def main(): 5 | name = cs50.get_string("whats your name: ") 6 | print("hello, " + name) 7 | 8 | 9 | main() 10 | 11 | -------------------------------------------------------------------------------- /week-6/lab6/2018m.csv: -------------------------------------------------------------------------------- 1 | team,rating 2 | Uruguay,976 3 | Portugal,1306 4 | France,1166 5 | Argentina,1254 6 | Brazil,1384 7 | Mexico,1008 8 | Belgium,1346 9 | Japan,528 10 | Spain,1162 11 | Russia,493 12 | Croatia,975 13 | Denmark,1054 14 | Sweden,889 15 | Switzerland,1179 16 | Colombia,989 17 | England,1040 18 | -------------------------------------------------------------------------------- /week-6/lab6/2019w.csv: -------------------------------------------------------------------------------- 1 | team,rating 2 | Norway,1915 3 | Australia,2003 4 | England,2049 5 | Cameroon,1499 6 | France,2043 7 | Brazil,1944 8 | Spain,1913 9 | United States,2101 10 | Italy,1868 11 | China PR,1866 12 | Netherlands,1967 13 | Japan,1991 14 | Germany,2072 15 | Nigeria,1599 16 | Sweden,1962 17 | Canada,2006 18 | -------------------------------------------------------------------------------- /week-6/lab6/tournament.py: -------------------------------------------------------------------------------- 1 | # Simulate a sports tournament 2 | 3 | import csv 4 | import sys 5 | import random 6 | 7 | # Number of simluations to run 8 | N = 1000 9 | 10 | 11 | def main(): 12 | 13 | # Ensure correct usage 14 | if len(sys.argv) != 2: 15 | sys.exit("Usage: python tournament.py FILENAME") 16 | 17 | teams = [] 18 | # TODO: Read teams into memory from file 19 | with open(sys.argv[1], "r") as file: 20 | reader = csv.DictReader(file) 21 | for row in reader: 22 | row["team"] 23 | row["rating"] = int(row["rating"]) 24 | teams.append(row) 25 | 26 | counts = {} 27 | # TODO: Simulate N tournaments and keep track of win counts 28 | numb = 0 29 | while numb < N: 30 | winnner = simulate_tournament(teams) 31 | 32 | if winnner in counts: 33 | counts["winner"] += 1 34 | else: 35 | counts["winner"] = 1 36 | # Print each team's chances of winning, according to simulation 37 | for team in sorted(counts, key=lambda team: counts[team], reverse=True): 38 | print(f"{team}: {counts[team] * 100 / N:.1f}% chance of winning") 39 | 40 | 41 | def simulate_game(team1, team2): 42 | """Simulate a game. Return True if team1 wins, False otherwise.""" 43 | rating1 = team1["rating"] 44 | rating2 = team2["rating"] 45 | probability = 1 / (1 + 10 ** ((rating2 - rating1) / 600)) 46 | return random.random() < probability 47 | 48 | 49 | def simulate_round(teams): 50 | """Simulate a round. Return a list of winning teams.""" 51 | winners = [] 52 | 53 | # Simulate games for all pairs of teams 54 | for i in range(0, len(teams), 2): 55 | if simulate_game(teams[i], teams[i + 1]): 56 | winners.append(teams[i]) 57 | else: 58 | winners.append(teams[i + 1]) 59 | 60 | return winners 61 | 62 | 63 | def simulate_tournament(teams): 64 | """Simulate a tournament. Return name of winning team.""" 65 | # TODO 66 | while len(teams) > 1: 67 | teams = simulate_round(teams) 68 | return teams[0]["team"] 69 | 70 | if __name__ == "__main__": 71 | main() 72 | -------------------------------------------------------------------------------- /week-6/mario-py/mario.py: -------------------------------------------------------------------------------- 1 | import cs50 2 | 3 | def main(): 4 | # get Height from user 5 | h = get_int() 6 | 7 | for i in range(h): 8 | # add spaces. decrementing so subract 1 9 | for jok in range(h - i - 1): 10 | print(" ", end="") 11 | # print hashtags 12 | for jeb in range(i + 1): 13 | print("#", end="") 14 | print("") 15 | 16 | 17 | def get_int(): 18 | while True: 19 | x = cs50.get_int("Height: ") 20 | if x > 0 and x < 9: 21 | break 22 | return x 23 | 24 | 25 | main() 26 | 27 | -------------------------------------------------------------------------------- /week-6/readability-py/readability.py: -------------------------------------------------------------------------------- 1 | import cs50 2 | 3 | def main(): 4 | 5 | sents = 0 6 | letters = 0 7 | word = 0 8 | 9 | s = cs50.get_string("Text: ") 10 | letters = len(s) 11 | 12 | for i in s: 13 | if i in [".", "?", "!"]: 14 | sents = sents + 1 15 | 16 | for i in s: 17 | if i == " ": 18 | word = word + 1 19 | 20 | sun = sents + word 21 | letters = letters - sun 22 | word = word + 1 23 | 24 | L = (letters / word) * 100 25 | S = (sents / word) * 100 26 | 27 | index = (0.0588 * L - 0.296 * S - 15.8) 28 | indexx = index 29 | 30 | if indexx < 1: 31 | print("Before Grade 1") 32 | 33 | elif indexx > 16: 34 | print("Grade 16+") 35 | else: 36 | print("Grade ", indexx) 37 | 38 | main() 39 | 40 | -------------------------------------------------------------------------------- /week-7/fiftyville/answers.txt: -------------------------------------------------------------------------------- 1 | The THIEF is: Bruce 2 | The thief ESCAPED TO: New York City 3 | The ACCOMPLICE is: Robin -------------------------------------------------------------------------------- /week-7/lab7/1.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs; 2 | -------------------------------------------------------------------------------- /week-7/lab7/2.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs ORDER BY tempo ASC; -------------------------------------------------------------------------------- /week-7/lab7/3.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs ORDER BY duration_ms DESC LIMIT 5; -------------------------------------------------------------------------------- /week-7/lab7/4.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs WHERE danceability > 0.75 AND valence > 0.75 AND energy > 0.75; -------------------------------------------------------------------------------- /week-7/lab7/5.sql: -------------------------------------------------------------------------------- 1 | SELECT AVG(energy) FROM songs; -------------------------------------------------------------------------------- /week-7/lab7/6.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs WHERE artist_id = (SELECT id from artists WHERE name = "Post Malone"); -------------------------------------------------------------------------------- /week-7/lab7/7.sql: -------------------------------------------------------------------------------- 1 | SELECT AVG(energy) FROM songs WHERE artist_id = (SELECT id FROM artists WHERE name = "Drake"); -------------------------------------------------------------------------------- /week-7/movies/1.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies WHERE year = "2008"; -------------------------------------------------------------------------------- /week-7/movies/10.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM people WHERE id IN (SELECT DISTINCT directors.person_id FROM directors JOIN movies ON movies.id = directors.movie_id WHERE id IN (SELECT movie_id FROM ratings WHERE rating >= "9.0")); -------------------------------------------------------------------------------- /week-7/movies/11.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies 2 | JOIN ratings ON 3 | movies.id = ratings.movie_id 4 | WHERE id IN( 5 | SELECT movie_id FROM stars 6 | WHERE person_id IN( 7 | SELECT id FROM people 8 | WHERE name = "Chadwick Boseman")) 9 | ORDER BY rating desc LIMIT 5; 10 | -------------------------------------------------------------------------------- /week-7/movies/12.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies 2 | WHERE id IN ( 3 | SELECT movie_id FROM stars WHERE person_id = (SELECT id FROM people WHERE name = "Helena Bonham Carter") 4 | INTERSECT 5 | SELECT movie_id FROM stars WHERE person_id = (SELECT id FROM people WHERE name = "Johnny Depp") 6 | ); -------------------------------------------------------------------------------- /week-7/movies/13.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM people WHERE id IN( 2 | SELECT person_id FROM stars WHERE movie_id IN( 3 | SELECT movie_id FROM stars WHERE person_id =( 4 | SELECT id FROM people WHERE name LIKE "Kevin Bacon" AND birth = 1958 5 | ))) AND name NOT LIKE "Kevin Bacon"; -------------------------------------------------------------------------------- /week-7/movies/2.sql: -------------------------------------------------------------------------------- 1 | SELECT birth FROM people WHERE name = "Emma Stone"; -------------------------------------------------------------------------------- /week-7/movies/3.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies WHERE year > 2017 ORDER BY title; -------------------------------------------------------------------------------- /week-7/movies/4.sql: -------------------------------------------------------------------------------- 1 | SELECT count(rating) FROM ratings WHERE rating = 10.0; -------------------------------------------------------------------------------- /week-7/movies/5.sql: -------------------------------------------------------------------------------- 1 | select title,year from movies where title like "Harry Potter%" order by year ; -------------------------------------------------------------------------------- /week-7/movies/6.sql: -------------------------------------------------------------------------------- 1 | select avg(rating) from ratings where movie_id in(select id from movies where year = "2012"); -------------------------------------------------------------------------------- /week-7/movies/7.sql: -------------------------------------------------------------------------------- 1 | SELECT title , rating FROM movies JOIN ratings on movies.id = ratings.movie_id WHERE year = "2010" ORDER by rating DESC, title; -------------------------------------------------------------------------------- /week-7/movies/8.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM movies JOIN stars ON movies.id = stars.movie_id JOIN people ON stars.person_id = people.id WHERE title = "Toy Story"; -------------------------------------------------------------------------------- /week-7/movies/9.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM people WHERE id IN (SELECT DISTINCT stars.person_id FROM stars JOIN movies ON movies.id = stars.movie_id WHERE year = "2004") ORDER BY birth; -------------------------------------------------------------------------------- /week-8/HomePage/README.md: -------------------------------------------------------------------------------- 1 | ## WEB's interface 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /week-8/HomePage/doc/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/doc/1.png -------------------------------------------------------------------------------- /week-8/HomePage/doc/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/doc/2.png -------------------------------------------------------------------------------- /week-8/HomePage/doc/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/doc/3.png -------------------------------------------------------------------------------- /week-8/HomePage/doc/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/doc/4.png -------------------------------------------------------------------------------- /week-8/HomePage/doc/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/doc/5.png -------------------------------------------------------------------------------- /week-8/HomePage/font/Shabnam-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/font/Shabnam-Bold.eot -------------------------------------------------------------------------------- /week-8/HomePage/font/Shabnam-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/font/Shabnam-Bold.ttf -------------------------------------------------------------------------------- /week-8/HomePage/font/Shabnam-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/font/Shabnam-Bold.woff -------------------------------------------------------------------------------- /week-8/HomePage/font/Shabnam.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/font/Shabnam.eot -------------------------------------------------------------------------------- /week-8/HomePage/font/Shabnam.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/font/Shabnam.ttf -------------------------------------------------------------------------------- /week-8/HomePage/font/Shabnam.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/font/Shabnam.woff -------------------------------------------------------------------------------- /week-8/HomePage/img/Brute-Force-Attack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/Brute-Force-Attack.png -------------------------------------------------------------------------------- /week-8/HomePage/img/GitHub-Mark-120px-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/GitHub-Mark-120px-plus.png -------------------------------------------------------------------------------- /week-8/HomePage/img/Twitter social icons - circle - blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/Twitter social icons - circle - blue.png -------------------------------------------------------------------------------- /week-8/HomePage/img/about.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/about.jpg -------------------------------------------------------------------------------- /week-8/HomePage/img/brute.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/brute.jfif -------------------------------------------------------------------------------- /week-8/HomePage/img/c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/c.png -------------------------------------------------------------------------------- /week-8/HomePage/img/coming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/coming.png -------------------------------------------------------------------------------- /week-8/HomePage/img/fava.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/fava.jpg -------------------------------------------------------------------------------- /week-8/HomePage/img/fava.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/fava.png -------------------------------------------------------------------------------- /week-8/HomePage/img/instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/instagram.png -------------------------------------------------------------------------------- /week-8/HomePage/img/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/me.png -------------------------------------------------------------------------------- /week-8/HomePage/img/project-1.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/project-1.jfif -------------------------------------------------------------------------------- /week-8/HomePage/img/project-2.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/project-2.jfif -------------------------------------------------------------------------------- /week-8/HomePage/img/project-3.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/project-3.jfif -------------------------------------------------------------------------------- /week-8/HomePage/img/project-4.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/project-4.jfif -------------------------------------------------------------------------------- /week-8/HomePage/img/project-5.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/project-5.jfif -------------------------------------------------------------------------------- /week-8/HomePage/img/project-6.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/project-6.jfif -------------------------------------------------------------------------------- /week-8/HomePage/img/python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/python.png -------------------------------------------------------------------------------- /week-8/HomePage/img/skills.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/skills.jpg -------------------------------------------------------------------------------- /week-8/HomePage/img/telegram-logo-944.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-8/HomePage/img/telegram-logo-944.png -------------------------------------------------------------------------------- /week-8/HomePage/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | ali sharify 12 | 13 | 14 | 15 |
16 | 33 |
34 | 35 | 73 |
74 |
75 |

درباره من

76 | 77 |
78 |
79 |

طراح و برنامه نویس سایت

80 |

81 | متولد بیست و یکمین روز از دهمین ماه سال، همیشه به دنبال یادگیری 82 | مسائل جدید و هم اکنون در حوزه طراحی و توسعه وب سایت فعالیت میکنم. 83 | رویاپردازی و میل به پیشرفت مهمترین خصوصیات من بود که باعث شد وارد 84 | دنیای وب بشوم چرا که فضای وب انتهایی ندارد و همیشه فضا برای پیشرفت 85 | و خلق ایده های جدید دارد. 86 |

87 |
88 |
89 | 90 |
91 |
92 |
93 |
94 |

مهارت های من

95 | 96 |
97 |
98 | 99 |
100 |
101 |

مهارت ها

102 |

103 | هر چند این دریا بی کران است، ولی به صورت میانگین، سطح مهارت های من 104 | به این صورت است: 105 |

106 | 107 |
108 | 112 | 113 | 45% 114 |
115 |
116 | 117 |
118 | 122 | 123 | 70% 124 |
125 |
126 | 127 |
128 | 132 | 133 | 80% 134 |
135 |
136 | 137 |
138 | 142 | 143 | 80% 144 |
145 |
146 |
147 |
148 |
149 |
150 |

پروژه های من

151 |
152 |
153 | 154 |
155 | 156 | 157 | 158 |
159 | 160 |
161 | 162 | 163 | 164 |
165 | 166 |
167 | 168 | 169 | 170 |
171 | 172 |
173 | 174 |
175 |
176 | 177 |
178 |
179 | 180 |
181 |
182 |
183 |
184 |
185 |

تماس با من

186 | 187 |
188 |
189 | 190 | 191 | 192 |
193 | ارسال 194 |
195 |
196 |
197 | 198 | 199 | -------------------------------------------------------------------------------- /week-8/HomePage/style.css: -------------------------------------------------------------------------------- 1 | /* general styles */ 2 | html { 3 | --first-color: purple; 4 | --second-color: green; 5 | 6 | --anim-speed: 0.5s; 7 | 8 | box-sizing: border-box; 9 | 10 | /* font-size: 8px; */ 11 | 12 | scroll-behavior: smooth; 13 | } 14 | 15 | body { 16 | margin: 0; 17 | padding: 0; 18 | font-family: "Shabnam", tahoma; 19 | } 20 | 21 | 22 | /* end of general styles */ 23 | 24 | /* HOME */ 25 | .home { 26 | display: flex; 27 | /* height: calc(100vh - 3rem); */ 28 | height: 100vh; 29 | 30 | justify-content: space-between; 31 | align-items: center; 32 | row-gap: 1rem; 33 | padding: 0 10rem; 34 | } 35 | .home-img-profile{ 36 | max-width: 400px; 37 | border-radius: 60% 40% 30% 70%; 38 | } 39 | .home-social { 40 | position: fixed; 41 | width: 3rem; 42 | height: 100%; 43 | display: flex; 44 | flex-direction: column; 45 | align-items: center; 46 | justify-content: center; 47 | font-size: 2rem; 48 | } 49 | .social-icons-list { 50 | list-style: none; 51 | padding-left: 0; 52 | } 53 | 54 | .social-icons-list li { 55 | padding: 0.2rem 0; 56 | } 57 | 58 | .home-social-link { 59 | color: #bbb; 60 | } 61 | 62 | .home-social-link:hover { 63 | color: var(--first-color); 64 | transition: color var(--anim-speed); 65 | } 66 | 67 | .home-info h1 { 68 | text-align: right; 69 | font-family: Shabnam; 70 | font-size: 3rem; 71 | font-weight: 400; 72 | line-height: 1.7; 73 | padding-bottom: 2rem; 74 | } 75 | 76 | .home-info-name { 77 | color: var(--first-color); 78 | position: relative; 79 | } 80 | .home-info-name::after { 81 | content: ""; 82 | position: absolute; 83 | top: 0; 84 | bottom: 0; 85 | left: 0; 86 | right: 0; 87 | width: 0; 88 | background-color: var(--first-color); 89 | animation: swipe-in 1s ease-in-out; 90 | } 91 | @keyframes swipe-in { 92 | 0% { 93 | width: 0; 94 | } 95 | 50% { 96 | width: 100%; 97 | left: 0; 98 | } 99 | 100% { 100 | width: 0%; 101 | left: 100%; 102 | } 103 | } 104 | 105 | /* end of HOME */ 106 | 107 | /* BUTTONS */ 108 | .button { 109 | display: inline-block; 110 | background-color: var(--first-color); 111 | color: #fff; 112 | font-family: Shabnam; 113 | font-size: 1rem; 114 | border-radius: 0.5rem; 115 | padding: 0.5rem 1.2rem; 116 | text-decoration: none; 117 | } 118 | .button:hover { 119 | box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4); 120 | } 121 | .button:active { 122 | transform: translate(0.2rem, 0.2rem); 123 | } 124 | 125 | /* end of BUTTONS */ 126 | 127 | section { 128 | width: 60%; 129 | /* height: calc(100vh - 3rem); */ 130 | height: 100vh; 131 | padding: 0 20%; 132 | background-color: #fff; 133 | display: flex; 134 | flex-direction: column; 135 | } 136 | 137 | .section-title { 138 | font-family: Shabnam; 139 | font-size: 2em; 140 | font-weight: 700; 141 | margin-bottom: 0; 142 | /* text-decoration: underline; چون نمیتوانیم پدینگ یا مارجین دهیم */ 143 | border-bottom: 2px solid var(--first-color); 144 | color: var(--first-color); 145 | margin-top: 4rem; 146 | } 147 | 148 | /* ABOUT */ 149 | .about-container { 150 | display: flex; 151 | /* flex-direction: column; 152 | flex-grow: 1; */ 153 | flex-grow: 1; 154 | align-items: center; 155 | } 156 | 157 | .about-img img { 158 | width: 250px; 159 | justify-self: center; 160 | border-radius: 1rem; 161 | /* border-radius: 40% 60% 30% 70% / 30% 30% 70% 40%; */ 162 | /* border-radius: 50% 50% 50% 50%; */ 163 | } 164 | .about-subtitle, 165 | .about-text { 166 | text-align: right; 167 | margin-right: 6rem; 168 | direction: rtl; 169 | line-height: 1.8; 170 | } 171 | 172 | /* end of ABOUT */ 173 | 174 | /* SKILLS */ 175 | .skills-container { 176 | display: flex; 177 | /* flex-direction: column; 178 | flex-grow: 1; */ 179 | flex-grow: 1; 180 | align-items: center; 181 | } 182 | .skills-img img { 183 | width: 250px; 184 | justify-self: center; 185 | border-radius: 1rem; 186 | /* border-radius: 40% 60% 30% 70% / 30% 30% 70% 40%; */ 187 | /* border-radius: 50% 50% 50% 50%; */ 188 | } 189 | .skills-subtitle, 190 | .skills-text { 191 | text-align: right; 192 | direction: rtl; 193 | line-height: 1.8; 194 | } 195 | .skills-body { 196 | margin-left: 6rem; 197 | } 198 | .skill-info { 199 | display: flex; 200 | padding: 0.5rem 1rem; 201 | box-shadow: 0 4px 25px rgba(14, 36, 49, 0.15); 202 | justify-content: space-between; 203 | align-items: center; 204 | position: relative; 205 | margin-top: 1rem; 206 | border-radius: 0.8rem 0.8rem 0.2rem 0.2rem; 207 | background-color: #fff; 208 | } 209 | .skill-logo { 210 | color: var(--first-color); 211 | font-size: 2rem; 212 | } 213 | .skill-name-logo { 214 | display: flex; 215 | align-items: center; 216 | } 217 | .skill-name-logo * { 218 | padding-left: 1rem; 219 | } 220 | .skill-bar { 221 | position: absolute; 222 | background-color: var(--first-color); 223 | height: 0.25rem; 224 | border-radius: 0.5rem; 225 | left: 0; 226 | bottom: 0; 227 | } 228 | .css { 229 | width: 45%; 230 | } 231 | .html { 232 | width: 70%; 233 | } 234 | .javascript { 235 | width: 80%; 236 | } 237 | .ui { 238 | width: 45%; 239 | } 240 | /* end of SKILLS */ 241 | 242 | /* PROJECTS */ 243 | .projects-container { 244 | display: flex; 245 | flex-grow: 1; 246 | align-items: center; 247 | } 248 | .images-container { 249 | display: grid; 250 | grid-template-rows: 1fr 1fr; 251 | grid-template-columns: 1fr 1fr 1fr; 252 | grid-gap: 2rem; 253 | } 254 | .image-wrapper { 255 | overflow: hidden; 256 | } 257 | .projects-img { 258 | width: 100%; 259 | height: 100%; 260 | vertical-align: middle; 261 | transition: all 1s; 262 | } 263 | .projects-img:hover { 264 | transform: scale(1.4); 265 | } 266 | /* end of PROJECTS */ 267 | 268 | /* CONTACT ME */ 269 | .contact-container { 270 | display: flex; 271 | flex-direction: column; 272 | align-items: center; 273 | flex-grow: 1; 274 | justify-content: center; 275 | } 276 | .contact-form { 277 | display: flex; 278 | flex-direction: column; 279 | } 280 | 281 | .contact-form * { 282 | font-family: "Shabnam"; 283 | font-size: 1.4rem; 284 | border: 2px solid #000; 285 | border-radius: 0.5rem; 286 | padding: 0.3rem; 287 | margin: 0.3rem; 288 | direction: rtl; 289 | } 290 | 291 | /* end of CONTACT ME */ 292 | 293 | /* #skills { 294 | background-color: red; 295 | } 296 | #about{ 297 | background-color: blue; 298 | 299 | } */ 300 | 301 | /* HEADER */ 302 | .nav-bar { 303 | position: fixed; 304 | top: 0; 305 | right: 0; 306 | bottom: 0; 307 | left: 0; 308 | background-color: #fff; 309 | height: 4rem; 310 | z-index: 100; 311 | transition: left 0.3s cubic-bezier(1, 0, 0, 1); 312 | } 313 | .nav-list { 314 | display: flex; 315 | justify-content: center; 316 | align-items: center; 317 | } 318 | .nav-list ul { 319 | display: flex; 320 | list-style: none; 321 | direction: rtl; 322 | } 323 | .nav-list ul li a { 324 | text-decoration: none; 325 | padding: 0 0.6rem; 326 | color: var(--first-color); 327 | margin: 0 0.4rem; 328 | font-size: 1.1rem; 329 | position: relative; 330 | } 331 | .nav-list ul li a:hover { 332 | color: var(--second-color); 333 | transition: color 0.5s; 334 | } 335 | 336 | /* end of HEADER */ 337 | 338 | /* FONTS */ 339 | @font-face { 340 | font-family: Shabnam; 341 | src: url("font/Shabnam-Bold.eot"); 342 | src: url("font/Shabnam-Bold.eot?#iefix") format("FontName-opentype"), 343 | url("font/Shabnam-Bold.woff") format("woff"), 344 | url("font/Shabnam-Bold.ttf") format("truetype"); 345 | font-weight: 400; 346 | font-style: normal; 347 | } 348 | 349 | /* end of FONTS */ 350 | .checkbox:checked ~ .nav-bar { 351 | left: 100%; 352 | } 353 | /* HAMBURGER */ 354 | 355 | /* end of HAMBURGER */ 356 | 357 | /* MEDIA QUERIES */ 358 | @media (max-width: 1300px) { 359 | section { 360 | width: 80%; 361 | padding: 0 10%; 362 | } 363 | } 364 | @media (max-width: 1200px) { 365 | section { 366 | width: 90%; 367 | padding: 0 5%; 368 | min-height: 100vh; 369 | } 370 | 371 | .home-img-profile { 372 | width: 300px; 373 | } 374 | .home-info h1 { 375 | font-size: 2.3rem; 376 | } 377 | } 378 | @media (max-width: 1000px) { 379 | .home-info h1 { 380 | text-align: center; 381 | font-size: 2rem; 382 | font-weight: 400; 383 | } 384 | section { 385 | width: 90%; 386 | padding: 0 5%; 387 | height: auto; 388 | } 389 | .home-img-profile { 390 | width: 200px; 391 | } 392 | .home-info h1 { 393 | font-size: 1.6rem; 394 | } 395 | .home { 396 | flex-direction: column; 397 | justify-content: center; 398 | } 399 | .about-container { 400 | flex-direction: column; 401 | justify-content: center; 402 | } 403 | .skills-container { 404 | flex-direction: column; 405 | justify-content: center; 406 | } 407 | .skills-body { 408 | margin: 0; 409 | } 410 | .about-text { 411 | margin-right: 0; 412 | } 413 | } 414 | @media (max-width: 800px) { 415 | section { 416 | width: 80%; 417 | padding: 0 10%; 418 | } 419 | .images-container { 420 | grid-template-rows: 1fr 1fr 1fr; 421 | grid-template-columns: 1fr 1fr; 422 | grid-gap: 2rem; 423 | } 424 | 425 | .about-img img { 426 | width: 150px; 427 | margin-top: 1rem; 428 | } 429 | .skills-img img { 430 | width: 150px; 431 | margin-top: 1rem; 432 | } 433 | .projects-container{ 434 | margin-top: 1rem; 435 | 436 | } 437 | 438 | } 439 | @media (max-width: 600px) { 440 | .nav-bar { 441 | visibility: collapse; 442 | } 443 | .home-info h1 { 444 | font-size: 1rem; 445 | } 446 | } 447 | /* end of MEDIA QUERIES */ 448 | -------------------------------------------------------------------------------- /week-8/trivia/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Trivia! 8 | 9 | 48 | 49 | 50 |
51 |

Trivia!

52 |
53 | 54 |
55 |
56 |

Part 1: Multiple Choice

57 |
58 | 59 |

whats is the appromiximate ratop of people to sheep in New Zealand?

60 |

61 | 62 | 63 | 64 | 65 | 66 |
67 | 68 |
69 |

Part 2: Free Response

70 |
71 | 72 |

whats is sucks? a little help wind***s

73 |

74 |
75 | 76 | 77 |
78 |
79 |
80 | 81 | -------------------------------------------------------------------------------- /week-8/trivia/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #fff; 3 | color: #212529; 4 | font-size: 1rem; 5 | font-weight: 400; 6 | line-height: 1.5; 7 | margin: 0; 8 | text-align: left; 9 | } 10 | 11 | .container { 12 | margin-left: auto; 13 | margin-right: auto; 14 | padding-left: 15px; 15 | padding-right: 15px; 16 | } 17 | 18 | .header { 19 | background-color: #477bff; 20 | color: #fff; 21 | margin-bottom: 2rem; 22 | padding: 2rem 1rem; 23 | text-align: center; 24 | } 25 | 26 | .section { 27 | padding: 0.5rem 2rem 1rem 2rem; 28 | } 29 | 30 | .section:hover { 31 | background-color: #f5f5f5; 32 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 33 | } 34 | 35 | h1 { 36 | font-family: 'Montserrat', sans-serif; 37 | font-size: 48px; 38 | } 39 | 40 | button, input[type="submit"] { 41 | background-color: #d9edff; 42 | border: 1px solid transparent; 43 | border-radius: 0.25rem; 44 | font-size: 0.95rem; 45 | font-weight: 400; 46 | line-height: 1.5; 47 | padding: 0.375rem 0.75rem; 48 | text-align: center; 49 | transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 50 | vertical-align: middle; 51 | } 52 | 53 | 54 | input[type="text"] { 55 | line-height: 1.8; 56 | width: 25%; 57 | } 58 | 59 | input[type="text"]:hover { 60 | background-color: #f5f5f5; 61 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 62 | } 63 | -------------------------------------------------------------------------------- /week-9/birthdays/Requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | -------------------------------------------------------------------------------- /week-9/birthdays/app.py: -------------------------------------------------------------------------------- 1 | import os 2 | from cs50 import SQL 3 | from flask import Flask, flash, jsonify, redirect, render_template, request, session 4 | 5 | 6 | 7 | # Configure application 8 | app = Flask(__name__) 9 | 10 | # Ensure templates are auto-reloaded 11 | app.config["TEMPLATES_AUTO_RELOAD"] = True 12 | 13 | # Configure CS50 Library to use SQLite database 14 | db = SQL("sqlite:///birthdays.db") 15 | 16 | 17 | @app.after_request 18 | def after_request(response): 19 | """Ensure responses aren't cached""" 20 | response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" 21 | response.headers["Expires"] = 0 22 | response.headers["Pragma"] = "no-cache" 23 | return response 24 | 25 | 26 | @app.route("/", methods=["GET", "POST"]) 27 | def index(): 28 | if request.method == "POST": 29 | name = request.form.get('Name') 30 | month = request.form.get('Month') 31 | day = request.form.get('Day') 32 | 33 | # TODO: Add the user's entry into the database 34 | db.execute('INSERT INTO birthdays (name,month,day) VALUES (?,?,?)',name,month,day) 35 | return redirect("/") 36 | 37 | else: 38 | 39 | # TODO: Display the entries in the database on index.html 40 | temp = db.execute('SELECT name,day,month from birthdays') 41 | 42 | return render_template("index.html",names=temp) 43 | 44 | 45 | -------------------------------------------------------------------------------- /week-9/birthdays/birthdays.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-9/birthdays/birthdays.db -------------------------------------------------------------------------------- /week-9/birthdays/static/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #fff; 3 | color: #212529; 4 | font-size: 1rem; 5 | font-weight: 400; 6 | line-height: 1.5; 7 | margin: 0; 8 | text-align: left; 9 | } 10 | 11 | .container { 12 | margin-left: auto; 13 | margin-right: auto; 14 | padding-left: 15px; 15 | padding-right: 15px; 16 | text-align: center; 17 | width: 90%; 18 | } 19 | 20 | .header { 21 | background-color: #477bff; 22 | color: #fff; 23 | margin-bottom: 2rem; 24 | padding: 2rem 1rem; 25 | text-align: center; 26 | } 27 | 28 | .section { 29 | padding-bottom: 1rem; 30 | padding-left: 2rem; 31 | padding-right: 2rem; 32 | padding-top: 0.5rem; 33 | } 34 | 35 | .section:hover { 36 | background-color: #f5f5f5; 37 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 38 | } 39 | 40 | h1 { 41 | font-family: 'Montserrat', sans-serif; 42 | font-size: 48px; 43 | } 44 | 45 | button, input[type="submit"] { 46 | background-color: #d9edff; 47 | border: 1px solid transparent; 48 | border-radius: 0.25rem; 49 | font-size: 0.95rem; 50 | font-weight: 400; 51 | line-height: 1.5; 52 | padding: 0.375rem 0.75rem; 53 | text-align: center; 54 | transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 55 | vertical-align: middle; 56 | } 57 | 58 | input[type="text"], input[type="number"] { 59 | line-height: 1.8; 60 | width: 25%; 61 | } 62 | 63 | input[type="text"]:hover, input[type="number"]:hover { 64 | background-color: #f5f5f5; 65 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 66 | } 67 | 68 | table { 69 | background-color: transparent; 70 | margin-bottom: 1rem; 71 | width: 100%; 72 | } 73 | 74 | table th, 75 | table td { 76 | padding: 0.75rem; 77 | vertical-align: middle; 78 | } 79 | 80 | tbody tr:nth-of-type(odd) { 81 | background-color: rgb(179, 208, 255, 0.3) 82 | } 83 | 84 | -------------------------------------------------------------------------------- /week-9/birthdays/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Birthdays 8 | 9 | 10 |
11 |

Birthdays

12 |
13 | 14 |
15 |
16 | 17 |

Add a Birthday

18 | 19 |
20 | 21 | 22 | 23 | 24 |
25 |
26 | 27 |
28 | 29 |

All Birthdays

30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | {% for name in names %} 40 | 41 | 42 | 43 | 44 | {% endfor %} 45 | 46 |
NameBirthday
{{name.name}}{{name.month}}/{{name.day}}
47 |
48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /week-9/finance/finance.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-9/finance/finance.db -------------------------------------------------------------------------------- /week-9/finance/finance.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-9/finance/finance.zip -------------------------------------------------------------------------------- /week-9/finance/helpers.py: -------------------------------------------------------------------------------- 1 | import os 2 | import requests 3 | import urllib.parse 4 | 5 | from flask import redirect, render_template, request, session 6 | from functools import wraps 7 | 8 | 9 | def apology(message, code=400): 10 | """Render message as an apology to user.""" 11 | def escape(s): 12 | """ 13 | Escape special characters. 14 | 15 | https://github.com/jacebrowning/memegen#special-characters 16 | """ 17 | for old, new in [("-", "--"), (" ", "-"), ("_", "__"), ("?", "~q"), 18 | ("%", "~p"), ("#", "~h"), ("/", "~s"), ("\"", "''")]: 19 | s = s.replace(old, new) 20 | return s 21 | return render_template("apology.html", top=code, bottom=escape(message)), code 22 | 23 | 24 | def login_required(f): 25 | """ 26 | Decorate routes to require login. 27 | 28 | https://flask.palletsprojects.com/en/1.1.x/patterns/viewdecorators/ 29 | """ 30 | @wraps(f) 31 | def decorated_function(*args, **kwargs): 32 | if session.get("user_id") is None: 33 | return redirect("/login") 34 | return f(*args, **kwargs) 35 | return decorated_function 36 | 37 | 38 | def lookup(symbol): 39 | """Look up quote for symbol.""" 40 | 41 | # Contact API 42 | try: 43 | api_key = os.environ.get("API_KEY") 44 | url = f"https://cloud.iexapis.com/stable/stock/{urllib.parse.quote_plus(symbol)}/quote?token={api_key}" 45 | response = requests.get(url) 46 | response.raise_for_status() 47 | except requests.RequestException: 48 | return None 49 | 50 | # Parse response 51 | try: 52 | quote = response.json() 53 | return { 54 | "name": quote["companyName"], 55 | "price": float(quote["latestPrice"]), 56 | "symbol": quote["symbol"] 57 | } 58 | except (KeyError, TypeError, ValueError): 59 | return None 60 | 61 | 62 | def usd(value): 63 | """Format value as USD.""" 64 | return f"${value:,.2f}" 65 | -------------------------------------------------------------------------------- /week-9/finance/requirements.txt: -------------------------------------------------------------------------------- 1 | cs50 2 | Flask 3 | Flask-Session 4 | requests -------------------------------------------------------------------------------- /week-9/finance/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alisharify7/CS50x/f8e5032e69fe846897c7d1efcd1838f26026298c/week-9/finance/static/favicon.ico -------------------------------------------------------------------------------- /week-9/finance/static/styles.css: -------------------------------------------------------------------------------- 1 | /* Size for brand */ 2 | nav .navbar-brand 3 | { 4 | font-size: xx-large; 5 | } 6 | 7 | /* Colors for brand */ 8 | nav .navbar-brand .blue 9 | { 10 | color: #537fbe; 11 | } 12 | nav .navbar-brand .red 13 | { 14 | color: #ea433b; 15 | } 16 | nav .navbar-brand .yellow 17 | { 18 | color: #f5b82e; 19 | } 20 | nav .navbar-brand .green 21 | { 22 | color: #2e944b; 23 | } 24 | 25 | 26 | .my-auto{ 27 | width: 70%; 28 | margin: 0 auto; 29 | } -------------------------------------------------------------------------------- /week-9/finance/templates/apology.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Apology 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | {{ top }} 10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /week-9/finance/templates/buy.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Buy 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 |
10 | 11 |
12 | 13 |
14 | 15 |
16 | 17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /week-9/finance/templates/history.html: -------------------------------------------------------------------------------- 1 | {% extends 'layout.html' %} 2 | 3 | 4 | {% block title %} 5 | History 6 | {% endblock %} 7 | 8 | {% block main %} 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | {% if value %} 22 | {% for each in value %} 23 | 24 | 25 | 26 | 27 | 28 | 29 | {% endfor %} 30 | {% endif %} 31 | 32 | 33 |
SymbolSharesPriceTransacted
{{each['symbol']}}{{each['shares']}}{{each['price']}}{{each['time']}}
34 |
35 | {% endblock %} 36 | -------------------------------------------------------------------------------- /week-9/finance/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'layout.html' %} 2 | 3 | 4 | {% block title %} 5 | Index 6 | {% endblock %} 7 | 8 | {% block main %} 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {% if value %} 23 | {% for each in value %} 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | {% endfor %} 32 | {% endif %} 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 42 | 43 | 44 | 45 |
SymbolNameSharesPriceTotal
{{each['symbol']}}{{each['name']}}{{each['shares']}}{{each['price']}}{{each['total']}}
cash{{cash_place}}
Total{{total}}
46 |
47 | {% endblock %} 48 | -------------------------------------------------------------------------------- /week-9/finance/templates/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | C$50 Finance: {% block title %}{% endblock %} 20 | 21 | 22 | 23 | 24 | 25 | 51 | 52 | {% if get_flashed_messages() %} 53 |
54 | 57 |
58 | {% endif %} 59 | 60 |
61 | {% block main %}{% endblock %} 62 |
63 | 64 |
65 | Data provided by IEX 66 |
67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /week-9/finance/templates/login.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Log In 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 | 16 |
17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /week-9/finance/templates/quote.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Quote 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 |
10 | 11 |
12 | 13 |
14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /week-9/finance/templates/quoted.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Quoted 5 | {% endblock %} 6 | 7 | {% block main %} 8 | {% if value %} 9 |
10 |

A share of {{value['name']}} ({{value['symbol']}}) costs ${{value['price']}}.

11 |
12 | {% endif %} 13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /week-9/finance/templates/register.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Register 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 |
16 | 17 |
18 | 19 |
20 | {% endblock %} 21 | -------------------------------------------------------------------------------- /week-9/finance/templates/sell.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Sell 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 | 10 |
11 | 19 |
20 | 21 |
22 | 23 |
24 | 25 |
26 | {% endblock %} 27 | --------------------------------------------------------------------------------