Your SlideShare is downloading. ×
visagie_freebsd
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

visagie_freebsd

463
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
463
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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/