• Like
visagie_freebsd
Upcoming SlideShare
Loading in...5
×
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
436
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. FreeBSD-bio porting project Johann Visagie <johann@egenetics.com> / <wjv@FreeBSD.org>
  • 2. The FreeBSD operating system
    • Direct descendent of Berkeley 4.4BSD-Lite
      • 25+ year history
      • Legendary stability and network performance
      • The reference implementation of TCP/IP stack in Unix
    • Geared towards the server room
      • Tools for large scale system administration, automation
      • Easy to configure and optimise for high-throughput serving
      • Secure default install
    • Free (under extraordinarily permissive licence)
      • Largest community-maintained software project?
  • 3. (Open Source) Bioinformatics apps
    • Can be a real pain to install
      • Archaic, obscure, or simply broken build mechanisms
      • Hard-to-port C/C++ code
      • Messy installs leaving files all over the place
      • Tons of dependencies (*mumble* Bioperl *grumble*)
    • … and then you have to keep them up to date!
    • Not every scientist has a sysadmin at hand
    • In an open source world, duplicating all this effort seems just wrong
  • 4. FreeBSD ports
    • Set of 7000+ &quot;build skeletons&quot; for 3 rd party apps
      • Download, patch, build and install an application
      • Automatically handle dependencies
      • May be cleanly uninstalled
      • Flexible and streamlined update, automation mechanisms
      • Can be built to a binary package (for CD/DVD distribution)
    • Integrated with operating system's CVS tree
    • Tool for &quot;industrial strength&quot; system administration
      • Open Source principles applied to system administration?
  • 5.
    • root@industrial:~# cd /usr/ports/biology/emboss
    • root@industrial:/usr/ports/biology/emboss# make install
    • >> Attempting to fetch from ftp://ftp.uk.embnet.org/pub/EMBOSS/.
    • Receiving EMBOSS-2.4.1.tar.gz (9079913 bytes): 100%
    • ===> Extracting for emboss-2.4.1
    • >> Checksum OK for emboss/EMBOSS-2.4.1.tar.gz.
    • ===> emboss-2.4.1 depends on executable: gmake - found
    • ===> emboss-2.4.1 depends on shared library: gd.2 - not found
    • ===> Verifying install for gd.2 in /usr/ports/graphics/gd
    • ===> Extracting for gd-1.8.4_6
    • >> Checksum OK for gd-1.8.4.tar.gz.
    • ===> gd-1.8.4_6 depends on shared library: jpeg - found
    • ===> gd-1.8.4_6 depends on shared library: png - found
    • ===> gd-1.8.4_6 depends on shared library: freetype - found
    • ===> Patching for gd-1.8.4_6
    • ===> Applying FreeBSD patches for gd-1.8.4_6
    • ===> Configuring for gd-1.8.4_6
    • ===> Building for gd-1.8.4_6
    • ===> Installing for gd-1.8.4_6
    • ===> Generating temporary packing list
    • ===> Running ldconfig
    • ===> Registering installation for gd-1.8.4_6
    • ===> Returning to build of emboss-2.4.1
    ===> emboss-2.4.1 depends on shared library: Xm.2 - found ===> emboss-2.4.1 depends on shared library: X11.6 - found ===> Patching for emboss-2.4.1 ===> Applying FreeBSD patches for emboss-2.4.1 ===> Configuring for emboss-2.4.1 ===> Building for emboss-2.4.1 ===> Installing for emboss-2.4.1 ===> emboss-2.4.1 depends on shared library: gd.2 - found ===> emboss-2.4.1 depends on shared library: Xm.2 - found ===> emboss-2.4.1 depends on shared library: X11.6 - found ===> Generating temporary packing list ===> Running ldconfig ===> Registering installation for emboss-2.4.1 root@industrial:/usr/ports/biology/emboss#
  • 6. The bio-porters
    • Mission: Get as many Bioinformatics applications as possible into the FreeBSD ports tree
      • Create an out-of-the-box Bioinformatics server
    • Collaborate via a mailing list
      • Friendly, supportive environment for porting newbies
    • Communally maintain certain ports via list
    • Note: Anyone can submit and maintain a port
  • 7. Successes and challenges
    • Successfully ported many major Bioinformatics apps:
      • Bioperl, Biopython, Biojava, Bioruby, Clustal W, EMBOSS, HMMER, NCBI toolkit, Phylip, etc., etc.
    • And for our next trick… Bioinformatics databases?
  • 8. How can we infect others?
    • OpenBSD has ports; NetBSD pkg-src
      • Both originally based on FreeBSD's ports
    • Ports for Darwin (MacOS X) are being jump-started from FreeBSD
    • Linux distros:
      • Redhat's RPM
      • Debian's apt-get
      • Gentoo's portage
      • etc.
  • 9. Acknowledgements
    • Electric Genetics
      • for giving me the time
    • The FreeBSD Project
      • for giving me the OS
    • The members of the FreeBSD-bio list
      • for sharing the work
  • 10. Links
    • FreeBSD:
      • http://www.FreeBSD.org/
      • http://www.FreeBSD.org/doc/en/books/porters-handbook/
    • FreeBSD ports: &quot;biology&quot; category:
      • http://www.FreeBSD.org/ports/biology.html
      • http://cvsweb.FreeBSD.org/ports/biology/
    • FreeBSD-bio porters mailing list:
      • http://www.PLiG.net/mailman/listinfo/freebsd-bio/