SlideShare a Scribd company logo
UNIVERSITY OF MIAMI
                            DEPARTMENT OF BIOLOGY

Biostatistics
Course Title       Perl Programming Lab
Term               Spring 2009
Number             BIL 575
Credits            1
Class Meeting      Tue, 11:00-1:50PM Room Cox 108

Instructor Information
Name/Title         Dr. Patricia Buendia
Department         Biology
Office location    234 A
Phone              305-284-3523
E-mail             pbuendia@bio.miami.edu
Web Page           http://www.bio.miami.edu/pbuendia

Laboratory Objectives
The Perl programming lab is for students who have little or no programming experience. The
objective of the lab is to teach students to write computer code that will automate and speed
up their genetic and genomic data analysis and provide new ways to explore the data to
advance knowledge discovery in biology. Each lab will start with a 40 minutes lecture in
which we discuss new syntax and programming elements and the rest of the time will be spent
on hands-on programming assignments using real genetic/genomic/proteomic data sets.
Students will be monitored and will get help in completing their assignments. Students are
encouraged to bring their own data sets for analysis during the last portion of the semester.
Students will learn to use Perl regular expressions, arrays and hashes, Perl packages to read
XML files with gene data, file handling routines, learn to call external programs and to use
the Bioperl toolkit. The Bioperl toolkit provides additional modules to allow Perl programs
access and process gene and genome sequence data. Some of the functions offered by Bioperl
are Blast, conversion of sequence formats, sequence alignments, calculation of selection
pressure, among many others.

About Perl:
In a popular Perl book, “Programming Perl” (published by O'Reilly Media), the programming
language is described as: "Perl is a language for getting your job done." Perl has several
mottos that convey aspects of its design and use. One is "There's more than one way to do it."
(TIMTOWTDI, usually pronounced 'Tim Toady'). Others are "Perl: the Swiss Army



                                              1
Chainsaw of Programming Languages". A stated design goal of Perl is to make easy tasks
easier and difficult tasks possible.

Textbook
No textbook is required.
I will post links to files with instructions and code on the course’s web site.

There are many free online resources:

Perl Tutorials
    • Programming Perl: http://www.unix.com.ua/orelly/perl/prog3/index.htm
    • O’Reilly Beginner's Introduction to Perl: http://www.perl.com/pub/a/2008/04/23/a-
        beginners-introduction-to-perl-510.html
    • A Perl Tutorial http://www.civeng.carleton.ca/Courses/Grad/1994-
        95/82.562/perl/index.html
    • Essential Perl: http://cslibrary.stanford.edu/108/EssentialPerl.html
    • Perl regular Expression for the common man
        http://www.anaesthetist.com/mnm/perl/Findex.htm#regex.htm
    • Steve Litt's Perls of Wisdom
        http://www.troubleshooters.com/codecorn/littperl/index.htm
    • Perl FAQ http://faq.perl.org/
There are hundreds of other tutorials and students may find their own preferred ones. In most
cases all you need to do is “google” for something related to your Perl problem. For example
if you need to know how to search for an element in a Perl array, google for “perl array
search”.

BioPerl Tutorials
   • BioPerl Wiki - Howto:Beginners http://bioperl.org/wiki/HOWTO:Beginners
      The Beginners' instructions in the BioPerl Wiki covers the basic use of Bio::Seq and
      Bio::SeqIO with first steps of BLAST (however we haven't installed BLAST yet).
   • BioPerl Tutorial http://www.bioperl.org/Core/Latest/bptutorial.html
      The excellent and comprehensive work of many BioPerl authors.
   • A BioPerl course http://www.pasteur.fr/recherche/unites/sis/formation/bioperl/
      A comprehensive course at the Institut Pasteur. Contains structured chapters covering
      the essential aspects of BioPerl, sample data and example code, as well as references
      to the BioPerl tutorial.

Recommended Textbooks:
   • Beginning Perl for Bioinformatics by James Tisdall
   • Programming Perl (3rd edition) by Larry Wall (Author), Tom Christiansen (Author),
     Jon Orwant (Author)




                                                2
Lab Outline
   1. Hello World: an introduction to Perl programming. How to run a Perl program. Variables and
       data types and the importance of syntax.
   2. Input/output and more syntax
   3. Algorithms, control statements and loops
   4. More control statements and loops
   5. Subroutines
   6. Comparing files. Combining and extracting data from different files
   7. More Input/output: Process multiple files at once using open dir and readdir
   8. BioPerl and object-orientation. Assignment: Count number of sequences in a Fasta file using
       loops and then using Bioperl.
   9. Searching for conserved motifs in a multiple alignment.
   10. Using hash tables to store and sort motifs.
   11. Reading splicing graphs in XML format.
   12. Programming and debugging in Perl using a IDE (Eclipse with Epic) for Windows.
   13. Use Bioperl to run sequence alaignments, calculate the KaKs ratio of selective pressure,
       among other tasks.
   14. Blast: Setting up a local sequence database and running blast queries from Perl

We will be using ActivePerl for Windows and a simple text editor for most of the course and the IDE
for the last few classes.

The topics per date will be determined during the semester.

Attendance
This is a participatory course and you must be in the lab to succeed.

Lab Etiquette
Out of respect for your fellow students, and me, I request that you turn up to class on time,
stay in class for the full period, avoid unnecessary noise or chatter and turn off your cell
phone.

Assignment Guidelines
All lab assignments are to be completed during the lab and submitted after the lab or on the
next lab meeting. If the assignment is not handed in on the due date, a grade of 0 will be
assigned. If an assignment is late due to an unforeseen circumstance please notify the
instructor.
All assignments will be evaluated using the following criteria:
    • Clean and correct syntax
    • Correct result

In this lab, the assignments are designed to have you practice writing your own programming
code. While collaborations between students are permitted and helping each other is



                                                 3
encouraged, it is each student’s responsibility to ensure that the submitted assignments
represent their own personal work.



Grading Policy
                                                             percent of
                     Grading Criteria           number
                                                               total
                       Attendance                               10%
                     Lab Assignments               ~13          90%


 Final Grading Scale A (A-, A, A+)     B (B-, B, B+)     C (C-, C, C+)    D (D-, D, D+)
  Percentage Score      90-100            75-89             60-74            50-59




                                           4

More Related Content

Similar to Perl%20SYLLABUS%20PB

Chemlab
ChemlabChemlab
Chemlab
u087371
 
Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual
Abdul Hannan
 
Creativity vs Best Practices
Creativity vs Best PracticesCreativity vs Best Practices
Creativity vs Best Practices
Supun Dissanayake
 
OS Syllabus.docx
OS Syllabus.docxOS Syllabus.docx
OS Syllabus.docx
kiamiel
 
Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014
Carole Goble
 
Oops in PHP By Nyros Developer
Oops in PHP By Nyros DeveloperOops in PHP By Nyros Developer
Oops in PHP By Nyros Developer
Nyros Technologies
 
130704798265658191
130704798265658191130704798265658191
130704798265658191
Tanzeel Ahmad
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
sasikalaD3
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
sasikalaD3
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
sasikalaD3
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
sasikalaD3
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
sasikalaD3
 
Ti1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsTi1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming Linguistics
Eelco Visser
 
Technology thingamijigs tesol 3 15-handouts
Technology thingamijigs tesol 3 15-handoutsTechnology thingamijigs tesol 3 15-handouts
Technology thingamijigs tesol 3 15-handouts
Cynthia Schuemann
 
01.intro
01.intro01.intro
01.intro
Philip Johnson
 
Biol102 syllabus
Biol102 syllabusBiol102 syllabus
Biol102 syllabus
Cleophas Rwemera
 
Pal gov.tutorial4.session5.lab ontologytools
Pal gov.tutorial4.session5.lab ontologytoolsPal gov.tutorial4.session5.lab ontologytools
Pal gov.tutorial4.session5.lab ontologytools
Mustafa Jarrar
 
Research paper
Research paperResearch paper
Research paper
hirrahAzhar
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
butest
 
Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013
Prof. Wim Van Criekinge
 

Similar to Perl%20SYLLABUS%20PB (20)

Chemlab
ChemlabChemlab
Chemlab
 
Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual
 
Creativity vs Best Practices
Creativity vs Best PracticesCreativity vs Best Practices
Creativity vs Best Practices
 
OS Syllabus.docx
OS Syllabus.docxOS Syllabus.docx
OS Syllabus.docx
 
Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014
 
Oops in PHP By Nyros Developer
Oops in PHP By Nyros DeveloperOops in PHP By Nyros Developer
Oops in PHP By Nyros Developer
 
130704798265658191
130704798265658191130704798265658191
130704798265658191
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
 
Python training centre in adyar
Python training centre in adyarPython training centre in adyar
Python training centre in adyar
 
Ti1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsTi1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming Linguistics
 
Technology thingamijigs tesol 3 15-handouts
Technology thingamijigs tesol 3 15-handoutsTechnology thingamijigs tesol 3 15-handouts
Technology thingamijigs tesol 3 15-handouts
 
01.intro
01.intro01.intro
01.intro
 
Biol102 syllabus
Biol102 syllabusBiol102 syllabus
Biol102 syllabus
 
Pal gov.tutorial4.session5.lab ontologytools
Pal gov.tutorial4.session5.lab ontologytoolsPal gov.tutorial4.session5.lab ontologytools
Pal gov.tutorial4.session5.lab ontologytools
 
Research paper
Research paperResearch paper
Research paper
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013
 

More from tutorialsruby

<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
 
TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>
tutorialsruby
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
tutorialsruby
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
CSS
CSSCSS
CSS
CSSCSS
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 

More from tutorialsruby (20)

<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 
TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
CSS
CSSCSS
CSS
 
CSS
CSSCSS
CSS
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 

Recently uploaded

zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
maazsz111
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 

Recently uploaded (20)

zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 

Perl%20SYLLABUS%20PB

  • 1. UNIVERSITY OF MIAMI DEPARTMENT OF BIOLOGY Biostatistics Course Title Perl Programming Lab Term Spring 2009 Number BIL 575 Credits 1 Class Meeting Tue, 11:00-1:50PM Room Cox 108 Instructor Information Name/Title Dr. Patricia Buendia Department Biology Office location 234 A Phone 305-284-3523 E-mail pbuendia@bio.miami.edu Web Page http://www.bio.miami.edu/pbuendia Laboratory Objectives The Perl programming lab is for students who have little or no programming experience. The objective of the lab is to teach students to write computer code that will automate and speed up their genetic and genomic data analysis and provide new ways to explore the data to advance knowledge discovery in biology. Each lab will start with a 40 minutes lecture in which we discuss new syntax and programming elements and the rest of the time will be spent on hands-on programming assignments using real genetic/genomic/proteomic data sets. Students will be monitored and will get help in completing their assignments. Students are encouraged to bring their own data sets for analysis during the last portion of the semester. Students will learn to use Perl regular expressions, arrays and hashes, Perl packages to read XML files with gene data, file handling routines, learn to call external programs and to use the Bioperl toolkit. The Bioperl toolkit provides additional modules to allow Perl programs access and process gene and genome sequence data. Some of the functions offered by Bioperl are Blast, conversion of sequence formats, sequence alignments, calculation of selection pressure, among many others. About Perl: In a popular Perl book, “Programming Perl” (published by O'Reilly Media), the programming language is described as: "Perl is a language for getting your job done." Perl has several mottos that convey aspects of its design and use. One is "There's more than one way to do it." (TIMTOWTDI, usually pronounced 'Tim Toady'). Others are "Perl: the Swiss Army 1
  • 2. Chainsaw of Programming Languages". A stated design goal of Perl is to make easy tasks easier and difficult tasks possible. Textbook No textbook is required. I will post links to files with instructions and code on the course’s web site. There are many free online resources: Perl Tutorials • Programming Perl: http://www.unix.com.ua/orelly/perl/prog3/index.htm • O’Reilly Beginner's Introduction to Perl: http://www.perl.com/pub/a/2008/04/23/a- beginners-introduction-to-perl-510.html • A Perl Tutorial http://www.civeng.carleton.ca/Courses/Grad/1994- 95/82.562/perl/index.html • Essential Perl: http://cslibrary.stanford.edu/108/EssentialPerl.html • Perl regular Expression for the common man http://www.anaesthetist.com/mnm/perl/Findex.htm#regex.htm • Steve Litt's Perls of Wisdom http://www.troubleshooters.com/codecorn/littperl/index.htm • Perl FAQ http://faq.perl.org/ There are hundreds of other tutorials and students may find their own preferred ones. In most cases all you need to do is “google” for something related to your Perl problem. For example if you need to know how to search for an element in a Perl array, google for “perl array search”. BioPerl Tutorials • BioPerl Wiki - Howto:Beginners http://bioperl.org/wiki/HOWTO:Beginners The Beginners' instructions in the BioPerl Wiki covers the basic use of Bio::Seq and Bio::SeqIO with first steps of BLAST (however we haven't installed BLAST yet). • BioPerl Tutorial http://www.bioperl.org/Core/Latest/bptutorial.html The excellent and comprehensive work of many BioPerl authors. • A BioPerl course http://www.pasteur.fr/recherche/unites/sis/formation/bioperl/ A comprehensive course at the Institut Pasteur. Contains structured chapters covering the essential aspects of BioPerl, sample data and example code, as well as references to the BioPerl tutorial. Recommended Textbooks: • Beginning Perl for Bioinformatics by James Tisdall • Programming Perl (3rd edition) by Larry Wall (Author), Tom Christiansen (Author), Jon Orwant (Author) 2
  • 3. Lab Outline 1. Hello World: an introduction to Perl programming. How to run a Perl program. Variables and data types and the importance of syntax. 2. Input/output and more syntax 3. Algorithms, control statements and loops 4. More control statements and loops 5. Subroutines 6. Comparing files. Combining and extracting data from different files 7. More Input/output: Process multiple files at once using open dir and readdir 8. BioPerl and object-orientation. Assignment: Count number of sequences in a Fasta file using loops and then using Bioperl. 9. Searching for conserved motifs in a multiple alignment. 10. Using hash tables to store and sort motifs. 11. Reading splicing graphs in XML format. 12. Programming and debugging in Perl using a IDE (Eclipse with Epic) for Windows. 13. Use Bioperl to run sequence alaignments, calculate the KaKs ratio of selective pressure, among other tasks. 14. Blast: Setting up a local sequence database and running blast queries from Perl We will be using ActivePerl for Windows and a simple text editor for most of the course and the IDE for the last few classes. The topics per date will be determined during the semester. Attendance This is a participatory course and you must be in the lab to succeed. Lab Etiquette Out of respect for your fellow students, and me, I request that you turn up to class on time, stay in class for the full period, avoid unnecessary noise or chatter and turn off your cell phone. Assignment Guidelines All lab assignments are to be completed during the lab and submitted after the lab or on the next lab meeting. If the assignment is not handed in on the due date, a grade of 0 will be assigned. If an assignment is late due to an unforeseen circumstance please notify the instructor. All assignments will be evaluated using the following criteria: • Clean and correct syntax • Correct result In this lab, the assignments are designed to have you practice writing your own programming code. While collaborations between students are permitted and helping each other is 3
  • 4. encouraged, it is each student’s responsibility to ensure that the submitted assignments represent their own personal work. Grading Policy percent of Grading Criteria number total Attendance 10% Lab Assignments ~13 90% Final Grading Scale A (A-, A, A+) B (B-, B, B+) C (C-, C, C+) D (D-, D, D+) Percentage Score 90-100 75-89 60-74 50-59 4