NAME

MassSpec::CUtilities - Perl extension containing C utilities for use in mass spectrometry

SYNOPSIS

# MassSpec::CUtilities is an XS module so there's a chance that you or
# your target user might not get it to install cleanly on the target system;
# therefore it's recommended to make its presence optional and to offer
# slower-performing Perl equivalents where practical.
# 
# Also note that this module uses a 19-letter amino alphabet rather than
# the traditional 20-letter alphabet, since the isobars Leucine(L) and
# Isoleucine(I) are represented instead by "X."  Furthermore some portions
# of this module assume that their input peptides are internally in
# alphabetical order.
my $haveCUtilities;
if (eval 'require MassSpec::CUtilities') {
        import MassSpec::CUtilities;
        $haveCUtilities = 1;
} else {
        $haveCUtilities = 0;
}
if ($haveCUtilities) {
        my $candidate = MassSpec::CUtilities::encodeAsBitString("ACCGT");
        my @shortPeptides = ("ACT","CCGM","ACCGTY","CCT");
        my (@list,@answer);
        foreach $_ (@shortPeptides) {
                push @list, MassSpec::CUtilities::encodeAsBitString($_);
        }
        if (MassSpec::CUtilities::testManyBitStrings($candidate,\@shortPeptides,\@list,\@answer)) {
                # should print "ACT" and "CCT" only
                print "Matched: " . join(',',@answer) . "\n";
        }
 }
 # see API documentation for other available subroutines

ABSTRACT

An eclectic mix of C utilities originally used in a mass spectrometry
denovo sequencing project at NIH.  It includes a fast Huffman decoder
suitable (with minor modifications) for use with the CPAN module
Algorithm::Huffman, as well as a fast peptide mass calculator and methods for   encoding peptides as products of prime numbers or as bitmaps.

DESCRIPTION

Stub documentation for MassSpec::CUtilities, created by h2xs. It looks like the author of the extension was negligent enough to leave the stub unedited.

Blah blah blah.

EXPORT

None by default.

SEE ALSO

Mention other useful documentation such as the documentation of related modules or operating system documentation (such as man pages in UNIX), or any relevant external documentation such as RFCs or standards.

If you have a mailing list set up for your module, mention it here.

If you have a web site set up for your module, mention it here.

AUTHOR

Jonathan Epstein, <Jonathan_Epstein@nih.gov>

COPYRIGHT AND LICENSE

Copyright 2005 by Jonathan Epstein

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.