| 
 | 
|   |  |   |  | 
|   | == The Genetic Code, by computer ==  |   | == The Genetic Code, by computer ==  | 
|   | + | First, login to the LMU CS server using ssh. Type in the following in a command prompt (Windows) or terminal (Mac) window:  | 
|   | + |  ssh <username@my.cs.lmu.edu>  | 
|   | + | Enter your password. Note: You will not visibly see the cursor move when typing in your password so just keep typing.  | 
|   | + | Then change directories to dondi's using the following commands to find the practice files and other miscellaneous files:  | 
|   | + |  cd ~dondi/xmlpipedb/data  | 
|   | + | Here, you can use the command <code>ls</code> in order to see the list of files in the directory. Then we can start manipulating some files.  | 
|   | + |  | 
|   | + |  | 
|   | === Complement of DNA ===  |   | === Complement of DNA ===  | 
|   | To find the complementary strand when given a standard 5' to 3' DNA strand, match each of the four base pairs A,T,C, and G with T, A, G, and C, respectively. Done in the computer, we use the ''sed'' command for replacing the bases with the ones they correspond to.  |   | To find the complementary strand when given a standard 5' to 3' DNA strand, match each of the four base pairs A,T,C, and G with T, A, G, and C, respectively. Done in the computer, we use the ''sed'' command for replacing the bases with the ones they correspond to.  | 
| − | To find the complement of the DNA strand, the following command is used:  | + | To find the complement of the DNA strand in the file ''prokaryote.txt'', the following command is used:  | 
|   |   Command: sed "y/actg/tgac/" prokaryote.txt  |   |   Command: sed "y/actg/tgac/" prokaryote.txt  | 
|   |   Yields:  agatgatataaagttatccatgctaccggtttcttctgttataacttgaactttgcaacggattatggtacaaggcgcatattgggtcggcggtcaaggcgaccgccgtaaaattg  |   |   Yields:  agatgatataaagttatccatgctaccggtttcttctgttataacttgaactttgcaacggattatggtacaaggcgcatattgggtcggcggtcaaggcgaccgccgtaaaattg  | 
 | 
 | 
|   | For the +1 reading frame, the above commands would suffice and when we combine them into a pipeline of commands, we get the following:  |   | For the +1 reading frame, the above commands would suffice and when we combine them into a pipeline of commands, we get the following:  | 
|   |   +1:     cat ''sequence_file'' | sed "s/t/u/g" | sed "s/.../& /g" | sed -f genetic-code.sed | sed "y/acug/    /" | sed "s/ //g"  |   |   +1:     cat ''sequence_file'' | sed "s/t/u/g" | sed "s/.../& /g" | sed -f genetic-code.sed | sed "y/acug/    /" | sed "s/ //g"  | 
| − |  Yields: STIFQ-VRWPKKTILNLKRCLIPCSAYNPAASSAGGIL
  |   | 
|   |  |   |  | 
|   | However, for the +2 and +3 reading frames, we have to shift reading the codons by 1 and 2 letters, respectively. The same commands from above are still used, but we add another ''sed'' command so that we shift by a certain number of letters. For +2, we add the command:  |   | However, for the +2 and +3 reading frames, we have to shift reading the codons by 1 and 2 letters, respectively. The same commands from above are still used, but we add another ''sed'' command so that we shift by a certain number of letters. For +2, we add the command:  | 
 | 
 | 
|   |   +2:     cat ''sequence_file'' | sed "s/t/u/g" | sed "s/^.//g" | sed "s/.../& /g" | sed -f genetic-code.sed |  |   |   +2:     cat ''sequence_file'' | sed "s/t/u/g" | sed "s/^.//g" | sed "s/.../& /g" | sed -f genetic-code.sed |  | 
|   |           sed "y/acug/    /" | sed "s/ //g"  |   |           sed "y/acug/    /" | sed "s/ //g"  | 
| − |  Yields: LLYFNRYDGQRRQY-T-NVA-YHVPRITQPPVPLAAF-
  |   | 
|   |  |   |  | 
|   | For +3, similar to +2, we use the command:  |   | For +3, similar to +2, we use the command:  | 
 | 
 | 
|   |   +3:     cat ''sequence_file'' | sed "s/t/u/g" | sed "s/^..//g" | sed "s/.../& /g" | sed -f genetic-code.sed |    |   |   +3:     cat ''sequence_file'' | sed "s/t/u/g" | sed "s/^..//g" | sed "s/.../& /g" | sed -f genetic-code.sed |    | 
|   |           sed "y/acug/    /" | sed "s/ //g"  |   |           sed "y/acug/    /" | sed "s/ //g"  | 
| − |  Yields: YYISIGTMAKEDNIELETLPNTMFRV-PSRQFRWRHFN
  |   | 
|   |  |   |  | 
|   | For the -1, -2, and -3 reading frames, 2 additional commands are needed: the commands ''rev'', to reverse the strand, and ''sed "y/acug/ugac/"'', to find the complementary mRNA strand. By doing this, we do not have to deviate much from our previous commands shown above. Instead, we are only adding 2 additional steps. The resulting reading frames are as follows:  |   | For the -1, -2, and -3 reading frames, 2 additional commands are needed: the commands ''rev'', to reverse the strand, and ''sed "y/acug/ugac/"'', to find the complementary mRNA strand. By doing this, we do not have to deviate much from our previous commands shown above. Instead, we are only adding 2 additional steps. The resulting reading frames are as follows:  | 
|   |   -1:     rev ''sequence_file'' | sed "s/t/u/g" | sed "y/acug/ugac/" | sed "s/.../& /g" | sed -f genetic-code.sed |  |   |   -1:     rev ''sequence_file'' | sed "s/t/u/g" | sed "y/acug/ugac/" | sed "s/.../& /g" | sed -f genetic-code.sed |  | 
|   |           sed "y/acug/    /" | sed "s/ //g"  |   |           sed "y/acug/    /" | sed "s/ //g"  | 
| − |  Yields: VKMPPAELAAGLYAEHGIRQRFKFNIVFFGHRTY-NIV
  |   | 
|   |  |   |  | 
|   |   -2:     rev ''sequence_file'' | sed "s/t/u/g" | sed "y/acug/ugac/" | sed "s/^.//g" | sed "s/.../& /g" | sed -f genetic-code.sed |    |   |   -2:     rev ''sequence_file'' | sed "s/t/u/g" | sed "y/acug/ugac/" | sed "s/^.//g" | sed "s/.../& /g" | sed -f genetic-code.sed |    | 
|   |           sed "y/acug/    /" | sed "s/ //g"  |   |           sed "y/acug/    /" | sed "s/ //g"  | 
| − |  Yields: LKCRQRNWRLGYTRNMVLGNVSSSILSSLAIVPIEI--
  |   | 
|   |  |   |  | 
|   |   -3:     rev ''sequence_file'' | sed "s/t/u/g" | sed "y/acug/ugac/" | sed "s/^..//g" | sed "s/.../& /g" | sed -f genetic-code.sed |    |   |   -3:     rev ''sequence_file'' | sed "s/t/u/g" | sed "y/acug/ugac/" | sed "s/^..//g" | sed "s/.../& /g" | sed -f genetic-code.sed |    | 
|   |           sed "y/acug/    /" | sed "s/ //g"  |   |           sed "y/acug/    /" | sed "s/ //g"  | 
| − |  Yields: -NAASGTGGWVIRGTWY-ATFQVQYCLLWPSYLLKYSR
  |   | 
|   |  |   |  | 
|   |  |   |  | 
 | 
 | 
|   |  |   |  | 
|   | In tallying the number of occurrences of <code>ATG</code> in ''hs_ref_GRCh37_chr19.fa'':  |   | In tallying the number of occurrences of <code>ATG</code> in ''hs_ref_GRCh37_chr19.fa'':  | 
Exception encountered, of type "Error"
[6e5ba3b2] /biodb/fall2015/index.php?diff=cur&oldid=1588&title=Troque_Week_3   Error from line 434 of /apps/xmlpipedb/biodb/fall2015/includes/diff/DairikiDiff.php: Call to undefined function each()
Backtrace:
#0 /apps/xmlpipedb/biodb/fall2015/includes/diff/DairikiDiff.php(544): DiffEngine->diag()
#1 /apps/xmlpipedb/biodb/fall2015/includes/diff/DairikiDiff.php(344): DiffEngine->compareSeq()
#2 /apps/xmlpipedb/biodb/fall2015/includes/diff/DairikiDiff.php(227): DiffEngine->diffLocal()
#3 /apps/xmlpipedb/biodb/fall2015/includes/diff/DairikiDiff.php(721): DiffEngine->diff()
#4 /apps/xmlpipedb/biodb/fall2015/includes/diff/DairikiDiff.php(859): Diff->__construct()
#5 /apps/xmlpipedb/biodb/fall2015/includes/diff/DairikiDiff.php(980): MappedDiff->__construct()
#6 /apps/xmlpipedb/biodb/fall2015/includes/diff/TableDiffFormatter.php(194): WordLevelDiff->__construct()
#7 /apps/xmlpipedb/biodb/fall2015/includes/diff/DiffFormatter.php(140): TableDiffFormatter->changed()
#8 /apps/xmlpipedb/biodb/fall2015/includes/diff/DiffFormatter.php(82): DiffFormatter->block()
#9 /apps/xmlpipedb/biodb/fall2015/includes/diff/DifferenceEngine.php(888): DiffFormatter->format()
#10 /apps/xmlpipedb/biodb/fall2015/includes/diff/DifferenceEngine.php(802): DifferenceEngine->generateTextDiffBody()
#11 /apps/xmlpipedb/biodb/fall2015/includes/diff/DifferenceEngine.php(733): DifferenceEngine->generateContentDiffBody()
#12 /apps/xmlpipedb/biodb/fall2015/includes/diff/DifferenceEngine.php(662): DifferenceEngine->getDiffBody()
#13 /apps/xmlpipedb/biodb/fall2015/includes/diff/DifferenceEngine.php(632): DifferenceEngine->getDiff()
#14 /apps/xmlpipedb/biodb/fall2015/includes/diff/DifferenceEngine.php(453): DifferenceEngine->showDiff()
#15 /apps/xmlpipedb/biodb/fall2015/includes/page/Article.php(795): DifferenceEngine->showDiffPage()
#16 /apps/xmlpipedb/biodb/fall2015/includes/page/Article.php(506): Article->showDiffPage()
#17 /apps/xmlpipedb/biodb/fall2015/includes/actions/ViewAction.php(44): Article->view()
#18 /apps/xmlpipedb/biodb/fall2015/includes/MediaWiki.php(395): ViewAction->show()
#19 /apps/xmlpipedb/biodb/fall2015/includes/MediaWiki.php(273): MediaWiki->performAction()
#20 /apps/xmlpipedb/biodb/fall2015/includes/MediaWiki.php(566): MediaWiki->performRequest()
#21 /apps/xmlpipedb/biodb/fall2015/includes/MediaWiki.php(414): MediaWiki->main()
#22 /apps/xmlpipedb/biodb/fall2015/index.php(44): MediaWiki->run()
#23 {main}