visagie_freebsd
Upcoming SlideShare
Loading in...5
×
 

visagie_freebsd

on

  • 844 views

 

Statistics

Views

Total Views
844
Views on SlideShare
844
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

visagie_freebsd visagie_freebsd Presentation Transcript

  • FreeBSD-bio porting project Johann Visagie <johann@egenetics.com> / <wjv@FreeBSD.org>
  • 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?
  • (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
  • 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?
    • 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#
  • 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
  • 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?
  • 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.
  • 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
  • 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/